:root{font-family:Segoe UI,Cairo,system-ui,sans-serif;line-height:1.5;font-weight:400;--clinic-accent: #d81b60;--clinic-accent-strong: #8e24aa;--clinic-text: #6f184f;--clinic-subtle: #8f5b75;--clinic-border: #ead1f2;--clinic-surface: #fcf4ff;--clinic-surface-strong: #fffafd;--clinic-shadow: rgba(177, 87, 164, .14);--clinic-panel: rgba(255, 255, 255, .92);color-scheme:light;color:var(--clinic-text);background-color:#fff2f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--clinic-accent-strong);text-decoration:inherit}a:hover{color:var(--clinic-accent)}body{margin:0;min-width:320px;min-height:100vh;font-family:Segoe UI,Cairo,system-ui,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at 8% 10%,#d81b601c,#d81b6000 24%),radial-gradient(circle at 92% 6%,#8e24aa24,#8e24aa00 21%),linear-gradient(180deg,#fff8fd,#fff1f8 38%,#f6eeff);color:var(--clinic-text);display:block}#root{max-width:none;margin:0;padding:0;min-height:100vh;text-align:initial;background:transparent;border-radius:0;box-shadow:none}.app-shell{min-height:100vh}.app-page-frame{position:relative;overflow:hidden;isolation:isolate;margin:6px 0 18px;padding:10px 12px 18px;border-radius:32px;background:radial-gradient(circle at 18% 12%,#d81b601a,#d81b6000 20%),radial-gradient(circle at 88% 10%,#8e24aa1f,#8e24aa00 18%),linear-gradient(180deg,#fffafdf5,#f8f0fff0);box-shadow:0 30px 60px var(--clinic-shadow)}.app-page-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(142,36,170,.08) 25%,transparent 25%),linear-gradient(225deg,rgba(142,36,170,.08) 25%,transparent 25%);background-size:28px 28px;background-position:0 0,14px 14px;opacity:.24;pointer-events:none}.app-page-frame:after{content:"";position:absolute;inset-inline-end:-72px;top:-84px;width:260px;height:260px;border-radius:42% 58% 60% 40%/43% 38% 62% 57%;background:radial-gradient(circle at 32% 30%,#fffffff0,#d81b6038 42%,#8e24aa3d);box-shadow:0 24px 50px #8e24aa1f;opacity:.94;pointer-events:none}.app-page-frame>*{position:relative;z-index:1}input,select,textarea{background:#fff8fc!important;color:var(--clinic-text)!important;border:1px solid #efb3cf!important;border-radius:12px;caret-color:var(--clinic-accent)}input::placeholder,textarea::placeholder{color:#a06b85;opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--clinic-accent)!important;outline:none!important;box-shadow:0 0 0 3px #d81b6024}input:disabled,select:disabled,textarea:disabled{background:#f6ebf1!important;color:#9b6a82!important;cursor:not-allowed}input[type=date],input[type=datetime-local]{-webkit-appearance:none;appearance:none;position:relative;padding:10px 14px!important;padding-inline-end:46px!important;border-radius:16px!important;border:1px solid rgba(176,74,122,.24)!important;background-color:#fffafd!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23b24a7a' stroke-width='1.7' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='4.5' width='17' height='16' rx='3'/%3E%3Cpath d='M7 2.75v4.5M17 2.75v4.5M3.5 9.5h17M8 13h3M13 13h3M8 17h3'/%3E%3C/svg%3E"),linear-gradient(180deg,#fffffffa,#fcf2f8f5)!important;background-repeat:no-repeat,no-repeat!important;background-size:18px 18px,100% 100%!important;background-position:calc(100% - 14px) 50%,0 0!important;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #d81b6014!important;caret-color:transparent!important;cursor:pointer!important;-webkit-user-select:none;user-select:none}input[type=date]:focus,input[type=datetime-local]:focus{border-color:#d81b6085!important;box-shadow:0 0 0 4px #d81b601f,0 14px 26px #d81b601f!important}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}input[type=date]::-webkit-clear-button,input[type=datetime-local]::-webkit-clear-button,input[type=date]::-webkit-inner-spin-button,input[type=datetime-local]::-webkit-inner-spin-button{display:none}input[type=date]::-webkit-datetime-edit,input[type=datetime-local]::-webkit-datetime-edit,input[type=date]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value{color:var(--clinic-text);padding:0}h1{font-size:3.2em;line-height:1.1}button{border-radius:12px;border:1px solid transparent;padding:.6em 1.2em;font-size:.98em;font-weight:700;font-family:inherit;background:linear-gradient(135deg,var(--clinic-accent) 0%,var(--clinic-accent-strong) 100%);color:#fff;cursor:pointer;box-shadow:0 12px 22px #d81b6029;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}button:hover{border-color:#8e24aa47;transform:translateY(-1px);box-shadow:0 16px 28px #d81b602e}button:focus,button:focus-visible{outline:3px solid rgba(216,27,96,.16);outline-offset:2px}button:disabled{opacity:.72;cursor:not-allowed;transform:none}.container{max-width:none;margin:0 auto;padding:8px 14px 18px}.section{margin-bottom:2rem}.card{padding:1.5rem;border-radius:12px;background:#fff7fb;box-shadow:0 2px 8px #d81b601f}#root table thead th,#root table tbody td,#root table tfoot td{text-align:center!important;vertical-align:middle}@media(prefers-color-scheme:light){:root{color:var(--clinic-text);background-color:#fff2f8}}.chat-panel{position:fixed;top:0;inset-inline-end:0;width:min(560px,calc(100vw - 18px));height:100%;z-index:1300;background:linear-gradient(180deg,#12141dfa,#1f1527fc);border-inline-start:1px solid rgba(255,255,255,.12);padding:1rem 1rem 1rem 1.15rem;color:#fff;box-shadow:-12px 0 42px #02061775;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;box-sizing:border-box;overflow:visible}.chat-panel:after{content:"";position:absolute;top:12px;right:0;width:4px;height:calc(100% - 24px);border-radius:999px;background:linear-gradient(180deg,#60a5fa29,#a855f714 48%,#fbbf2424);opacity:.55;pointer-events:none}.chat-panel.receive-message:after{animation:chat-panel-message-edge 1.6s ease}.chat-panel.receive-notification:after{animation:chat-panel-notification-edge 1.6s ease}@keyframes chat-panel-message-edge{0%{opacity:.25;box-shadow:0 0 #60a5fa00}35%{opacity:1;background:linear-gradient(180deg,#60a5faf2,#3b82f680);box-shadow:0 0 24px #60a5faa8,0 0 36px #60a5fa47}to{opacity:.55;box-shadow:0 0 #60a5fa00}}@keyframes chat-panel-notification-edge{0%{opacity:.25;box-shadow:0 0 #fbbf2400}35%{opacity:1;background:linear-gradient(180deg,#fbbf24f2,#f9731685);box-shadow:0 0 24px #fbbf24b3,0 0 36px #f973164d}to{opacity:.55;box-shadow:0 0 #fbbf2400}}.popup-notification-stack{position:fixed;top:88px;inset-inline-start:24px;z-index:1250;display:grid;gap:12px;width:min(380px,calc(100vw - 48px))}.popup-notification-card{display:grid;gap:10px;border-radius:18px;padding:14px 16px;background:linear-gradient(135deg,#2a0a28f5,#4e154afa);color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 48px #310c2247;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.popup-notification-header-row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.popup-notification-header-main{display:flex;gap:6px;flex-wrap:wrap}.popup-notification-dismiss{border:none;background:transparent;color:#fffc;font-size:1.25rem;line-height:1;cursor:pointer}.popup-notification-dismiss:hover{color:#fff}.popup-notification-body{color:#fff;line-height:1.6;font-weight:700;white-space:pre-wrap}.popup-notification-meta{color:#ffffffb8}.popup-notification-actions{justify-content:flex-start}.chat-panel.closed{transform:translate(-100%)}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:6px 6px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.chat-header svg{transition:transform .3s ease}html[dir=ltr] .chat-header svg{transform:rotate(180deg)}html[dir=rtl] .chat-header svg{transform:none}html[dir=ltr] .chat-panel.closed{transform:translate(100%)}.chat-panel h2{margin:0;font-size:1.18rem;letter-spacing:.02em}.chat-layout{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px}.chat-threads{display:flex;gap:10px;padding:2px 2px 6px;background:transparent;overflow-x:auto;overflow-y:hidden;min-width:0;scrollbar-width:thin}.thread-item{flex:0 0 170px;display:flex;align-items:flex-start;gap:8px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#ffffff0d;color:#fff;padding:10px 12px;margin-bottom:0;cursor:pointer;min-width:0;box-sizing:border-box;margin-inline-start:0;transition:transform .2s ease,border-color .2s ease,background .2s ease}.thread-item.active{border-color:#7dd3fcbd;background:linear-gradient(180deg,#2563eb38,#3b82f61a);transform:translateY(-1px)}.thread-icon{color:#dbeafe;margin-top:4px}.thread-main{display:flex;flex-direction:column;align-items:flex-start;min-width:0;flex:1}.thread-title{display:block;width:100%;font-size:.94rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-time{font-size:.76rem;color:#c3c9d4}.thread-badge{background:linear-gradient(135deg,#ef4444,#fb7185);border-radius:999px;min-width:22px;height:22px;padding:0 6px;font-size:.76rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.chat-thread-view{border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:14px;background:linear-gradient(180deg,#111827f5,#1f2937eb);display:flex;flex-direction:column;min-height:0;box-shadow:inset 0 1px #ffffff0a}.thread-view-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;color:#ececec;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.thread-view-header strong{font-size:1.04rem}.thread-view-actions{display:flex;align-items:center;gap:8px}.thread-muted{color:#b5b5b5;font-size:.84rem}.thread-empty{color:#a6a6a6;font-size:.96rem;padding:18px 8px}.notification-card{display:grid;gap:8px;border:1px solid #3f3f3f;border-radius:12px;background:#242424;padding:10px 12px;margin-bottom:10px}.notification-card.unread{border-color:#6aa4ff;box-shadow:0 0 0 1px #6aa4ff2e}.notification-card.read{opacity:.8}.notification-header-row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.notification-header-main{display:flex;gap:6px;flex-wrap:wrap}.notification-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:700}.notification-chip.type{background:#3b82f62e;color:#c8defe}.notification-chip.category{background:#22c55e29;color:#c8f2d6}.notification-status{font-size:.72rem;font-weight:700}.notification-status.unread{color:#fca5a5}.notification-status.read{color:#a6a6a6}.notification-body{color:#f4f4f4;line-height:1.65;font-size:.98rem;white-space:pre-wrap}.notification-meta{display:flex;gap:12px;flex-wrap:wrap;color:#a6a6a6;font-size:.72rem}.notification-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.notification-link-button{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:6px 10px;background:#fff;color:#1d4ed8;border:1px solid rgba(59,130,246,.28);text-decoration:none;font-weight:700}.popup-notification-card .notification-link-button{background:#fffffff5}.notification-read-button{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:6px 10px;cursor:pointer}.notification-read-button:hover{background:#1d4ed8}.notification-read-button.secondary{background:#fff;color:#1d4ed8;border:1px solid rgba(59,130,246,.28)}.notification-read-button.secondary:hover{background:#eff6ff}.popup-notification-card .notification-read-button.secondary{background:#ffffffeb}@media(max-width:860px){.popup-notification-stack{top:auto;bottom:18px;inset-inline-start:18px;width:min(360px,calc(100vw - 36px))}}.chat-panel .messages{flex:1;overflow-y:auto;margin-bottom:.8rem;padding-inline-end:4px}.chat-panel .input-area{display:flex;align-items:flex-end;gap:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.chat-panel textarea{flex:1;resize:none;padding:.85rem .95rem;border-radius:14px;border:1px solid rgba(148,163,184,.26);background-color:#0f172adb;color:#fff;font-size:.98rem;line-height:1.65}.chat-panel .input-area button{margin-inline-start:0;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:14px;padding:.8rem 1rem;cursor:pointer;color:#fff;font-weight:800}.chat-message{display:flex;margin-bottom:.8rem}.chat-message.user{justify-content:flex-end}.chat-message.other{justify-content:flex-start}.chat-bubble{color:#fff;padding:.8rem .95rem;border-radius:16px;max-width:78%;word-wrap:break-word;text-align:start;font-size:1rem;line-height:1.7;position:relative}.chat-bubble.user{background:linear-gradient(135deg,#2563eb,#3b82f6)}.chat-bubble.other{background:linear-gradient(135deg,#475569f5,#334155f0)}.chat-status{font-size:.7em;opacity:.7;margin-left:.5rem}.chat-timestamp{display:block;font-size:.78rem;opacity:.7;margin-top:.25rem}@media(max-width:760px){.chat-panel{width:100%;padding-inline-start:14px;padding-inline-end:14px}.chat-threads{gap:8px}.thread-item{flex-basis:150px}.chat-bubble{max-width:88%}.chat-panel:after{top:10px;height:calc(100% - 20px)}}.side-button{position:absolute;right:-57px;top:50%;transform:translateY(-50%);width:56px;min-height:170px;background:linear-gradient(180deg,#191b24f5,#281330fa);border:1px solid rgba(151,161,197,.2);border-inline-start:none;border-radius:0 18px 18px 0;cursor:pointer;transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease;display:grid;grid-template-rows:auto auto 1fr auto;justify-items:center;align-items:center;gap:10px;padding:10px 8px;box-shadow:0 18px 34px #0f172a57;appearance:none}.side-button:hover{box-shadow:0 0 18px #3b82f661;transform:translateY(-50%) scale(1.05)}.side-button-tab{width:6px;height:34px;border-radius:999px;background:linear-gradient(180deg,#94a3b8bf,#60a5fae6)}.side-button-chevron{font-size:.78rem;color:#ffffffe0;line-height:1}.side-button-counts{display:grid;gap:8px;width:100%}.side-counter{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:38px;border-radius:12px;padding:6px 4px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffb8;font-size:.66rem;font-weight:800}.side-counter strong{font-size:.74rem;line-height:1}.side-counter.active.messages{color:#e0f2fe;background:#3b82f62e;border-color:#60a5fa66}.side-counter.active.notifications{color:#fff1d6;background:#f59e0b33;border-color:#fbbf246b}.side-button-total{min-width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;font-size:.76rem;font-weight:900;box-shadow:0 10px 22px #ef444452}.side-button.receive-message{border-color:#60a5fab8;animation:side-button-message-pulse 1.6s ease}.side-button.receive-notification{border-color:#fbbf24bd;animation:side-button-notification-pulse 1.6s ease}@keyframes side-button-message-pulse{0%{box-shadow:0 0 #3b82f600}35%{box-shadow:0 0 0 6px #3b82f61f,0 0 24px #3b82f680}to{box-shadow:0 18px 34px #0f172a57}}@keyframes side-button-notification-pulse{0%{box-shadow:0 0 #f59e0b00}35%{box-shadow:0 0 0 6px #f59e0b24,0 0 24px #f59e0b85}to{box-shadow:0 18px 34px #0f172a57}}html[dir=ltr] .side-button{left:-58px;right:auto;border-inline-start:1px solid rgba(151,161,197,.2);border-inline-end:none;border-radius:18px 0 0 18px}html[dir=ltr] .side-button:hover{transform:translateY(-50%) scale(1.05)}html[dir=ltr] .side-button-tab{background:linear-gradient(180deg,#94a3b8bf,#fbbf24eb)}body{background:linear-gradient(135deg,#ffe0f0,#f3c6f6);font-family:Segoe UI,Cairo,Arial,sans-serif}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;background:#ffffffb3;border-radius:24px;box-shadow:0 4px 24px #eab0d5aa}.appointment-page[dir=rtl],.appointment-grid[dir=rtl]{direction:rtl}.appointment-grid[dir=rtl] th,.appointment-grid[dir=rtl] td{text-align:right}.appointment-grid{width:100%;border-collapse:collapse;margin:2rem 0;font-family:inherit}.appointment-grid th,.appointment-grid td{border:1px solid #f8bbd0;padding:.5rem 1rem;text-align:right}.appointment-grid th{background:#f8bbd0;color:#a0006d;font-weight:700}.appointment-grid .available-slot{color:#b39ddb;background:#fce4ec}.appointment-grid .status-scheduled{background:#f3e5f5;color:#8e24aa}.appointment-grid .status-completed{background:#f8bbd0;color:#388e3c}.appointment-grid .status-cancelled{background:#fce4ec;color:#d81b60}.interval-btn{background:none;border:none;color:#d81b60;cursor:pointer;font-size:1rem;padding:0;font-weight:700}.selected-row td,.selected-row .interval-btn{background:#fce4ec!important;font-weight:700}.timeline-container{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0}.timeline-item{background:#fce4ec;border-left:4px solid #d81b60;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 2px 12px #eab0d555;position:relative}.timeline-item.status-completed{border-left-color:#ba68c8}.timeline-item.status-cancelled{border-left-color:#d81b60}.timeline-time{font-size:.95rem;color:#a0006d;margin-bottom:.3rem}.timeline-content{font-size:1.05rem;color:#6a1b9a}.appointment-page h2{margin-top:2rem;margin-bottom:1.5rem;color:#d81b60;font-family:inherit}.card{padding:2em;background:#f8bbd0;border-radius:12px;color:#a0006d;box-shadow:0 2px 8px #eab0d555}.read-the-docs{color:#d81b60}ai-panel{position:fixed;right:1rem;bottom:1rem;width:400px;height:500px;background:#f8bbd0;color:#a0006d;border:1px solid #d81b60;border-radius:12px;box-shadow:0 4px 12px #eab0d5aa;display:flex;flex-direction:column;padding:1rem;z-index:1000}.app-loading-shell{min-height:calc(100vh - 180px);display:grid;place-items:center;gap:.85rem;padding:3rem 1.5rem;color:#7a1b53}.app-loading-spinner{width:56px;height:56px;border-radius:999px;border:4px solid rgba(216,27,96,.18);border-top-color:#d81b60;animation:app-loading-spin .85s linear infinite}.app-loading-title{font-size:1.05rem;font-weight:800}.app-loading-subtitle{max-width:320px;line-height:1.7;color:#8f5b75}.inline-loading-state{display:grid;justify-items:center;gap:.75rem;padding:1.5rem;color:#7a1b53}.inline-loading-spinner{width:32px;height:32px;border-radius:999px;border:3px solid rgba(216,27,96,.16);border-top-color:#d81b60;animation:app-loading-spin .85s linear infinite}@keyframes app-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
