/* KlinikOS v6.9.7 — clean navy/blue premium navigation theme
   Visual/branding overrides only. No auth, Supabase, workflow or permission logic is changed. */
:root{
  --nav:#0b1f5b;
  --nav-deep:#071743;
  --blue:#1677ff;
  --blue-soft:#eef5ff;
  --teal:#13b8a6;
  --bg:#f7f9fc;
  --line:#e5eaf1;
  --line-strong:#d6dee9;
  --text:#15233b;
  --muted:#6b778c;
  --card:#fff;
  --soft:#f8fafc;
  --ok:#12a66a;
  --warn:#e58a08;
  --bad:#e34b55;
  --shadow:0 1px 2px rgba(11,31,91,.025),0 8px 24px rgba(11,31,91,.035);
  --focus:0 0 0 3px rgba(22,119,255,.12);
}

html,body,.main{background:var(--bg)}
body{color:var(--text)}

/* Premium navy sidebar */
.side,
.shell.sidebar-collapsed .side{
  background:linear-gradient(180deg,#071d55 0%,#082b68 55%,#071f50 100%) !important;
  color:#fff !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  box-shadow:8px 0 28px rgba(5,23,58,.08);
}
.brand-row{
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  padding:4px 2px 12px !important;
  margin-bottom:7px !important;
}
.brand{padding:1px 3px !important;gap:7px !important}
.brand-logo-full{
  width:148px !important;
  height:auto !important;
  max-width:calc(100% - 34px) !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  object-fit:contain;
}
.brand-mark{
  width:34px !important;
  height:34px !important;
  object-fit:contain;
}
.brand small,.brand-copy small{color:#b9cbea !important;opacity:1 !important}
.sidebar-collapse-btn{
  background:rgba(255,255,255,.07) !important;
  color:#dce9ff !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:none !important;
}
.sidebar-collapse-btn:hover{background:rgba(255,255,255,.13) !important;color:#fff !important}

.nav{gap:4px !important}
.nav-item,.nav-group-toggle,.nav-sub-item,
.nav-group>.nav-sub button{
  color:#dce7f8 !important;
  background:transparent !important;
}
.nav-item,.nav-group-toggle{
  min-height:39px !important;
  border-radius:10px !important;
  font-weight:700 !important;
}
.nav-icon{color:#c7d8f3 !important;opacity:1 !important}
.nav-chevron{color:#9fb5d8 !important}
.nav-item:hover,.nav-group-toggle:hover,.nav-sub-item:hover,
.nav-group>.nav-sub button:hover{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
}
.nav-item:hover .nav-icon,.nav-group-toggle:hover .nav-icon{color:#fff !important}
.nav-item.active,.nav-sub-item.active,.nav-group.parent-active>.nav-group-toggle{
  background:linear-gradient(135deg,#1168e8 0%,#0f5fd3 100%) !important;
  color:#fff !important;
  box-shadow:0 7px 18px rgba(0,83,199,.20) !important;
}
.nav-item.active{box-shadow:inset 3px 0 0 #5dded0,0 7px 18px rgba(0,83,199,.20) !important}
.nav-item.active .nav-icon,.nav-group.parent-active>.nav-group-toggle .nav-icon{color:#fff !important}
.nav-group>.nav-sub,.nav-sub{border-left:1px solid rgba(255,255,255,.12) !important}
.nav-sub-item,.nav-group>.nav-sub button{color:#b8cae5 !important}
.nav-sub-item.active{
  background:rgba(22,119,255,.28) !important;
  color:#fff !important;
}
.side-foot{border-top:1px solid rgba(255,255,255,.10) !important}
.side-profile-button,.side-signout-button{
  color:#d4e1f5 !important;
  background:transparent !important;
}
.side-profile-button:hover,.side-signout-button:hover,.side-profile-button.active{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
}
.side-profile-button .nav-icon,.side-signout-button .nav-icon{color:#bfd1ee !important}
.side-profile-copy strong{color:#fff !important}
.side-profile-copy small{color:#aabddb !important;opacity:1 !important}

/* Header and workspace */
.top{
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:0 1px 0 rgba(11,31,91,.015) !important;
}
.top h1{color:#102b66 !important;font-weight:820 !important}
.global-branch-scope{background:#fff !important;border-color:var(--line-strong) !important}
#topRole{color:#758198 !important}
.content{padding-top:20px !important}

/* Cards — flatter, cleaner, more app-like */
.card,.chart-card,.kpi-card,.staff-home-attendance-card{
  background:#fff !important;
  border:1px solid var(--line) !important;
  box-shadow:var(--shadow) !important;
}
.card h2,.section-title h2,.report-header h2,.modal-head h2,
.card h3,.dashboard-section-title h3{color:#142a55 !important}
.dashboard-control{background:#fff !important}
.command-hero{background:linear-gradient(135deg,#f8fbff 0%,#fbfefe 100%) !important}
.command-band,.command-mini{border-color:var(--line) !important}

/* Controls */
.btn.primary,.primary{
  background:#1677ff !important;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(22,119,255,.14) !important;
}
.btn.primary:hover,.primary:hover{background:#0869eb !important}
.btn.secondary,.secondary{
  background:#f1f5f9 !important;
  color:#29435f !important;
}
.btn.secondary:hover,.secondary:hover{background:#e9f1f8 !important;color:#0b63d7 !important}
.field input,.field select,.field textarea,.compact,.smart-search{
  border-color:var(--line-strong) !important;
}
.field input:focus,.field select:focus,.field textarea:focus,.compact:focus,.smart-search:focus-within{
  border-color:#8bbcff !important;
  box-shadow:var(--focus) !important;
}
.note{background:#f4f8ff !important;border-left-color:#4b98ff !important}

/* Tables and status accents */
.table th,.staff-list-table th{background:#f8fafc !important;color:#728197 !important}
.table tbody tr:hover{background:#fbfdff !important}
.Paid,.Accepted{background:#eaf8f2 !important;color:#0e8d5a !important}
.Pending,.Overdue,.Partially{background:#fff5e5 !important;color:#b66a00 !important}
.Rejected,.Cancelled,.Expired{background:#fff0f2 !important;color:#c33f4a !important}

/* Login / auth branding */
.login{
  background:
    radial-gradient(circle at 15% 15%,rgba(19,184,166,.10),transparent 33%),
    radial-gradient(circle at 85% 8%,rgba(22,119,255,.12),transparent 35%),
    #f7f9fc !important;
}
.login-card{
  border:1px solid var(--line) !important;
  box-shadow:0 22px 55px rgba(11,31,91,.10) !important;
}
.login-logo{width:min(250px,78%) !important}
.cloud-state{border-color:#dce6f2 !important;background:#f8fbff !important}

/* Mobile: preserve premium navy navigation drawer */
@media(max-width:850px){
  .side,.shell.sidebar-collapsed .side{
    background:linear-gradient(180deg,#071d55 0%,#082b68 55%,#071f50 100%) !important;
    box-shadow:14px 0 40px rgba(5,23,58,.26) !important;
  }
  .brand-logo-full{width:138px !important;max-width:100% !important}
}

/* KlinikOS v6.9.12 — Attendance & Roster workspace */
.attendance-workspace-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px;padding:5px;background:#f4f7fb;border:1px solid var(--line);border-radius:14px}
.attendance-workspace-tabs button{border:0;background:transparent;color:#60708a;padding:10px 14px;border-radius:10px;font-weight:750;cursor:pointer;transition:.18s ease}
.attendance-workspace-tabs button:hover{background:#fff;color:#145fca}
.attendance-workspace-tabs button.active{background:#fff;color:#0c63d6;box-shadow:0 3px 12px rgba(15,45,90,.08)}
.attendance-workspace-tabs button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;border-radius:999px;background:#fff2e8;color:#d95f00;font-size:11px}
.roster-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.roster-toolbar-left{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.roster-search{min-width:210px}
.attendance-workspace-content{min-height:420px}.attendance-overview-grid{align-items:start}.roster-quick-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.mini-list{display:grid;gap:4px}.mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #eef2f7}.mini-list>div:last-child{border-bottom:0}.mini-list small{display:block;color:var(--muted);margin-top:2px}.mini-list strong{font-size:13px;color:#28486d;white-space:nowrap}
.roster-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:2px 0 12px}.roster-page-head h2{margin:0;color:#142a55}.roster-page-head p{margin:5px 0 0;color:var(--muted)}
.roster-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.month-switcher{display:flex;align-items:center;gap:10px}.month-switcher button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:9px;color:#36506f;font-size:20px;cursor:pointer}.month-switcher strong{min-width:138px;text-align:center;color:#1b345c}
.roster-legend{display:flex;align-items:center;gap:12px;color:#66758a;font-size:12px}.roster-legend span{display:flex;align-items:center;gap:6px}.roster-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.roster-legend i.resident{background:#1677ff}.roster-legend i.locum{background:#f97316}.roster-legend i.clinic{background:#13a89e}
.roster-calendar{overflow:hidden;border:1px solid #dfe7f1;border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(15,44,83,.04)}
.roster-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f8fafc;border-bottom:1px solid #e4eaf2}.roster-weekdays>div{text-align:center;padding:10px 4px;font-size:12px;font-weight:800;color:#52627a}
.roster-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.roster-day{min-height:122px;padding:8px;border-right:1px solid #edf1f6;border-bottom:1px solid #edf1f6;cursor:default;background:#fff;transition:.15s ease}.roster-day:nth-child(7n){border-right:0}.roster-day:hover{background:#fbfdff}.roster-day.outside{background:#fbfcfe;color:#aab5c4}.roster-day.today{box-shadow:inset 0 0 0 2px rgba(22,119,255,.22)}
.roster-day-head{display:flex;align-items:center;justify-content:space-between;min-height:20px;margin-bottom:5px}.roster-day-head b{font-size:12px;color:#203a60}.roster-day.outside .roster-day-head b{color:#a5b0bf}.roster-day-head span{opacity:0;color:#1677ff;font-weight:900}.roster-day:hover .roster-day-head span{opacity:1}
.roster-day-items{display:grid;gap:4px}.roster-chip{width:100%;display:flex;align-items:center;gap:5px;text-align:left;border-radius:6px;padding:5px 6px;border:1px solid;font-size:10px;line-height:1.15;cursor:pointer;background:#fff;min-width:0}.roster-chip small{font-size:8px;font-weight:800;opacity:.75;flex:none}.roster-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}.roster-chip.resident{border-color:#cfe0fb;background:#f5f9ff;color:#1764c8}.roster-chip.locum{border-color:#fed7bd;background:#fff8f2;color:#d95c0b}.roster-chip.clinic{border-color:#bfeae4;background:#f2fbfa;color:#0b8179}.roster-more{font-size:9px;color:#7c8a9d;padding-left:4px}
.roster-drawer-backdrop{position:fixed;inset:0;background:rgba(9,28,60,.22);z-index:2100;animation:rosterFade .16s ease}
.roster-drawer{position:fixed;z-index:2110;right:0;top:0;bottom:0;width:min(430px,94vw);background:#fff;box-shadow:-20px 0 50px rgba(7,31,80,.16);display:flex;flex-direction:column;animation:rosterSlide .2s ease}
.roster-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 16px;border-bottom:1px solid #e8edf3}.roster-drawer-head small{font-size:10px;letter-spacing:.08em;color:#7b8a9f}.roster-drawer-head h2{margin:3px 0 0;font-size:21px;color:#142a55}.roster-drawer-head>button{border:0;background:#f3f6fa;color:#53657e;width:32px;height:32px;border-radius:9px;font-size:20px;cursor:pointer}
.roster-drawer-body{padding:18px 22px;overflow:auto;display:grid;gap:13px;flex:1}.roster-drawer-body .field{margin:0}.roster-drawer-body textarea{min-height:82px}.roster-drawer-actions{display:grid;gap:8px;padding:14px 22px 20px;border-top:1px solid #e8edf3;background:#fbfcfe}.roster-drawer-actions .btn{width:100%}
.roster-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e2e8f0;background:#f8fbff;border-radius:10px;padding:10px 12px}.roster-toggle-row span{display:block}.roster-toggle-row b{display:block;color:#263e61;font-size:13px}.roster-toggle-row small{display:block;color:#7a899d;font-size:10px;margin-top:2px}.roster-toggle-row input{width:18px;height:18px}.roster-locum-note{padding:9px 10px;border:1px solid #fed7bd;border-radius:8px;background:#fff8f2;color:#c95a12;font-size:11px}.roster-empty{padding:18px;text-align:center;color:var(--muted)}
@keyframes rosterSlide{from{transform:translateX(30px);opacity:.7}to{transform:translateX(0);opacity:1}}@keyframes rosterFade{from{opacity:0}to{opacity:1}}
@media(max-width:1000px){.roster-day{min-height:108px;padding:6px}.roster-chip{padding:4px;font-size:9px}.roster-chip small{display:none}}
@media(max-width:720px){.attendance-workspace-tabs{overflow:auto;flex-wrap:nowrap;padding:4px}.attendance-workspace-tabs button{white-space:nowrap;padding:9px 11px}.roster-toolbar{align-items:stretch;flex-direction:column}.roster-toolbar-left{display:grid;grid-template-columns:1fr 1fr}.roster-toolbar-left .roster-search{grid-column:1/-1;min-width:0}.roster-page-head{flex-direction:column}.roster-page-head .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.roster-page-head .actions .btn.primary{grid-column:1/-1}.roster-calendar{overflow-x:auto}.roster-weekdays,.roster-calendar-grid{min-width:760px}.roster-drawer{width:100vw;max-width:100vw}.roster-drawer-head,.roster-drawer-body,.roster-drawer-actions{padding-left:16px;padding-right:16px}}


/* KlinikOS v6.9.14 — Finance Control Centre */
.finance-workspace-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.finance-workspace-tabs button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:10px;padding:9px 13px;font-weight:700;cursor:pointer}
.finance-workspace-tabs button.active{background:#eaf2ff;border-color:#b9d2ff;color:#1456b8}
.cash-horizon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cash-horizon>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfe}
.cash-horizon small{display:block;color:var(--muted);margin-bottom:5px}.cash-horizon b{font-size:1.15rem}
.aging-stack{display:grid;gap:8px}.aging-stack>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.aging-stack>div:last-child{border-bottom:0}.aging-stack small{color:var(--muted)}
.finance-category-pill{display:inline-flex;align-items:center;border:1px solid #d6deea;background:#f8fafc;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;white-space:nowrap}
.finance-risk{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid transparent}
.finance-risk.future{background:#eef4ff;color:#315a9c;border-color:#d4e2ff}.finance-risk.due14{background:#fff8df;color:#8a6a10;border-color:#f5df98}.finance-risk.due7{background:#fff0df;color:#a45a00;border-color:#f6cf9d}.finance-risk.overdue{background:#fff0f0;color:#b42318;border-color:#f7c6c6}.finance-risk.paid,.finance-risk.reconciled{background:#eaf8f2;color:#087a55;border-color:#bce8d8}
.tracker-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.payable-check-wrap{font-size:12px;display:inline-flex;gap:5px;align-items:center;font-weight:700}.subtle-card{box-shadow:none!important;background:#fbfcfe!important}.finance-dashboard-grid{align-items:stretch}
@media(max-width:760px){.cash-horizon{grid-template-columns:1fr}.finance-workspace-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.finance-workspace-tabs button{white-space:nowrap}.finance-dashboard-grid{grid-template-columns:1fr!important}}

/* v6.9.16 financial operating flow */
.finance-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.finance-report-tile{appearance:none;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;cursor:pointer;display:grid;gap:6px;color:var(--text)}
.finance-report-tile:hover{border-color:#8fb8e8;box-shadow:0 8px 24px rgba(20,50,90,.08)}
.finance-report-tile b{font-size:1rem}.finance-report-tile small{color:var(--muted);line-height:1.4}.finance-report-tile span{font-size:.78rem;color:var(--primary);font-weight:800;margin-top:5px}
@media(max-width:760px){.finance-report-grid{grid-template-columns:1fr}}


/* v6.9.17 Leave Management + Attendance Summary */
.daily-attendance-badge.daily-leave{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}
.leave-balance-cards>div span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.leave-type-chip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;background:#eef2f7;color:#334155}
.leave-type-chip.annual,.roster-leave-chip.annual{background:#ede9fe;color:#6d28d9}.leave-type-chip.medical,.roster-leave-chip.medical{background:#dcfce7;color:#166534}.leave-type-chip.hospital,.roster-leave-chip.hospital{background:#cffafe;color:#155e75}.leave-type-chip.unpaid,.roster-leave-chip.unpaid{background:#f1f5f9;color:#475569}.leave-type-chip.maternity,.roster-leave-chip.maternity{background:#fce7f3;color:#9d174d}.leave-type-chip.paternity,.roster-leave-chip.paternity{background:#dbeafe;color:#1d4ed8}.leave-type-chip.other,.roster-leave-chip.other{background:#fef3c7;color:#92400e}
.roster-leave-chip{display:flex;align-items:center;gap:6px;border-radius:8px;padding:4px 6px;margin-bottom:4px;font-size:10px;font-weight:700;overflow:hidden}.roster-leave-chip small{font-size:9px;font-weight:900}.roster-leave-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.danger-text{color:#b42318}.link-btn{border:0;background:none;padding:0;color:inherit;text-align:left;cursor:pointer}.link-btn:hover{text-decoration:underline}
@media(max-width:760px){.attendance-workspace-tabs{overflow-x:auto;flex-wrap:nowrap}.attendance-workspace-tabs button{white-space:nowrap}.leave-balance-cards{grid-template-columns:1fr}.table-wrap{overflow-x:auto}}


/* v6.9.27 — actionable payables aging */
.finance-urgent-panel{margin-top:14px;padding:16px;border:1px solid #d9e5f7;border-radius:16px;background:linear-gradient(180deg,#fbfdff 0%,#f5f9ff 100%)}
.finance-urgent-total{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:12px 14px;margin:10px 0;border-radius:12px;background:#fff;border:1px solid var(--line)}
.finance-urgent-total span:first-child{display:grid;gap:2px}.finance-urgent-total small{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.finance-urgent-total b{font-size:24px;color:#0b2d63}
.finance-attention-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.finance-attention-card,.finance-aging-clickable>button{appearance:none;width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;text-align:left;cursor:pointer;color:inherit;transition:.15s ease;display:grid;gap:5px}.finance-attention-card:hover,.finance-aging-clickable>button:hover{border-color:#8eb8ef;box-shadow:0 5px 16px rgba(16,67,130,.08);transform:translateY(-1px)}.finance-attention-card span,.finance-aging-clickable>button span{font-weight:800}.finance-attention-card small,.finance-aging-clickable small{color:var(--muted)}.finance-attention-card b,.finance-aging-clickable>button b{font-size:18px;color:#0b2d63}.finance-attention-card em,.finance-aging-clickable>button em{font-size:12px;font-style:normal;color:#2866b1;font-weight:700}
.finance-aging-clickable{display:grid;gap:8px}.finance-aging-clickable>button{grid-template-columns:1fr auto auto;align-items:center;padding:9px 10px}.finance-aging-clickable>button b{font-size:14px}.finance-aging-clickable>button em{padding-left:6px}
.finance-attention-banner{width:100%;margin:0 0 14px;border:1px solid #f0c36a;background:#fff9e8;border-radius:14px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;cursor:pointer;color:#5d4700}.finance-attention-banner span:first-child{display:grid;gap:2px}.finance-attention-banner small{font-weight:800;letter-spacing:.04em}.finance-attention-banner b{font-size:18px}.finance-attention-banner span:last-child{font-weight:800;color:#8a6500}.finance-attention-banner:hover{border-color:#d9a52d;box-shadow:0 4px 14px rgba(133,96,0,.08)}
.finance-active-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border-radius:12px;background:#eef5ff;border:1px solid #d5e5fb}.finance-active-filter b{color:#164f91}.finance-active-filter span{color:var(--muted);margin-right:auto}.finance-primary-actions{justify-content:flex-start;flex-wrap:nowrap}.finance-more-btn{font-size:18px;line-height:1;padding:3px 9px}
@media(max-width:900px){.finance-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-attention-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.finance-attention-grid{grid-template-columns:1fr}.finance-aging-clickable>button{grid-template-columns:1fr auto}.finance-aging-clickable>button em{grid-column:1/-1;padding-left:0}.finance-primary-actions{flex-wrap:wrap}.finance-urgent-total{align-items:flex-start;flex-direction:column}}


/* v6.9.28 — formal supplier payment receipt + immediate bill reveal */
.supplier-payment-receipt .payment-receipt-footer-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);gap:42px;align-items:end;margin-top:28px;break-inside:avoid}
.supplier-payment-receipt .payment-processed-block{text-align:center;max-width:320px}
.supplier-payment-receipt .payment-processed-signature{height:66px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
.supplier-payment-receipt .payment-processed-signature .claim-signature-img{max-width:175px;max-height:60px;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;clip-path:inset(2px)}
.supplier-payment-receipt .payment-processed-line{border-top:1px solid #333;margin:4px 0 7px}
.supplier-payment-receipt .payment-processed-block>b,.supplier-payment-receipt .payment-processed-block>span,.supplier-payment-receipt .payment-processed-block>small{display:block;margin-top:2px}
.supplier-payment-receipt .payment-processed-block>b{font-size:11px}
.supplier-payment-receipt .payment-processed-block span{font-size:11px}
.supplier-payment-receipt .payment-processed-block small{color:#687381;font-size:9px}
.supplier-payment-receipt .payment-reference-panel{border:1px solid #c8d0d8;background:#fbfcfe;padding:10px 12px;align-self:end}
.supplier-payment-receipt .payment-reference-title{font-size:9px;font-weight:900;letter-spacing:.08em;color:#123f6b;padding-bottom:7px;border-bottom:1px solid #dce2e8;margin-bottom:2px}
.supplier-payment-receipt .payment-reference-panel .official-kv td{padding:5px 0}
.finance-saved-row{animation:financeSavedRowFlash 2.2s ease-out}
@keyframes financeSavedRowFlash{0%,35%{background:#eaf5ff;box-shadow:inset 4px 0 0 #1677ff}100%{background:transparent;box-shadow:inset 0 0 0 transparent}}
@media(max-width:720px){.supplier-payment-receipt .payment-receipt-footer-grid{grid-template-columns:1fr;gap:20px}.supplier-payment-receipt .payment-processed-block{max-width:none}}
@media print{.supplier-payment-receipt .payment-receipt-footer-grid{grid-template-columns:.8fr 1.2fr;gap:28px;margin-top:18mm}.supplier-payment-receipt .payment-processed-signature{height:18mm}.supplier-payment-receipt .payment-processed-signature .claim-signature-img{max-height:16mm}}


/* v6.9.30 Staff Review & Employment Milestones */
.staff-review-milestone-card{margin:0 0 18px;padding:20px;border:1px solid #cfe0f5;border-radius:18px;background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 100%);box-shadow:0 8px 24px rgba(11,31,91,.07)}
.staff-review-milestone-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.staff-review-milestone-head h2{margin:3px 0 4px;color:#0b1f5b;font-size:20px}.staff-review-milestone-head p{margin:0;color:#64748b;max-width:720px}.staff-review-milestone-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.staff-review-milestone-stats button{border:1px solid #d8e4f3;background:#fff;border-radius:14px;padding:13px 14px;text-align:left;cursor:pointer}.staff-review-milestone-stats button:hover{border-color:#1677ff;box-shadow:0 5px 14px rgba(22,119,255,.09)}.staff-review-milestone-stats small,.staff-review-milestone-stats span{display:block;color:#64748b}.staff-review-milestone-stats strong{display:block;font-size:24px;color:#0b1f5b;margin:2px 0}.staff-review-preview{margin-top:12px;border-top:1px solid #d9e7f5;padding-top:10px;display:grid;gap:7px}.staff-review-preview-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:rgba(255,255,255,.72);border-radius:10px;padding:9px 11px;text-align:left;cursor:pointer}.staff-review-preview-row:hover{background:#fff}.staff-review-preview-row span:first-child{display:flex;flex-direction:column}.staff-review-preview-row small{color:#64748b}.staff-review-clear{margin-top:12px;padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#047857;font-weight:700}.staff-review-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 8px;margin-top:5px;font-size:11px;font-weight:800;line-height:1.2}.review-overdue{background:#fee2e2;color:#b91c1c}.review-soon{background:#ffedd5;color:#c2410c}.review-upcoming{background:#fef3c7;color:#92400e}.review-done{background:#dcfce7;color:#15803d}.review-neutral{background:#eef2f7;color:#64748b}.staff-review-current{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border:1px solid #dbe7f5;background:#f8fbff;border-radius:14px}.staff-review-current div{display:flex;flex-direction:column}.staff-review-current small{color:#64748b}.staff-review-current strong{font-size:18px;color:#0b1f5b}.staff-review-current span{color:#64748b;font-size:12px}.staff-review-profile-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px!important;border:1px solid #dbe7f5;border-radius:12px;background:#f8fbff}.staff-review-profile-summary>div{display:flex;flex-direction:column}.staff-review-profile-summary small{font-weight:800;color:#64748b}.staff-review-profile-summary b{color:#0b1f5b}.staff-review-profile-summary span{color:#64748b;font-size:12px}.dashboard-staff-review-alert{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 14px;padding:14px 16px;border:1px solid #f4c87a;border-left:5px solid #f59e0b;border-radius:14px;background:#fffaf0;text-align:left;cursor:pointer}.dashboard-staff-review-alert:hover{box-shadow:0 6px 16px rgba(245,158,11,.12)}.dashboard-staff-review-alert span{display:flex;flex-direction:column}.dashboard-staff-review-alert small{font-weight:800;color:#9a6700}.dashboard-staff-review-alert strong{font-size:16px;color:#5f3b00}.dashboard-staff-review-alert em{font-style:normal;color:#8a6a2d;font-size:12px}.dashboard-staff-review-alert>b{color:#0b1f5b;white-space:nowrap}
@media(max-width:900px){.staff-review-milestone-head{flex-direction:column}.staff-review-milestone-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-staff-review-alert{align-items:flex-start;flex-direction:column}.staff-review-profile-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.staff-review-milestone-stats{grid-template-columns:1fr 1fr}.staff-review-milestone-card{padding:14px}.staff-review-preview-row{align-items:flex-start;flex-direction:column}}


/* v6.9.33 — accounting period & systematic branch month-end closing */
.accounting-period-card{margin-top:14px;padding:0;overflow:hidden}.accounting-period-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.accounting-period-card>summary::-webkit-details-marker{display:none}.accounting-period-card>summary span{display:flex;flex-direction:column;gap:3px}.accounting-period-card>summary span b{font-size:16px;color:var(--text)}.accounting-period-card>summary span small{color:var(--muted)}.accounting-period-card>summary strong{font-size:12px;color:#123f6b;background:#eef6ff;border:1px solid #d6e8fb;border-radius:999px;padding:7px 10px;text-align:right}.accounting-period-card[open]>summary{border-bottom:1px solid var(--line)}.accounting-period-body{padding:18px 20px}.accounting-company-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:18px;align-items:end}.settings-eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#123f6b;margin-bottom:7px}.accounting-fy-preview{border:1px solid #dbe5ef;background:#f8fbff;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.accounting-fy-preview b{font-size:18px;color:#0b1f5b}.accounting-fy-preview span{font-size:12px;color:var(--muted)}.accounting-section-head{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.accounting-section-head h3{margin:0 0 4px}.accounting-section-head p{margin:0;color:var(--muted);font-size:12px}.accounting-branch-closing-list{margin-top:12px;display:grid;gap:9px}.accounting-branch-row{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(130px,.6fr) minmax(180px,1fr) auto;gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.accounting-branch-name{align-self:center;display:flex;flex-direction:column;gap:3px}.accounting-branch-name small{color:var(--muted);font-size:11px}.accounting-reminder-toggle{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 8px 4px;font-size:12px;font-weight:700;white-space:nowrap}.accounting-period-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px}.account-closing-reminder{width:100%;border:1px solid #f1d48d;background:#fffaf0;border-radius:14px;padding:13px 15px;margin-bottom:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;cursor:pointer;color:#4d3a08}.account-closing-reminder:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(26,45,70,.08)}.account-closing-reminder.is-overdue{border-color:#efb3ad;background:#fff4f2;color:#7b221c}.account-closing-reminder-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid currentColor;font-weight:900}.account-closing-reminder span:nth-child(2){display:flex;flex-direction:column;min-width:0}.account-closing-reminder small{font-size:9px;font-weight:900;letter-spacing:.08em}.account-closing-reminder b{font-size:14px;color:inherit}.account-closing-reminder em{font-style:normal;font-size:11px;opacity:.78}.account-closing-reminder>strong{font-size:11px;white-space:nowrap}.closing-status-pill{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;background:#eef2f6;color:#516070}.closing-status-pill.closed{background:#e8f7ef;color:#16683d}.closing-status-pill.overdue{background:#ffebe8;color:#a12a20}.closing-status-pill.today,.closing-status-pill.soon{background:#fff0dc;color:#9a5200}.closing-status-pill.upcoming{background:#fff8dc;color:#7c6500}.closing-status-pill.setup{background:#eef3ff;color:#315c9e}.closing-deadline-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.closing-deadline-strip>div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;display:flex;flex-direction:column}.closing-deadline-strip small{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.closing-deadline-strip b{font-size:16px;color:#0b1f5b}.closing-deadline-strip span{font-size:11px;color:var(--muted)}.closing-deadline-strip.overdue>div:first-child{border-color:#efb3ad;background:#fff4f2}.closing-deadline-strip.today>div:first-child,.closing-deadline-strip.soon>div:first-child{border-color:#f1cf9d;background:#fff9f0}.closing-deadline-strip.upcoming>div:first-child{border-color:#eadf9f;background:#fffdf0}
@media(max-width:760px){.accounting-period-card>summary{padding:14px;align-items:flex-start}.accounting-period-card>summary strong{max-width:48%}.accounting-period-body{padding:14px}.accounting-company-grid{grid-template-columns:1fr}.accounting-branch-row{grid-template-columns:1fr 1fr}.accounting-branch-name{grid-column:1/-1}.accounting-reminder-toggle{padding-left:0}.accounting-period-footer{align-items:flex-start;flex-direction:column}.accounting-period-footer .btn{width:100%}.account-closing-reminder{grid-template-columns:auto minmax(0,1fr);padding:11px 12px}.account-closing-reminder>strong{grid-column:2;font-size:10px}.closing-deadline-strip{grid-template-columns:1fr}}


/* v6.9.34 — fresh-login dashboard + branch-scoped settings hardening */
.branch-settings-scope-note{margin:8px 0 14px;padding:10px 12px;border:1px solid #dbe5f0;border-radius:10px;background:#f7faff;color:#33506d;font-size:12px;font-weight:700;line-height:1.45}
.branch-settings-readonly{position:relative}
.branch-settings-readonly form{opacity:.72}
@media(max-width:760px){.branch-settings-scope-note{font-size:11px;padding:9px 10px}}


/* v6.9.38 — roster shift visibility + date popout */
.roster-day{cursor:pointer}
.roster-day-head span{font-size:9px;font-weight:800;color:#1677ff;opacity:.68}
.roster-day:hover .roster-day-head span{opacity:1}
.roster-chip{align-items:center}
.roster-chip small{min-width:34px;text-align:center;padding:2px 4px;border-radius:999px;background:rgba(255,255,255,.72);font-size:8px;font-weight:900;letter-spacing:.02em}
.roster-chip em{font-style:normal;font-size:8px;font-weight:750;opacity:.72;white-space:nowrap;margin-left:auto}
.roster-day-pop-summary{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(90px,.6fr));gap:8px;margin-bottom:14px}
.roster-day-pop-summary>div{border:1px solid #e1e8f0;border-radius:11px;background:#f8fafc;padding:10px 12px;display:grid;gap:3px}
.roster-day-pop-summary small{font-size:8px;letter-spacing:.07em;color:#72829a;font-weight:850}
.roster-day-pop-summary strong{color:#142a55;font-size:13px}
.roster-day-pop-section{display:grid;gap:8px;margin-top:14px}
.roster-day-pop-title{display:flex;justify-content:space-between;align-items:end;gap:12px;padding-bottom:6px;border-bottom:1px solid #edf1f6;color:#19345f}
.roster-day-pop-title small{color:#7c8a9d;font-size:10px;text-align:right}
.roster-day-pop-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dfe7f1;border-left-width:4px;border-radius:12px;padding:10px 11px;background:#fff}
.roster-day-pop-row.resident{border-left-color:#1677ff}.roster-day-pop-row.locum{border-left-color:#f47b20}.roster-day-pop-row.clinic{border-left-color:#13b8a6}
.roster-day-pop-shift{display:grid;gap:3px}.roster-day-pop-shift b{font-size:11px;color:#153c69}.roster-day-pop-shift span{font-size:10px;color:#6f7f95;white-space:nowrap}
.roster-day-pop-person{min-width:0;display:grid;gap:2px}.roster-day-pop-person strong{font-size:12px;color:#172b4d}.roster-day-pop-person small{font-size:9px;color:#74849a}.roster-day-pop-person em{font-size:9px;color:#53657e;font-style:normal;margin-top:2px}
.roster-day-edit{padding:6px 10px!important;font-size:10px!important}
.roster-day-leave-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #e7ebf0;border-radius:10px;padding:8px 10px;background:#fbfcfe}.roster-day-leave-row strong{font-size:11px;color:#253858}.roster-day-leave-row small{font-size:9px;color:#7a8798}
.roster-day-empty{padding:18px!important}
@media(max-width:1000px){.roster-chip small{display:block}.roster-chip em{font-size:7px}}
@media(max-width:720px){.roster-day-pop-summary{grid-template-columns:1fr 1fr}.roster-day-pop-summary>div:first-child{grid-column:1/-1}.roster-day-pop-row{grid-template-columns:76px minmax(0,1fr);gap:9px}.roster-day-edit{grid-column:1/-1;width:100%}.roster-day-pop-title{align-items:flex-start;flex-direction:column}.roster-day-pop-title small{text-align:left}.roster-chip em{display:block}}

/* v6.9.39 — accountant-style snapshot financial reporting */
.accountant-report-preview .ffr-table{font-size:12px}
.accountant-comparison .acct-section th{padding-top:14px;background:#f2f5f9;color:#163a63;text-transform:uppercase;font-size:10px;letter-spacing:.055em;border-top:1px solid #cfd8e3}
.accountant-comparison .acct-total td{font-weight:800;border-top:1px solid #6e7c8d;border-bottom:1px solid #d5dce5;background:#fbfcfe}
.accountant-comparison .acct-indent{padding-left:24px!important}
.accountant-comparison td small{display:block;color:#6b7788;font-size:9px;font-weight:500;margin-top:2px;line-height:1.25}
.finance-report-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.financial-supporting-details{padding:0;overflow:hidden}
.financial-supporting-details>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;cursor:pointer;list-style:none}
.financial-supporting-details>summary::-webkit-details-marker{display:none}
.financial-supporting-details>summary span:first-child{display:grid;gap:3px}
.financial-supporting-details>summary small{font-weight:500;color:var(--muted,#667085)}
.financial-supporting-details[open]>summary{border-bottom:1px solid #e2e8f0}
.financial-supporting-details .finance-report-grid{padding:18px 20px}
@media(max-width:720px){.finance-report-primary-grid{grid-template-columns:1fr}.accountant-report-preview .table-wrap{overflow-x:auto}.accountant-comparison{min-width:660px}.financial-supporting-details>summary{align-items:flex-start}.financial-supporting-details>summary>span:last-child{font-size:11px;white-space:nowrap}}
@media print{.accountant-comparison .acct-section th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f2f5f9!important}.accountant-comparison .acct-total td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fbfcfe!important}.accountant-comparison td small{font-size:8px}}

/* v6.9.87 Company / Branch / Accounting settings workspace */
.settings-workspace-tabs{display:flex;gap:8px;align-items:center;margin:0 0 14px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#f5f8fb;overflow-x:auto}
.settings-workspace-tabs button{border:0;background:transparent;color:#526781;font-weight:800;font-size:13px;border-radius:10px;padding:10px 14px;white-space:nowrap;cursor:pointer}
.settings-workspace-tabs button.active{background:#fff;color:#0866e8;box-shadow:0 2px 10px rgba(20,45,80,.08)}
.settings-branch-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;align-items:start}
.settings-branch-side{display:grid;gap:14px}
.settings-form-section{margin:14px 0;padding-top:14px;border-top:1px solid var(--line)}
.settings-form-section:first-of-type{margin-top:4px;padding-top:4px;border-top:0}
.settings-form-section-head{margin-bottom:9px;color:#0b1f5b;font-size:13px}
.settings-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.settings-inline-actions input{flex:1;min-width:220px}
.settings-check-field{display:flex!important;align-items:center;gap:8px;min-height:42px}
.accounting-period-card{margin-top:0;padding:20px;overflow:visible}
.accounting-period-body{padding:0}
.accounting-pic-row{grid-template-columns:minmax(180px,1fr) minmax(125px,.42fr) minmax(300px,1.35fr) minmax(190px,.7fr);align-items:end}
.accounting-pic-field select{width:100%}
.accounting-pic-field small{display:block;white-space:normal;line-height:1.35}
.accounting-row-toggles{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:2px 0}
.accounting-row-toggles .accounting-reminder-toggle{min-height:30px;padding:0}
.accounting-row-toggles>small{font-size:10px;color:var(--muted);line-height:1.3}
#accountingPeriodSummary{font-size:12px;color:#123f6b;background:#eef6ff;border:1px solid #d6e8fb;border-radius:999px;padding:7px 10px;text-align:right}
@media(max-width:1000px){.settings-branch-layout{grid-template-columns:1fr}.accounting-pic-row{grid-template-columns:1fr 1fr}.accounting-pic-field{grid-column:1/-1}.accounting-row-toggles{grid-column:1/-1}}
@media(max-width:760px){.settings-workspace-tabs{margin-left:-2px;margin-right:-2px}.settings-workspace-tabs button{padding:9px 11px;font-size:12px}.accounting-period-card{padding:14px}.accounting-pic-row{grid-template-columns:1fr}.accounting-branch-name,.accounting-pic-field,.accounting-row-toggles{grid-column:auto}.settings-inline-actions input{min-width:100%}.settings-inline-actions .btn{flex:1}.settings-form-section .form-grid{grid-template-columns:1fr}}

/* v6.9.89 · Legal Entity Mapping */
.legal-entity-settings-card{margin-top:14px}
.legal-entity-list{display:grid;gap:10px}
.legal-entity-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}
.legal-entity-row>div:first-child{min-width:0}
.legal-entity-row b{display:block;color:var(--ink);font-size:14px}
.legal-entity-row small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}
.legal-entity-row-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.settings-branch-grid{align-items:start}
.settings-form-section{padding:14px 0;border-top:1px solid var(--line)}
.settings-form-section:first-of-type{border-top:0;padding-top:0}
.settings-form-section h3{margin:0 0 10px;color:var(--ink);font-size:13px}
#branchLegalEntityPreview{color:var(--muted)}
@media(max-width:760px){.legal-entity-row{align-items:flex-start;flex-direction:column}.legal-entity-row-actions{width:100%;justify-content:space-between}.legal-entity-settings-card .section-title{align-items:flex-start;gap:10px}.legal-entity-settings-card .section-title .btn{width:100%}}

/* v6.10.08 — Accounting & Closing settings cleanup */
.accounting-settings-page{--accounting-blue:#155eef;--accounting-soft:#f7faff}
.accounting-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.accounting-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.accounting-settings-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.accounting-settings-summary-card{padding:18px 20px;min-height:210px;display:flex;flex-direction:column}
.accounting-summary-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.accounting-summary-card-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.accounting-summary-card-head small{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}
.accounting-summary-card-head h3{font-size:16px;margin:0;color:var(--text)}
.accounting-summary-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:.03em;flex:0 0 auto}
.accounting-summary-icon.financial{color:#1459b8;background:#eaf3ff;border:1px solid #cfe2ff}
.accounting-summary-icon.reminder{color:#7a4b00;background:#fff6df;border:1px solid #f4dfac;font-size:19px}
.accounting-summary-primary{font-size:27px;font-weight:900;letter-spacing:-.03em;color:#0b1f5b;margin-top:22px}
.accounting-summary-detail{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}
.accounting-summary-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;margin-top:auto;border-top:1px solid var(--line);font-size:12px}
.accounting-summary-meta span{color:var(--muted)}
.accounting-summary-meta b{color:var(--text);text-align:right}
.accounting-reminder-sequence{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:24px}
.accounting-reminder-sequence span{padding:7px 9px;border:1px solid #dce6f1;background:#f8fbff;border-radius:999px;font-size:11px;font-weight:800;color:#234a73}
.accounting-reminder-sequence i{font-style:normal;color:#94a3b8;font-size:12px}
.accounting-branch-settings-card{padding:18px 20px}
.accounting-branch-settings-head{margin-bottom:12px;align-items:flex-start}
.accounting-branch-settings-head h2{margin-top:0}
.accounting-branch-profile-list{display:grid;gap:9px;margin-top:0}
.accounting-branch-profile-row{display:grid;grid-template-columns:minmax(190px,1.35fr) minmax(155px,1fr) minmax(185px,1.15fr) minmax(145px,.9fr) auto auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}
.accounting-branch-profile-row:hover{background:#fff;border-color:#cdd9e6;box-shadow:0 7px 20px rgba(20,40,70,.05)}
.accounting-branch-profile-name{display:flex;align-items:center;gap:10px;min-width:0}
.accounting-branch-profile-name>div{display:flex;flex-direction:column;min-width:0;gap:2px}
.accounting-branch-profile-name b{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.accounting-branch-profile-name small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.accounting-rule-cell{display:flex;flex-direction:column;gap:2px;min-width:0}
.accounting-rule-cell>small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#7b8b9b}
.accounting-rule-cell>b{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.accounting-rule-cell>span{font-size:10px;color:var(--muted);line-height:1.35}
.accounting-closing-state{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.accounting-closing-state small{font-size:9px;color:var(--muted)}
.accounting-settings-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}
.accounting-settings-foot>small{color:var(--muted);font-size:10px;text-align:right}
.accounting-editor-intro{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid #dce7f3;border-radius:13px;background:#f8fbff;margin-bottom:14px}
.accounting-editor-intro>div{display:flex;flex-direction:column;gap:2px}
.accounting-editor-intro small,.accounting-editor-preview small,.accounting-editor-status small{font-size:8px;font-weight:900;letter-spacing:.08em;color:var(--muted)}
.accounting-editor-intro b{font-size:16px;color:#0b1f5b}.accounting-editor-intro span{font-size:11px;color:var(--muted)}
.accounting-editor-grid{margin-top:0}
.accounting-editor-preview{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:12px 13px;border:1px dashed #cbd9e8;border-radius:12px;background:#fbfdff}
.accounting-editor-preview b{font-size:16px;color:#0b1f5b}.accounting-editor-preview span{font-size:11px;color:var(--muted)}
.accounting-editor-status{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);background:#fbfcfe;border-radius:13px;margin-bottom:14px}
.accounting-editor-status>div{display:flex;flex-direction:column;gap:2px}.accounting-editor-status b{font-size:15px}.accounting-editor-status span{font-size:10px;color:var(--muted)}
.accounting-editor-toggles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.accounting-editor-toggles .branding-toggle{margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.accounting-editor-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f6f8fb;color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:1180px){.accounting-branch-profile-row{grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) minmax(170px,1.1fr) auto}.accounting-branch-profile-row .accounting-rule-cell:nth-of-type(3){grid-column:2}.accounting-closing-state{grid-column:3}}
@media(max-width:820px){.accounting-settings-heading{align-items:flex-start;flex-direction:column}.accounting-heading-actions{width:100%;justify-content:flex-start}.accounting-settings-overview{grid-template-columns:1fr}.accounting-settings-summary-card{min-height:0}.accounting-branch-profile-row{grid-template-columns:1fr 1fr;align-items:start}.accounting-branch-profile-name{grid-column:1/-1}.accounting-closing-state{grid-column:auto}.accounting-branch-profile-row>.btn{align-self:end}.accounting-settings-foot{flex-direction:column;align-items:flex-start}.accounting-settings-foot>small{text-align:left}.accounting-editor-toggles{grid-template-columns:1fr}}
@media(max-width:560px){.accounting-heading-actions .btn{width:100%}.accounting-branch-profile-row{grid-template-columns:1fr}.accounting-branch-profile-name,.accounting-closing-state{grid-column:auto}.accounting-reminder-sequence i{display:none}.accounting-summary-card-head{grid-template-columns:auto minmax(0,1fr)}.accounting-summary-card-head>.btn,.accounting-summary-card-head>.badge{grid-column:1/-1;justify-self:start}.accounting-summary-meta{align-items:flex-start;flex-direction:column}}


/* KlinikOS v6.10.16 — focused login experience */
.login{
  min-height:100dvh !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px 28px 54px !important;
  background:
    radial-gradient(circle at 8% 12%,rgba(24,183,173,.10),transparent 30%),
    radial-gradient(circle at 90% 8%,rgba(26,112,255,.10),transparent 32%),
    linear-gradient(135deg,#f4f9fc 0%,#f7f9fd 48%,#eef4ff 100%) !important;
  overflow:auto;
}
.login-shell{
  width:min(1180px,100%);
  min-height:min(720px,calc(100dvh - 110px));
  display:grid;
  grid-template-columns:minmax(390px,.92fr) minmax(450px,1.08fr);
  border:1px solid #dfe7f1;
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.84);
  box-shadow:0 26px 80px rgba(29,57,98,.12);
}
.login-brand-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:64px 58px 34px;
  color:#102d61;
  background:
    linear-gradient(145deg,rgba(234,246,255,.98),rgba(222,235,255,.92)),
    #e8f2ff;
  overflow:hidden;
}
.login-brand-panel::before,.login-brand-panel::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.login-brand-panel::before{width:430px;height:430px;right:-240px;bottom:-105px;border:54px solid rgba(45,120,255,.08)}
.login-brand-panel::after{width:260px;height:260px;left:-150px;top:-120px;border:40px solid rgba(19,184,166,.08)}
.login-brand-content,.login-brand-foot{position:relative;z-index:1}
.login-brand-logo{width:min(290px,82%);height:auto;display:block;margin-bottom:48px}
.login-brand-panel h1{margin:0;color:#102b5c;font-size:clamp(34px,3.2vw,48px);line-height:1.08;letter-spacing:-.035em}
.login-brand-panel>div>p{margin:18px 0 34px;max-width:430px;color:#5b6e88;font-size:16px;line-height:1.6}
.login-feature-list{display:grid;gap:14px;max-width:460px}
.login-feature{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:14px;padding:11px 12px;border-radius:16px;background:rgba(255,255,255,.46)}
.login-feature-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(33,105,211,.12);border-radius:13px;background:rgba(255,255,255,.90);color:#1469df;font-size:20px;font-weight:850;box-shadow:0 6px 16px rgba(40,86,155,.06)}
.login-feature b{display:block;color:#19375f;font-size:14px;margin-bottom:2px}
.login-feature small{display:block;color:#667995;font-size:11.5px;line-height:1.35}
.login-brand-foot{color:#7688a1;font-size:11px;font-weight:700;letter-spacing:.03em}
.login-form-panel{display:grid;place-items:center;padding:48px;background:rgba(255,255,255,.74)}
.login-card{
  width:min(510px,100%) !important;
  padding:40px 42px 34px !important;
  border:1px solid #e3e9f2 !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 52px rgba(19,48,88,.10) !important;
  font-size:13px !important;
}
.login-logo-wrap{margin-bottom:8px !important}
.login-logo{width:min(278px,72%) !important}
.login-card .sub{margin:2px 0 28px !important;padding-bottom:24px;border-bottom:1px solid #e8edf4;color:#61738b !important;font-size:13px !important;letter-spacing:.005em}
.login-card .field.login-field{display:grid;gap:7px;margin:0 0 17px !important;color:#42536b;font-size:12px !important;font-weight:750}
.login-input-wrap{position:relative;display:flex;align-items:center;width:100%;border:1px solid #d8e1ec;border-radius:12px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
.login-input-wrap:focus-within{border-color:#86b6ff;box-shadow:0 0 0 3px rgba(22,119,255,.11)}
.login-card .login-input-wrap input{height:48px;min-height:48px;width:100%;padding:0 46px 0 44px !important;border:0 !important;border-radius:12px !important;background:transparent !important;box-shadow:none !important;font-size:14px}
.login-input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:19px;height:19px;display:grid;place-items:center;color:#637791;font-size:17px;font-weight:800;pointer-events:none}
.login-password-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 7px;color:#42536b;font-size:12px;font-weight:750}
.login-password-head .login-help-button{display:inline;padding:0;margin:0 !important;font-size:11.5px !important;text-decoration:none;color:#0d6fe8}
.login-password-head .login-help-button:hover{text-decoration:underline}
.login-password-field{margin-bottom:12px !important}
.login-card .password-input-wrap{border-radius:12px;background:#fff}
.login-card .password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:50px;height:34px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:#24446f;font-size:11px;font-weight:800;cursor:pointer}
.login-card .password-toggle:hover{background:#f2f6fb;color:#0f66d8}
.login-remember{display:inline-flex;align-items:center;gap:9px;margin:0 0 12px;color:#5e7089;font-size:11.5px;cursor:pointer;user-select:none}
.login-remember input{width:17px;height:17px;margin:0;accent-color:#1677ff}
.login-card .error{min-height:18px;margin:0 0 6px;font-size:11px}
.login-submit{min-height:48px;border-radius:11px !important;background:linear-gradient(90deg,#1677ff,#0b63e6) !important;box-shadow:0 8px 20px rgba(22,119,255,.20);font-size:13px !important}
.login-submit:hover{filter:brightness(.98);transform:translateY(-1px)}
.cloud-state{display:flex !important;align-items:center;justify-content:center;gap:7px;margin:18px auto 0 !important;padding:0 !important;border:0 !important;background:transparent !important;color:#238156 !important;font-size:11px !important;line-height:1.3 !important}
.cloud-state strong{display:inline-flex !important;align-items:center;color:inherit !important;font-size:11.5px !important;white-space:nowrap}
.cloud-state #cloudStatusText{display:none}
.cloud-state[data-state="syncing"]{color:#687b94 !important}
.cloud-state[data-state="error"]{display:grid !important;grid-template-columns:auto 1fr;max-width:100%;padding:9px 11px !important;border:1px solid #f1c7c7 !important;border-radius:10px !important;background:#fff6f6 !important;color:#a33a43 !important;text-align:left}
.cloud-state[data-state="error"] #cloudStatusText{display:block;font-size:10.5px;color:#8a4a50}
.cloud-dot{width:8px;height:8px;margin-right:6px !important;box-shadow:0 0 0 3px rgba(35,129,86,.08)}
.login-support{margin-top:26px;padding-top:20px;border-top:1px solid #edf1f6;text-align:center;color:#6c7c91;font-size:11px}
.login-support span{font-weight:700;color:#415672}
.login-footer{position:absolute;bottom:20px;display:flex;align-items:center;justify-content:center;gap:10px;color:#718097;font-size:10.5px;font-weight:700;letter-spacing:.02em}
.login-footer i{font-style:normal;color:#aab5c4}

@media(max-width:900px){
  .login{padding:18px 14px calc(18px + env(safe-area-inset-bottom)) !important;justify-content:center}
  .login-shell{display:block;width:min(430px,100%);min-height:0;border:0;border-radius:0;overflow:visible;background:transparent;box-shadow:none}
  .login-brand-panel{display:none}
  .login-form-panel{display:block;padding:0;background:transparent}
  .login-card{width:100% !important;padding:30px 24px 26px !important;border-radius:22px !important;box-shadow:0 18px 46px rgba(19,48,88,.10) !important}
  .login-logo{width:min(235px,72%) !important}
  .login-card .sub{font-size:11.5px !important;margin-bottom:24px !important;padding-bottom:20px}
  .login-card .login-input-wrap input{height:46px;min-height:46px;font-size:16px}
  .login-submit{min-height:47px}
  .login-support{margin-top:22px;padding-top:18px}
  .login-footer{position:static;margin-top:18px;font-size:9.5px;flex-wrap:wrap}
}
@media(max-width:430px){
  .login{padding-left:10px !important;padding-right:10px !important}
  .login-card{padding:27px 18px 23px !important;border-radius:18px !important}
  .login-logo{width:min(220px,70%) !important}
  .login-password-head{font-size:11px}
  .login-password-head .login-help-button{font-size:10.5px !important}
  .login-card .login-input-wrap input{padding-left:41px !important;padding-right:44px !important}
  .login-remember{font-size:10.8px}
  .login-footer{gap:7px}
}


/* v6.10.17 · Authentication viewport isolation hotfix
   Prevent the authenticated app shell and login experience from sharing the same document flow. */
.login.hide{display:none !important}
body.login-active{height:100dvh;max-height:100dvh;overflow:hidden !important}
body.login-active #app{display:none !important}
body:not(.login-active) #login{display:none !important}


/* KlinikOS v6.10.18 — refined professional login polish */
.login{
  padding:20px !important;
  overflow:hidden;
}
.login-shell{
  width:min(1120px,100%);
  min-height:min(620px,calc(100dvh - 40px));
  max-height:calc(100dvh - 40px);
  grid-template-columns:minmax(360px,.9fr) minmax(430px,1.1fr);
  border-radius:24px;
  box-shadow:0 22px 64px rgba(24,52,92,.11);
}
.login-brand-panel{
  padding:48px 48px 30px;
  background:linear-gradient(145deg,rgba(235,247,255,.98),rgba(224,237,255,.94));
}
.login-brand-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:38px;
  color:#2e527e;
  font-size:11px;
  font-weight:850;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.login-brand-kicker img{width:42px;height:42px;object-fit:contain}
.login-brand-logo{display:none !important}
.login-brand-panel h1{
  font-size:clamp(31px,2.9vw,43px);
  line-height:1.07;
  letter-spacing:-.038em;
}
.login-brand-panel>div>p{
  margin:15px 0 27px;
  max-width:390px;
  font-size:14.5px;
  line-height:1.55;
}
.login-feature-list{
  gap:0;
  max-width:420px;
  border-top:1px solid rgba(66,113,174,.13);
  border-bottom:1px solid rgba(66,113,174,.13);
}
.login-feature{
  grid-template-columns:36px minmax(0,1fr);
  gap:11px;
  padding:11px 0;
  border-radius:0;
  border-bottom:1px solid rgba(66,113,174,.10);
  background:transparent;
}
.login-feature:last-child{border-bottom:0}
.login-feature-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  font-size:14px;
  box-shadow:none;
}
.login-feature b{font-size:12.5px;margin-bottom:1px}
.login-feature small{font-size:10.5px;line-height:1.3}
.login-brand-foot{
  margin-top:24px;
  font-size:10.5px;
  color:#71849f;
}
.login-form-panel{
  padding:34px 42px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(251,253,255,.97));
}
.login-card{
  width:min(455px,100%) !important;
  padding:31px 35px 27px !important;
  border-radius:20px !important;
  box-shadow:0 14px 38px rgba(18,46,84,.085) !important;
}
.login-logo-wrap{margin-bottom:5px !important}
.login-logo{width:min(236px,68%) !important}
.login-card .sub{
  margin:0 0 22px !important;
  padding-bottom:19px;
  font-size:12px !important;
}
.login-card .field.login-field{margin-bottom:14px !important}
.login-card .login-input-wrap input{height:46px;min-height:46px}
.login-password-field{margin-bottom:10px !important}
.login-remember{margin-bottom:8px}
.login-card .error{min-height:14px;margin-bottom:4px}
.login-submit{min-height:46px}
.cloud-state{margin-top:13px !important}
.login-support{
  margin-top:18px;
  padding-top:16px;
  font-size:10.5px;
}
.login-footer{display:none !important}
@media(max-width:900px){
  .login{padding:14px 12px calc(14px + env(safe-area-inset-bottom)) !important;overflow:auto}
  .login-shell{width:min(420px,100%);min-height:0;max-height:none}
  .login-card{padding:27px 22px 23px !important}
  .login-logo{width:min(220px,70%) !important}
  .login-card .sub{margin-bottom:20px !important;padding-bottom:17px}
}
@media(max-height:720px) and (min-width:901px){
  .login-shell{min-height:560px}
  .login-brand-panel{padding-top:34px;padding-bottom:24px}
  .login-brand-kicker{margin-bottom:25px}
  .login-brand-panel>div>p{margin-bottom:18px}
  .login-feature{padding:8px 0}
  .login-form-panel{padding-top:24px;padding-bottom:24px}
  .login-card{padding-top:25px !important;padding-bottom:22px !important}
}

/* Malaysia public holiday calendar v6.10.246 */
.roster-day.public-holiday{background:#fffaf0}.roster-day.public-holiday:hover{background:#fff7e6}.roster-holiday-chip{font-size:8px;font-weight:850;line-height:1.2;color:#8a5600;background:#fff0c7;border:1px solid #f4d998;border-radius:6px;padding:4px 5px;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-day-holiday-banner{display:grid;gap:3px;border:1px solid #f0d28a;background:#fff8e6;border-radius:11px;padding:10px 12px;margin-bottom:12px}.roster-day-holiday-banner small{font-size:8px;letter-spacing:.07em;color:#8a6100;font-weight:900}.roster-day-holiday-banner strong{color:#674700;font-size:13px}.roster-day-holiday-banner span{font-size:9px;color:#836b36}.payroll-ph-control{border-color:#f0d28a!important;background:#fffaf0!important}
