:root{--bg:#f4f7f8;--card:#fff;--text:#17212b;--muted:#667085;--line:#dfe6ea;--brand:#0f766e;--dark:#0f172a;--danger:#b91c1c}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial;background:var(--bg);color:var(--text)}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{background:var(--brand);color:white}.secondary{background:#e8eef1;color:#1f2937}.danger{background:#fee2e2;color:var(--danger)}input,select,textarea{width:100%;padding:10px;border:1px solid #cfd8df;border-radius:10px;background:white}textarea{min-height:80px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#0f172a,#115e59)}.auth-card{width:min(430px,94vw);background:white;padding:28px;border-radius:22px;box-shadow:0 30px 80px #0005}.auth-card h1{margin:0 0 8px}.muted{color:var(--muted)}label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#edf2f4;border-radius:12px;padding:4px;margin:18px 0}.tabs button{background:transparent}.tabs button.active{background:white;color:var(--brand);box-shadow:0 3px 10px #0001}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#dbe5ec;padding:18px;display:flex;flex-direction:column}.sidebar h2{margin:0 0 16px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{text-align:left;background:transparent;color:#cbd5e1}.sidebar nav button.active,.sidebar nav button:hover{background:#1e293b;color:white}.sidebar .bottom{margin-top:auto}.topbar{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.topbar h1{font-size:22px;margin:0}main{padding:20px}.view{display:none}.view.active{display:block}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stats article,.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 24px #1111}.stats span{font-size:13px;color:var(--muted)}.stats strong{display:block;font-size:26px;margin-top:5px}.panel h3{margin:0 0 14px}.two{display:grid;grid-template-columns:380px 1fr;gap:16px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar input{max-width:280px}.card{border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:9px}.card h4{margin:0 0 5px}.meta{font-size:13px;color:var(--muted);line-height:1.55}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#e0f2fe;color:#075985}.badge.Approved{background:#dcfce7;color:#166534}.badge.Pending{background:#fef3c7;color:#92400e}.badge.Rejected,.badge.Suspended{background:#fee2e2;color:#991b1b}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.actions a{padding:8px 10px;border-radius:9px;background:var(--brand);color:white;text-decoration:none;font-size:12px;font-weight:700}dialog{border:0;border-radius:18px;padding:0;width:min(760px,94vw);box-shadow:0 30px 80px #0005}dialog::backdrop{background:#0f172a99}.dialog{padding:20px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h3{margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.table{width:100%;border-collapse:collapse;min-width:900px}.table th,.table td{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}.scroll{overflow:auto}.notice{padding:12px;border-radius:10px;background:#ecfeff;color:#155e75;margin:12px 0}@media(max-width:950px){.app{grid-template-columns:1fr}.sidebar{position:static}.stats{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}@media(max-width:600px){.grid2{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}main{padding:12px}}

.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-head h3{margin:0}.section-head p{margin:4px 0 0}.section-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.top-actions{display:flex;gap:8px;align-items:center}.menu-btn{display:none;background:#eef2ff;color:#312e81}
.client-card{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:15px;padding:14px;margin-bottom:10px;background:#fff}.client-main{display:flex;align-items:center;gap:12px;min-width:0}.client-main h4{margin:0 0 5px}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#ede9fe;color:#6d28d9;font-weight:900;flex:0 0 auto}.mobile-bottom-nav,.mobile-sheet{display:none}
@media(max-width:950px){body{padding-bottom:74px}.sidebar{position:fixed;left:-270px;top:0;bottom:0;width:250px;z-index:70;transition:left .22s;box-shadow:12px 0 35px #0004}.sidebar.open{left:0}.topbar{position:sticky;top:0;z-index:50;padding:0 12px}.menu-btn{display:inline-flex}.topbar h1{font-size:18px;flex:1}.top-actions #pageExport{display:none}.mobile-bottom-nav{display:grid;grid-template-columns:1fr 1fr 68px 1fr 1fr;position:fixed;left:0;right:0;bottom:0;height:68px;background:#fff;border-top:1px solid var(--line);z-index:60;padding:5px 8px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px #1112}.mobile-bottom-nav button{background:transparent;color:#667085;padding:4px 2px;font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.mobile-bottom-nav button span{font-size:18px}.mobile-bottom-nav button.active{color:#6d28d9}.mobile-bottom-nav .mobile-add{width:52px;height:52px;border-radius:50%;background:#6d28d9;color:#fff;font-size:28px;align-self:center;justify-self:center;transform:translateY(-12px);box-shadow:0 8px 22px #6d28d955}.mobile-sheet{display:block;position:fixed;inset:0;background:#0f172a88;z-index:90;padding:18px}.mobile-sheet.hidden{display:none!important}.mobile-sheet-card{position:absolute;left:12px;right:12px;bottom:82px;background:#fff;border-radius:20px;padding:18px;max-height:70vh;overflow:auto}.mobile-more-links{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-more-links button{background:#f5f3ff;color:#4c1d95;text-align:left}.table{min-width:0}.scroll{overflow:visible}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{border:1px solid var(--line);border-radius:15px;padding:12px;margin-bottom:10px;background:#fff}.table td{border:0;padding:5px 0}dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;margin:0}.dialog{height:100%;overflow:auto;padding:16px 16px 90px}.dialog-actions{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px 16px}}
@media(max-width:600px){.stats{grid-template-columns:1fr 1fr;gap:8px}.stats article{padding:13px}.stats strong{font-size:21px}.panel{padding:13px;border-radius:14px}.toolbar{align-items:stretch}.toolbar input,.toolbar select,.toolbar button{max-width:none;width:100%}.section-head{align-items:flex-start}.section-head>button{white-space:nowrap}.client-card{align-items:flex-start;flex-direction:column}.client-card .actions{width:100%}.client-card .actions a{width:100%;text-align:center}.two{display:block}.two>.panel{margin-bottom:12px}}

.sidebar-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sidebar-mobile-head h2{margin:0 0 16px}
.sidebar-close{display:none;background:#1e293b;color:#fff;width:42px;height:42px;padding:0;border-radius:12px;font-size:20px}
.sidebar-backdrop{display:none}
@media(max-width:950px){
  body.menu-open{overflow:hidden;touch-action:none}
  .sidebar{transform:translateX(-110%);left:0!important;transition:transform .22s ease!important;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .sidebar.open{transform:translateX(0)!important}
  .sidebar-close{display:grid;place-items:center}
  .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:65}
  .sidebar-backdrop.hidden{display:none!important}
}

.full-span{grid-column:1/-1}.time-preview{margin:10px 0 14px}.time-preview-card{white-space:pre-line;border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:8px;background:#f8fafc;line-height:1.55}.appointment-time-block{min-width:330px;line-height:1.55}.appointment-time-block>strong{display:block;font-size:15px;margin-bottom:3px}.appointment-time-block .kenya-time{margin-top:7px;padding-top:7px;border-top:1px dashed var(--line);color:#0f766e}@media(max-width:950px){.appointment-time-block{min-width:0}.table td:nth-child(3){background:#f8fafc;border-radius:10px;padding:10px}}

.time-preview-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.time-preview-actions button{flex:1;min-width:150px}
.actions button,.actions a{white-space:nowrap}
@media(max-width:950px){
  .time-preview-actions{flex-direction:column}
  .time-preview-actions button{width:100%}
}

.field-help{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;line-height:1.35}
