:root { --ink:#1f3440; --muted:#647780; --line:#d8e2e7; --mint:#148c82; --mint-dark:#0c746c; --pale:#eef7f5; --navy:#123f63; --sidebar:#123f63; --canvas:#f2f6f8; --soft:#f7f9fa; --white:#fff; }
* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; }
body { color:var(--ink); background:var(--canvas); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; font-size:14px; font-weight:500; line-height:1.45; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
button, input, textarea { font:inherit; }
button { cursor:pointer; }
.loading-screen { min-height:100vh; display:grid; place-content:center; text-align:center; color:var(--muted); }
.pulse-logo { margin:auto; width:54px; height:54px; display:grid; place-items:center; border-radius:16px; color:white; background:var(--mint); font-size:25px; animation:pulse 1.3s infinite; }
@keyframes pulse { 50% { transform:scale(.94); opacity:.8; } }
.brand { display:flex; align-items:center; gap:11px; font-size:20px; font-weight:750; letter-spacing:-.4px; }
.brand-mark { width:33px; height:33px; display:inline-grid; place-items:center; color:white; background:var(--mint); border-radius:10px; font-size:18px; box-shadow:0 7px 18px #0d8f8230; }
.eyebrow { display:block; margin-bottom:12px; color:var(--mint); font-size:11px; font-weight:800; letter-spacing:1.7px; }
.auth-page { min-height:100vh; display:grid; grid-template-columns:minmax(380px, .95fr) minmax(480px, 1.05fr); }
.auth-intro { position:relative; overflow:hidden; min-height:100vh; padding:48px clamp(42px,6vw,94px); color:white; background:linear-gradient(145deg,#103d47 0%,#0b6570 52%,#0b8179 100%); display:flex; flex-direction:column; }
.auth-intro::before { content:""; position:absolute; width:440px; height:440px; border:1px solid #ffffff18; border-radius:50%; right:-210px; top:20%; box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05; }
.auth-intro .brand { position:relative; z-index:1; }
.intro-copy { position:relative; z-index:1; margin:auto 0; max-width:600px; }
.intro-copy .eyebrow { color:#8ee2d6; }
.intro-copy h1 { margin:0 0 24px; max-width:580px; font-size:clamp(38px,4vw,64px); line-height:1.06; letter-spacing:-2.8px; }
.intro-copy p { max-width:560px; color:#d5eceb; font-size:17px; line-height:1.75; }
.trust-row { display:flex; gap:26px; margin-top:38px; color:#dff5f1; font-size:13px; }
.trust-row span::first-letter { color:#78d9cb; }
.copyright { margin:0; color:#9bc5c5; font-size:12px; }
.auth-panel { display:grid; place-items:center; padding:38px; background:linear-gradient(135deg,#f9fcfb,#eef7f5); }
.auth-card { width:min(100%,450px); padding:48px; background:#fff; border:1px solid #e5efed; border-radius:24px; box-shadow:0 28px 70px #194a4613; }
.auth-card h2 { margin:0 0 10px; font-size:31px; letter-spacing:-1.1px; }
.auth-card > p { margin:0 0 30px; color:var(--muted); line-height:1.6; }
.mobile-brand { display:none; }
form label { display:block; margin-bottom:17px; color:#334c53; font-size:13px; font-weight:700; }
input, textarea { width:100%; margin-top:8px; border:1px solid #d8e5e3; border-radius:11px; background:#fbfdfd; color:var(--ink); outline:none; transition:.2s; }
input { height:50px; padding:0 15px; }
textarea { padding:13px 15px; resize:vertical; }
input:focus, textarea:focus { border-color:#43a99e; box-shadow:0 0 0 4px #0d8f8210; background:white; }
.primary-button { width:100%; height:52px; border:0; border-radius:11px; padding:0 18px; background:var(--mint); color:white; display:flex; align-items:center; justify-content:center; gap:12px; font-weight:750; box-shadow:0 9px 22px #0d8f8232; }
.primary-button:hover { background:var(--mint-dark); transform:translateY(-1px); }
.primary-button span { font-size:20px; }
.auth-switch { margin-top:26px; padding-top:24px; border-top:1px solid #edf2f1; display:flex; justify-content:center; gap:7px; color:var(--muted); font-size:13px; }
.auth-switch button { border:0; background:none; color:var(--mint); font-weight:800; }
.forgot-link { display:block; margin-top:15px; color:var(--mint); text-align:center; text-decoration:none; font-size:11px; }
.error-box { margin:-3px 0 15px; padding:11px 13px; border-radius:9px; background:#fff1f0; color:#a6413b; font-size:13px; }
.success-box { margin:-3px 0 15px; padding:11px 13px; border:1px solid #cce9e1; border-radius:9px; background:#edf9f5; color:#167366; font-size:13px; line-height:1.45; }
.dashboard { min-height:100vh; background:#f6f9f8; }
.topbar { height:74px; padding:0 28px; display:flex; align-items:center; justify-content:space-between; background:white; border-bottom:1px solid var(--line); }
.topbar-brand-group { display:flex; align-items:center; gap:12px; }
.mobile-menu-button, .mobile-sidebar-head, .mobile-menu-backdrop { display:none; }
.doctor-menu { display:flex; align-items:center; gap:10px; }
.doctor-menu .doctor-info { display:grid; gap:2px; }
.doctor-menu strong { font-size:13px; }
.doctor-menu span { color:var(--muted); font-size:11px; }
.doctor-menu button { margin-left:12px; border:1px solid var(--line); border-radius:9px; background:white; padding:8px 11px; color:var(--muted); font-size:12px; }
.avatar { width:37px; height:37px; overflow:hidden; border-radius:11px; display:grid; place-items:center; background:#dff3ef; color:var(--mint-dark); font-size:12px; font-weight:800; }
.avatar img{width:100%;height:100%;display:block;object-fit:cover}.doctor-menu #logoutButton{margin-left:0}
.notification-center{position:relative;display:block!important}.notification-button{position:relative;width:40px;height:40px;margin:0!important;padding:0!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#f8fbfa!important;color:#466268!important;display:grid;place-items:center;font-size:17px!important}.notification-button:hover{border-color:#9ccfc7!important;background:#edf8f5!important}.notification-badge{position:absolute;top:-6px;right:-7px;min-width:20px;height:20px;padding:0 5px;border:2px solid white;border-radius:11px;background:#e45f56;color:white;display:grid;place-items:center;font-size:10px!important;font-weight:800;line-height:1}.notification-panel{position:absolute;z-index:40;top:50px;right:0;width:min(410px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 90px));overflow:hidden;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 24px 65px #123f3c33}.notification-head{padding:17px 18px 13px;border-bottom:1px solid var(--line);display:flex!important;align-items:center;justify-content:space-between;gap:14px!important}.notification-head .eyebrow{margin-bottom:3px;font-size:9px}.notification-head h2{margin:0;font-size:17px}.notification-head button{width:auto!important;height:auto!important;margin:0!important;padding:7px 9px!important;border:0!important;border-radius:8px!important;background:#edf8f5!important;color:var(--mint-dark)!important;font-size:10px!important;font-weight:750}.notification-list{max-height:500px;overflow:auto}.notification-item{position:relative;width:100%!important;margin:0!important;padding:15px 17px!important;border:0!important;border-bottom:1px solid #edf2f1!important;border-radius:0!important;background:white!important;color:var(--ink)!important;display:grid!important;gap:8px!important;text-align:left!important}.notification-item:hover{background:#f7fbfa!important}.notification-item.is-unread{background:#f0faf7!important}.notification-item.is-unread::before{content:"";position:absolute;left:7px;top:21px;width:6px;height:6px;border-radius:50%;background:var(--mint)}.notification-item-top{display:flex;justify-content:space-between;gap:12px}.notification-item strong{font-size:12px!important}.notification-item time{color:#87979a;font-size:9px;white-space:nowrap}.notification-item>span{color:#536b70;font-size:11px;line-height:1.45}.notification-detail{padding:10px;border-radius:9px;background:#f7faf9;display:grid;gap:5px}.notification-detail span{color:#425b60;font-size:10px;line-height:1.45}.notification-detail b{color:var(--ink)}.notification-empty{margin:0;padding:34px 20px;color:var(--muted);font-size:12px;text-align:center}
.dashboard-body { display:grid; grid-template-columns:224px minmax(0,1fr); min-height:calc(100vh - 74px); }
.sidebar { padding:30px 20px; background:#fff; border-right:1px solid var(--line); }
.sidebar nav { display:grid; gap:7px; }
.sidebar nav button { width:100%; padding:13px 15px; border:0; border-radius:10px; display:flex; align-items:center; text-align:left; background:transparent; color:#52686d; font-size:14px; font-weight:700; }
.sidebar nav button:hover { background:#f3f8f7; color:var(--ink); }
.sidebar nav button.nav-active { background:#e9f6f3; color:var(--mint-dark); }
.sidebar nav span { margin-right:9px; }
.nav-badge { min-width:23px; height:20px; margin-left:auto; padding:0 6px; display:grid; place-items:center; border-radius:10px; background:#d6eee9; color:var(--mint-dark); font-size:10px; }
.today-card { margin-top:36px; padding:21px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(145deg,#f8fcfb,#edf8f5); }
.today-card > span { color:var(--mint); font-size:10px; font-weight:800; letter-spacing:1.4px; }
.today-card strong { display:block; margin-top:10px; font-size:38px; line-height:1; }
.today-card p { margin:6px 0 14px; text-transform:capitalize; color:var(--muted); font-size:13px; }
.today-card small { padding-top:12px; border-top:1px solid var(--line); display:block; color:#466268; }
.side-tip { margin:24px 5px; color:#6f8387; font-size:12px; font-weight:500; line-height:1.65; }
.calendar-area { min-width:0; padding:38px clamp(24px,4vw,56px) 56px; }
.page-heading { max-width:1450px; margin:0 auto 25px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.page-heading h1 { margin:0 0 7px; font-size:32px; letter-spacing:-1px; }
.page-heading p { margin:0; color:var(--muted); font-size:14px; }
.new-button { border:0; border-radius:10px; padding:13px 17px; color:white; background:var(--mint); font-weight:750; box-shadow:0 8px 18px #0d8f8228; }
.calendar-card { max-width:1450px; margin:auto; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:white; box-shadow:0 15px 40px #2248420a; }
.calendar-toolbar { min-height:66px; padding:12px 18px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }
.calendar-toolbar h2 { margin:0; font-size:16px; }
.calendar-nav { display:flex; gap:6px; }
.calendar-nav button { min-width:34px; height:34px; border:1px solid var(--line); border-radius:8px; background:white; color:#52676b; }
.calendar-nav button:first-child { padding:0 13px; }
.calendar-pickers { justify-self:end; display:flex; align-items:center; gap:8px; }
.calendar-pickers label { margin:0; display:flex; align-items:center; gap:6px; color:var(--muted); font-size:10px; font-weight:700; }
.calendar-pickers input { width:auto; min-width:122px; height:36px; margin:0; padding:0 9px; border-radius:8px; background:white; color:#405b60; font-size:11px; }
.calendar-scroll { overflow:auto; }
.calendar-grid { min-width:940px; display:grid; grid-template-columns:70px repeat(6,minmax(142px,1fr)); }
.corner-cell, .day-head { height:78px; border-bottom:1px solid var(--line); }
.corner-cell { border-right:1px solid var(--line); }
.day-head { display:grid; place-content:center; text-align:center; border-right:1px solid var(--line); }
.day-head span { color:#5e7479; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; }
.day-head strong { margin-top:4px; font-size:20px; }
.day-head.is-today strong { width:32px; height:32px; margin:4px auto 0; display:grid; place-items:center; color:white; background:var(--mint); border-radius:50%; }
.day-head.is-selected { background:#f2faf8; box-shadow:inset 0 -3px 0 #74c5b9; }
.day-head.is-selected span { color:var(--mint-dark); font-weight:800; }
.time-row { min-height:72px; }
.time-label { padding-top:14px; padding-right:11px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-align:right; color:#5f7479; font-size:12px; font-weight:700; }
.slot { position:relative; min-height:72px; padding:8px; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:white; color:var(--ink); text-align:left; }
.slot:hover { background:#f3faf8; }
.slot:hover .add-hint { opacity:1; }
.slot.blocked-slot{cursor:not-allowed;background:repeating-linear-gradient(135deg,#f5f8f7,#f5f8f7 8px,#edf2f1 8px,#edf2f1 16px);color:#8a999c}.slot.blocked-slot:hover{background:repeating-linear-gradient(135deg,#f5f8f7,#f5f8f7 8px,#edf2f1 8px,#edf2f1 16px)}.blocked-label{display:grid;place-items:center;height:100%;text-align:center;font-size:10px;font-weight:750}
.slot.closed-slot{cursor:not-allowed;background:#f8faf9;color:#8a999c}.slot.closed-slot:hover{background:#f8faf9}.slot.closed-slot .blocked-label{font-size:11px;font-weight:650}
.add-hint { opacity:0; position:absolute; inset:0; display:grid; place-items:center; color:#55a99f; font-size:20px; }
.slot.booked { margin:5px; min-height:62px; border:0; border-left:3px solid #22a493; border-radius:8px; background:#e5f5f1; padding:10px 11px; }
.slot.booked strong, .slot.booked span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.slot.booked strong { color:#176f66; font-size:12px; }
.slot.booked span { margin-top:4px; color:#5d817d; font-size:10px; }
.modal-backdrop { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; background:#0a2e3488; backdrop-filter:blur(4px); }
.appointment-modal { width:min(100%,560px); max-height:94vh; overflow:auto; padding:29px; border-radius:20px; background:white; box-shadow:0 30px 90px #082f3650; animation:modalIn .2s ease-out; }
@keyframes modalIn { from { opacity:0; transform:translateY(10px) scale(.98); } }
.modal-head { display:flex; justify-content:space-between; gap:16px; }
.modal-head h2 { margin:0; font-size:24px; }
.close-button { width:36px; height:36px; border:1px solid var(--line); border-radius:9px; background:white; color:#698083; font-size:23px; }
.date-chip { margin:22px 0; padding:14px; display:flex; align-items:center; gap:12px; border-radius:11px; background:#edf8f5; color:var(--mint-dark); }
.date-chip > span { font-size:19px; }
.date-chip div { display:grid; gap:3px; }
.date-chip strong { text-transform:capitalize; font-size:13px; }
.date-chip small { color:#5f7f7b; }
.modal-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:23px; padding-top:20px; border-top:1px solid var(--line); }
.modal-actions button { width:auto; height:44px; padding:0 15px; border-radius:9px; font-size:12px; font-weight:750; }
.save-button { min-width:150px; }
.secondary-button { border:1px solid var(--line); background:white; color:#617477; }
.delete-button { margin-right:auto; border:0; background:#fff0ef; color:#ae4a43; }
.toast { position:fixed; z-index:30; right:25px; bottom:25px; padding:13px 17px; border-radius:10px; background:#113f46; color:white; box-shadow:0 12px 30px #102f3450; font-size:13px; }
.notes-area { width:100%; }
.notes-heading { margin-bottom:22px; }
.notes-toolbar { max-width:1450px; min-height:66px; margin:0 auto 18px; padding:12px 16px; border:1px solid var(--line); border-radius:14px; background:white; display:flex; align-items:center; justify-content:space-between; gap:15px; box-shadow:0 10px 30px #22484208; }
.notes-search { width:min(100%,480px); margin:0; position:relative; }
.notes-search span { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#769094; font-size:20px; }
.notes-search input { height:42px; margin:0; padding-left:41px; background:#f8fbfa; }
.notes-summary { min-width:70px; padding-left:18px; border-left:1px solid var(--line); display:flex; align-items:baseline; gap:5px; }
.notes-summary strong { color:var(--mint-dark); font-size:22px; }
.notes-summary span { color:var(--muted); font-size:11px; }
.notes-grid { max-width:1450px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.note-card { position:relative; min-height:230px; padding:22px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:white; box-shadow:0 12px 30px #24474009; cursor:pointer; transition:transform .2s,box-shadow .2s,border-color .2s; }
.note-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#55b6a8; }
.note-card:hover,.note-card:focus { outline:none; transform:translateY(-3px); border-color:#b9d9d4; box-shadow:0 18px 38px #24474015; }
.note-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.note-marker { padding:5px 8px; border-radius:6px; background:#e9f6f3; color:#26786f; font-size:9px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.note-edit-hint { opacity:0; color:var(--mint); font-size:10px; font-weight:750; transition:opacity .2s; }
.note-card:hover .note-edit-hint,.note-card:focus .note-edit-hint { opacity:1; }
.note-card h3 { margin:18px 0 9px; color:#233d44; font-size:17px; line-height:1.35; }
.note-card p { margin:0; overflow:hidden; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; color:#687d81; font-size:12px; line-height:1.65; white-space:pre-wrap; }
.note-card-footer { position:absolute; left:22px; right:22px; bottom:18px; padding-top:12px; border-top:1px solid #e8efed; color:#91a0a2; font-size:10px; }
.note-blue::before { background:#5c91cf; }.note-blue .note-marker { background:#edf4fc; color:#4778af; }
.note-amber::before { background:#d8a342; }.note-amber .note-marker { background:#fff6df; color:#9a6b15; }
.note-rose::before { background:#d47882; }.note-rose .note-marker { background:#fff0f2; color:#a8515b; }
.notes-empty { grid-column:1 / -1; min-height:360px; padding:50px 25px; border:1px dashed #cddedb; border-radius:18px; display:grid; place-items:center; align-content:center; text-align:center; background:#fbfdfc; }
.notes-empty-icon { width:58px; height:58px; margin-bottom:15px; border-radius:17px; display:grid; place-items:center; background:#e7f5f1; color:var(--mint); font-size:26px; }
.notes-empty h3 { margin:0 0 8px; font-size:18px; }.notes-empty p { max-width:410px; margin:0 0 20px; color:var(--muted); font-size:12px; line-height:1.6; }
.notes-empty .new-button { justify-self:center; }
.note-modal form { margin-top:24px; }
.note-options { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:end; }
.note-options select { width:100%; height:48px; margin-top:8px; padding:0 13px; border:1px solid #d8e5e3; border-radius:11px; background:#fbfdfd; color:var(--ink); outline:none; }
.note-options select:focus { border-color:#43a99e; box-shadow:0 0 0 4px #0d8f8210; }
.pin-option { height:48px; margin:0 0 17px; padding:0 14px; border:1px solid var(--line); border-radius:11px; display:flex; align-items:center; gap:9px; background:#f8fbfa; cursor:pointer; }
.pin-option input { width:17px; height:17px; margin:0; accent-color:var(--mint); }.pin-option span { font-size:12px; }
.heading-actions { display:flex; gap:9px; }.heading-actions button { width:auto; height:43px; padding:0 15px; border-radius:9px; }
.stat-grid { max-width:1450px; margin:0 auto 20px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.stat-card { min-height:132px; padding:20px; border:1px solid var(--line); border-radius:15px; display:flex; flex-direction:column; justify-content:center; background:white; box-shadow:0 10px 30px #22484208; }
.stat-card span { color:var(--muted); font-size:11px; font-weight:700; }.stat-card strong { margin:9px 0 6px; color:var(--ink); font-size:28px; letter-spacing:-1px; }.stat-card small { color:#7e9093; font-size:10px; }
.stat-card::before { content:""; width:28px; height:4px; margin-bottom:12px; border-radius:3px; background:#55b6a8; }.stat-blue::before{background:#5c91cf}.stat-amber::before{background:#d8a342}.stat-rose::before{background:#d47882}
.dashboard-panels { max-width:1450px; margin:auto; display:grid; grid-template-columns:1.5fr 1fr; gap:16px; }
.panel { padding:22px; border:1px solid var(--line); border-radius:16px; background:white; box-shadow:0 12px 35px #22484209; }
.panel-head { min-height:46px; display:flex; justify-content:space-between; gap:15px; align-items:flex-start; }.panel-head h2 { margin:0; font-size:17px; }.panel-head .eyebrow{margin-bottom:6px}.text-button{border:0;background:none;color:var(--mint);font-size:11px;font-weight:750}
.upcoming-list{display:grid;margin-top:12px}.upcoming-row{padding:12px 4px;border:0;border-top:1px solid #edf2f1;background:white;display:grid;grid-template-columns:66px 1fr auto;align-items:center;gap:10px;text-align:left}.upcoming-row:hover{background:#f8fbfa}.upcoming-time{color:var(--mint-dark);font-size:12px;font-weight:800}.upcoming-info{display:grid;gap:3px}.upcoming-info strong{font-size:12px}.upcoming-info small{max-width:260px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status-badge{padding:5px 8px;border-radius:12px;background:#fff5dc;color:#946712;font-size:9px;font-weight:800}.status-confirmed{background:#e7f1fb!important;color:#3d72ad!important}.status-arrived{background:#f0eafa!important;color:#7655a7!important}.status-completed{background:#e4f5ef!important;color:#257660!important}.status-cancelled,.status-no_show{background:#fff0ef!important;color:#a54d47!important}
.slot.booked.status-confirmed{border-left-color:#5c91cf;background:#edf4fc}.slot.booked.status-arrived{border-left-color:#8b70bb;background:#f3effa}.slot.booked.status-completed{border-left-color:#50a580;background:#edf8f3}.slot.booked.status-cancelled,.slot.booked.status-no_show{border-left-color:#cf7772;background:#fff3f2;opacity:.78}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.quick-grid button{min-height:90px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f9fcfb;color:var(--mint);font-size:23px;display:grid;place-content:center;gap:7px}.quick-grid button:hover{border-color:#a8d3cd;background:#f0f9f6}.quick-grid span{color:var(--ink);font-size:10px;font-weight:750}.compact-empty{padding:35px 15px;text-align:center;color:var(--muted);font-size:12px}
.patients-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.patient-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:white;display:flex;align-items:center;gap:13px;cursor:pointer;box-shadow:0 10px 30px #22484208;transition:.2s}.patient-card:hover,.patient-card:focus{outline:none;transform:translateY(-2px);border-color:#acd5ce}.patient-avatar{flex:0 0 45px;height:45px;border-radius:13px;display:grid;place-items:center;background:#e3f4f0;color:var(--mint-dark);font-size:12px;font-weight:800}.patient-info{min-width:0;flex:1}.patient-info h3{margin:0 0 4px;font-size:13px}.patient-info p{margin:0;color:var(--muted);font-size:11px}.patient-meta{display:flex;gap:9px;margin-top:8px;color:#8a999c;font-size:9px}.card-arrow{color:#75a9a2}
.patient-card-actions{flex:0 0 auto;display:grid;justify-items:end;gap:9px}.patient-schedule-button{padding:9px 12px;border:0;border-radius:9px;background:#2d72d9;color:white;font-size:10px;font-weight:750;box-shadow:0 7px 16px #2d72d92a;white-space:nowrap}.patient-schedule-button:hover{background:#1f5fb9;transform:translateY(-1px)}.patient-schedule-banner{max-width:1450px;margin:0 auto 16px;padding:14px 17px;border:1px solid #bed7f5;border-radius:14px;background:linear-gradient(135deg,#eef6ff,#e7f2ff);color:#164f91;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 10px 28px #2d72d912}.patient-schedule-banner>div{display:grid;gap:3px}.patient-schedule-banner span{font-size:9px;font-weight:800;letter-spacing:1px}.patient-schedule-banner strong{font-size:14px}.patient-schedule-banner small{color:#4b719b;font-size:11px}.patient-schedule-banner button{padding:9px 12px;border:1px solid #aacbef;border-radius:9px;background:white;color:#2567b8;font-size:10px;font-weight:700;white-space:nowrap}
.data-card{max-width:1450px;margin:auto;overflow:auto;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 12px 35px #22484209}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid #edf2f1;text-align:left;font-size:11px}.data-table th{background:#f7faf9;color:#76888b;font-size:9px;text-transform:uppercase;letter-spacing:.7px}.table-action{border:1px solid var(--line);border-radius:7px;background:white;color:var(--mint);padding:7px 10px;font-size:10px}
.report-filters{max-width:1450px;margin:0 auto 18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:white;display:flex;align-items:end;gap:12px}.report-filters label{margin:0;font-size:10px}.report-filters input{height:40px;margin-top:5px}.report-filters button{width:auto;height:40px;padding:0 16px}
.report-status{max-width:1450px;margin:-8px auto 16px;padding:10px 13px;border:1px solid #c9e2dc;border-radius:8px;background:#edf8f5;color:#176f66;font-size:11px;font-weight:650}.report-status-error{border-color:#efcbc8;background:#fff2f1;color:#a24741}
.settings-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{min-width:0}.settings-wide{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px}.form-grid select{width:100%;height:50px;margin-top:8px;padding:0 13px;border:1px solid #d8e5e3;border-radius:11px;background:#fbfdfd;color:var(--ink);font-size:13px;font-weight:600}.switch-row{min-height:50px;margin-top:8px!important;padding:0 13px;border:1px solid var(--line);border-radius:11px;display:flex!important;align-items:center;gap:9px;background:#f8fbfa}.switch-row input{width:17px;height:17px;margin:0;accent-color:var(--mint)}.switch-row span{font-size:13px;font-weight:600}.setting-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.setting-links a{padding:10px 12px;border-radius:8px;background:#edf8f5;color:var(--mint-dark);font-size:12px;font-weight:700;text-decoration:none}
.form-section-title{grid-column:1/-1;margin:8px 0 13px;padding-top:17px;border-top:1px solid var(--line);color:#234653;font-size:12px;font-weight:800;letter-spacing:.15px}
.credentials-form{margin-top:8px}.credentials-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:4px}.credentials-actions .primary-button{width:auto;min-width:195px;padding:0 18px}
.profile-photo-section{margin:2px 0 17px}.profile-photo-picker{width:100%;margin:0!important;padding:13px!important;border:1px dashed #8fc4bc!important;border-radius:12px!important;background:#ffffffa8!important;color:var(--ink)!important;display:grid!important;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;text-align:left;transition:border-color .18s,background .18s,box-shadow .18s}.profile-photo-picker:hover{border-color:var(--mint)!important;background:#f4fbf9!important;box-shadow:0 7px 18px #0d766d12}.profile-photo-picker:focus-visible{outline:3px solid #0d8f8233;outline-offset:2px}.profile-photo-picker:disabled{cursor:wait;opacity:.72}.profile-photo-preview{width:68px;height:68px;overflow:hidden;border:3px solid white;border-radius:18px;background:linear-gradient(145deg,#dff4ef,#dcecf8);color:var(--mint-dark);display:grid;place-items:center;font-size:17px;font-weight:850;box-shadow:0 5px 15px #174c4920}.profile-photo-preview img{width:100%;height:100%;display:block;object-fit:cover}.profile-photo-copy{min-width:0;display:grid;gap:5px}.profile-photo-copy strong{font-size:13px}.profile-photo-copy small{color:var(--muted);font-size:10px;line-height:1.4}.profile-photo-action{padding:8px 10px;border-radius:8px;background:#e7f5f2;color:var(--mint-dark);font-size:10px;font-weight:800;white-space:nowrap}
.sms-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.sms-settings-grid select{width:100%;height:50px;margin-top:8px;padding:0 13px;border:1px solid #d8e5e3;border-radius:8px;background:#fff;color:var(--ink);font-size:13px;font-weight:600}.sms-template-field,.sms-settings-grid>.error-box,.sms-settings-actions{grid-column:1/-1}.sms-template-field small{display:block;margin-top:6px;color:var(--muted);font-size:9px;font-weight:600}.sms-enable-row{align-self:end;margin-bottom:17px!important}.sms-settings-actions{display:flex;justify-content:flex-end}.sms-settings-actions .primary-button{width:auto;min-width:190px}.sms-test-row{margin-top:19px;padding-top:17px;border-top:1px solid var(--line);display:flex;align-items:end;gap:10px}.sms-test-row label{width:min(320px,100%);margin:0}.sms-test-row button{width:auto;height:50px;white-space:nowrap}.sms-log-section{margin-top:20px}.sms-log-section h3{margin:0 0 10px;font-size:13px}.sms-log-list{overflow:auto;border:1px solid var(--line);border-radius:9px;background:#ffffff9c}.sms-log-row{min-width:680px;padding:10px 12px;border-top:1px solid #e6eeec;display:grid;grid-template-columns:120px 110px 1fr 100px;align-items:center;gap:12px;font-size:10px}.sms-log-row:first-child{border-top:0}.sms-log-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-log-row time,.sms-log-row small{color:var(--muted)}.sms-log-status{justify-self:start;padding:4px 7px;border-radius:7px;background:#fff0ef;color:#a44d47;font-weight:800}.sms-log-status.is-sent{background:#e5f5ef;color:#237660}.sms-status-active{background:#daf1ea!important;color:#137166!important}
#settingsArea .settings-card{background:linear-gradient(145deg,#ffffff 24%,#edf7f6 100%)}#settingsArea .settings-card:nth-child(2){background:linear-gradient(145deg,#ffffff 24%,#edf4fb 100%)}#settingsArea .settings-card:nth-child(3){background:linear-gradient(145deg,#ffffff 24%,#eef8f3 100%)}#settingsArea .settings-card:nth-child(4){background:linear-gradient(145deg,#ffffff 24%,#fff7ec 100%)}#settingsArea .settings-card:nth-child(5){background:linear-gradient(145deg,#ffffff 24%,#f5f1fa 100%)}#settingsArea .settings-card input,#settingsArea .settings-card select{background:#fffffff2}#settingsArea .working-row,#settingsArea .switch-row,#settingsArea .blocked-item{background:#ffffffb8}
.blocked-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:12px;align-items:end}.blocked-list{display:grid;gap:10px;margin-top:18px}.blocked-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.blocked-item div{display:grid;gap:4px}.blocked-item span,.empty-inline{color:var(--muted);font-size:10px}.blocked-delete{flex:0 0 auto}
.working-hours{display:grid;gap:10px}.working-row{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.55fr;gap:10px;align-items:center;padding:12px;border:1px solid #dce9e7;border-radius:11px}.working-row label{margin:0;color:#334c53;font-size:12px;font-weight:700}.working-row input{height:42px;margin:5px 0 0;padding:0 10px;font-size:13px;font-weight:600}.day-toggle{display:flex!important;align-items:center;gap:9px;font-size:13px!important;font-weight:750!important}.day-toggle input{width:18px;height:18px;margin:0;accent-color:var(--mint)}.break-control{position:relative;display:grid;gap:5px}.break-title{color:#334c53;font-size:12px;font-weight:700}.break-toggle{min-height:42px;padding:0 12px;border:1px dashed #7ab9b0;border-radius:10px;background:#f1faf7;color:var(--mint-dark);font-size:12px;font-weight:750;text-align:left}.break-toggle:hover{border-style:solid;background:#e8f7f3}.break-panel{position:absolute;z-index:8;top:calc(100% + 8px);right:0;width:min(330px,80vw);padding:14px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 18px 45px #153f3a24}.break-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.break-remove{width:100%;margin-top:10px;padding:9px;border:0;border-radius:8px;background:#fff0ef;color:#a84e48;font-size:11px;font-weight:700}
.feature-list{display:grid}.feature-list>div{padding:14px 0;border-top:1px solid #edf2f1;display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:14px}.feature-list strong{font-size:12px}.feature-list span{color:var(--muted);font-size:10px}.feature-list button{width:auto;height:36px}.status-pill{padding:6px 8px;border-radius:9px;background:#e7f5f1;color:var(--mint-dark)!important;font-weight:750}
.appointment-options{margin-top:4px}.appointment-options label{margin-bottom:10px}.patient-history{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.patient-history h3{font-size:14px}.history-row{padding:10px 0;border-top:1px solid #edf2f1;display:grid;grid-template-columns:100px 1fr;gap:10px;font-size:10px}.history-row>span:last-child{display:grid;gap:3px}.history-row small{color:var(--muted)}
.patient-files{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.patient-files h3{margin:0 0 12px;font-size:14px}.patient-files>small{display:block;margin-top:8px;color:var(--muted);font-size:9px}.file-upload-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.file-upload-form input[type=file]{height:auto;padding:10px}.file-upload-form button{width:auto;height:42px}.patient-file-list{display:grid;gap:7px;margin-top:12px}.patient-file-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-size:10px}.patient-file-row a{overflow:hidden;color:var(--mint);font-weight:750;text-overflow:ellipsis;white-space:nowrap}.patient-file-row span{color:var(--muted)}
[data-theme="dark"] body{background:#10272c;color:#e8f3f1}[data-theme="dark"] .topbar,[data-theme="dark"] .sidebar,[data-theme="dark"] .calendar-card,[data-theme="dark"] .panel,[data-theme="dark"] .stat-card,[data-theme="dark"] .notes-toolbar,[data-theme="dark"] .note-card,[data-theme="dark"] .patient-card,[data-theme="dark"] .data-card,[data-theme="dark"] .report-filters{background:#173239;border-color:#29494f}[data-theme="dark"] .calendar-area{background:#10272c}[data-theme="dark"] input,[data-theme="dark"] textarea,[data-theme="dark"] select{background:#1b3a40!important;border-color:#35545a!important;color:#e8f3f1!important}[data-theme="dark"] .slot,[data-theme="dark"] .upcoming-row{background:#173239;color:#e8f3f1;border-color:#29494f}[data-theme="dark"] .stat-card strong,[data-theme="dark"] .patient-info h3,[data-theme="dark"] .note-card h3{color:#edf7f5}
[data-theme="dark"] .notification-panel,[data-theme="dark"] .notification-item{background:#173239!important;border-color:#29494f!important;color:#e8f3f1!important}[data-theme="dark"] .notification-item.is-unread,[data-theme="dark"] .notification-item:hover{background:#1d3d42!important}[data-theme="dark"] .notification-detail{background:#102b30}[data-theme="dark"] .notification-detail span,[data-theme="dark"] .notification-item>span{color:#c4d8d5}[data-theme="dark"] .notification-detail b{color:#f1f8f7}
[data-theme="dark"] .mobile-sidebar-head{background:#173239}[data-theme="dark"] .mobile-menu-button,[data-theme="dark"] .mobile-menu-close{background:#1b3a40;border-color:#35545a;color:#d9ece9}
@media print{.topbar,.sidebar,.new-button,.report-filters,.heading-actions{display:none!important}.dashboard-body{display:block}.calendar-area{padding:0}.panel,.data-card,.stat-card{box-shadow:none}.page-heading{margin-top:0}}
@media (max-width:900px) {
  .auth-page { grid-template-columns:1fr; }
  .auth-intro { display:none; }
  .auth-panel { min-height:100vh; padding:22px; }
  .mobile-brand { margin-bottom:38px; display:flex; align-items:center; gap:10px; font-weight:800; }
  .dashboard-body { grid-template-columns:1fr; }
  .mobile-menu-button { width:40px; height:40px; padding:0; border:1px solid var(--line); border-radius:10px; display:grid; place-items:center; background:#f7fbfa; color:var(--mint-dark); font-size:21px; line-height:1; }
  .mobile-menu-button:hover { border-color:#9ccfc7; background:#edf8f5; }
  .mobile-menu-button:focus-visible, .mobile-menu-close:focus-visible { outline:3px solid #0d8f8233; outline-offset:2px; }
  .sidebar { position:fixed; z-index:70; top:0; bottom:0; left:0; width:min(310px,86vw); padding:0 20px 30px; overflow-y:auto; overscroll-behavior:contain; display:block; border-right:1px solid var(--line); box-shadow:18px 0 45px #0c33383d; transform:translateX(-105%); visibility:hidden; transition:transform .26s ease,visibility .26s; }
  .sidebar.is-open { transform:translateX(0); visibility:visible; }
  .mobile-sidebar-head { position:sticky; z-index:2; top:0; min-height:74px; margin:0 -4px 16px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); background:white; }
  .mobile-menu-close { width:38px; height:38px; padding:0; border:1px solid var(--line); border-radius:10px; display:grid; place-items:center; background:#f7fbfa; color:#52686d; font-size:26px; line-height:1; }
  .mobile-menu-close:hover { background:#edf8f5; color:var(--mint-dark); }
  .mobile-menu-backdrop { position:fixed; z-index:65; inset:0; display:block; background:#082f367a; backdrop-filter:blur(2px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease,visibility .24s; }
  .mobile-menu-backdrop.is-open { opacity:1; visibility:visible; pointer-events:auto; }
  body.mobile-menu-open { overflow:hidden; }
  .calendar-area { padding:28px 18px 45px; }
  .notes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panels,.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}.patients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .working-row{grid-template-columns:1fr 1fr 1fr}.day-toggle,.break-control{grid-column:1/-1}
}
@media (max-width:600px) {
  .blocked-form { grid-template-columns:1fr; }
  .topbar { height:64px; padding:0 15px; }
  .topbar .brand span:last-child { display:none; }
  .doctor-menu .doctor-info { display:none; }
  .doctor-menu button { margin-left:0; }
  .auth-card { padding:30px 24px; border-radius:18px; }
  .page-heading { align-items:flex-start; }
  .page-heading h1 { font-size:26px; }
  .page-heading p { max-width:210px; }
  .new-button { padding:11px 13px; white-space:nowrap; font-size:12px; }
  .calendar-toolbar { grid-template-columns:1fr auto; }
  .calendar-toolbar h2 { grid-row:2; grid-column:1 / -1; margin-top:12px; }
  .calendar-pickers { grid-column:1 / -1; grid-row:3; justify-self:stretch; margin-top:10px; }
  .calendar-pickers label { flex:1; display:grid; gap:4px; }
  .calendar-pickers input { width:100%; min-width:0; }
  .appointment-modal { padding:23px 18px; }
  .modal-actions { flex-wrap:wrap; }
  .delete-button { order:3; width:100% !important; margin:0 !important; }
  .notes-toolbar { align-items:stretch; }
  .notes-search { width:100%; }
  .notes-summary { min-width:56px; }
  .notes-grid { grid-template-columns:1fr; }
  .note-card { min-height:210px; }
  .note-options { grid-template-columns:1fr; gap:0; }
  .stat-grid,.patients-grid{grid-template-columns:1fr}.dashboard-panels{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.feature-list>div{grid-template-columns:1fr}.working-row{grid-template-columns:1fr 1fr}.day-toggle,.break-control{grid-column:1/-1}.break-panel{position:static;width:100%;margin-top:4px}.report-filters{flex-wrap:wrap}.report-filters label{flex:1}.heading-actions{flex-wrap:wrap}
  .patient-card{flex-wrap:wrap}.patient-card-actions{width:100%;display:flex;align-items:center;justify-content:flex-end}.patient-schedule-banner{align-items:flex-start;flex-direction:column}.patient-schedule-banner button{align-self:stretch}
}


.hidden { display: none !important; }
button:disabled { cursor: wait; opacity: .68; transform: none !important; }
.toast-error { background: #9d3f39; }
.time-row { grid-column: 1 / -1; display: grid; grid-template-columns: 70px repeat(6, minmax(142px, 1fr)); }
.public-booking{min-height:100vh;background:linear-gradient(145deg,#0f3d46,#0b8078);padding:30px}.booking-shell{width:min(100%,620px);margin:auto}.booking-shell>.brand{margin-bottom:22px;color:white}.booking-card{padding:clamp(25px,5vw,45px);border-radius:22px;background:white;box-shadow:0 30px 80px #062d3445}.booking-profile-head{margin-bottom:25px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:22px}.booking-profile-copy{min-width:0}.booking-card h1{margin:0 0 8px;font-size:30px}.booking-profile-copy p{margin:0;color:var(--muted)}.booking-doctor-photo{width:86px;height:86px;display:block;object-fit:cover;border:4px solid white;border-radius:24px;background:#e7f4f2;box-shadow:0 9px 24px #153e4625}.booking-card a{color:var(--mint)}@media(max-width:480px){.public-booking{padding:18px}.booking-profile-head{gap:14px}.booking-doctor-photo{width:70px;height:70px;border-radius:19px}.booking-card h1{font-size:25px}}

/* Kurumsal klinik arayüzü */
.dashboard { background:var(--canvas); }
.topbar { position:sticky; z-index:50; top:0; height:70px; padding:0 24px; border-bottom:1px solid #c9dce6; background:#e8f3f8; box-shadow:0 1px 3px #1838460a; }
.modal-backdrop { z-index:80; }
.toast { z-index:90; }
.topbar #logoutButton { border-color:#bfd5e0; background:#f8fbfd; color:#3f5c6b; }
.topbar #logoutButton:hover { border-color:#95b9ca; background:#fff; color:#24495c; }
.brand { font-size:18px; font-weight:750; letter-spacing:-.25px; }
.brand-mark { border-radius:8px; box-shadow:none; }
.doctor-menu button { border-radius:8px; color:#506772; font-weight:600; }
.avatar { border-radius:9px; }
.dashboard-body { grid-template-columns:236px minmax(0,1fr); min-height:calc(100vh - 70px); }
.sidebar { padding:24px 16px; border-right:0; background:linear-gradient(145deg,#0f3d46,#0b8078); color:#fff; }
.sidebar nav { gap:5px; }
.sidebar nav button { min-height:44px; padding:11px 13px; border-radius:8px; color:#d9e7f0; font-size:13px; font-weight:650; }
.sidebar nav button:hover { background:#ffffff12; color:#fff; }
.sidebar nav button.nav-active { background:#fff; color:#123f63; box-shadow:0 2px 8px #08283f1f; }
.sidebar nav span { width:20px; margin-right:8px; text-align:center; color:inherit; }
.nav-badge { min-width:21px; height:19px; background:#2ba49a; color:#fff; }
.today-card { margin-top:30px; padding:18px; border:1px solid #ffffff24; border-radius:10px; background:#ffffff0d; box-shadow:none; }
.today-card > span { color:#8dd8d2; }
.today-card strong { color:#fff; font-size:34px; }
.today-card p { color:#d1e0e9; }
.today-card small { border-top-color:#ffffff1f; color:#eef6fa; }
.side-tip { color:#b8cbd7; font-size:11px; }
.calendar-area { background:var(--canvas); padding-top:32px; }
.page-heading { margin-bottom:22px; }
.page-heading h1 { color:#1c3441; font-size:29px; font-weight:720; letter-spacing:-.55px; }
.page-heading p { color:#6b7f89; }
.eyebrow { margin-bottom:9px; color:#187d78; font-size:10px; letter-spacing:1.05px; }
.new-button, .primary-button { border-radius:8px; box-shadow:0 3px 9px #0d766d26; }
.calendar-card, .panel, .stat-card, .notes-toolbar, .note-card, .patient-card, .data-card, .report-filters, .settings-card { border-color:#d6e1e6; border-radius:11px; box-shadow:0 2px 8px #183b4910; }
.calendar-toolbar { background:var(--sidebar); border-bottom-color:#0b3554; color:#fff; }
.calendar-toolbar h2 { color:#fff; font-weight:720; }
.calendar-toolbar .calendar-nav button { border-color:#ffffff38; background:#ffffff0f; color:#fff; font-weight:650; }
.calendar-toolbar .calendar-nav button:hover { border-color:#ffffff66; background:#ffffff1d; }
.calendar-toolbar .calendar-pickers label { color:#dbe8f0; }
.calendar-toolbar .calendar-pickers input { border-color:#ffffff4d; background:#fff; color:#243b47; font-weight:650; color-scheme:light; }
.calendar-nav button, .calendar-pickers input { border-radius:7px; }
.day-head { background:#fbfcfc; }
.day-head span { color:#536a75; font-size:10px; letter-spacing:.55px; }
.time-label { color:#617984; font-weight:650; }
.slot { color:#233c48; }
.slot:hover { background:#f0f7f6; }
.slot.booked { border-radius:6px; box-shadow:none; }
.stat-card { min-height:122px; padding:18px; }
.stat-card::before { height:3px; margin-bottom:10px; }
.stat-card strong { font-size:26px; }
.home-area .stat-card { position:relative; isolation:isolate; overflow:hidden; border:0; color:#fff; background:#148c82; background-size:130% 130%; box-shadow:0 8px 20px #183b4918; transition:transform .24s ease,box-shadow .24s ease,background-position .5s ease; animation:statCardEnter .48s cubic-bezier(.2,.75,.25,1) both; }
.home-area .stat-mint { background-image:linear-gradient(135deg,#087a70 0%,#18a799 100%); }
.home-area .stat-blue { background-image:linear-gradient(135deg,#285f99 0%,#4b91cc 100%); }
.home-area .stat-amber { background-image:linear-gradient(135deg,#a86716 0%,#d49b3b 100%); }
.home-area .stat-rose { background-image:linear-gradient(135deg,#a94f65 0%,#d67d8e 100%); }
.home-area .stat-card:nth-child(2) { animation-delay:.07s; }
.home-area .stat-card:nth-child(3) { animation-delay:.14s; }
.home-area .stat-card:nth-child(4) { animation-delay:.21s; }
.home-area .stat-card::before { width:32px; height:3px; position:relative; z-index:2; background:#ffffffb8!important; }
.home-area .stat-card::after { content:""; position:absolute; z-index:1; inset:-35% auto -35% -55%; width:38%; pointer-events:none; background:linear-gradient(90deg,transparent,#ffffff29,transparent); transform:skewX(-16deg) translateX(-220%); animation:statCardSheen 5.5s ease-in-out infinite; }
.home-area .stat-card:nth-child(2)::after { animation-delay:.7s; }
.home-area .stat-card:nth-child(3)::after { animation-delay:1.4s; }
.home-area .stat-card:nth-child(4)::after { animation-delay:2.1s; }
.home-area .stat-card span, .home-area .stat-card strong, .home-area .stat-card small { position:relative; z-index:2; color:#fff; }
.home-area .stat-card span { font-weight:750; }
.home-area .stat-card small { color:#ffffffd6; }
.home-area .stat-card:hover { background-position:100% 50%; box-shadow:0 13px 27px #183b4926; transform:translateY(-3px); }
@keyframes statCardEnter { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes statCardSheen { 0%,72% { transform:skewX(-16deg) translateX(-220%); } 100% { transform:skewX(-16deg) translateX(520%); } }
.panel { padding:20px; }
.quick-grid button { min-height:84px; border-radius:9px; background:#f8fafb; }
.quick-grid button:hover { background:#edf6f4; }
.patient-card { border-radius:10px; box-shadow:0 1px 5px #183b490d; }
.patient-avatar { border-radius:9px; }
.patient-card-actions { flex:0 1 auto; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.patient-file-previews { display:flex; align-items:center; gap:4px; }
.patient-file-preview { width:34px; height:34px; overflow:hidden; flex:0 0 34px; border:1px solid #cfdce2; border-radius:7px; display:grid; place-items:center; background:#f2f6f8; color:#31546a; text-decoration:none; transition:border-color .18s,transform .18s; }
.patient-file-preview:hover, .patient-file-preview:focus-visible { border-color:#4a8eac; outline:none; transform:translateY(-1px); }
.patient-file-preview img { width:100%; height:100%; display:block; object-fit:cover; }
.patient-file-kind { font-size:8px; font-weight:800; letter-spacing:.25px; }
.patient-file-more { min-width:26px; height:26px; padding:0 5px; border-radius:13px; display:grid; place-items:center; background:#e7eff4; color:#31546a; font-size:9px; font-weight:800; }
.note-card { border-radius:10px; box-shadow:0 1px 5px #183b490d; }
.quick-panel { min-height:100%; display:flex; flex-direction:column; overflow:hidden; }
.quick-panel .panel-head { flex:0 0 auto; }
.quick-grid { flex:1; margin-top:16px; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(108px,1fr)); gap:12px; }
.quick-grid button { --quick-accent:#2f75b8; --quick-bg:#eef5fb; position:relative; isolation:isolate; min-height:108px; overflow:hidden; padding:17px; border:1px solid #d5e2e8; border-radius:10px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:16px; background:linear-gradient(145deg,#fff 25%,var(--quick-bg)); color:var(--quick-accent); text-align:left; font-size:25px; box-shadow:0 2px 6px #183b490b; transform:translateY(0); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease; }
.quick-grid button::before { content:""; position:absolute; z-index:-1; top:0; right:0; width:58px; height:58px; border-radius:0 0 0 58px; background:color-mix(in srgb,var(--quick-accent) 9%,transparent); transition:width .25s ease,height .25s ease; }
.quick-grid button::after { content:"→"; position:absolute; top:14px; right:15px; color:var(--quick-accent); font-size:15px; font-weight:750; transition:transform .22s ease; }
.quick-grid button:nth-child(2) { --quick-accent:#148c82; --quick-bg:#edf8f5; }
.quick-grid button:nth-child(3) { --quick-accent:#b7791f; --quick-bg:#fff8e9; }
.quick-grid button:nth-child(4) { --quick-accent:#6e63a8; --quick-bg:#f4f1fb; }
.quick-grid button span { color:#29414d; font-size:12px; font-weight:750; letter-spacing:-.1px; }
.quick-grid button:hover { border-color:color-mix(in srgb,var(--quick-accent) 42%,#d5e2e8); background:linear-gradient(145deg,#fff 10%,var(--quick-bg)); box-shadow:0 9px 20px #183b491c; transform:translateY(-3px); }
.quick-grid button:hover::before { width:72px; height:72px; }
.quick-grid button:hover::after { transform:translateX(3px); }
.quick-grid button:active { box-shadow:0 3px 8px #183b4914; transform:translateY(-1px); }
.quick-grid button:focus-visible { outline:3px solid color-mix(in srgb,var(--quick-accent) 24%,transparent); outline-offset:2px; }
.quick-grid-enter button { animation:quickCardEnter .42s cubic-bezier(.2,.75,.25,1) both; }
.quick-grid-enter button:nth-child(2) { animation-delay:.06s; }
.quick-grid-enter button:nth-child(3) { animation-delay:.12s; }
.quick-grid-enter button:nth-child(4) { animation-delay:.18s; }
@keyframes quickCardEnter { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
.notes-empty { border-radius:11px; background:#fafcfc; }
.data-card { overflow:hidden; }
.data-table th { background:#f3f6f7; color:#526a75; font-weight:750; letter-spacing:.45px; }
input, textarea, select { border-radius:8px; background:#fff; }
input:focus, textarea:focus, select:focus { border-color:#3c9d96; box-shadow:0 0 0 3px #148c8217; }
.auth-intro { background:linear-gradient(145deg,#0f3d46,#0b8078); }
.auth-intro::before { display:none; }
.auth-panel { background:#edf2f5; }
.auth-card { border-radius:14px; border-color:#d9e2e6; box-shadow:0 12px 35px #16384617; }
.auth-card h2 { font-size:29px; font-weight:720; }
.auth-page{grid-template-columns:minmax(540px,1.05fr) minmax(480px,.95fr)}.auth-page .auth-intro{padding:38px clamp(34px,4.8vw,74px)}.intro-showcase{position:relative;z-index:1;height:clamp(340px,50vh,520px);margin:18px 0 10px;perspective:1300px;transform-style:preserve-3d}.intro-preview-card{position:absolute;margin:0;overflow:hidden;border:1px solid #ffffff42;border-radius:16px;background:#eaf1f3;box-shadow:0 28px 55px #062f3342,0 2px 0 #ffffff4d inset;transform-style:preserve-3d;transition:transform .35s ease,box-shadow .35s ease}.intro-preview-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,#ffffff28,transparent 35%,transparent 72%,#062c3320)}.intro-preview-card img{width:100%;height:100%;display:block}.intro-preview-card figcaption{position:absolute;z-index:2;left:14px;bottom:12px;padding:6px 9px;border:1px solid #ffffff4d;border-radius:7px;background:#0c3445d9;color:#fff;font-size:10px;font-weight:750;letter-spacing:.25px;backdrop-filter:blur(6px)}.preview-overview{z-index:1;top:25px;left:2%;width:82%;height:49%;transform:rotate(-7deg) rotateY(10deg) translateZ(-18px)}.preview-overview img{object-fit:contain;background:#eef3f5}.preview-calendar{z-index:2;top:39%;right:1%;width:84%;height:54%;transform:rotate(6deg) rotateY(-9deg) translateZ(26px)}.preview-calendar img{height:calc(100% + 38px);object-fit:cover;object-position:center bottom;transform:translateY(-38px)}.intro-showcase:hover .preview-overview{transform:rotate(-5deg) rotateY(7deg) translate3d(-5px,-4px,-10px)}.intro-showcase:hover .preview-calendar{transform:rotate(4deg) rotateY(-6deg) translate3d(6px,-7px,34px);box-shadow:0 34px 65px #062f3354,0 2px 0 #ffffff4d inset}.auth-page .intro-copy{margin:auto 0 8px;max-width:520px}.auth-page .intro-copy .eyebrow{margin-bottom:7px;color:#a8eee3}.auth-page .intro-copy h1{margin:0 0 10px;max-width:480px;font-size:clamp(27px,2.4vw,38px);line-height:1.1;letter-spacing:-1.25px}.auth-page .intro-copy p{margin:0;max-width:490px;color:#d9efec;font-size:14px;line-height:1.55}.auth-page .copyright{margin-top:18px}.auth-panel{overflow-y:auto}.auth-card.is-registering{width:min(100%,650px);padding:30px 36px}.auth-card.is-registering>p{margin-bottom:20px}.auth-card.is-registering #authForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.auth-card.is-registering #authForm>.register-profile-fields,.auth-card.is-registering #authForm>#passwordConfirmField,.auth-card.is-registering #authForm>.success-box,.auth-card.is-registering #authForm>.error-box,.auth-card.is-registering #authForm>.primary-button{grid-column:1/-1}.auth-card.is-registering .forgot-link{display:none}.auth-card.is-registering .auth-switch{margin-top:17px;padding-top:17px}.register-profile-fields{grid-column:1/-1}.auth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.register-avatar-picker{margin:0 0 17px!important;padding:10px;border:1px dashed #9cc6c1;border-radius:10px;background:#f7fbfa;display:grid!important;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;cursor:pointer}.register-avatar-picker:hover{border-color:var(--mint);background:#f0f8f6}.register-avatar-preview{width:52px;height:52px;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,#dff4ef,#dcecf8);color:var(--mint-dark);display:grid;place-items:center;font-size:13px;font-weight:850}.register-avatar-preview img{width:100%;height:100%;display:block;object-fit:cover}.register-avatar-copy{min-width:0;display:grid;gap:2px}.register-avatar-copy strong{font-size:12px}.register-avatar-copy small{color:var(--muted);font-size:9px;font-weight:600}.register-avatar-action{padding:7px 9px;border-radius:7px;background:#e4f3f0;color:var(--mint-dark);font-size:9px;font-weight:800;white-space:nowrap}.password-input-wrap{position:relative;display:block}.password-input-wrap input{padding-right:49px}.password-toggle{position:absolute;right:7px;top:15px;width:36px;height:36px;padding:0;border:0;border-radius:7px;background:transparent;color:#587077;display:grid;place-items:center;font-size:16px}.password-toggle:hover{background:#eaf3f2;color:var(--mint-dark)}.password-toggle[aria-pressed="true"]{background:#e2f2ef;color:var(--mint-dark)}
.public-booking { background:#123f63; }
.booking-card { border-radius:14px; box-shadow:0 14px 40px #08283f42; }
.appointment-modal { border-radius:14px; box-shadow:0 20px 60px #082f3640; }
.notification-panel { border-radius:11px; box-shadow:0 12px 35px #123f3c29; }

[data-theme="dark"] .sidebar { background:linear-gradient(145deg,#0f3d46,#0b8078); }
[data-theme="dark"] .mobile-sidebar-head { background:transparent; }
[data-theme="dark"] .sidebar nav button { color:#d9e7f0; }
[data-theme="dark"] .sidebar nav button:hover { background:#ffffff12; color:#fff; }
[data-theme="dark"] .sidebar nav button.nav-active { background:#f5fafc; color:#123f63; }
[data-theme="dark"] .patient-file-preview { border-color:#416069; background:#24444b; color:#dbe9ed; }
[data-theme="dark"] .patient-file-more { background:#294c55; color:#dbe9ed; }
[data-theme="dark"] .quick-grid button { border-color:#31525a; background:linear-gradient(145deg,#1b3940,#1e4148); }
[data-theme="dark"] .quick-grid button span { color:#edf6f5; }
[data-theme="dark"] .report-status { border-color:#315b57; background:#193d3b; color:#c7ebe5; }
[data-theme="dark"] .report-status-error { border-color:#72433f; background:#462a29; color:#ffd4d0; }
[data-theme="dark"] .form-section-title { border-top-color:#36565d; color:#d8e9e7; }
[data-theme="dark"] #settingsArea .settings-card{background:linear-gradient(145deg,#173239 22%,#183d3d 100%)}[data-theme="dark"] #settingsArea .settings-card:nth-child(2){background:linear-gradient(145deg,#173239 22%,#1b3548 100%)}[data-theme="dark"] #settingsArea .settings-card:nth-child(3){background:linear-gradient(145deg,#173239 22%,#1c3e35 100%)}[data-theme="dark"] #settingsArea .settings-card:nth-child(4){background:linear-gradient(145deg,#173239 22%,#413727 100%)}[data-theme="dark"] #settingsArea .settings-card:nth-child(5){background:linear-gradient(145deg,#173239 22%,#382f45 100%)}[data-theme="dark"] #settingsArea .working-row,[data-theme="dark"] #settingsArea .switch-row,[data-theme="dark"] #settingsArea .blocked-item{background:#173239b8}
[data-theme="dark"] .profile-photo-picker{border-color:#47736f!important;background:#173239a8!important;color:#edf6f5!important}[data-theme="dark"] .profile-photo-picker:hover{background:#1c3d42!important}[data-theme="dark"] .profile-photo-action{background:#244c49;color:#d2efea}
[data-theme="dark"] .sms-log-list{background:#173239;border-color:#35545a}[data-theme="dark"] .sms-log-row{border-top-color:#29494f}

@media (max-width:900px) {
  .dashboard-body { grid-template-columns:1fr; }
  .sidebar { width:min(310px,86vw); padding:0 16px 28px; background:linear-gradient(145deg,#0f3d46,#0b8078); }
  .mobile-sidebar-head { min-height:70px; margin:0 0 14px; border-bottom-color:#ffffff1f; background:transparent; color:#fff; }
  .mobile-sidebar-head .brand { color:#fff; }
  .mobile-menu-close { border-color:#ffffff2b; background:#ffffff0d; color:#fff; }
  .mobile-menu-close:hover { background:#ffffff1a; color:#fff; }
}

@media (max-width:600px) {
  .topbar { height:64px; padding:0 12px; }
  .topbar-brand-group { gap:8px; }
  .mobile-menu-button { width:38px; height:38px; border-radius:8px; }
  .calendar-area { padding:24px 14px 40px; }
  .page-heading h1 { font-size:25px; }
  .calendar-card, .panel, .stat-card, .notes-toolbar, .note-card, .patient-card, .data-card, .report-filters, .settings-card { border-radius:9px; }
  .quick-grid { grid-template-rows:repeat(2,minmax(96px,1fr)); gap:9px; }
  .quick-grid button { min-height:96px; padding:14px; }
  .credentials-actions .primary-button { width:100%; }
  .profile-photo-picker { grid-template-columns:58px 1fr; }
  .profile-photo-preview { width:58px; height:58px; border-radius:15px; }
  .profile-photo-action { grid-column:1/-1; text-align:center; }
  .sms-settings-grid { grid-template-columns:1fr; }
  .sms-settings-grid>* { grid-column:1!important; }
  .sms-settings-actions .primary-button { width:100%; }
  .sms-test-row { align-items:stretch; flex-direction:column; }
  .sms-test-row label, .sms-test-row button { width:100%; }
  .auth-card.is-registering { padding:27px 22px; }
  .auth-card.is-registering #authForm, .auth-form-grid { grid-template-columns:1fr; }
  .auth-card.is-registering #authForm>* { grid-column:1!important; }
  .register-avatar-picker { grid-template-columns:48px 1fr; }
  .register-avatar-preview { width:48px; height:48px; }
  .register-avatar-action { grid-column:1/-1; text-align:center; }
}

@media (prefers-reduced-motion:reduce) {
  .quick-grid-enter button { animation:none; }
  .quick-grid button, .quick-grid button::before, .quick-grid button::after { transition:none; }
  .home-area .stat-card, .home-area .stat-card::after { animation:none; transition:none; }
}

/* Klinik ve üyelik yönetimi */
.clinic-stat-grid,.membership-stat-grid{margin-bottom:18px}.clinic-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin-bottom:18px}.clinic-profile-card,.expense-breakdown-card,.clinic-ledger,.membership-panel{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,248,247,.9));border:1px solid rgba(15,61,70,.12)}.clinic-profile-form{display:grid;gap:14px}.clinic-profile-form>button{justify-self:start}.expense-breakdown{display:grid;gap:16px}.expense-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.expense-row strong{font-size:13px}.expense-row span{font-size:13px;font-weight:700;color:#315b61}.expense-track{height:9px;border-radius:999px;background:#dcebea;overflow:hidden}.expense-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b8078,#39b9aa);animation:finance-bar .55s ease-out}.clinic-ledger-row{grid-template-columns:110px 90px minmax(130px,.8fr) minmax(180px,1.5fr) 130px 90px}.finance-type{width:max-content;padding:5px 9px;border-radius:999px;font-weight:800;font-size:11px}.finance-income{color:#08766f;background:#ddf5ef}.finance-expense{color:#ae3847;background:#fde7ea}.finance-amount{font-weight:850}.clinic-edit{padding:8px 11px}.membership-list{display:grid;gap:10px}.membership-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #d7e6e5;border-radius:15px;background:rgba(255,255,255,.8);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.membership-card:hover{transform:translateY(-1px);border-color:#9bcac5;box-shadow:0 10px 28px rgba(15,61,70,.08)}.membership-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#0f3d46,#0b8078);color:white;font-size:13px;font-weight:850}.membership-info{min-width:0}.membership-info>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.membership-info strong{font-size:14px}.membership-info p{margin:5px 0;color:#3e6268;font-size:12px}.membership-info small{color:#789196}.membership-status{font-size:10px;font-weight:850;letter-spacing:.04em;padding:5px 8px;border-radius:999px}.membership-status.status-pending{background:#fff2ce;color:#8c6410}.membership-status.status-approved{background:#ddf5ef;color:#08766f}.membership-status.status-suspended{background:#fde7ea;color:#a52f40}.membership-status.status-rejected{background:#e8edf4;color:#536276}.membership-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.membership-actions button{padding:8px 11px;font-size:11px}.sidebar nav{overflow-y:auto;scrollbar-width:thin}.nav-badge.hidden{display:none}@keyframes finance-bar{from{width:0}}
[data-theme="dark"] .clinic-profile-card,[data-theme="dark"] .expense-breakdown-card,[data-theme="dark"] .clinic-ledger,[data-theme="dark"] .membership-panel{background:linear-gradient(145deg,#17383d,#112d32);border-color:#285057}[data-theme="dark"] .membership-card{background:#15363b;border-color:#285057}[data-theme="dark"] .expense-track{background:#274a4f}
@media(max-width:1050px){.clinic-layout{grid-template-columns:1fr}.clinic-ledger{overflow:hidden}.clinic-ledger .data-card{overflow-x:auto}.clinic-ledger-row{min-width:850px}}
@media(max-width:700px){.membership-card{grid-template-columns:42px minmax(0,1fr)}.membership-actions{grid-column:1/-1;justify-content:flex-start;padding-left:56px}.clinic-profile-form>button{width:100%}.clinic-stat-grid,.membership-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.clinic-stat-grid,.membership-stat-grid{grid-template-columns:1fr}.membership-actions{padding-left:0}}

/* Apple Calendar esintili takvim ve zengin yan panel */
.sidebar-day-flow{margin-top:18px;padding:14px;border:1px solid #ffffff20;border-radius:14px;background:linear-gradient(145deg,#ffffff12,#ffffff08);box-shadow:inset 0 1px 0 #ffffff10}.sidebar-flow-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-flow-head span,.sidebar-next small{font-size:9px;font-weight:850;letter-spacing:1.1px;color:#9fded8}.sidebar-flow-head strong{font-size:12px;color:#fff}.sidebar-progress{height:5px;margin:10px 0 14px;border-radius:999px;background:#ffffff20;overflow:hidden}.sidebar-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#62ded0,#d6fff8);transition:width .45s ease}.sidebar-next{display:grid;gap:5px;padding:12px;border-radius:11px;background:#062f354d}.sidebar-next strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:12px}.sidebar-next span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c8e0df;font-size:10px}.sidebar-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.sidebar-shortcuts button{min-height:34px!important;padding:7px!important;border:1px solid #ffffff25!important;border-radius:8px!important;background:#ffffff0d!important;color:#fff!important;font-size:10px!important}.sidebar-shortcuts button:hover{background:#ffffff1c!important}.today-card{margin-top:20px}
.calendar-card{border-radius:16px;border-color:#d9e2e8;box-shadow:0 18px 45px #193b4d13}.calendar-toolbar{min-height:72px;padding:12px 16px;background:rgba(252,253,254,.96);border-bottom:1px solid #e1e7eb;color:#192d3a;backdrop-filter:blur(18px)}.calendar-toolbar h2{color:#1b2c38;font-size:17px;font-weight:760;letter-spacing:-.2px}.calendar-toolbar .calendar-nav button{border:1px solid #d8e0e5;background:#fff;color:#334d5b;font-weight:700;box-shadow:0 1px 2px #193b4d0c}.calendar-toolbar .calendar-nav button:not(:first-child){width:36px;border-radius:50%;font-size:19px}.calendar-toolbar .calendar-nav button:hover{border-color:#b9c8d0;background:#f3f6f8}.calendar-toolbar .calendar-pickers label{color:#667c87}.calendar-toolbar .calendar-pickers input{height:38px;border-color:#d5dee3;background:#fff;color:#273d49;box-shadow:0 1px 2px #193b4d0c}.calendar-summary-bar{min-height:48px;padding:9px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e5eaed;background:#fff}.calendar-summary-bar>div:first-child{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px}.calendar-summary-bar strong{font-size:12px;color:#2d4653}.calendar-summary-bar small{grid-column:2;color:#7b8e97;font-size:10px}.calendar-live-dot{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 4px #ff3b3014}.calendar-legend{display:flex;align-items:center;gap:14px}.calendar-legend span{display:flex;align-items:center;gap:5px;color:#71858f;font-size:9px;font-weight:700}.calendar-legend i{width:7px;height:7px;border-radius:50%}.legend-blue{background:#5b8def}.legend-purple{background:#9b79d0}.legend-green{background:#43a77c}.legend-red{background:#df6a64}.calendar-scroll{max-height:calc(100vh - 250px);overflow:auto;background:#fff}.calendar-grid{min-width:1080px;grid-template-columns:76px repeat(6,minmax(160px,1fr));background:#fff}.corner-cell,.day-head{height:82px;position:sticky;top:0;z-index:5;background:rgba(252,253,254,.97);backdrop-filter:blur(16px);border-color:#e3e8eb}.corner-cell{left:0;z-index:7}.day-head{place-content:center}.day-head span{color:#7a8d96;font-size:9px;font-weight:800;letter-spacing:.7px}.day-head strong{margin-top:2px;color:#243b48;font-size:24px;font-weight:650}.day-head small{margin-top:1px;color:#9aa8ae;font-size:8px}.day-head.is-weekend{background:#fafbfc}.day-head.is-selected{background:#f2f8ff;box-shadow:inset 0 -2px 0 #5b8def}.day-head.is-selected span{color:#3978d3}.day-head.is-today strong{width:34px;height:34px;margin:1px auto 0;background:#ff3b30;box-shadow:0 3px 10px #ff3b3030}.time-row{min-height:84px;grid-template-columns:76px repeat(6,minmax(160px,1fr))}.time-label{position:sticky;left:0;z-index:3;padding-top:10px;padding-right:10px;background:#fbfcfd;border-color:#e4e9ec;color:#83949c;font-size:10px;font-weight:650}.slot{min-height:84px;border-color:#e6eaed;background:#fff;transition:background .16s ease}.slot.today-column:not(.booked){background:#fbfdff}.slot:hover{background:#f4f8fc}.slot.current-hour::after{content:"";position:absolute;z-index:4;left:-5px;right:0;top:var(--minute-offset);height:1px;background:#ff3b30;pointer-events:none}.slot.current-hour::before{content:"";position:absolute;z-index:5;left:-5px;top:calc(var(--minute-offset) - 4px);width:8px;height:8px;border-radius:50%;background:#ff3b30;pointer-events:none}.slot.booked{margin:4px 5px;min-height:76px;padding:8px 10px;border:0;border-left:4px solid #5b8def;border-radius:7px;background:#eaf2ff;box-shadow:0 1px 3px #315f9b15;transition:transform .16s ease,box-shadow .16s ease}.slot.booked:hover{transform:translateY(-1px);box-shadow:0 5px 13px #315f9b1c}.slot.booked strong{margin-top:3px;color:#244f8f;font-size:12px}.slot.booked span{margin-top:3px;color:#58749a;font-size:10px}.appointment-meta{display:flex!important;align-items:center;gap:5px;margin:0!important;color:#55739b!important;font-size:8px!important;font-weight:750}.appointment-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.slot.booked.status-pending{border-left-color:#f0a43a;background:#fff5df}.slot.booked.status-pending strong{color:#855c18}.slot.booked.status-arrived{border-left-color:#9b79d0;background:#f3edfc}.slot.booked.status-completed{border-left-color:#43a77c;background:#eaf7f1}.slot.booked.status-cancelled,.slot.booked.status-no_show{border-left-color:#df6a64;background:#fff0ef}.slot.blocked-slot{background:repeating-linear-gradient(135deg,#fafbfc,#fafbfc 8px,#f1f3f5 8px,#f1f3f5 16px)}.add-hint{color:#5b8def}
[data-theme="dark"] .calendar-toolbar,[data-theme="dark"] .calendar-summary-bar,[data-theme="dark"] .calendar-grid,[data-theme="dark"] .calendar-scroll{background:#142f35;color:#e8f3f1}[data-theme="dark"] .calendar-toolbar h2{color:#eef8f6}[data-theme="dark"] .calendar-toolbar .calendar-nav button{background:#1c3c43;border-color:#35535a;color:#e8f3f1}[data-theme="dark"] .calendar-toolbar .calendar-pickers label{color:#b7c9cd}[data-theme="dark"] .calendar-summary-bar{border-color:#29494f}[data-theme="dark"] .calendar-summary-bar strong{color:#e8f3f1}[data-theme="dark"] .corner-cell,[data-theme="dark"] .day-head,[data-theme="dark"] .time-label{background:#173239;border-color:#29494f}[data-theme="dark"] .day-head strong{color:#e8f3f1}[data-theme="dark"] .slot.today-column:not(.booked){background:#18363d}
@media(max-width:900px){.calendar-scroll{max-height:none}.calendar-summary-bar{align-items:flex-start}.calendar-legend{overflow-x:auto;max-width:58%;padding-bottom:3px}.sidebar-day-flow{margin-bottom:20px}}
@media(max-width:600px){.calendar-summary-bar{display:grid}.calendar-legend{max-width:100%;width:100%;justify-content:space-between;gap:8px}.calendar-summary-bar>div:first-child{justify-content:start}.calendar-grid{min-width:960px}.calendar-toolbar{background:#fff}.calendar-toolbar h2{color:#1b2c38}}
@media(prefers-reduced-motion:reduce){.sidebar-progress i,.slot,.slot.booked{transition:none}}

/* Sol menü mini takvim kartı */
.today-card{position:relative;isolation:isolate;overflow:hidden;margin-top:20px;padding:18px 18px 16px;border:1px solid #ffffff38;border-radius:17px;background:linear-gradient(145deg,#285d9c 0%,#5978c8 58%,#7068b4 100%);box-shadow:0 16px 34px #052c3845,inset 0 1px 0 #ffffff2e;transition:transform .22s ease,box-shadow .22s ease}.today-card::before{content:"▦";position:absolute;z-index:-1;right:14px;top:12px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffffff2e;border-radius:11px;background:#ffffff18;color:#fff;font-size:17px;box-shadow:inset 0 1px 0 #ffffff20}.today-card::after{content:"";position:absolute;z-index:-2;right:-45px;bottom:-52px;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,#9de9ff4d 0%,transparent 68%)}.today-card:hover{transform:translateY(-2px);box-shadow:0 20px 38px #052c3855,inset 0 1px 0 #ffffff38}.today-card>span{display:block;width:max-content;padding:5px 8px;border-radius:999px;background:#ffffff18;color:#dff8ff;font-size:9px;font-weight:850;letter-spacing:1.25px}.today-card strong{width:max-content;margin-top:13px;color:#fff;font-size:42px;font-weight:780;line-height:.9;letter-spacing:-1.5px;text-shadow:0 3px 12px #21386b4f}.today-card p{margin:9px 0 16px;color:#eef5ff;font-size:12px;font-weight:650;text-transform:capitalize}.today-card small{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid #ffffff20;border-radius:10px;background:#172f6740;color:#fff;font-size:10px;font-weight:750}.today-card small::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:#70f0d5;box-shadow:0 0 0 4px #70f0d51c}.today-card+.sidebar-day-flow{margin-top:12px}
[data-theme="dark"] .today-card{background:linear-gradient(145deg,#244f85,#4b62a2 58%,#5c5592)}
@media(max-width:900px){.today-card{margin-top:18px}.today-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.today-card{transition:none}}

/* MediTakvim 5.0 operasyon, portal, arama ve takvim görünümleri */
.global-search{position:relative;width:min(430px,34vw);height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #d8e3e7;border-radius:11px;background:#f7fafb}.global-search>span{color:#71868e;font-size:18px}.global-search input{height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:12px}.global-search kbd{padding:3px 6px;border:1px solid #d7e0e4;border-radius:5px;background:#fff;color:#7a8b92;font:9px inherit}.global-search-results{position:absolute;z-index:50;top:47px;left:0;right:0;max-height:440px;overflow:auto;padding:7px;border:1px solid #d7e2e6;border-radius:13px;background:#fff;box-shadow:0 18px 55px #173b4c2b}.global-search-results button{width:100%;display:grid;grid-template-columns:70px 1fr;gap:2px 10px;padding:10px;border:0;border-radius:9px;background:transparent;text-align:left}.global-search-results button:hover{background:#f1f7f7}.global-search-results button>span{grid-row:1/3;color:#178178;font-size:9px;font-weight:800;letter-spacing:.06em}.global-search-results button>strong{font-size:12px}.global-search-results button>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#73878f;font-size:10px}.global-search-results>p{padding:16px;text-align:center;color:#73878f;font-size:11px}
.calendar-view-switch{display:flex;padding:3px;border:1px solid #d7e0e5;border-radius:9px;background:#eef2f4}.calendar-view-switch button{height:28px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#6a7f89;font-size:9px;font-weight:750}.calendar-view-switch button.is-active{background:#fff;color:#235f97;box-shadow:0 1px 4px #193b4d1c}.calendar-grid.calendar-view-day,.calendar-grid.calendar-view-week{grid-template-columns:76px repeat(var(--calendar-days),minmax(160px,1fr))}.calendar-grid.calendar-view-day .time-row,.calendar-grid.calendar-view-week .time-row{grid-template-columns:76px repeat(var(--calendar-days),minmax(160px,1fr))}.calendar-grid.calendar-view-day{min-width:620px}.slot.is-dragging{opacity:.45;transform:scale(.97)}.slot.drag-target{background:#e8f2ff!important;box-shadow:inset 0 0 0 2px #5b8def}
.month-calendar-grid{min-width:920px;display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));align-content:start}.month-weekday{position:sticky;top:0;z-index:3;padding:11px;border-bottom:1px solid #e2e8eb;background:#f8fafb;color:#71858e;text-align:center;font-size:9px;font-weight:800}.month-day{min-height:125px;padding:8px;border:0;border-right:1px solid #e4e9ec;border-bottom:1px solid #e4e9ec;background:#fff;text-align:left;vertical-align:top}.month-day:hover{background:#f7fafc}.month-day>strong{width:27px;height:27px;display:grid;place-items:center;margin-left:auto;border-radius:50%;color:#435a65;font-size:11px}.month-day.is-today>strong{background:#ff3b30;color:#fff}.month-day.is-outside{background:#fafbfc;opacity:.55}.month-event{display:block;overflow:hidden;margin-top:4px;padding:4px 6px;border-left:3px solid #5b8def;border-radius:4px;background:#eaf2ff;color:#355c8d;font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.month-day>small{display:block;margin-top:5px;color:#6d818b;font-size:8px}.list-calendar-grid{min-width:0;display:grid;grid-template-columns:1fr;padding:10px;gap:7px}.calendar-list-row{display:grid;grid-template-columns:95px 1fr auto;align-items:center;gap:14px;padding:13px;border:1px solid #e0e7ea;border-radius:11px;background:#fff;text-align:left}.calendar-list-row:hover{border-color:#a9c7d1;background:#f8fbfc}.calendar-list-row time{display:grid;gap:3px}.calendar-list-row time strong{font-size:12px}.calendar-list-row time span,.calendar-list-row>div span{color:#72868f;font-size:10px}.calendar-list-row>div{display:grid;gap:4px}.calendar-list-row>div strong{font-size:12px}
.operations-stat-grid{margin-bottom:18px}.operations-tabs{max-width:1450px;margin:0 auto 12px;display:flex;gap:6px;overflow-x:auto;padding:4px;border:1px solid #d9e4e7;border-radius:12px;background:#edf3f4}.operations-tabs button{flex:0 0 auto;padding:10px 13px;border:0;border-radius:8px;background:transparent;color:#627983;font-size:10px;font-weight:780}.operations-tabs button.is-active{background:#fff;color:#0a756d;box-shadow:0 2px 8px #173b4d16}.operations-panel{max-width:1450px;margin:auto}.operations-content{display:grid;gap:8px}.operations-empty{min-height:190px;display:grid;place-content:center;text-align:center;gap:7px;color:#70868f}.operations-empty strong{color:#29434f;font-size:14px}.operation-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px;border:1px solid #dfe7ea;border-radius:12px;background:#fff}.operation-row:hover{border-color:#b6cdd3;box-shadow:0 5px 18px #173b4d0c}.operation-row>div:nth-child(2){min-width:0;display:grid;gap:4px}.operation-row>div:nth-child(2)>strong{font-size:12px}.operation-row>div:nth-child(2)>span,.operation-row>div:nth-child(2)>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#71858e;font-size:10px}.operation-row>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.operation-row button{padding:8px 10px;font-size:9px}.operation-check,.operation-icon,.stock-level{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e8f2ff;color:#4777ad;font-weight:800}.operation-check.is-done{background:#e3f4ec;color:#278365}.stock-level{grid-template-rows:1fr auto;background:#edf7f5;color:#0b756c;font-size:12px}.stock-level small{font-size:7px}.operation-row.is-alert{border-color:#edc2c6;background:#fffafb}.operation-row.is-alert .stock-level{background:#fde9eb;color:#ad3e4c}.resource-color{width:38px;height:38px;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff60}.package-progress{height:6px;margin:3px 0;border-radius:999px;background:#e5edef;overflow:hidden}.package-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b8078,#58b9aa)}.integration-card{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:13px;padding:14px;border:1px solid #dfe7ea;border-radius:12px;background:#fff}.integration-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#285d9c,#7068b4);color:#fff;font-weight:850}.integration-card>div:nth-child(2){display:grid;gap:3px}.integration-card strong{font-size:12px}.integration-card span,.integration-card small{color:#71858e;font-size:10px}.operation-form-fields{display:grid;gap:12px}.operation-form-fields>small{color:#71858e}.security-block{display:grid;gap:7px;margin-bottom:18px}.security-block h3{margin:0 0 8px;font-size:13px}.security-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px;border:1px solid #e0e8ea;border-radius:9px}.security-row>div{display:grid;gap:3px;min-width:0}.security-row strong{font-size:10px}.security-row span,.security-row>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#71858e;font-size:9px}
.patient-portal-page{min-height:100vh;background:linear-gradient(145deg,#edf5f6,#f7fafc);color:#19333f}.portal-shell{width:min(1100px,calc(100% - 30px));margin:auto;padding:28px 0 45px}.portal-brand{display:flex;align-items:center;gap:9px}.portal-brand>span:last-child{margin-left:auto;color:#6f858e;font-size:10px}.portal-hero{margin:38px 0 22px;padding:28px;border-radius:20px;background:linear-gradient(145deg,#0f3d46,#0b8078);color:#fff;box-shadow:0 18px 50px #123b4630}.portal-hero .eyebrow{color:#9ce2db}.portal-hero h1{margin:0;font-size:30px}.portal-hero p{margin:8px 0 0;color:#d5e8e7}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-card{padding:20px;border:1px solid #d9e4e7;border-radius:16px;background:#fff;box-shadow:0 6px 22px #173b4d0c}.portal-wide{grid-column:1/-1}.portal-appointment{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e3eaec}.portal-appointment>div:first-child{display:grid;gap:4px}.portal-appointment strong{font-size:12px}.portal-appointment span{color:#71858e;font-size:10px}.portal-appointment button{margin-left:5px;padding:7px 9px;border:1px solid #d6e2e5;border-radius:7px;background:#fff;color:#41606d;font-size:9px}.portal-package{display:grid;gap:7px;padding:11px 0;border-bottom:1px solid #e3eaec}.portal-package strong{font-size:11px}.portal-package span{color:#71858e;font-size:9px}.portal-package>div{height:6px;border-radius:999px;background:#e5edef;overflow:hidden}.portal-package i{display:block;height:100%;background:#0b8078}.portal-consents{display:grid;gap:8px}.portal-consents label{display:flex;align-items:center;justify-content:space-between;padding:10px;border:1px solid #e0e8ea;border-radius:9px}.portal-consents input{width:18px;height:18px;margin:0}.portal-shell footer{margin-top:20px;color:#71858e;text-align:center;font-size:9px}
[data-theme="dark"] .global-search,[data-theme="dark"] .operations-tabs{background:#173239;border-color:#29494f}[data-theme="dark"] .global-search-results,[data-theme="dark"] .operation-row,[data-theme="dark"] .integration-card,[data-theme="dark"] .calendar-list-row,[data-theme="dark"] .month-day{background:#173239;border-color:#29494f;color:#e8f3f1}
@media(max-width:1100px){.global-search{width:min(330px,30vw)}.calendar-pickers{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:900px){.global-search{display:none}.operations-tabs{margin-inline:0}.operation-row{grid-template-columns:42px 1fr}.operation-row>div:last-child{grid-column:1/-1;justify-content:flex-start;padding-left:55px}.portal-grid{grid-template-columns:1fr}.portal-wide{grid-column:auto}}
@media(max-width:600px){.calendar-view-switch{order:2;width:100%}.calendar-view-switch button{flex:1}.operation-row>div:last-child{padding-left:0}.integration-card{grid-template-columns:42px 1fr}.integration-card>button{grid-column:1/-1}.portal-appointment{align-items:flex-start;flex-direction:column}.portal-appointment>div:last-child{display:flex;flex-wrap:wrap}.portal-hero{padding:22px}.portal-hero h1{font-size:24px}}
.sms-automation-summary{grid-column:1/-1;padding:14px 16px;border:1px solid #cfe3e0;border-radius:11px;background:linear-gradient(135deg,#f2faf8,#eef6fb);display:grid;gap:5px}.sms-automation-summary strong{font-size:12px;color:#17464d}.sms-automation-summary span{font-size:10px;line-height:1.5;color:#5d777c}.sms-automation-summary.is-active{border-color:#8fcfc3;background:linear-gradient(135deg,#e4f7f1,#edf9f7)}.sms-automation-summary.is-active strong{color:#08766f}[data-theme="dark"] .sms-automation-summary{border-color:#31585c;background:linear-gradient(135deg,#17383d,#18333b)}[data-theme="dark"] .sms-automation-summary strong{color:#d9efec}[data-theme="dark"] .sms-automation-summary span{color:#9fb8ba}
.booking-shell-wide{width:min(100%,880px)}.booking-card-wide{padding:clamp(24px,4vw,42px)}.booking-step{margin-top:22px;padding-top:22px;border-top:1px solid #e0e9e8}.booking-step-head{margin-bottom:16px;display:flex;align-items:center;gap:11px}.booking-step-head>span{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#0f3d46,#0b8078);color:#fff;font-size:12px;font-weight:850}.booking-step-head>div{display:grid;gap:3px}.booking-step-head strong{font-size:14px}.booking-step-head small{color:#6d8388;font-size:10px}.booking-loading{padding:18px;border:1px solid #dbe8e6;border-radius:12px;background:#f7fbfa;color:#607a7f;text-align:center;font-size:11px}.booking-days{display:grid;gap:8px}.booking-day{overflow:hidden;border:1px solid #dbe6e5;border-radius:13px;background:#fff;transition:border-color .2s,box-shadow .2s}.booking-day.is-open{border-color:#83c4ba;box-shadow:0 8px 25px #103e4a0d}.booking-day-toggle{width:100%;min-height:72px;padding:10px 14px;border:0;background:#fff;display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:13px;text-align:left;color:#18333f}.booking-day-toggle:not(:disabled):hover{background:#f5faf9}.booking-day-toggle:disabled{cursor:not-allowed;background:#f7f9f9;color:#87999d}.booking-day-toggle time{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:0 7px}.booking-day-toggle time>span{grid-column:1/-1;color:#0b8078;font-size:8px;font-weight:850;letter-spacing:.08em}.booking-day-toggle time>strong{font-size:24px;line-height:1}.booking-day-toggle time>small{padding-bottom:2px;color:#70858a;font-size:9px}.booking-day-toggle>div{display:grid;gap:5px}.booking-day-toggle>div strong{font-size:12px}.booking-day-toggle>div span{color:#6b8186;font-size:10px}.booking-day-toggle>i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#edf7f5;color:#0b8078;font-style:normal;font-size:16px;transition:transform .2s}.booking-day.is-open .booking-day-toggle>i{transform:rotate(180deg)}.booking-times{display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:13px;border-top:1px solid #e3ecea;background:#f7faf9}.booking-day.is-open .booking-times{display:grid;animation:booking-times-in .2s ease}.booking-times>p{grid-column:1/-1;margin:5px;color:#73878c;font-size:10px;text-align:center}.booking-time{min-height:50px;padding:7px;border:1px solid #cfe1de;border-radius:10px;background:#fff;color:#17464d;display:grid;place-items:center;gap:2px}.booking-time:hover{border-color:#0b8078;background:#edf9f6;transform:translateY(-1px)}.booking-time strong{font-size:12px}.booking-time small{color:#6d8589;font-size:8px}.booking-time.is-selected{border-color:#0b8078;background:linear-gradient(145deg,#0f3d46,#0b8078);color:#fff;box-shadow:0 7px 16px #0b80782e}.booking-time.is-selected small{color:#cbefea}.booking-time.is-unavailable{border-color:#e4e9e9;background:#edf0f0;color:#9aa7aa;text-decoration:line-through;cursor:not-allowed}.booking-time.is-unavailable small{color:#a15a62;text-decoration:none}.selected-slot-summary{margin-top:12px;padding:13px 15px;border:1px solid #86c9bd;border-radius:12px;background:#eaf8f4;display:flex;align-items:center;gap:11px;color:#0a7169}.selected-slot-summary>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#0b8078;color:#fff;font-weight:850}.selected-slot-summary>div{display:grid;gap:3px}.selected-slot-summary strong{font-size:12px}.selected-slot-summary small{font-size:9px}.booking-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.booking-email{grid-column:1/-1}.booking-email>small{color:#7b8d91;font-size:9px}.booking-submit{width:100%;min-height:52px;margin-top:16px}.booking-submit:disabled{background:#a8bbb9;box-shadow:none;cursor:not-allowed}@keyframes booking-times-in{from{opacity:0;transform:translateY(-5px)}}@media(max-width:650px){.booking-times{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-contact-grid{grid-template-columns:1fr}.booking-email{grid-column:auto}.booking-day-toggle{grid-template-columns:68px 1fr auto;padding-inline:11px}}@media(max-width:390px){.booking-times{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-step-head small{line-height:1.4}}
.patients-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.patient-card-modern{min-width:0;padding:0;overflow:hidden;border:1px solid #d5e2e3;border-radius:17px;background:linear-gradient(150deg,#fff,#f8fbfb);display:block;box-shadow:0 8px 28px #173b4d0b;transition:transform .2s,border-color .2s,box-shadow .2s}.patient-card-modern:hover,.patient-card-modern:focus{transform:translateY(-3px);border-color:#92c8c0;box-shadow:0 16px 38px #173b4d16}.patient-card-modern.has-request{border-color:#9bcac3}.patient-card-header{padding:17px 18px 13px;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px}.patient-card-modern .patient-avatar{width:50px;height:50px;border-radius:15px;background:linear-gradient(145deg,#0f3d46,#0b8078);color:#fff;box-shadow:0 7px 17px #0b807825}.patient-identity{min-width:0;display:grid;gap:3px}.patient-identity h3{overflow:hidden;margin:0;color:#18333f;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.patient-identity a{width:max-content;color:#315e67;font-size:11px;font-weight:750;text-decoration:none}.patient-identity span{overflow:hidden;color:#809397;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.patient-status-pill{align-self:start;padding:6px 8px;border-radius:999px;background:#edf3f4;color:#60777c;font-size:8px;font-weight:850;white-space:nowrap}.patient-status-pill.is-request{background:#fff0d3;color:#8d6309}.patient-card-stats{margin:0 18px 14px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e1e9ea;border-radius:11px;background:#f8fbfb}.patient-card-stats>div{padding:10px;display:grid;gap:3px;text-align:center;border-left:1px solid #e1e9ea}.patient-card-stats>div:first-child{border-left:0}.patient-card-stats strong{color:#23454e;font-size:11px}.patient-card-stats span{color:#7b8f93;font-size:8px}.patient-request-box{margin:0 18px 14px;padding:13px;border:1px solid #a9d4cd;border-radius:12px;background:linear-gradient(135deg,#ecf8f5,#f1f8fc);display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px}.patient-request-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#0b8078;color:#fff;font-size:18px}.patient-request-box>div:last-child{min-width:0;display:grid;gap:4px}.patient-request-box span{color:#0b8078;font-size:8px;font-weight:850;letter-spacing:.07em}.patient-request-box strong{color:#173f47;font-size:12px;text-transform:capitalize}.patient-request-box small{overflow:hidden;color:#6a8185;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.patient-card-footer{min-height:58px;padding:11px 18px;border-top:1px solid #e3eaeb;background:#fafcfc;display:flex;align-items:center;justify-content:space-between;gap:12px}.patient-card-footer>.patient-file-previews{flex:0 0 auto}.patient-card-modern .patient-card-actions{margin-left:auto;display:flex;align-items:center;gap:7px}.patient-detail-button{padding:9px 11px;border:1px solid #d2e0e1;border-radius:9px;background:#fff;color:#365f67;font-size:9px;font-weight:780}.patient-detail-button:hover{border-color:#8dbeb8;background:#f1f8f6}.patient-card-modern .patient-schedule-button{padding:10px 12px;background:linear-gradient(145deg,#2768ca,#347fe3)}[data-theme="dark"] .patient-card-modern{background:linear-gradient(150deg,#173239,#142d32);border-color:#315057}[data-theme="dark"] .patient-identity h3,[data-theme="dark"] .patient-card-stats strong{color:#edf7f5}[data-theme="dark"] .patient-card-stats,[data-theme="dark"] .patient-card-footer{background:#142e33;border-color:#29494f}[data-theme="dark"] .patient-card-stats>div{border-color:#29494f}[data-theme="dark"] .patient-request-box{border-color:#356d68;background:linear-gradient(135deg,#183f3d,#17383d)}[data-theme="dark"] .patient-request-box strong{color:#e5f5f2}[data-theme="dark"] .patient-detail-button{background:#1c3b41;border-color:#35545a;color:#d8e8e6}@media(max-width:1050px){.patients-grid{grid-template-columns:1fr}}@media(max-width:560px){.patient-card-header{grid-template-columns:46px minmax(0,1fr)}.patient-card-modern .patient-avatar{width:46px;height:46px}.patient-status-pill{grid-column:1/-1;width:max-content}.patient-card-footer{align-items:flex-start;flex-direction:column}.patient-card-modern .patient-card-actions{width:100%;margin:0}.patient-card-modern .patient-card-actions button{flex:1}.patient-card-stats{margin-inline:13px}.patient-request-box{margin-inline:13px}}
.booking-map-link{width:max-content;margin-top:13px;padding:9px 12px;border:1px solid #b7d9d3;border-radius:10px;background:#edf8f5;color:#08766f!important;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:820;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.booking-map-link:hover{transform:translateY(-1px);border-color:#66b2a6;box-shadow:0 7px 18px #0b807817}.booking-map-link span{font-size:15px}
.integration-logo img{width:22px;height:22px;display:block;filter:brightness(0) invert(1)}.integration-type-maps .integration-logo{background:linear-gradient(145deg,#159957,#0b7f47)}.integration-type-sms .integration-logo{background:linear-gradient(145deg,#3178d5,#225cac)}.integration-type-whatsapp .integration-logo{background:linear-gradient(145deg,#2bc86f,#15944d)}.integration-type-email_smtp .integration-logo{background:linear-gradient(145deg,#e25d52,#bd3f37)}.integration-type-google_calendar .integration-logo{background:linear-gradient(145deg,#4285f4,#2469d7)}.integration-type-outlook .integration-logo{background:linear-gradient(145deg,#1473e6,#075bb8)}
.privacy-form{display:grid;gap:13px}.privacy-form textarea{min-height:330px;resize:vertical;line-height:1.65}.privacy-editor-note{padding:13px 15px;border:1px solid #ead59b;border-radius:11px;background:#fff8e6;display:grid;gap:4px}.privacy-editor-note strong{color:#84600b;font-size:11px}.privacy-editor-note span{color:#715f35;font-size:9px;line-height:1.5}.privacy-actions{display:flex;justify-content:flex-end}.privacy-actions button{min-width:180px}.booking-consent-group{display:grid;gap:9px;margin-top:5px}.booking-consent-row{margin:0!important;padding:12px 13px;border:1px solid #d9e6e4;border-radius:11px;background:#f8fbfa;display:flex!important;align-items:flex-start;gap:10px;font-size:10px!important;line-height:1.55}.booking-consent-row input{width:18px!important;height:18px!important;flex:0 0 auto;margin:1px 0 0!important}.booking-consent-row button{padding:0;border:0;background:transparent;color:#08766f;font:inherit;font-weight:850;text-decoration:underline;cursor:pointer}.privacy-public-backdrop{position:fixed;z-index:2500;inset:0;padding:20px;background:#0b2933a8;display:grid;place-items:center;backdrop-filter:blur(7px)}.privacy-public-modal{width:min(760px,100%);max-height:min(86vh,850px);overflow:hidden;border-radius:19px;background:#fff;box-shadow:0 30px 90px #071f2866;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.privacy-public-modal>header{padding:20px 22px;border-bottom:1px solid #e1e9e8;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.privacy-public-modal>header>div{display:grid;gap:4px}.privacy-public-modal>header span{color:#0b8078;font-size:8px;font-weight:850;letter-spacing:.09em}.privacy-public-modal h2{margin:0;color:#19343e;font-size:20px}.privacy-public-modal>header small{color:#74898e;font-size:9px}.privacy-public-modal>header button{width:36px;height:36px;border:1px solid #d7e3e2;border-radius:10px;background:#fff;color:#49656c;font-size:20px}.privacy-public-content{overflow-y:auto;padding:24px;color:#334f57;font-size:12px;line-height:1.75;white-space:normal}.privacy-public-modal>footer{padding:14px 22px;border-top:1px solid #e1e9e8;display:flex;justify-content:flex-end}.privacy-public-modal>footer button{width:auto;min-width:170px}[data-theme="dark"] .privacy-editor-note{border-color:#725f31;background:#3b3522}[data-theme="dark"] .privacy-editor-note strong{color:#f0d486}[data-theme="dark"] .privacy-editor-note span{color:#d5c79f}@media(max-width:560px){.privacy-public-backdrop{padding:10px}.privacy-public-modal{max-height:92vh;border-radius:15px}.privacy-public-modal>header,.privacy-public-content,.privacy-public-modal>footer{padding:16px}.privacy-public-modal>footer button{width:100%}.privacy-actions button{width:100%}}
