/* Scoped staff pages: no changes to customer authentication tabs. */
.cnb-app.cnb-staff-entry{max-width:1160px;margin:40px auto}
.cnb-staff-entry .cnb-shell{display:block;min-height:0;background:transparent;border:0;border-radius:28px;box-shadow:0 22px 80px #123c6314}
.cnb-staff-entry .cnb-sidebar,.cnb-staff-entry .cnb-top{display:none}
.cnb-staff-entry .cnb-content{padding:0}
.cnb-app .cnb-staff-login-layout{display:grid;grid-template-columns:1fr 1.08fr;min-height:690px;background:#fff;border-radius:28px;overflow:hidden;border:1px solid #d9e1e6}
.cnb-app .cnb-staff-welcome{background:radial-gradient(ellipse at 0% 90%,#0067a8 0%,transparent 58%),#123c63;padding:48px 42px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#e3ecf2}
.cnb-app .cnb-staff-wordmark{display:grid;direction:ltr;text-align:right;gap:0;margin-bottom:54px}
.cnb-app .cnb-staff-wordmark>span{font:32px Georgia,serif;letter-spacing:8px;color:#fff}
.cnb-app .cnb-staff-wordmark>small{font:8px Arial,sans-serif;letter-spacing:1.6px;color:#b7c7d2;margin-top:8px}
.cnb-app .cnb-staff-kicker{display:block;color:#55758a;font-size:12px;font-weight:600;margin-bottom:12px}
.cnb-app .cnb-staff-welcome .cnb-staff-kicker{color:#a8d8ef}
.cnb-app .cnb-staff-welcome h2{font-size:35px;color:white;line-height:1.8;margin-bottom:18px}
.cnb-app .cnb-staff-welcome p{color:#c7dced;font-size:13px;line-height:2.2}
.cnb-app .cnb-staff-welcome-foot{font-size:10px;color:#b6c6d1;margin-top:auto;padding-top:24px}
.cnb-app .cnb-staff-art{height:210px;position:relative;display:grid;place-items:center;margin-top:16px}
.cnb-app .cnb-staff-orbit{position:absolute;width:300px;height:190px;border:1px solid #8db4d43d;border-radius:50%;transform:rotate(-22deg)}
.cnb-app .cnb-staff-orbit:after{content:'';position:absolute;inset:20px -15px;border:1px solid #8db4d43d;border-radius:50%;transform:rotate(48deg)}
.cnb-app .cnb-staff-calendar{height:151px;width:178px;background:#eef5fb;transform:rotate(8deg);border-radius:16px;box-shadow:12px 22px 0 #09263a55;position:relative;padding:41px 18px 15px}
.cnb-app .cnb-staff-calendar:before{content:'';position:absolute;inset:0 0 auto;height:32px;background:#4c9bd1;border-radius:16px 16px 0 0}
.cnb-app .cnb-staff-calendar>i{position:absolute;top:-8px;right:38px;background:#e1e7eb;width:7px;height:25px;border-radius:4px;z-index:1}
.cnb-app .cnb-staff-calendar>i+i{right:auto;left:38px}
.cnb-app .cnb-staff-calendar>div{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cnb-app .cnb-staff-calendar span{height:18px;background:#c8dceb;border-radius:3px}
.cnb-app .cnb-staff-calendar span:nth-child(10){background:#176ea8}
.cnb-app .cnb-staff-calendar>b{position:absolute;bottom:-17px;left:-24px;background:var(--cnb-gold);color:#123c63;border:5px solid #0067a8;width:55px;height:55px;display:grid;place-items:center;border-radius:50%;font:26px Arial}
.cnb-app .cnb-staff-login-card{padding:44px 58px 26px;display:flex;flex-direction:column;justify-content:center}
.cnb-app .cnb-staff-brand{display:block;margin-bottom:35px;align-self:flex-start}
.cnb-app .cnb-staff-brand img{width:136px;height:auto;max-height:84px;object-fit:contain;display:block}
.cnb-app .cnb-staff-login-card h1{font-size:29px;line-height:1.6;margin:0 0 9px;color:#173c63}
.cnb-app .cnb-staff-intro{font-size:13px;color:#697882;margin-bottom:28px}
.cnb-app .cnb-staff-login-form{display:grid;gap:19px}
.cnb-app .cnb-staff-login-form input:not([type=checkbox]){background:#f8fafb;border:1px solid #cbd5dc;border-radius:11px;min-height:49px;padding:12px 15px;width:100%;color:#173c63;box-shadow:none}
.cnb-app .cnb-staff-login-form .cnb-field>span{color:#263d4e;font-size:12px}
.cnb-app .cnb-staff-password{position:relative}
.cnb-app .cnb-staff-password input{padding-left:78px!important}
.cnb-app .cnb-staff-password>button{position:absolute;left:7px;bottom:7px;font-size:11px;color:#40688e!important}
.cnb-app .cnb-staff-login-options{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;margin:1px 0 5px}
.cnb-app .cnb-staff-login-options .cnb-check{font-size:11px}
.cnb-app .cnb-staff-submit{background:#0067a8;border-color:#0067a8;min-height:50px;width:100%;justify-content:space-between;padding:12px 20px;border-radius:11px;color:#fff!important}
.cnb-app .cnb-staff-submit:hover{background:#004f83;border-color:#004f83}
.cnb-app .cnb-staff-help{font-size:11px;line-height:2.1;color:#748585;padding-top:23px;margin-bottom:22px}
.cnb-app .cnb-staff-back{font-size:11px;color:#6c7a84;margin-top:auto}
.cnb-app .cnb-staff-login-error{padding:10px 14px;background:#fff1ed;color:#9b3a25;font-size:12px;border-radius:8px;margin:0}
.cnb-app .cnb-staff-status>.cnb-btn{margin:12px 0 24px 8px}
.cnb-app .cnb-patient-heading{border-top:1px solid #d8dfe4;padding-top:26px;margin-top:20px}
.cnb-app .cnb-patient-heading>span{font-size:11px;color:#52708b}.cnb-app .cnb-patient-heading h3{margin:5px 0}.cnb-app .cnb-patient-heading p{font-size:12px;color:#61798f}
.cnb-app .cnb-reception-patient{margin:12px 0 30px}.cnb-app .cnb-reception-filter{border-top:3px solid #5b8fc0}
.cnb-app .cnb-booking-badges{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.cnb-app .cnb-badge.test{background:#faf0dc;color:#795c1e}.cnb-app .cnb-badge.unpaid{background:#edf0fb;color:#3d5584}
.cnb-app .cnb-patient-details dd{white-space:pre-wrap;overflow-wrap:anywhere}
.cnb-app .cnb-reception-patient .cnb-city-accordion{max-height:300px;overflow:auto}
@media(max-width:760px){.cnb-app.cnb-staff-entry{margin:12px auto}.cnb-app .cnb-staff-login-layout{grid-template-columns:1fr;min-height:0}.cnb-app .cnb-staff-welcome{display:none}.cnb-app .cnb-staff-login-card{padding:30px 24px;min-height:630px}.cnb-app .cnb-staff-brand{margin-bottom:32px}.cnb-app .cnb-staff-login-card h1{font-size:27px}.cnb-app .cnb-booking-badges{justify-content:flex-start}.cnb-app .cnb-booking-top{flex-wrap:wrap}}

.cnb-app [data-admin-patient] .cnb-city-picker:before,.cnb-app [data-form=receptionpatient] .cnb-city-picker:before,.cnb-app [data-form=admission] .cnb-city-picker:before{content:none}
.cnb-app [data-admin-patient] .cnb-city-picker,.cnb-app [data-form=receptionpatient] .cnb-city-picker{align-self:start}
.cnb-app [data-admin-patient] .cnb-city-accordion,.cnb-app [data-form=receptionpatient] .cnb-city-accordion{top:calc(100% + 6px)}

.cnb-app .cnb-reception-form .cnb-wizard-actions{position:static;inset:auto;margin:24px 0 0}

.cnb-app a.cnb-phone-link{display:inline-block;text-decoration:underline!important;text-underline-offset:4px;color:var(--cnb-teal);padding:3px 5px}

/* 0.9.43 admission / care plan */
.cnb-care-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.cnb-care-cards article,.cnb-care-cards>div{padding:14px;border:1px solid var(--cnb-line,#c6d5e8);border-radius:14px;background:var(--cnb-card,#fff)}
.cnb-care-cards small{display:block;color:var(--cnb-muted,#52677e);margin-bottom:5px}.cnb-care-cards strong{font-size:1.05rem}
[data-day-grid] .cnb-table-wrap{margin-top:14px}.cnb-stats article span.cnb-muted{display:block;margin-top:5px;font-size:.78rem}

/* 0.9.49 — unified reception/admission form */
.cnb-app .cnb-admission-form{gap:16px 20px}
.cnb-app .cnb-admission-intro{margin:0 0 4px;padding:0 0 18px;border-bottom:1px solid var(--cnb-line)}
.cnb-app .cnb-admission-intro h3{margin:3px 0 6px;font-size:20px;color:var(--cnb-ink)}
.cnb-app .cnb-admission-intro p{margin:0;max-width:850px;color:var(--cnb-muted);font-size:12px;line-height:2}
.cnb-app .cnb-form-caption{font-weight:800;color:#0f5688;font-size:13px;padding:13px 0 2px;margin-top:4px;border-bottom:1px dashed #d8e0e6}
.cnb-app .cnb-admission-branch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:#f5f8fb;border:1px solid var(--cnb-line);border-radius:10px}
.cnb-app .cnb-admission-branch>span{font-size:12px;color:var(--cnb-muted)}
.cnb-app .cnb-admission-branch>strong{font-size:13px;color:var(--cnb-ink)}
.cnb-app .cnb-admission-branch>small{margin-right:auto;font-size:11px;color:var(--cnb-muted)}
.cnb-app .cnb-admission-form [data-referrer-field][hidden]{display:none!important}
/* Some WordPress themes style ordinary buttons as danger/error buttons. Keep Jalali date buttons neutral in staff forms. */
.cnb-app .cnb-admission-form button.cnb-date,
.cnb-app .cnb-dialog .cnb-admission-form button.cnb-date{background:var(--cnb-card,#fff)!important;border:1px solid var(--cnb-line,#c5d0d8)!important;color:var(--cnb-ink,#18384d)!important;box-shadow:none!important;outline:none!important}
.cnb-app .cnb-admission-form button.cnb-date:hover,
.cnb-app .cnb-admission-form button.cnb-date:focus-visible{border-color:var(--cnb-teal,#0067a8)!important;background:#f7fbfe!important}
@media(max-width:760px){.cnb-app .cnb-admission-form{grid-template-columns:1fr}.cnb-app .cnb-admission-branch>small{width:100%;margin-right:0}}

/* Capacity is independent from the list of reservations sharing a start time. */
.cnb-app .cnb-day-grid td{vertical-align:top;padding:14px;min-width:125px}
.cnb-app .cnb-day-grid td:first-child>small{display:block;margin-top:6px;color:var(--cnb-muted)}
.cnb-app .cnb-day-grid td:last-child>.cnb-btn{display:block;margin-top:10px}
.cnb-app .cnb-grid-booking+.cnb-grid-booking{margin-top:14px;padding-top:14px;border-top:1px solid var(--cnb-line)}
.cnb-app .cnb-grid-booking>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cnb-app .cnb-grid-booking .cnb-row{margin-top:8px;gap:6px}
.cnb-app .cnb-grid-booking .cnb-btn{font-size:11px;padding:6px 10px}
.cnb-app .cnb-slot-free{background:#e8f7ed;color:#217340;white-space:normal}

/* 0.9.73 — quick admission uses the same account and branch as the later full intake. */
.cnb-app .cnb-quick-admission{max-width:950px;margin-inline:auto}
.cnb-app .cnb-quick-patient-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border:1px solid var(--cnb-line);border-inline-start:4px solid var(--cnb-teal);border-radius:14px;background:var(--cnb-card);margin:0 0 22px}
.cnb-app .cnb-quick-patient-banner>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}
.cnb-app .cnb-quick-patient-banner strong{font-size:18px}.cnb-app .cnb-quick-patient-banner small{flex-basis:100%}
.cnb-app .cnb-admission-account-note{font-size:12px;line-height:1.9;margin:0;color:var(--cnb-muted)}
.cnb-app .cnb-grid-payment{display:block;padding:7px 0;font-size:12px;color:var(--cnb-muted)}
@media(max-width:650px){.cnb-app .cnb-quick-patient-banner{align-items:flex-start;flex-direction:column;padding:15px}.cnb-app .cnb-quick-patient-banner>.cnb-btn{width:100%}}

/* 0.9.74: credential preview is local to admission and never alters the other forms. */
.cnb-app .cnb-credential-preview{padding:16px;border:1px solid var(--cnb-line);border-radius:12px;background:var(--cnb-card);min-width:0}
.cnb-app .cnb-credential-preview p,.cnb-app .cnb-credential-preview small{font-size:12px;line-height:1.9}
.cnb-app .cnb-credential-preview [data-generated-password]{font-family:monospace!important;letter-spacing:1px;font-size:16px;text-align:left}
.cnb-app .cnb-credential-preview .cnb-row{align-items:end;margin-bottom:10px}
.cnb-app .cnb-credential-preview .cnb-field{flex:1;min-width:180px}
