/* Authenticated clinic workspace: uses the main Noya dashboard's shared tokens. */
body.noya-clinics{margin:0;background:var(--noya-bg,#f4f9fd)!important;color:var(--noya-ink,#092b51)!important;font-family:Cairo,'IBM Plex Sans Arabic',system-ui,sans-serif!important}
body.noya-clinics [hidden],body.noya-clinics .permission-denied{display:none!important}
body.noya-clinics .clinic-topbar{height:88px;min-height:88px;background:linear-gradient(110deg,#073c74,#0879d9)!important;border:0!important;box-shadow:none!important;padding:16px 28px;position:sticky;top:0;z-index:80}
body.noya-clinics .clinic-brand,body.noya-clinics .clinic-brand b,body.noya-clinics .clinic-page-title h1{color:white!important}
body.noya-clinics .clinic-logo{width:46px;height:46px;object-fit:contain;background:white;border:0!important;border-radius:14px;box-shadow:none}
body.noya-clinics .clinic-page-title>small{color:#d3eaff}.clinic-topbar-divider{background:#ffffff38}
body.noya-clinics .clinic-role-label{background:#ffffff12;color:#fff;border-color:#ffffff30;font-size:12px}
body.noya-clinics .clinic-topbar a#back,body.noya-clinics .clinic-logout{background:#ffffff!important;color:#07477e!important;border:0;box-shadow:none;min-height:42px;display:inline-flex;align-items:center;gap:6px}
body.noya-clinics .clinic-workspace{min-height:calc(100vh - 88px)}
body.noya-clinics .clinic-sidebar{flex:0 0 250px;width:250px;min-height:calc(100vh - 88px);border-inline-end:1px solid var(--noya-stroke,#e0eaf5);border-left:1px solid var(--noya-stroke,#e0eaf5)}
body.noya-clinics .clinic-sidebar-inner{top:88px;max-height:calc(100vh - 88px);padding:20px 14px}
.clinic-sidebar-brand{display:none}.clinic-account-card{margin:0 2px 22px;padding:18px;border-radius:18px}.clinic-account-card strong{line-height:1.7}.clinic-nav{gap:6px}.clinic-nav-divider{width:100%;margin:8px 0;border-color:#e6eef7}.clinic-nav-caption{margin:0 12px 12px;color:#8095aa}
body.noya-clinics .clinic-nav-link{padding:12px 14px;border-radius:13px;min-height:46px;color:#5b7187;font-size:12px;line-height:1.6;gap:12px}
body.noya-clinics .clinic-nav-link.active{background:#e9f4ff!important;color:#075cab!important}.clinic-nav-link.active:before{display:none}.clinic-nav-link svg{width:19px;height:19px;flex:none}
body.noya-clinics main#clinicMain{padding:30px 34px;max-width:100%;min-width:0}.clinic-content-inner{max-width:1400px;margin:0 auto}.clinic-content-heading{margin:0 0 24px;align-items:center}.clinic-content-heading h2{font-size:27px;margin:4px 0;font-weight:900;line-height:1.6}.clinic-content-heading p{font-size:13px;max-width:680px;color:#7a8fa6}.clinic-content-heading small{color:#168dff;font-size:11px}
body.noya-clinics .card{background:#fff;border:1px solid var(--noya-stroke,#e0eaf5)!important;border-radius:24px!important;padding:24px;margin-bottom:22px;box-shadow:0 4px 20px #073c7403!important}
body.noya-clinics .card h2{font-size:17px;margin:0 0 18px;color:#07477e;line-height:1.7}.card h2:before{display:none}.card h3{font-size:14px;font-weight:900;margin:22px 0 12px;color:#07477e}
.workspace-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid #dceafb;border-radius:14px;background:#edf6ff;color:#38678e;font-size:12px;margin-bottom:18px;position:static;inset:auto;z-index:auto;max-width:100%;box-shadow:none}
.workspace-status.has-error{background:#fff2f2;border-color:#ffd4d4;color:#a73232}#noyaClinicBoot.is-ready{display:none!important}
.clinic-context-bar{display:flex;align-items:center;gap:20px;padding:18px 22px;background:#fff;border:1px solid #e0eaf5;border-radius:20px;margin:0 0 22px}.clinic-context-bar label{min-width:240px;max-width:380px;flex:1}.clinic-context-bar select{background:#f8fbff}.clinic-context-bar p{flex:1;margin-top:26px}
.directory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.directory-heading p{margin:0 0 20px}.pill{background:#eff6fe;color:#376b98;border:1px solid #dfebf8;border-radius:10px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:5px;max-width:100%}
body.noya-clinics .clinic-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
body.noya-clinics .clinic-choice-grid>button{display:flex;align-items:flex-start;flex-direction:column;gap:10px;min-height:216px;padding:22px!important;text-align:right;background:#fff!important;color:#07477e!important;border:1px solid #dfeaf6!important;border-radius:20px;box-shadow:none;transition:border-color .16s,background .16s}
body.noya-clinics .clinic-choice-grid>button:hover{background:#f6fbff!important;border-color:#9bc9f4!important}
body.noya-clinics .clinic-choice-grid>button[aria-pressed=true]{border-color:#60a9eb!important;background:#f7fbff!important;box-shadow:inset 0 0 0 1px #b5d7f6}
.clinic-choice-grid strong{font-size:17px}.clinic-card-symbol{display:grid;place-items:center;width:44px;height:44px;background:#eaf5ff;color:#1489ed;border-radius:13px}.clinic-card-symbol .icon{width:23px;height:23px}.clinic-card-link{font-size:11px;color:#1484dd;margin-top:auto;padding-top:8px}.clinic-choice-grid .muted{color:#7c91a5!important}
body.noya-clinics label{color:#5e748c;font-size:12px;line-height:1.8}.grid{gap:18px}.row{gap:10px}body.noya-clinics :is(input,select,textarea){min-height:44px;border:1px solid #dce6f2;border-radius:12px;background:#fff;padding:10px 12px;color:#234967;box-shadow:none;font-family:inherit;max-width:100%}body.noya-clinics input[type=checkbox],body.noya-clinics input[type=radio]{min-height:0;accent-color:#168dff;margin:0 0 0 7px;width:16px;height:16px;vertical-align:middle}
body.noya-clinics :is(input,select,textarea):focus{border-color:#65adf0;outline:0;box-shadow:0 0 0 3px #e4f3ff}body.noya-clinics button:not(.clinic-logout){background:#0879d9!important;color:white!important;border:1px solid transparent;border-radius:12px;min-height:42px;padding:10px 17px;font-size:12px;font-weight:800;box-shadow:none}
body.noya-clinics button.secondary{background:#f3f8fe!important;color:#17578b!important;border:1px solid #dce8f6!important}body.noya-clinics button:disabled{opacity:.5;cursor:not-allowed}.console-toolbar{gap:10px;align-items:end;margin:0 0 20px;padding:18px;background:#fff;border:1px solid #e0eaf5;border-radius:20px}.console-toolbar label{min-width:130px}.console-toolbar input{margin-top:5px}.console-toolbar button{margin:0}.console-toolbar input[type=file]{max-width:210px;padding:6px;background:#f8fbff}.card .console-toolbar{border:0;padding:0}
body.noya-clinics .table{overflow:auto;border:1px solid #e5edf7;border-radius:15px;margin-top:18px}.table table{width:100%;border-collapse:collapse;white-space:nowrap}.table th{background:#f4f8fe;color:#657f99;font-size:11px;font-weight:900;padding:13px 15px;text-align:right;border:0;border-bottom:1px solid #e3ecf6}.table td{padding:14px 15px;font-size:12px;border-bottom:1px solid #edf2f8;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table td button{font-size:11px;margin:3px}.table tbody tr:hover{background:#fbfdff}.table select{min-width:145px}
body.noya-clinics details{border:1px solid #e3edf7;border-radius:16px;padding:16px;margin-top:16px;background:white}body.noya-clinics summary{font-weight:900;color:#17578b;cursor:pointer;font-size:13px;padding:2px 0}details[open]>summary{margin-bottom:18px}details+details{margin-top:18px}.clinic-workday-options{display:flex;flex-wrap:wrap;gap:10px}.clinic-workday-options label{border:1px solid #e1eaf6;border-radius:10px;padding:8px 12px;background:#f9fcff}
body.noya-clinics #clinicBookingStatusCards .clinic-booking-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}
body.noya-clinics #clinicBookingStatusCards .clinic-status-box{min-height:100px;border-radius:16px;padding:16px;background:#f7fbff!important;display:flex;flex-direction:column;gap:10px;text-align:right;justify-content:space-between}.clinic-status-box span{font-size:11px}.clinic-status-box strong{font-size:24px}
#clinicWeekDays{grid-template-columns:repeat(7,minmax(115px,1fr))!important;gap:10px!important}body.noya-clinics button.clinic-day{background:#fff!important;color:#275474!important;border:1px solid #dfebf7!important;border-radius:15px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:15px!important;text-align:right;min-height:130px}body.noya-clinics button.clinic-day[aria-pressed=true]{background:#eaf5ff!important;border-color:#68b3f5!important}.clinic-day span,.clinic-day small{font-size:10px;color:#7b92aa}.clinic-day b{font-size:14px}
#activityCustomerAccounts>div.row{margin-bottom:8px}#activityPasswordRequests>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px;border-bottom:1px solid #eef3f9}.clinic-subscription-dialog{border-radius:24px!important;padding:0!important;max-width:90vw}dialog{border:1px solid #dce8f6;border-radius:22px;max-width:min(760px,94vw);max-height:90vh;overflow:auto;padding:24px;background:#fff;color:#194b72}dialog::backdrop{background:#102c4d55;backdrop-filter:blur(3px)}
#noyaCenterFeedback{position:fixed;left:50%;top:108px;transform:translateX(-50%);z-index:120;max-width:calc(100vw - 32px);padding:14px 22px;border-radius:14px;background:#fff;color:#17578b;box-shadow:0 8px 35px #183e7020;border:1px solid #dfeaf6;font-weight:800;font-size:13px}.feedback-error{border-color:#ffc6c6!important;color:#ae3737!important}
@media(min-width:1500px){body.noya-clinics main#clinicMain{padding:36px 48px}.clinic-content-heading{margin-bottom:30px}}
@media(max-width:1100px){body.noya-clinics .clinic-sidebar{flex-basis:220px;width:220px}body.noya-clinics main#clinicMain{padding:24px 20px}.clinic-role-label{display:none}.clinic-nav-link{font-size:11px}}
@media(max-width:800px){body.noya-clinics .clinic-topbar{height:74px;min-height:74px;padding:12px 16px;gap:10px}.clinic-mobile-menu{display:flex!important;background:#ffffff14!important;border:1px solid #ffffff40;color:#fff!important;flex:none}.clinic-topbar-leading{gap:10px}.clinic-topbar-divider,.clinic-brand b,.clinic-role-label,.back-text{display:none}.clinic-page-title h1{font-size:13px!important;max-width:48vw}.clinic-page-title>small{font-size:8px}.clinic-logo{width:36px!important;height:36px!important}.clinic-topbar-actions{gap:7px}.clinic-topbar a#back{padding:8px!important}.clinic-logout{font-size:0!important;padding:9px!important}.clinic-logout .icon{width:18px;height:18px;margin:0}.clinic-sidebar{position:fixed!important;top:74px!important;right:0;bottom:0;width:250px!important;transform:translateX(105%);transition:transform .18s ease;z-index:92;min-height:0!important}.clinic-sidebar-inner{position:static!important;max-height:100%;padding:18px!important}#clinicMenuToggle:checked~.clinic-workspace .clinic-sidebar{transform:translateX(0)}#clinicMenuToggle:checked~.clinic-workspace .clinic-drawer-backdrop{display:block;position:fixed;inset:74px 0 0;background:#15345455;z-index:91}body.noya-clinics main#clinicMain{padding:22px 14px;width:100%}.clinic-content-heading{gap:12px;align-items:flex-start}.clinic-content-heading h2{font-size:21px}.clinic-content-heading p{font-size:11px}.clinic-content-heading button{font-size:10px!important;padding:8px 11px!important;white-space:nowrap}.clinic-context-bar{padding:14px;flex-wrap:wrap;gap:4px}.clinic-context-bar label{min-width:100%;max-width:none}.clinic-context-bar p{margin:6px 0 0;font-size:11px}.card{padding:18px!important;border-radius:20px!important}.directory-heading{gap:10px;flex-wrap:wrap}.directory-heading p{margin-bottom:12px}.directory-heading .pill{margin-bottom:12px}.clinic-choice-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}.console-toolbar{padding:13px;gap:8px}.console-toolbar button{padding:9px 12px!important;font-size:10px!important}.console-toolbar label{min-width:110px}.clinic-booking-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.table td,.table th{padding:11px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.noya-clinics *{transition:none!important;animation:none!important}}
/* Connected authenticated pages reuse the same type, surfaces and controls. */
body.noya-secondary-portal>header{background:linear-gradient(110deg,#073c74,#0879d9)!important;color:#fff!important;border:0;padding:24px max(18px,calc((100vw - 1240px)/2));font-family:inherit;gap:14px;flex-wrap:wrap}
body.noya-secondary-portal>header h1{color:#fff!important;font-size:23px;font-weight:900;line-height:1.8;margin:0}
body.noya-secondary-portal>header p{color:#d6eaff;font-size:12px;margin:5px 0 0}
body.noya-secondary-portal>header a{color:#fff!important;font-size:12px}
body.noya-secondary-portal>main{max-width:1280px;margin:24px auto;padding:0 22px 32px}
body.noya-secondary-portal .panel{background:#fff;border:1px solid #e0eaf5;border-radius:24px;padding:24px;margin-bottom:22px;box-shadow:none}
body.noya-secondary-portal :is(h2,h3){color:#07477e;font-weight:900}
body.noya-secondary-portal :is(input,select,textarea,button){font-family:inherit}
body.noya-secondary-portal table{width:100%;border-collapse:collapse;font-size:12px}
body.noya-secondary-portal th{background:#f3f8fe;color:#607c96;font-size:11px;font-weight:900}
body.noya-secondary-portal :is(th,td){padding:12px 14px;text-align:right;border-bottom:1px solid #e7eff8}
@media(max-width:800px){body.noya-secondary-portal>header{padding:20px 18px}body.noya-secondary-portal>header h1{font-size:20px}body.noya-secondary-portal>main{padding:0 14px 24px;margin:18px auto}body.noya-secondary-portal .panel{padding:18px;border-radius:20px}}

body.noya-clinics[data-workspace-ready="false"] .clinic-nav-link[data-page-link]{visibility:hidden}

/* Tenant-colored statements and real loading state. */
:root{--clinic-report-color:#1686df}
.clinic-logo-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:rgba(249,252,255,.94)}
.clinic-logo-loader>div{text-align:center;color:#24425d;font-weight:700}.clinic-logo-loader img{width:78px;height:78px;object-fit:contain;display:block;margin:0 auto 18px}.clinic-loading-ring{display:inline-block;width:26px;height:26px;border:3px solid #dce7ef;border-top-color:var(--clinic-report-color);border-radius:50%;animation:clinic-loader-spin .7s linear infinite}@keyframes clinic-loader-spin{to{transform:rotate(360deg)}}
.clinic-package-links{display:grid;gap:8px;margin-bottom:16px}.clinic-package-links a,.clinic-package-links button{border-radius:10px;padding:10px;text-align:right;font:inherit;font-size:12px;text-decoration:none;border:1px solid #dbe5ef;background:#fff;color:#16436a;cursor:pointer}
.clinic-statement-scroll{overflow:auto;border:1px solid #dce5ee;border-radius:14px;margin:16px 0;background:white}
.clinic-statement-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;font-size:12px;font-variant-numeric:tabular-nums}
body.noya-clinics .clinic-statement-table th,.clinic-statement-table th{background:var(--clinic-report-color)!important;color:white!important;padding:15px 14px;white-space:nowrap;text-align:right;border:0;font-weight:800}
body.noya-clinics .clinic-statement-table td,.clinic-statement-table td{padding:14px;border:0;border-bottom:1px solid #e8edf3;text-align:right;line-height:1.8;white-space:normal;max-width:260px}
.clinic-statement-table tbody tr:nth-child(even){background:#f7f9fc}.clinic-statement-table tbody tr:hover{background:color-mix(in srgb,var(--clinic-report-color) 8%,white)}
.clinic-statement-empty{text-align:center!important;padding:35px!important;color:#62748a}
body.noya-clinics #reportSummary{border-inline-start:4px solid var(--clinic-report-color);padding:14px 18px;background:color-mix(in srgb,var(--clinic-report-color) 7%,white);border-radius:10px;font-weight:800}
@media(prefers-reduced-motion:reduce){.clinic-loading-ring{animation:none}}

/* Branded statements share the saved business color and logo on screen and paper. */
.statement-sheet{background:#fff;border:1px solid #dfe7ee;border-radius:18px;overflow:hidden;padding:24px;color:#20344d;font-family:Cairo,Tahoma,Arial,sans-serif}
.statement-header{display:flex;justify-content:space-between;gap:24px;padding:8px 0 22px;border-bottom:3px solid var(--clinic-report-color);align-items:center}
.statement-brand{display:flex;align-items:center;gap:16px}.statement-brand img{width:80px;height:80px;object-fit:contain}.statement-brand h2{font-size:23px!important;margin:6px 0!important;color:var(--clinic-report-color)!important}.statement-brand h2:before{display:none!important}.statement-brand small,.statement-document small{color:#728296;font-size:11px}.statement-brand p,.statement-document p{margin:6px 0;font-size:12px}.statement-document{text-align:left;flex-shrink:0}.statement-document h3{font-size:20px;margin:0 0 10px;color:var(--clinic-report-color)}
.statement-summary{margin:20px 0!important;border:1px solid #e3e9f0!important;border-inline-start:4px solid var(--clinic-report-color)!important;padding:16px!important;border-radius:10px;font-weight:700;background:#f6f8fb!important;line-height:1.9}.statement-footer{display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid #e2e8f0;margin-top:20px;color:#718096;font-size:10px}.statement-brand-link{display:inline-block;margin-bottom:18px;font-size:12px}.statement-section-title{font-size:14px;color:var(--clinic-report-color);margin-top:24px}.statement-sheet .clinic-statement-table td{white-space:pre-line!important;font-size:12px;vertical-align:top}.statement-sheet .clinic-statement-table th{font-size:11px}.statement-sheet .clinic-statement-table tr:last-child td{border-bottom:0}.statement-sheet .clinic-statement-scroll{box-shadow:none}
.clinic-statement-print{background:#eef2f6;margin:0;padding:28px;font-family:Tahoma,Arial,sans-serif}.clinic-statement-print [hidden]{display:none!important}.clinic-statement-print .statement-sheet{max-width:1300px;margin:auto}.clinic-statement-print .clinic-statement-table td{font-size:12px}.clinic-statement-print .clinic-statement-table th{font-size:11px}.clinic-statement-print .statement-brand h2{display:block}
@media(max-width:700px){.statement-header{flex-direction:column;align-items:stretch}.statement-document{text-align:right}.statement-sheet{padding:16px}.statement-footer{flex-direction:column;gap:8px}}
@media print{@page{size:A4 landscape;margin:12mm}.clinic-statement-print{background:#fff;padding:0}.clinic-statement-print .statement-sheet{padding:0;border:0;border-radius:0;max-width:none}.statement-header{break-inside:avoid}.statement-brand img{width:64px;height:64px}.statement-sheet .clinic-statement-scroll{overflow:visible;border-radius:0}.statement-sheet .clinic-statement-table{min-width:0!important;table-layout:auto;width:100%}.statement-sheet .clinic-statement-table td,.statement-sheet .clinic-statement-table th{padding:9px 7px!important;font-size:10px!important;max-width:210px;overflow-wrap:anywhere}.statement-sheet .clinic-statement-table th{print-color-adjust:exact;-webkit-print-color-adjust:exact;background:var(--clinic-report-color)!important;color:#fff!important}.statement-summary{print-color-adjust:exact;-webkit-print-color-adjust:exact}.clinic-statement-table thead{display:table-header-group}.clinic-statement-table tr{break-inside:avoid}.statement-footer{break-inside:avoid}.statement-brand h2{font-size:20px!important}}

/* Keep empty status banners out of the layout when hidden. */
#workspacePageStatus[hidden],#noyaClinicBoot[hidden]{display:none!important;}


/* Display-only: remove empty white placeholder strips in clinic bookings. */
body.noya-clinics #clinicPageBody > .card:empty,
body.noya-clinics #clinicPageBody > section.card:empty,
body.noya-clinics #clinicPageBody > .workspace-status:empty,
body.noya-clinics #clinicPageBody > [hidden],
body.noya-clinics #workspacePageStatus:empty,
body.noya-clinics #message:empty,
body.noya-clinics #noyaCenterFeedback:empty { display: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; min-height: 0 !important; }

/* 2026-11-02: The console toolbar buttons are already in the page heading.
   When the bookings page router unhides the empty toolbar, it used to create
   the blank strip between the clinic picker and the status cards. */
body.noya-clinics #consoleToolbar {display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;}
