/* TebTok brandbook: neutral surfaces, blue actions, restrained teal accents. */
.crp-admin [hidden],.crp-app [hidden],.crp-doctor-app [hidden],.crp-support [hidden] { display:none!important; }
body.crp-standalone-page,body.crp-doctor-standalone-page,body.crp-team-standalone-page,body.crp-support-page { background:var(--tebtok-bg); color:var(--tebtok-ink); }
/* Every portal derives its local aliases from the single token source in tebtok-core.css. */
.crp-admin,.crp-team-app,.crp-app,.crp-doctor-app,.crp-support,.crp-landing {
    color:var(--tebtok-ink); font-family:var(--tebtok-font); line-height:1.8;
    --crp-admin-ink:var(--tebtok-ink); --crp-admin-muted:var(--tebtok-muted); --crp-admin-primary:var(--tebtok-blue); --crp-admin-line:var(--tebtok-line); --crp-admin-soft:var(--tebtok-bg);
    --team-ink:var(--tebtok-ink); --team-muted:var(--tebtok-muted); --team-blue:var(--tebtok-blue); --team-blue-dark:var(--tebtok-blue-dark); --team-line:var(--tebtok-line); --team-soft:var(--tebtok-bg);
    --crp-primary:var(--tebtok-blue); --crp-primary-dark:var(--tebtok-blue-dark); --crp-ink:var(--tebtok-ink); --crp-muted:var(--tebtok-muted); --crp-line:var(--tebtok-line); --crp-bg:var(--tebtok-bg);
    --ink:var(--tebtok-ink); --muted:var(--tebtok-muted); --primary:var(--tebtok-blue); --primary-dark:var(--tebtok-blue-dark); --line:var(--tebtok-line); --soft:var(--tebtok-bg);
    --sup-brand:var(--tebtok-blue); --sup-ink:var(--tebtok-ink); --sup-muted:var(--tebtok-muted); --sup-line:var(--tebtok-line);
    --landing-ink:var(--tebtok-ink); --landing-muted:var(--tebtok-muted); --landing-teal:var(--tebtok-blue-dark); --landing-line:var(--tebtok-line); --landing-soft:var(--tebtok-bg);
}
.crp-admin { font-size:14px; }
.crp-admin input,.crp-admin select,.crp-admin textarea,.crp-admin button { font-family:inherit; }
.crp-home-link { display:inline-flex; align-items:center; text-decoration:none; color:inherit; max-width:100%; }
.crp-home-link img { max-width:100%; height:auto; }
.crp-team-login-card .crp-home-link { display:flex; justify-content:center; margin:0 auto 16px; }
.crp-team-login-card .crp-home-link img { width:150px; }
.crp-doctor-login-card .crp-home-link { display:flex; justify-content:center; }
.crp-team-login-shell,.crp-doctor-login-shell { background:var(--tebtok-bg); }
.crp-team-sidebar { background:#123e7c; box-shadow:none; }
.crp-team-logo img { background:transparent; padding:0; filter:brightness(0) invert(1); border-radius:0; }
.crp-team-logo span,.crp-team-sidebar nav a { color:#fff; }
.crp-team-sidebar nav a.is-active { background:#1f67ed; border-color:#1f67ed; box-shadow:inset -3px 0 #1dd0bd; }
.crp-team-topbar { box-shadow:none; background:#fff; border-color:#dde8f3; }
.crp-team-login-card { border-top-color:#123e7c; box-shadow:0 8px 24px #123e7c0a; }
.crp-team-login-card>span { background:#123e7c; }
.crp-team-avatar { background:#1f67ed; }
.crp-admin-card,.crp-card,.crp-doctor-card { border-color:#dde8f3; border-radius:16px; box-shadow:none; }
.crp-admin-card { padding:24px; }
.crp-admin h1,.crp-admin h2,.crp-admin h3,.crp-doctor-app h1,.crp-app h1,.crp-app h2,.crp-support h1,.crp-landing h1,.crp-landing h2 { color:#123e7c; }
.crp-admin .button { border-radius:10px; min-height:40px; padding:4px 14px; font-size:14px; border-color:#dde8f3; color:#123e7c; background:#fff; }
.crp-admin .button-primary,.crp-primary,.crp-doctor-button-primary,.crp-support .sup-primary { background:#1f67ed; color:#fff; border-color:#1f67ed; box-shadow:none; }
.crp-admin .button-primary:hover,.crp-primary:hover { background:#123e7c; border-color:#123e7c; color:#fff; }
.crp-admin button:disabled { opacity:.55; cursor:not-allowed; }
.crp-admin-tabs { border-radius:12px; gap:8px; }
.crp-admin-tabs a { font-size:14px; padding:10px 16px; }
.crp-admin-tabs a.is-active { background:#f4f7fa; color:#123e7c; box-shadow:inset 0 -3px #1f67ed; }
.crp-card-title h2 { font-size:19px; }
.crp-card-title span,.crp-admin .description,.crp-admin-form label small { font-size:12px; color:#6b7785; }
.crp-admin-form label { font-size:14px; }
.crp-admin-form input:not([type=checkbox]):not([type=radio]),.crp-admin-form select,.crp-admin-form textarea { font-size:16px; border:1px solid #dde8f3; border-radius:10px; background:#fff; color:#2f3a45; max-width:100%; min-height:44px; padding:9px 12px; }
.crp-admin-form textarea { line-height:1.9; }
.crp-admin-form input[readonly] { background:#f4f7fa; color:#6b7785; }
.crp-admin input[type=checkbox],.crp-app input[type=checkbox] { accent-color:#1f67ed; }
.crp-admin :is(a,button,input,select,textarea,summary):focus-visible,.crp-app :is(a,button,input,select,textarea,summary):focus-visible,.crp-home-link:focus-visible { outline:3px solid #1f67ed; outline-offset:3px; }
.crp-triage-form .crp-form-columns { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.crp-triage-form .crp-span-2 { grid-column:auto; }
@media(min-width:1101px) { .crp-triage-form .crp-form-columns { grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:start; } .crp-triage-form .crp-span-2 { grid-column:1/-1; } }
.crp-triage-form .crp-admin-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.crp-triage-extra,.crp-ai-more { margin:16px 0; padding:0; border:1px solid #dde8f3; border-radius:12px; background:#fff; }
.crp-triage-extra>summary,.crp-ai-more>summary { padding:12px 16px; color:#123e7c; font-weight:700; font-size:14px; cursor:pointer; min-height:48px; }
.crp-triage-extra[open],.crp-ai-more[open] { padding:0 16px 16px; }
.crp-triage-extra[open]>summary,.crp-ai-more[open]>summary { margin:0 -16px 16px; border-bottom:1px solid #dde8f3; }
.crp-sticky-save { box-shadow:none; border-color:#dde8f3; background:#fff; }
.crp-document-review h3 { margin:14px 0 2px; color:#6b7785; font-size:12.5px; font-weight:600; }
.crp-document-rows { border-top:1px solid #dde8f3; }
.crp-document-row { display:grid; grid-template-columns:minmax(0,1fr) auto 150px; gap:10px; align-items:center; padding:8px 0; border-bottom:1px solid #dde8f3; }
.crp-document-row strong { font-size:13.5px; font-weight:600; }
.crp-document-row small { display:block; color:#6b7785; font-size:12px; line-height:1.7; }
.crp-documents-card .crp-document-row .crp-doc-hint { display:none; }
.crp-document-row select { width:100%; min-height:38px; padding:5px 10px; font-size:13px; }
.crp-document-row[data-document-row=verified] strong { color:#15803d; }
.crp-document-row[data-document-row=missing] strong { color:#b45309; }
.crp-document-row[data-document-row=not_required] { opacity:.6; }
.crp-receipt { display:inline-block; padding:3px 8px; border-radius:6px; color:#6b7785; background:#f4f7fa; text-align:center; font-size:12px; white-space:nowrap; }
.crp-receipt.is-received { color:#123e7c; background:#72dfd529; }
.crp-doc-changed { color:#914f00!important; }
.crp-document-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px; }
.crp-doc-summary { margin:0; padding:6px 10px; background:#f4f7fa; border-radius:8px; color:#123e7c; font-size:12.5px; }
.crp-doc-bulk { min-height:36px; font-size:12.5px!important; }
/* 7.4.13: triage decision form — choice cards, segmented control, chips, folds */
.crp-choice { min-width:0; margin:0 0 18px; padding:0; border:0; }
.crp-choice legend { margin:0 0 8px; padding:0; color:#123e7c; font-size:14px; font-weight:700; }
.crp-choice-options { display:flex; flex-wrap:wrap; gap:8px; }
.crp-admin-form .crp-choice-option { position:relative; display:block; margin:0; cursor:pointer; }
.crp-choice-option input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.crp-choice-option>span { position:relative; display:flex; flex-direction:column; gap:2px; min-height:44px; padding:9px 14px; border:1px solid #dde8f3; border-radius:12px; background:#fff; color:#2f3a45; transition:border-color .15s,background .15s,box-shadow .15s; }
.crp-admin-form .crp-choice-option>span b { color:#2f3a45; font-size:14px; font-weight:700; }
.crp-choice-option>span small { color:#6b7785; font-size:12px; line-height:1.7; }
.crp-choice-option:hover>span { border-color:#9db9e8; }
.crp-choice-option input:focus-visible+span { outline:3px solid #1f67ed; outline-offset:2px; }
.crp-choice-option input:checked+span { border-color:#1f67ed; background:#eef4fd; box-shadow:inset 0 0 0 1px #1f67ed; }
.crp-choice-option input:checked+span b { color:#123e7c; }
.crp-choice-option.is-ok input:checked+span { border-color:#22c55e; background:#effaf3; box-shadow:inset 0 0 0 1px #22c55e; }
.crp-choice-option.is-warn input:checked+span { border-color:#f59e0b; background:#fff8ea; box-shadow:inset 0 0 0 1px #f59e0b; }
.crp-choice-option.is-danger input:checked+span { border-color:#e5484d; background:#fff1f1; box-shadow:inset 0 0 0 1px #e5484d; }
.crp-choice-option.is-muted input:checked+span { border-color:#6b7785; background:#f4f7fa; box-shadow:inset 0 0 0 1px #6b7785; }
.crp-choice-cards .crp-choice-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.crp-choice-cards .crp-choice-option>span { padding:12px 14px; padding-inline-end:44px; }
.crp-choice-cards .crp-choice-option>span::after { content:''; position:absolute; top:14px; inset-inline-end:14px; width:18px; height:18px; border:2px solid #c9d6e5; border-radius:50%; background:#fff; transition:border-color .15s,background .15s; }
.crp-choice-cards .crp-choice-option input:checked+span::after { border-color:#1f67ed; background:#1f67ed; box-shadow:inset 0 0 0 3px #fff; }
.crp-choice-cards .crp-choice-option.is-ok input:checked+span::after { border-color:#22c55e; background:#22c55e; }
.crp-choice-cards .crp-choice-option.is-warn input:checked+span::after { border-color:#f59e0b; background:#f59e0b; }
.crp-choice-cards .crp-choice-option.is-danger input:checked+span::after { border-color:#e5484d; background:#e5484d; }
.crp-choice-cards .crp-choice-option.is-muted input:checked+span::after { border-color:#6b7785; background:#6b7785; }
.crp-choice-segmented .crp-choice-options { display:inline-flex; gap:0; padding:3px; border:1px solid #dde8f3; border-radius:12px; background:#f4f7fa; }
.crp-choice-segmented .crp-choice-option>span { min-height:38px; justify-content:center; padding:7px 18px; border:0; border-radius:9px; background:transparent; }
.crp-choice-segmented .crp-choice-option input:checked+span { border:0; background:#fff; box-shadow:0 1px 3px rgba(18,62,124,.18); }
.crp-choice-segmented .crp-choice-option.is-warn input:checked+span b { color:#b45309; }
.crp-choice-segmented .crp-choice-option.is-danger input:checked+span b { color:#e5484d; }
.crp-choice-chips .crp-choice-option>span { min-height:38px; justify-content:center; padding:7px 14px; border-radius:999px; }
.crp-choice-chips .crp-choice-option>span b { font-size:13.5px; font-weight:600; }
.crp-choice-chips .crp-choice-option input:checked+span { border-color:#1f67ed; background:#1f67ed; box-shadow:none; }
.crp-choice-chips .crp-choice-option input:checked+span b { color:#fff; }
.crp-choice-note { display:block; margin-top:6px; color:#6b7785; font-size:12px; }
.crp-decision-row { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; }
.crp-decision-card>label { margin-bottom:4px; }
.crp-fold { margin:12px 0 0; padding:0; border:1px solid #dde8f3; border-radius:12px; background:#fff; }
.crp-fold>summary { display:flex; align-items:center; gap:8px; min-height:46px; padding:10px 16px; color:#123e7c; font-size:14px; font-weight:700; cursor:pointer; list-style:none; }
.crp-fold>summary::-webkit-details-marker { display:none; }
.crp-fold>summary::before { content:'+'; flex:0 0 auto; width:20px; height:20px; border-radius:6px; background:#eef4fd; color:#1f67ed; font-size:15px; line-height:20px; text-align:center; }
.crp-fold[open]>summary::before { content:'−'; }
.crp-fold>summary small { color:#6b7785; font-size:12px; font-weight:500; }
.crp-fold[open] { padding:0 16px 14px; }
.crp-fold[open]>summary { margin:0 -16px 12px; border-bottom:1px solid #dde8f3; }
.crp-fold textarea { width:100%; }
.crp-fold .crp-choice { margin-bottom:12px; }
.crp-fold-danger { border-color:#f3c4c6; }
.crp-fold-danger>summary { color:#b42318; }
.crp-fold-danger>summary::before { background:#fff1f1; color:#e5484d; }
.crp-fold-warn { border-color:#f5d9a4; }
.crp-fold-warn>summary { color:#9a5b00; }
.crp-fold-warn>summary::before { background:#fff8ea; color:#f59e0b; }
.crp-fold.is-static { padding:12px 16px 14px; border-color:#dde8f3; background:#f4f7fa; }
.crp-fold.is-static>b { display:block; margin-bottom:8px; color:#123e7c; font-size:14px; }
.crp-status-row { display:grid; gap:4px; margin-top:16px; padding-top:14px; border-top:1px dashed #dde8f3; }
.crp-status-row>label { max-width:440px; }
.crp-status-hint { min-height:1em; color:#1f67ed; font-size:12px; }
.crp-directory { margin:0 0 8px; }
.crp-directory-selected { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:36px; }
.crp-directory-selected>small { color:#6b7785; font-size:13px; }
.crp-directory-chosen { display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:6px 12px; border:1px solid #c7d8f5; border-radius:999px; background:#eef4fd; }
.crp-directory-chosen-info { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; min-width:0; }
.crp-directory-chosen strong { color:#123e7c; font-size:13px; font-weight:700; }
.crp-directory-chosen small { color:#4c6285; font-size:11.5px; }
.crp-directory-chosen.is-unassignable { border-color:#f0c48b; background:#fff7ea; }
.crp-directory-chosen .crp-doc-changed { flex-basis:100%; }
.crp-directory-remove { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:26px; height:26px; padding:0; border:0; border-radius:50%; background:#d9e5f8; color:#123e7c; font-size:16px; line-height:1; cursor:pointer; }
.crp-directory-remove:hover,.crp-directory-remove:focus-visible { background:#e5484d; color:#fff; }
.crp-directory-browse { margin:12px 0 0; }
.crp-directory-browse>summary { display:inline-flex; align-items:center; width:max-content; max-width:100%; min-height:42px; padding:8px 16px; border:1px dashed #9db9e8; border-radius:999px; color:#1f67ed; background:#fff; font-size:13.5px; font-weight:700; cursor:pointer; list-style:none; }
.crp-directory-browse>summary::-webkit-details-marker { display:none; }
.crp-directory-browse[open] { padding:0 16px 16px; border:1px solid #dde8f3; border-radius:12px; background:#fff; }
.crp-directory-browse[open]>summary { display:flex; width:auto; margin:0 -16px 16px; padding:12px 16px; border:0; border-bottom:1px solid #dde8f3; border-radius:12px 12px 0 0; background:#f4f7fa; color:#123e7c; }
.crp-directory-tools { display:grid; grid-template-columns:2fr 1fr; gap:16px; }
.crp-directory-tools input,.crp-directory-tools select { width:100%; }
.crp-directory-tools+ p { font-size:12px; color:#6b7785; }
.crp-directory-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.crp-directory-card { display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:14px; border:1px solid #dde8f3; border-radius:12px; background:#fff; min-width:0; }
.crp-directory-card h4 { margin:0; font-size:14px; color:#123e7c; }
.crp-directory-card p { margin:0; font-size:13px; }
.crp-directory-card small { color:#6b7785; font-size:12px; }
.crp-directory-card.is-selected { border:2px solid #1f67ed; padding:13px; }
.crp-directory-card>.button { margin-top:auto; }
.crp-directory-bio { font-size:12px; }
.crp-directory-bio summary { cursor:pointer; color:#1f67ed; min-height:30px; }
.crp-directory-bio p { padding:8px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.crp-directory-pagination { display:flex; gap:16px; justify-content:center; align-items:center; padding-top:16px; font-size:12px; }
.crp-ai-panel { border:1px solid #dde8f3; border-inline-start:4px solid #1f67ed; background:#fff; margin-bottom:24px; }
.crp-ai-panel-head { padding:0; border:0; background:transparent; }
.crp-ai-panel-head h2 { font-size:22px; }
.crp-ai-panel-head p,.crp-ai-disclosure { font-size:13px; }
.crp-ai-human-badge { color:#123e7c; background:#f4f7fa; border-color:#dde8f3; font-size:12px; }
.crp-ai-analysis { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0; }
.crp-ai-analysis .crp-ai-output-field { background:#f4f7fa; border:0; padding:16px; border-radius:12px; }
.crp-ai-output-field-head h3 { font-size:14px; }
.crp-ai-output-field p,.crp-ai-output-field ul { font-size:14px; line-height:1.9; }
.crp-ai-output-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.crp-ai-output-field { border-color:#dde8f3; box-shadow:none; }
.crp-ai-assurance { font-size:12px; background:transparent; padding:8px 0; color:#6b7785; }
.crp-ai-sources { margin:12px 0; padding:8px 0; border:0; background:transparent; }
.crp-ai-sources summary,.crp-ai-disclosure summary { cursor:pointer; color:#6b7785; font-size:12px; min-height:30px; }
.crp-ai-sources .crp-ai-result-meta { margin-top:10px; }
.crp-ai-sources .crp-ai-callout { margin:10px 0; }
.crp-ai-panel-actions { flex-wrap:wrap; }
.crp-ai-callout-danger,.crp-ai-safety-alert { border-color:#e5484d; background:#fff; }
.crp-ai-callout-warning { border-color:#f59e0b; background:#fff; }
.crp-ai-callout ul { font-size:13px; }
/* 7.4.12: triage decision card, portal scale */
.crp-ai-verdict { border-color:#dde8f3; border-inline-start:3px solid #1dd0bd; }
.crp-ai-verdict-head strong { font-size:17px; color:#123e7c; }
.crp-ai-badge { font-size:12px; }
.crp-ai-lead { font-size:14.5px; }
.crp-ai-question { font-size:13.5px; background:#f4f7fa; border-inline-start-color:#1f67ed; }
.crp-ai-chip { border-color:#dde8f3; }
.crp-ai-chip dt { font-size:11.5px; }
.crp-ai-chip dd { font-size:14px; }
.crp-ai-more-hint { font-size:13px; }
.crp-ai-select-row { border-color:#dde8f3; }
.crp-ai-select-row b { font-size:13.5px; }
.crp-ai-select-row small { font-size:12.5px; }
.crp-ai-selection-tools button { font-size:12px; min-height:34px; padding:5px 12px; }
.crp-committee-block { background:#fff; border-color:#dde8f3; }
.crp-committee-block h3 { font-size:15px; color:#123e7c; }
.crp-committee-block h3 small { font-size:12px; }
.crp-accuracy-guide { background:#fff; border-color:#dde8f3; box-shadow:none; }
.crp-tabs .crp-tab { min-height:44px; font-size:14px; }
.crp-portal-role { color:#123e7c; background:#72dfd529; border-inline-start:3px solid #1dd0bd; }
.crp-brand,.crp-doctor-brand { text-decoration:none; }
.tebtok-role-patient { --role:#1dd0bd; --role-soft:#f4f7fa; }
.tebtok-role-doctor { --role:#1f67ed; --role-soft:#f4f7fa; }
.tebtok-role-team { --role:#123e7c; --role-soft:#f4f7fa; }
.tebtok-role-support { --role:#72dfd5; --role-soft:#f4f7fa; }
.tebtok-role-card h3,.tebtok-role-card>strong,.tebtok-role-tag { color:#123e7c; }
.tebtok-role-patient .tebtok-role-icon,.tebtok-role-support .tebtok-role-icon { color:#123e7c; }
.tebtok-button-patient { background:#1f67ed; border-color:#1f67ed; color:#fff!important; box-shadow:none; }
.tebtok-hero,.tebtok-faq,.tebtok-process { background:#f4f7fa; }
.tebtok-hero:before,.tebtok-hero:after { background:none; }
.tebtok-security-band,.tebtok-emergency>.tebtok-container { background:#fff; border-color:#dde8f3; }
.tebtok-role-card { box-shadow:none; }
@media(max-width:1100px) { .crp-directory-results { grid-template-columns:repeat(2,minmax(0,1fr)); } .crp-triage-form .crp-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .crp-committee-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:782px) {
    .crp-admin-card { padding:16px; } .crp-card-title { flex-wrap:wrap; }
    .crp-ai-analysis,.crp-ai-output-grid,.crp-directory-tools { grid-template-columns:minmax(0,1fr); }
    .crp-document-row { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
    .crp-document-row select { grid-column:1/-1; font-size:16px; }
    .crp-admin-form select,.crp-admin-form input,.crp-admin-form textarea { font-size:16px; }
    .crp-ai-panel-head { align-items:flex-start; flex-direction:column; gap:8px; }
    .crp-triage-form .crp-form-columns { gap:16px; }
    .crp-ai-chips { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .crp-ai-verdict-head strong { flex-basis:100%; }
    .crp-committee-block { padding:12px; }
    .crp-decision-row { grid-template-columns:minmax(0,1fr); }
    .crp-choice-segmented .crp-choice-options { display:flex; }
    .crp-choice-segmented .crp-choice-option { flex:1 1 0; }
    .crp-choice-segmented .crp-choice-option>span { padding:7px 8px; }
    .crp-document-row { grid-template-columns:minmax(0,1fr) auto; }
    .crp-document-toolbar { align-items:stretch; flex-direction:column; }
}
@media(max-width:520px) { .crp-choice-cards .crp-choice-options { grid-template-columns:minmax(0,1fr); } }
@media(max-width:520px) { .crp-directory-results,.crp-triage-form .crp-admin-grid { grid-template-columns:minmax(0,1fr); } }
@media print { .crp-home-link { color:inherit; } .crp-home-link[href]:after { content:none!important; } }

/* 7.1.1: one navigation language for the patient, doctor and operations portals. */
.crp-portal-sidebar {
    --tebtok-sidebar-bg:linear-gradient(180deg,#112c4b 0%,#0b233e 64%,#081c32 100%);
    --tebtok-sidebar-text:#b9c9db;
    --tebtok-sidebar-active:#fff;
    --tebtok-sidebar-accent:#1dd0bd;
}
.crp-portal-sidebar-nav { display:grid; gap:7px; }
.crp-portal-sidebar-nav>a {
    display:flex; align-items:center; gap:10px; width:100%; min-height:45px; padding:8px 12px;
    border:1px solid transparent; border-radius:12px; color:var(--tebtok-sidebar-text);
    background:transparent; text-decoration:none; text-align:right; font-size:12px; font-weight:700;
    line-height:1.65; transition:color .15s ease,background-color .15s ease,border-color .15s ease;
}
.crp-portal-sidebar-nav>a b,.crp-portal-sidebar-nav>a span:not(.dashicons):last-child { color:inherit; font:inherit; }
.crp-portal-sidebar-nav>a>.dashicons {
    display:inline-grid; place-items:center; width:20px; height:20px; flex:0 0 20px;
    margin:0; font-size:20px; line-height:1;
}
.crp-portal-sidebar-nav>a:hover { color:#fff; background:rgba(255,255,255,.065); }
.crp-portal-sidebar-nav>a.is-active,
.crp-portal-sidebar-nav>a[aria-current="page"] {
    color:var(--tebtok-sidebar-active); border-color:rgba(93,157,255,.23);
    background:linear-gradient(90deg,rgba(31,103,237,.32),rgba(29,208,189,.08));
    box-shadow:inset -3px 0 0 var(--tebtok-sidebar-accent);
}
.crp-portal-sidebar-nav>a:focus-visible,
.crp-portal-sidebar-action:focus-visible,
.crp-portal-sidebar-footer a:focus-visible,
.crp-portal-sidebar-footer button:focus-visible {
    outline:3px solid #72dfd5; outline-offset:2px;
}
.crp-portal-sidebar-footer .dashicons,
.crp-portal-sidebar-action .dashicons { width:20px; height:20px; flex:0 0 20px; font-size:20px; line-height:1; }
.crp-portal-sidebar-action { display:flex; align-items:center; justify-content:center; gap:9px; }
.crp-team-sidebar-footer button { display:flex; align-items:center; justify-content:flex-start; gap:9px; min-height:44px; text-align:right; }
.crp-team-system-link { display:flex; align-items:center; gap:9px; min-height:44px; padding:8px 10px; border:1px solid rgba(255,255,255,.14); border-radius:9px; color:#c6d4e4; text-decoration:none; font-size:12px; }
.crp-team-system-link:hover { color:#fff; border-color:rgba(255,255,255,.28); }

@media(min-width:821px) {
    .crp-patient-sidebar.crp-portal-sidebar {
        width:262px; padding:24px 17px 18px; border:0; color:#e9f0ff;
        background:var(--tebtok-sidebar-bg); box-shadow:-12px 0 40px rgba(7,29,50,.11);
    }
}
@media(min-width:901px) {
    .crp-team-sidebar.crp-portal-sidebar {
        width:262px; padding:24px 17px 18px; border:0; color:#e9f0ff;
        background:var(--tebtok-sidebar-bg); box-shadow:-12px 0 40px rgba(7,29,50,.11);
    }
    .crp-team-logo { margin:0 7px 30px; }
    .crp-team-logo img { width:116px; }
    .crp-team-logo span { color:#9fb4cc; }
    .crp-team-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a { color:var(--tebtok-sidebar-text); background:transparent; }
    .crp-team-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a:hover { color:#fff; background:rgba(255,255,255,.065); }
    .crp-team-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a.is-active,
    .crp-team-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a[aria-current="page"] {
        color:#fff; border-color:rgba(93,157,255,.23);
        background:linear-gradient(90deg,rgba(31,103,237,.32),rgba(29,208,189,.08));
        box-shadow:inset -3px 0 0 var(--tebtok-sidebar-accent);
    }
}
@media(min-width:981px) {
    .crp-doctor-topbar.crp-portal-sidebar {
        top:0; right:0; bottom:0; width:262px; padding:24px 17px 18px; border:0; border-radius:0;
        color:#e9f0ff; background:var(--tebtok-sidebar-bg); box-shadow:-12px 0 40px rgba(7,29,50,.11);
    }
    .crp-doctor-brand { margin:0 7px 7px; padding:0 0 17px; }
    .crp-doctor-brand-logo { width:116px; }
    .crp-doctor-user { border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.055); }
    .crp-doctor-nav a { color:var(--tebtok-sidebar-text); }
    .crp-doctor-logout { min-height:45px; padding:8px 12px; border:1px solid rgba(255,255,255,.1); border-radius:12px; color:#b9c9db!important; background:transparent; font-size:12px; }
    .crp-doctor-logout:hover { color:#fff!important; background:rgba(255,255,255,.065); }
}
@media(max-width:980px) {
    .crp-doctor-nav.crp-portal-sidebar-nav { display:flex; gap:5px; }
    .crp-doctor-nav.crp-portal-sidebar-nav>a { width:auto; min-height:40px; padding:7px 10px; color:#123e7c; background:#f1f5fa; }
    .crp-doctor-nav.crp-portal-sidebar-nav>a.is-active,
    .crp-doctor-nav.crp-portal-sidebar-nav>a[aria-current="page"] { color:#fff; border-color:#1f67ed; background:#1f67ed; box-shadow:none; }
    .crp-doctor-nav.crp-portal-sidebar-nav>a>.dashicons { width:18px; height:18px; flex-basis:18px; font-size:18px; }
}
@media(max-width:820px) {
    .crp-patient-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a { color:#536475; background:transparent; }
    .crp-patient-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a:hover,
    .crp-patient-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a.is-active,
    .crp-patient-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a[aria-current="page"] {
        color:#123e7c; border-color:transparent; background:#edf3ff; box-shadow:inset -3px 0 0 #1f67ed;
    }
}

/* 6.7.1: shared form rhythm. Required markers stay on the label line. */
.crp-app,.crp-doctor-app,.crp-team-app,.crp-support,.crp-landing,.crp-admin {
    font-family:var(--tebtok-font);
}

/* Shared navigation affordance: every portal view has a predictable way back. */
.crp-portal-back {
    display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:7px 14px 7px 12px;
    border:1px solid #cbd9e6; border-radius:10px; color:#123e7c!important; background:#fff; white-space:nowrap; line-height:1.4;
    box-shadow:0 3px 12px rgba(18,62,124,.05); text-decoration:none!important; font-size:13px; font-weight:750; font-family:inherit;
}
.crp-portal-back:hover { border-color:#9dbbe5; background:#f4f8ff; }
.crp-portal-back svg,.crp-portal-back .dashicons { flex:0 0 auto; width:18px; height:18px; font-size:18px; color:#1f67ed; }
.crp-portal-back:focus-visible { outline:3px solid rgba(31,103,237,.26); outline-offset:2px; }
.crp-portal-back.is-inline { margin-bottom:18px; }
.crp-team-topbar .crp-portal-back { flex:0 0 auto; }
.crp-admin-titlebar .crp-portal-back { margin-bottom:10px; }
@media(max-width:700px) { .crp-portal-back { min-height:38px; padding:6px 12px 6px 10px; font-size:12.5px; } }
@media print { .crp-portal-back { display:none!important; } }
.crp-grid>label,.crp-question-box,.crp-optional label,.crp-conditional>label,
.crp-doctor-grid>label,.crp-doctor-register-form>label,.crp-doctor-profile-form>label:not(.crp-doctor-attestation),
.crp-doctor-review-form>label:not(.crp-doctor-attestation),.crp-doctor-review-form>.crp-doctor-grid>label {
    display:block; min-width:0; font-size:14px; line-height:1.8; font-weight:600;
}
.crp-app label>b,.crp-doctor-app label>b { display:inline; margin-inline-start:3px; }
.crp-grid>label>input,.crp-grid>label>select,.crp-grid>label>textarea,
.crp-question-box>textarea,.crp-optional label>textarea,
.crp-doctor-grid>label>input,.crp-doctor-grid>label>select,.crp-doctor-grid>label>textarea,
.crp-doctor-profile-form>label>textarea,.crp-doctor-register-form>label>input {
    display:block; margin-top:8px;
}
.crp-app label>small,.crp-doctor-app label>small { display:block; font-size:12px; font-weight:400; line-height:1.8; margin-top:6px; color:#6b7785; }
.crp-doctor-grid { gap:20px 20px; }
.crp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),
.crp-app select,.crp-doctor-app input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.crp-doctor-app select {
    min-height:48px; font-size:16px; line-height:1.6; padding:10px 12px;
    background:#fff; border:1px solid #dde8f3; border-radius:10px; font-family:var(--tebtok-font);
}
.crp-app textarea,.crp-doctor-app textarea { font-family:var(--tebtok-font); font-size:16px; border-radius:10px; border-color:#dde8f3; background:#fff; }
.crp-app input:focus,.crp-app select:focus,.crp-app textarea:focus,
.crp-doctor-app input:focus,.crp-doctor-app select:focus,.crp-doctor-app textarea:focus {
    border-color:#1f67ed; box-shadow:0 0 0 3px #1f67ed1a;
}
.crp-app input[readonly],.crp-doctor-app input[readonly] { background:#f4f7fa; color:#6b7785; }
.crp-step { padding:24px 24px 12px; }
.crp-step-head p,.crp-doctor-profile-heading p { font-size:14px; line-height:1.9; }
.crp-doctor-profile-panel { max-width:980px; }
.crp-doctor-card,.crp-doctor-profile-heading,.crp-doctor-topbar { box-shadow:none; border-color:#dde8f3; border-radius:16px; }
.crp-doctor-profile-warning { background:#f4f7fa; color:#123e7c; border-color:#dde8f3; font-size:13px; }
.crp-reported-diagnosis { border:1px solid #dde8f3; border-inline-start:4px solid #72dfd5; border-radius:10px; padding:12px 14px; margin:12px 0; background:#f4f7fa; }
.crp-reported-diagnosis h3 { font-size:14px; color:#123e7c; margin:0 0 6px; }
.crp-reported-diagnosis p { white-space:normal; overflow-wrap:anywhere; margin:0 0 6px; font-size:13px; }
.crp-reported-diagnosis small { display:block; color:#6b7785; font-size:12px; line-height:1.9; }

/* Support: queue + conversation, with secondary controls disclosed on demand. */
.crp-support-page { background:#f4f7fa; }
@media(max-width:600px) { .crp-step { padding:20px 16px 12px; } }

/* 7.1.2: patient-style mobile navigation across portals. */
.crp-doctor-mobile-topbar,.crp-doctor-overlay,.crp-doctor-sidebar-close,
.crp-team-mobile-brand,.crp-team-sidebar-close,.crp-patient-timeline-more { display:none; }

@media(max-width:980px) {
    html.crp-doctor-menu-open { overflow:hidden; }
    .crp-doctor-standalone-main { padding:0 12px 40px; }
    .crp-doctor-mobile-topbar {
        position:sticky; z-index:90; top:0; display:grid; grid-template-columns:1fr auto 1fr;
        align-items:center; min-height:64px; margin:0 -12px 14px; padding:8px 12px;
        border-bottom:1px solid #dde8f3; background:rgba(255,255,255,.97);
        box-shadow:0 8px 26px rgba(18,62,124,.05); backdrop-filter:blur(12px);
    }
    .crp-doctor-mobile-menu {
        display:inline-flex; align-items:center; justify-self:start; gap:5px; min-height:42px; padding:7px 6px;
        border:0; color:#123e7c; background:transparent; cursor:pointer; font-size:13px; font-weight:800;
    }
    .crp-doctor-mobile-menu .dashicons { width:23px; height:23px; font-size:23px; }
    .crp-doctor-mobile-brand { display:flex; align-items:center; justify-content:center; }
    .crp-doctor-mobile-brand img { display:block; width:94px; height:auto; }
    .crp-doctor-mobile-avatar {
        display:grid; place-items:center; justify-self:end; width:36px; height:36px; border-radius:11px;
        color:#086b64; background:#dbf8f4; font-size:14px; font-weight:900;
    }
    .crp-doctor-overlay {
        position:fixed; z-index:100; inset:0; display:block; border:0; background:rgba(14,34,53,.44); cursor:pointer;
    }
    .crp-doctor-overlay[hidden] { display:none!important; }
    .crp-doctor-topbar.crp-portal-sidebar {
        position:fixed; z-index:110; inset-block:0; inset-inline-start:0; inset-inline-end:auto;
        display:flex; flex-direction:column; width:min(300px,86vw); height:100dvh; margin:0; padding:58px 16px 18px;
        overflow:auto; transform:translateX(110%); transition:transform .2s ease;
        border:0; border-radius:0; color:#2f3a45; background:#fff; box-shadow:-15px 0 45px rgba(19,47,76,.18);
    }
    .crp-doctor-topbar.crp-portal-sidebar.is-open { transform:translateX(0); }
    .crp-doctor-sidebar-close {
        position:absolute; inset-block-start:14px; inset-inline-start:14px; display:grid; place-items:center;
        width:36px; height:36px; padding:0; border:0; border-radius:9px; color:#123e7c; background:#edf3ff; cursor:pointer;
    }
    .crp-doctor-brand { display:flex; align-items:flex-start; flex-direction:column; gap:5px; margin:0 0 14px; padding:0 8px 14px; border-bottom:1px solid #e8eef4; }
    .crp-doctor-brand-assets { display:flex; justify-content:flex-start; height:auto; background:transparent; }
    .crp-doctor-brand-logo { display:block; width:106px; filter:none; }
    .crp-doctor-brand-symbol { display:none; }
    .crp-doctor-brand>span:last-child { display:block; }
    .crp-doctor-brand small { color:#6b7785; }
    .crp-doctor-user { display:block; margin-bottom:14px; padding:13px 50px 13px 11px; color:#2f3a45; background:#f4f7fa; }
    .crp-doctor-user small { color:#6b7785; }
    .crp-doctor-nav.crp-portal-sidebar-nav { display:grid; gap:5px; padding:0; overflow:visible; }
    .crp-doctor-nav.crp-portal-sidebar-nav>a {
        width:100%; min-height:44px; padding:8px 11px; border:1px solid transparent; border-radius:11px;
        color:#536475; background:transparent; font-size:12px;
    }
    .crp-doctor-nav.crp-portal-sidebar-nav>a:hover,
    .crp-doctor-nav.crp-portal-sidebar-nav>a.is-active,
    .crp-doctor-nav.crp-portal-sidebar-nav>a[aria-current="page"] {
        color:#123e7c; border-color:transparent; background:#edf3ff; box-shadow:inset -3px 0 0 #1f67ed;
    }
    .crp-doctor-nav.crp-portal-sidebar-nav>a>.dashicons { width:20px; height:20px; flex-basis:20px; font-size:20px; }
    .crp-doctor-logout { margin-top:auto; min-height:44px; color:#8b3a34!important; border:0; background:transparent; }
    .crp-doctor-logout:hover { color:#8b3a34!important; background:#fff1f0; }
    .crp-doctor-main { padding-top:4px; }
}

@media(max-width:900px) {
    .crp-team-topbar {
        display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:64px; padding:8px 12px;
        border-bottom:1px solid #dde8f3; background:rgba(255,255,255,.97);
        box-shadow:0 8px 26px rgba(18,62,124,.05); backdrop-filter:blur(12px);
    }
    .crp-team-topbar>div:first-child { justify-self:start; }
    .crp-team-topbar>div:first-child>div { display:none; }
    .crp-team-menu-button {
        display:inline-flex; align-items:center; gap:5px; width:auto; height:auto; min-height:42px; padding:7px 6px;
        border:0; color:#123e7c; background:transparent; cursor:pointer; font-size:13px; font-weight:800;
    }
    .crp-team-menu-button span { display:inline; width:auto; height:auto; margin:0; background:transparent; }
    .crp-team-menu-button .dashicons { width:23px; height:23px; font-size:23px; }
    .crp-team-mobile-brand { display:flex; align-items:center; justify-content:center; }
    .crp-team-mobile-brand img { display:block; width:94px; height:auto; }
    .crp-team-user { justify-self:end; }
    .crp-team-user>span:first-child,.crp-team-user>a { display:none; }
    .crp-team-avatar { width:36px; height:36px; border-radius:11px; color:#086b64; background:#dbf8f4; }
    .crp-team-sidebar.crp-portal-sidebar {
        width:min(300px,86vw); height:100dvh; padding:58px 16px 18px; color:#2f3a45;
        background:#fff; box-shadow:-15px 0 45px rgba(19,47,76,.18);
    }
    .crp-team-sidebar-close {
        position:absolute; inset-block-start:14px; inset-inline-start:14px; display:grid; place-items:center;
        width:36px; height:36px; padding:0; border:0; border-radius:9px; color:#123e7c; background:#edf3ff; cursor:pointer;
    }
    .crp-team-logo { align-items:flex-start; flex-direction:column; gap:5px; margin:0 0 14px; padding:0 8px 14px; border-bottom:1px solid #e8eef4; }
    .crp-team-logo img { width:106px; filter:none; }
    .crp-team-logo span { color:#6b7785; }
    .crp-team-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a { color:#536475; background:transparent; }
    .crp-team-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a:hover,
    .crp-team-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a.is-active,
    .crp-team-sidebar.crp-portal-sidebar .crp-portal-sidebar-nav>a[aria-current="page"] {
        color:#123e7c; border-color:transparent; background:#edf3ff; box-shadow:inset -3px 0 0 #1f67ed;
    }
    .crp-team-security { color:#6b7785; }
    .crp-team-sidebar-footer { border-top-color:#e8eef4; }
    .crp-team-sidebar-footer button { color:#536475; border-color:#d7e1e8; background:#fff; }
    .crp-team-system-link { color:#536475; border-color:#d7e1e8; background:#fff; }
}

@media(max-width:600px) {
    .crp-patient-path-panel .crp-patient-timeline-top-link { display:none; }
    .crp-patient-timeline-more {
        display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:44px; margin-top:16px;
        border:1px solid #bdd0ee; border-radius:11px; color:#1f67ed!important; background:#f5f8ff;
        text-decoration:none; font-size:11px; font-weight:850;
    }
    .crp-patient-timeline-more .dashicons { width:18px; height:18px; font-size:18px; }
}

/* 7.4.16 — پنل مالی پرونده در مقیاس پرتال */
.crp-pay-badge { font-size:12px; }
.crp-pay-strip small,.crp-pay-strip em,.crp-pay-action-grid small { font-size:12px; }
.crp-pay-strip b { font-size:14px; }
.crp-pay-panel h3,.crp-pay-action-grid h4 { font-size:14px; }
.crp-pay-table { font-size:13px; }
/* 7.4.24 — برنامهٔ کاری پزشک در کارت انتخاب */
.crp-directory-card .crp-directory-schedule { display:block; margin-top:4px; color:#0b6f66; font-weight:700; }
.crp-directory-card .crp-directory-availability { display:block; margin-top:2px; color:#6b7785; line-height:1.8; }
