@font-face{font-family:UAESymbol;src:url(/fonts/uae-dirham.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.dirham-symbol{font-family:UAESymbol,sans-serif;font-weight:700}body,html{padding:0;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;color:var(--text);background:var(--bg)}:root{--primary:#67753f;--primary-hover:#556232;--brand:#99a76e;--brand-tint:#f3f5ec;--brand-tint-strong:#e6ebd7;--secondary:#0ea5a4;--bg:#f6f7f2;--surface:#fff;--text:#1a1a2e;--muted:#8a9270;--border:#e7eae0;--border-strong:#d6dac7;--shadow-sm:0 1px 2px rgba(15,23,42,.06);--shadow-md:0 10px 25px rgba(15,23,42,.08);--radius:8px;--radius-sm:6px;--bg-primary:var(--surface);--bg-secondary:#f9fafb;--bg-hover:#f3f4f6;--bg-selected:var(--brand-tint);--text-primary:var(--text);--text-secondary:#4b5563;--text-muted:var(--muted);--border-color:var(--border);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-xs:11px;--font-sm:12px;--font-base:14px;--font-md:16px;--font-lg:18px;--font-xl:20px;--font-2xl:24px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--danger:#dc2626;--danger-bg:rgba(220,38,38,.08);--danger-border:rgba(220,38,38,.3);--success:#16a34a;--success-bg:rgba(22,163,74,.08);--success-border:rgba(22,163,74,.3);--warning:#f59e0b;--warning-bg:rgba(245,158,11,.08);--warning-border:rgba(245,158,11,.3);--radius-xs:4px}[data-theme=sage]{--bg:#f6f7f2;--surface:#fff;--text:#1a1a2e;--muted:#8a9270;--primary:#67753f;--primary-hover:#556232;--brand:#99a76e;--brand-tint:#f3f5ec;--brand-tint-strong:#e6ebd7;--border:#e7eae0;--border-strong:#d6dac7;--secondary:#0ea5a4;--bg-secondary:#f9fafb;--bg-hover:#f3f4f6;--text-secondary:#4b5563}[data-theme=neutral]{--bg:#fafbfc;--surface:#fff;--text:#111827;--muted:#6b7280;--primary:#5f7043;--primary-hover:#4c5b34;--brand:#99a76e;--brand-tint:#eef1e8;--brand-tint-strong:#dfe5d2;--border:#e5e7eb;--border-strong:#d1d5db;--secondary:#0ea5a4;--bg-secondary:#f9fafb;--bg-hover:#f3f4f6;--text-secondary:#4b5563}[data-theme=fresh]{--bg:#f7fbf8;--surface:#fff;--text:#12261a;--muted:#6b8a74;--primary:#4f9d5d;--primary-hover:#3f8a4d;--brand:#6cbf7e;--brand-tint:#e9f6ec;--brand-tint-strong:#d3edd9;--border:#deebe1;--border-strong:#c7ddcc;--secondary:#0ea5a4;--bg-secondary:#f3f9f5;--bg-hover:#eaf4ec;--text-secondary:#456052}[data-theme=teal]{--bg:#f5fafa;--surface:#fff;--text:#0f2b2a;--muted:#5b8785;--primary:#0f766e;--primary-hover:#0c5f59;--brand:#14b8a6;--brand-tint:#e6f5f3;--brand-tint-strong:#cdebe7;--border:#dceae9;--border-strong:#c3dcd9;--secondary:#0ea5a4;--bg-secondary:#f1f8f7;--bg-hover:#e8f3f2;--text-secondary:#3d6462}[data-theme=comfort]{--bg:#f3f0e9;--surface:#fbf9f4;--text:#33302a;--muted:#8a8272;--primary:#6b7a46;--primary-hover:#59683a;--brand:#9caf74;--brand-tint:#ecebdd;--brand-tint-strong:#ded9c6;--border:#e0dbcf;--border-strong:#cfc9b8;--secondary:#0e8f8e;--bg-secondary:#f1eee6;--bg-hover:#ece8dd;--text-secondary:#5c574c}[data-theme=mono]{--bg:#fafaf9;--surface:#fff;--text:#1c1c1a;--muted:#8f8e89;--primary:#3a3a36;--primary-hover:#242422;--brand:#8f8e89;--brand-tint:#f2f2f0;--brand-tint-strong:#e4e4e1;--border:#e6e6e3;--border-strong:#d3d3cf;--secondary:#6b6b66;--bg-secondary:#f5f5f3;--bg-hover:#efefec;--text-secondary:#5c5c58}[data-theme=stone]{--bg:#f4f2ed;--surface:#fbfaf6;--text:#33302a;--muted:#928c7e;--primary:#6b6f53;--primary-hover:#585c42;--brand:#99a76e;--brand-tint:#edebe0;--brand-tint-strong:#ded9c6;--border:#e4e0d6;--border-strong:#d2cdbf;--secondary:#8f8e89;--bg-secondary:#f1efe8;--bg-hover:#ece9e0;--text-secondary:#5f5b50}[data-theme=slate]{--bg:#f6f7f8;--surface:#fff;--text:#1f2937;--muted:#7a8894;--primary:#4b5a66;--primary-hover:#39454f;--brand:#8f8e89;--brand-tint:#eef1f3;--brand-tint-strong:#dfe4e8;--border:#e4e8eb;--border-strong:#d0d6db;--secondary:#5b7c7a;--bg-secondary:#f2f4f6;--bg-hover:#eaedef;--text-secondary:#55606b}[data-theme=linen]{--bg:#f3eee3;--surface:#fbf7ee;--text:#3b352b;--muted:#9a8f79;--primary:#5c5344;--primary-hover:#453e31;--brand:#99a76e;--brand-tint:#ede8d9;--brand-tint-strong:#ded6c1;--border:#e5decf;--border-strong:#d4cab4;--secondary:#8f8e89;--bg-secondary:#f0eadd;--bg-hover:#ebe4d5;--text-secondary:#635b4c}*{box-sizing:border-box}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-hint]{position:relative}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;-webkit-text-decoration-color:hsla(75,24%,54%,.35);text-decoration-color:hsla(75,24%,54%,.35)}button,input,select{font:inherit}.container{width:100%;padding:20px 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,border-color .15s ease}a.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none}.row{display:flex;gap:12px;flex-wrap:wrap}.col{flex:1 1;min-width:240px}.label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.line-price-cell .label{display:none}.line-price-cell .input{padding:4px 6px;font-size:11px;text-align:right}.input{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface)}.input:focus{outline:2px solid hsla(75,24%,54%,.2);border-color:hsla(75,24%,54%,.5)}.btn{border:1px solid var(--border-strong);background:var(--surface);padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;box-shadow:0 1px 0 rgba(15,23,42,.03);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.btn:hover{background:rgba(248,250,252,.9)}.btn-primary,.btnPrimary{border-color:var(--primary);background:var(--primary);color:#fff}.btn-primary:hover,.btnPrimary:hover{background:var(--primary-hover)}.btn-secondary,.btnSecondary{border-color:var(--secondary);background:var(--secondary);color:#fff}.btn-secondary:hover,.btnSecondary:hover{background:rgba(14,165,164,.92)}.btnDanger{border-color:#dc2626;background:#dc2626;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.iconBtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:hsla(0,0%,100%,.9);cursor:pointer;transition:background .12s ease,border-color .12s ease}.iconBtn:hover{background:rgba(241,245,249,.95)}.iconBtn:focus{outline:2px solid hsla(75,24%,54%,.2);border-color:hsla(75,24%,54%,.35)}.iconBtnDanger:hover{border-color:rgba(220,38,38,.35);background:hsla(0,86%,97%,.9)}.actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.modalOverlay{position:fixed;inset:0;background:rgba(10,18,28,.55);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:72px 16px 24px}.modalCard{width:min(720px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:visible;max-height:calc(100vh - 96px);display:flex;flex-direction:column}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--border)}.modalBody{padding:14px;overflow-y:auto;overflow-x:visible;flex:1 1 auto;border-radius:0 0 16px 16px}.modalFooter{padding:14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:8px}.muted{color:var(--muted)}.error{color:#b91c1c}.inputError,.inputError:focus{border-color:#dc2626}.inputError:focus{outline:2px solid rgba(220,38,38,.2)}.fieldError{color:#dc2626;font-size:12px;margin-top:4px;line-height:1.3}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(247,246,251,.95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.appShell{display:flex;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;flex-shrink:0;width:240px;padding:0;border-right:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;z-index:100;overflow:hidden}.navLinkActive{background:hsla(75,24%,54%,.09);border:none;border-left:3px solid var(--primary);color:var(--primary);border-radius:0 8px 8px 0}.navLink{display:flex;align-items:center;gap:10px}.mobileOnly,.sidebarOverlay{display:none}.main{flex:1 1;padding:0;min-width:0;overflow-y:auto;height:100vh}.navTitle{font-weight:700;margin-bottom:12px}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:center;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}td,th{text-align:center}.pageHeader{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.pageTitle{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text);margin:0}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:rgba(226,232,240,.75);font-size:12px}.aiDock{position:fixed;right:16px;bottom:16px;z-index:60}.aiDockFab{width:46px;height:46px;border-radius:999px;border:1px solid hsla(75,24%,54%,.35);background:var(--primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.aiDockFab:hover{background:var(--primary-hover)}.newAppointmentFab{position:fixed;right:16px;bottom:196px;z-index:60;width:46px;height:46px;border-radius:999px;border:1px solid hsla(75,24%,54%,.35);background:var(--primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.newAppointmentFab:hover{background:var(--primary-hover)}.addPatientFab{position:fixed;right:16px;bottom:136px;z-index:60;width:46px;height:46px;border-radius:999px;border:1px solid rgba(99,102,241,.35);background:rgba(99,102,241,.95);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.addPatientFab:hover{background:rgba(99,102,241,.82)}.paymentFab{position:fixed;right:16px;bottom:76px;z-index:60;width:46px;height:46px;border-radius:999px;border:1px solid rgba(22,163,74,.35);background:rgba(22,163,74,.95);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.paymentFab:hover{background:rgba(22,163,74,.82)}.aiDockPanel{width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 32px));background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column}.aiDockHeader{padding:12px;border-bottom:1px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:10px}.aiDockTitle{font-weight:800}.aiDockSubtitle{color:var(--muted);font-size:12px;margin-top:2px}.aiDockMessages{flex:1 1;padding:12px;overflow:auto;background:var(--bg)}.aiDockMsg{padding:10px 12px;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:10px;white-space:pre-wrap}.aiDockMsgAgent{background:var(--surface)}.aiDockMsgUser{background:hsla(75,24%,54%,.08);border-color:hsla(75,24%,54%,.18)}.aiDockComposer{padding:12px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:center;background:var(--surface)}.aiDockComposer .input{flex:1 1}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:860px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;transform:translateX(-110%);transition:transform .18s ease;z-index:200;box-shadow:var(--shadow-md)}.sidebarOpen{transform:translateX(0)}.sidebarOverlay{display:block;position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:100}.main{padding:12px}.mobileOnly{display:inline-flex}}@media (max-width:640px){.row{flex-direction:column}.col{min-width:100%}.btn{width:100%;justify-content:center}.main{padding:var(--space-2)}.card{padding:var(--space-3)}}.visitMgmtSplit{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}@media (max-width:900px){.visitMgmtSplit{grid-template-columns:1fr}}.print-only{display:none}.cal-print-scroll{max-height:calc(100vh - 240px)}@media print{@page{size:landscape;margin:10mm}body *{visibility:hidden!important}#print-region,#print-region *{visibility:visible!important}#print-region{position:absolute!important;left:0;top:0;width:100%}.no-print{display:none!important}.print-only{display:block!important}.print-header{font-weight:700;font-size:15px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #ccc}.cal-print-scroll{overflow:visible!important;max-height:none!important;height:auto!important}#print-region *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}