/* Orchid Medical usability layer — additive only; does not alter core theme tokens. */
#orchid-page-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:99999;background:currentColor;color:var(--md-primary,var(--primary,#6a4bbc));opacity:0;transition:width .18s ease,opacity .2s ease;pointer-events:none}
#orchid-page-progress.active{opacity:1;width:72%}#orchid-page-progress.done{width:100%;opacity:0}
.orchid-busy-link,.orchid-busy-form{cursor:progress!important}
.orchid-toast-stack{position:fixed;right:16px;top:16px;z-index:100000;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 32px));pointer-events:none}
.orchid-toast{pointer-events:auto;background:var(--md-surface,var(--surface,#fff));color:var(--md-on-surface,var(--text,#222));border:1px solid var(--md-outline-variant,var(--line,#ddd));border-left:4px solid var(--md-primary,var(--primary,#6a4bbc));border-radius:12px;box-shadow:0 10px 34px rgba(0,0,0,.18);padding:12px 14px;display:flex;gap:10px;align-items:flex-start;animation:orchidToastIn .18s ease-out}
.orchid-toast.success{border-left-color:#2e7d32}.orchid-toast.error{border-left-color:#b3261e}.orchid-toast.warn{border-left-color:#c36b00}.orchid-toast.info{border-left-color:#1565c0}
.orchid-toast-body{font-size:.88rem;line-height:1.4;flex:1}.orchid-toast-close{border:0;background:transparent;color:inherit;cursor:pointer;padding:0 2px;font-size:18px;line-height:1;min-height:0!important}
@keyframes orchidToastIn{from{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}
.orchid-network-banner{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:99998;background:#7a2e00;color:#fff;padding:10px 16px;border-radius:999px;box-shadow:0 8px 28px rgba(0,0,0,.2);font-size:.84rem;font-weight:700;display:none;text-align:center}.orchid-network-banner.show{display:block}
.orchid-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 var(--space-5,20px)}
.orchid-step{border:1px solid var(--md-outline-variant,var(--line,#ddd));border-radius:14px;padding:13px;background:var(--md-surface,var(--surface,#fff));display:flex;gap:10px;align-items:flex-start}.orchid-step-num{width:28px;height:28px;border-radius:50%;background:var(--md-primary-container,#eee);color:var(--md-on-primary-container,var(--primary,#6a4bbc));display:grid;place-items:center;font-weight:800;flex:0 0 auto}.orchid-step strong{display:block;font-size:.88rem}.orchid-step span{display:block;color:var(--text-muted,#666);font-size:.78rem;margin-top:2px;line-height:1.35}
.orchid-callout{border:1px solid var(--md-outline-variant,var(--line,#ddd));border-radius:14px;padding:14px 16px;background:var(--md-surface-container-low,var(--surface-hover,#f7f7f7));margin-bottom:var(--space-4,16px)}
.orchid-advanced{border:1px dashed var(--md-outline-variant,var(--line,#ccc));border-radius:12px;padding:0 12px;margin:12px 0}.orchid-advanced>summary{cursor:pointer;padding:12px 2px;font-weight:700;font-size:.88rem}.orchid-advanced[open]>summary{border-bottom:1px solid var(--md-outline-variant,var(--line,#ddd));margin-bottom:12px}
.orchid-loading-inline{display:inline-flex;align-items:center;gap:7px}.orchid-loading-inline:before,.is-loading:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:orchidSpin .7s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes orchidSpin{to{transform:rotate(360deg)}}
.orchid-sticky-actions{position:sticky;bottom:10px;z-index:20;background:color-mix(in srgb,var(--md-surface,var(--surface,#fff)) 92%,transparent);backdrop-filter:blur(10px);box-shadow:0 5px 25px rgba(0,0,0,.08)}
.orchid-preset-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.orchid-preset-row a{text-decoration:none}
.orchid-status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700}.orchid-status-dot{width:8px;height:8px;border-radius:50%;background:#2e7d32}
@media(max-width:760px){.orchid-stepper{grid-template-columns:1fr}.orchid-toast-stack{left:12px;right:12px;top:12px;max-width:none}.orchid-network-banner{width:calc(100vw - 24px);border-radius:12px}.orchid-sticky-actions{bottom:6px}}
@media(prefers-reduced-motion:reduce){#orchid-page-progress,.orchid-toast,.orchid-loading-inline:before,.is-loading:before{transition:none;animation:none}}

/* Doctor availability: touch-friendly CRUD tags + correctly padded modal. */
.doctor-avail-modal .modal-card{overflow:hidden;border-radius:16px}
.doctor-avail-modal .modal-head{padding:16px 20px;min-height:58px}
.doctor-avail-close{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--surface-hover,#f4f4f4);color:var(--text,#222);font-size:24px;line-height:1;cursor:pointer;margin-left:12px}
.doctor-avail-close:hover{background:var(--gray-200,#e6e6e6)}
.avail-modal-body{padding:20px}
.avail-form{display:flex;flex-direction:column;gap:16px}
.avail-form-grid{display:grid;grid-template-columns:1fr 120px;gap:12px}
.avail-input{width:100%;min-height:44px;padding:9px 12px;border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface)}
.avail-tag-picker{display:flex;flex-wrap:wrap;gap:8px;max-height:210px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-hover,#fafafa)}
.avail-time-tag{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 11px;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer;min-height:38px}
.avail-time-tag.selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.12)}
.avail-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.avail-recurring{margin-top:18px}
.doctor-slot-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.doctor-slot-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 7px 6px 11px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.doctor-slot-time{font-weight:850;font-variant-numeric:tabular-nums}
.doctor-slot-state{font-size:.65rem;font-weight:800;color:var(--success,#2e7d32)}
.doctor-slot-icon{appearance:none;border:0;background:var(--surface-hover,#f3f3f3);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--text-secondary,#555);padding:0}
.doctor-slot-icon:hover{background:var(--gray-200,#e5e5e5)}
.doctor-slot-remove{font-size:18px;color:var(--error,#b3261e)}
.doctor-upcoming-tags{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.doctor-upcoming-day{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface)}
.doctor-upcoming-day>strong{display:block;font-size:.8rem;margin-bottom:8px}
.doctor-upcoming-times{display:flex;flex-wrap:wrap;gap:6px}.doctor-upcoming-tag{display:inline-flex;text-decoration:none;border-radius:999px;background:var(--surface-hover);border:1px solid var(--line);padding:5px 9px;font-size:.75rem;font-weight:800;color:inherit}
@media(max-width:560px){.avail-modal-body{padding:16px}.doctor-avail-modal .modal-head{padding:14px 16px}.avail-form-grid{grid-template-columns:1fr}.avail-actions>*{flex:1}.avail-time-tag{min-width:64px}}

/* Doctor patient/report list filters and pagination. */
.doctor-filter-bar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(160px,auto) auto;gap:8px;width:100%;align-items:center}
.doctor-filter-bar input,.doctor-filter-bar select{min-height:40px;width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:inherit}
.doctor-report-filter{grid-template-columns:minmax(200px,1fr) 150px 145px 145px auto auto}
.doctor-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.doctor-report-filter{grid-template-columns:1fr 1fr}.doctor-report-filter input[type=search]{grid-column:1/-1}.doctor-filter-bar{grid-template-columns:1fr 170px auto}}
@media(max-width:600px){.doctor-filter-bar,.doctor-report-filter{grid-template-columns:1fr}.doctor-report-filter input[type=search]{grid-column:auto}.doctor-filter-bar .btn{width:100%}}
.doctor-waiting-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:var(--space-4)}.doctor-waiting-sound{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:560px){.doctor-waiting-sound{width:100%}.doctor-waiting-sound .btn{flex:1}}

/* Marketing — simplified task-first workflow (2026-09-11) */
.marketing-page-header{margin-bottom:14px}
.marketing-page-header .page-sub{max-width:760px;display:block}
.marketing-status-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--line-light);border-radius:12px;background:var(--surface-hover)}
.marketing-status-strip>div{display:flex;align-items:center;gap:10px;min-width:0}.marketing-status-strip strong{font-size:.83rem}.marketing-status-strip span{font-size:.82rem;color:var(--text-muted)}
.marketing-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:4px;border:1px solid var(--line-light);border-radius:12px;background:var(--surface);scrollbar-width:thin}
.marketing-tab{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 12px;border-radius:9px;text-decoration:none;color:var(--text-muted);font-size:.84rem;font-weight:700;transition:background .15s ease,color .15s ease}
.marketing-tab:hover{background:var(--surface-hover);color:var(--text)}.marketing-tab.active{background:var(--primary);color:var(--on-primary,#fff)}.marketing-tab-muted{margin-left:auto;font-weight:600}
.marketing-primary-card{max-width:980px;margin-left:auto;margin-right:auto}.marketing-card-header{align-items:flex-start}.marketing-card-header h2{margin:0}.marketing-card-header p{margin:4px 0 0;color:var(--text-muted);font-size:.84rem}
.marketing-simple-form{max-width:860px}.marketing-simple-form>.form-group:last-child{margin-bottom:0}.marketing-large-input{font-size:1rem;min-height:48px}.marketing-message{font-size:.96rem;line-height:1.55;resize:vertical}
.marketing-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.marketing-help-inline{font-size:.78rem;color:var(--text-muted)}
.marketing-token-row{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 9px}.marketing-token{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 10px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.marketing-token:hover,.marketing-token:focus-visible{border-color:var(--primary);background:var(--primary-bg);outline:none}
.marketing-inline-feedback{min-height:22px;margin-top:5px;font-size:.8rem;font-weight:600}.marketing-inline-feedback.ok{color:var(--success)}.marketing-inline-feedback.error{color:var(--error)}
.marketing-message-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px;font-size:.78rem;color:var(--text-muted)}
.marketing-preview-card{margin-top:4px;margin-bottom:18px;padding:13px 14px;border:1px solid var(--line-light);border-radius:12px;background:var(--surface-hover);white-space:pre-wrap;line-height:1.5}.marketing-preview-label{text-transform:uppercase;letter-spacing:.05em;font-size:.69rem;font-weight:800;color:var(--text-muted);margin-bottom:5px}
.marketing-action-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}.marketing-action-row .sa-help{margin:0;max-width:460px}
.marketing-section{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--line-light)}.marketing-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.marketing-section-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.marketing-section-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--primary-bg);color:var(--primary);font-weight:800}.marketing-section-heading h3{margin:2px 0 2px;font-size:1rem}.marketing-section-heading p{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.45}
.marketing-list-input{font-family:inherit;line-height:1.55}.marketing-format-guide{margin-top:12px;padding:12px 14px;border:1px solid var(--line-light);border-radius:12px;background:var(--surface-hover)}.marketing-format-title{font-size:.82rem;font-weight:800;margin-bottom:8px}.marketing-format-guide p{margin:8px 0 0;font-size:.76rem;color:var(--text-muted)}.marketing-table-scroll{overflow-x:auto}
.marketing-format-table{width:100%;border-collapse:collapse;font-size:.78rem}.marketing-format-table th,.marketing-format-table td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--line-light);vertical-align:top}.marketing-format-table th{color:var(--text-muted);font-size:.71rem;text-transform:uppercase;letter-spacing:.04em}.marketing-format-table tr:last-child td{border-bottom:0}
.marketing-preview-table{font-size:.82rem;border-collapse:collapse}.marketing-preview-table th,.marketing-preview-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line-light)}.marketing-recipient-table-wrap{border:1px solid var(--line-light);border-radius:12px;background:var(--surface);padding:12px}.marketing-recipient-table-title{font-size:.82rem;font-weight:800;margin:0 0 8px}.marketing-preview-table th{background:var(--surface-hover);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.marketing-preview-table th:first-child{border-top-left-radius:8px}.marketing-preview-table th:last-child{border-top-right-radius:8px}
.marketing-more-options{margin-top:14px;border:1px solid var(--line-light);border-radius:12px;background:var(--surface)}.marketing-more-options summary{cursor:pointer;padding:11px 13px;font-size:.82rem;font-weight:700;color:var(--text-muted)}.marketing-details-body{padding:4px 13px 13px}
.marketing-channel-options{display:flex;gap:8px;flex-wrap:wrap}.marketing-channel-choice input{position:absolute;opacity:0;pointer-events:none}.marketing-channel-choice span{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:9px 13px;background:var(--surface);font-size:.84rem;font-weight:700;cursor:pointer}.marketing-channel-choice input:checked+span{border-color:var(--primary);background:var(--primary-bg);color:var(--primary)}.marketing-channel-choice input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.marketing-email-box{padding:14px;border:1px solid var(--line-light);border-radius:12px;background:var(--surface-hover)}.marketing-email-box .form-group:last-of-type{margin-bottom:8px}.marketing-optional{font-weight:400;color:var(--text-muted);font-size:.76rem}.marketing-check-row{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.84rem}.marketing-review-section{padding-bottom:0}
@media(max-width:760px){.marketing-status-strip{align-items:flex-start}.marketing-status-strip>div{align-items:flex-start;flex-direction:column;gap:2px}.marketing-tab-muted{margin-left:0}.marketing-primary-card{max-width:none}.marketing-section-heading{gap:9px}.marketing-action-row{align-items:stretch}.marketing-action-row .btn{width:100%;justify-content:center}.marketing-tabs{border-radius:10px}.marketing-format-table{min-width:620px}}


/* Marketing direct-send recipient builder */
.quick-recipient-entry{
  display:grid;
  grid-template-columns:minmax(180px,1.15fr) minmax(150px,.8fr) minmax(220px,1.25fr) auto;
  gap:10px;
  align-items:end;
}
.quick-entry-field{min-width:0}
.quick-entry-field>span{
  display:block;
  margin:0 0 6px;
  font-size:.78rem;
  font-weight:700;
  color:var(--text-muted);
}
.quick-add-recipient{min-height:42px;white-space:nowrap}
.quick-recipient-list-wrap{
  margin:0 0 22px;
  border:1px solid var(--line-light);
  border-radius:14px;
  overflow:hidden;
  background:var(--surface);
}
.quick-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid var(--line-light);
  background:var(--surface-hover);
}
.quick-recipient-table-scroll{overflow-x:auto}
.quick-recipient-table{width:100%;border-collapse:collapse}
.quick-recipient-table th,.quick-recipient-table td{
  padding:10px 12px;
  text-align:left;
  border-top:1px solid var(--line-light);
  vertical-align:middle;
}
.quick-recipient-table thead th{
  border-top:0;
  font-size:.76rem;
  color:var(--text-muted);
  font-weight:800;
  background:var(--surface);
}
.quick-recipient-table th:last-child,.quick-recipient-table td:last-child{
  width:1%;
  white-space:nowrap;
  text-align:right;
}
.quick-remove-recipient{
  border:0;
  background:transparent;
  color:var(--error);
  font:inherit;
  font-size:.8rem;
  font-weight:700;
  cursor:pointer;
  padding:6px 8px;
  border-radius:8px;
}
.quick-remove-recipient:hover{background:color-mix(in srgb,var(--error) 8%,transparent)}
.quick-channel-options{display:flex;flex-wrap:wrap;gap:8px}
.quick-channel-option{position:relative;cursor:pointer}
.quick-channel-option input{position:absolute;opacity:0;pointer-events:none}
.quick-channel-option span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:8px 14px;
  border:1px solid var(--line-light);
  border-radius:10px;
  background:var(--surface);
  font-weight:700;
  color:var(--text-secondary);
}
.quick-channel-option input:checked+span{
  border-color:var(--primary);
  background:color-mix(in srgb,var(--primary) 8%,var(--surface));
  color:var(--primary);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent);
}
.quick-checkbox-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:12px 0 4px;
  padding:10px 12px;
  border:1px solid var(--line-light);
  border-radius:10px;
  cursor:pointer;
}
.quick-checkbox-row input{margin-top:3px}
.quick-checkbox-row span{display:flex;flex-direction:column;gap:2px}
.quick-checkbox-row small{color:var(--text-muted)}
.quick-send-summary{
  margin:6px 0 14px;
  padding:10px 12px;
  border-radius:10px;
  background:var(--surface-hover);
  color:var(--text-secondary);
  font-size:.88rem;
}
@media (max-width:900px){
  .quick-recipient-entry{grid-template-columns:1fr 1fr}
  .quick-entry-field:nth-child(3){grid-column:1/-1}
  .quick-add-recipient{width:100%}
}
@media (max-width:620px){
  .quick-recipient-entry{grid-template-columns:1fr}
  .quick-entry-field:nth-child(3){grid-column:auto}
  .quick-channel-options{display:grid;grid-template-columns:1fr}
  .quick-channel-option span{width:100%;justify-content:center}
  .quick-list-head{align-items:flex-start}
}

/* Campaign history: make saved communication content easy to inspect/edit. */
.campaign-message-grid{display:grid;gap:14px}
.campaign-message-panel{border:1px solid var(--line-light);background:var(--surface);border-radius:14px;overflow:hidden}
.campaign-message-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface-hover);border-bottom:1px solid var(--line-light)}
.campaign-message-title>div{display:grid;gap:4px}
.campaign-message-title strong{display:flex;align-items:center;gap:7px;font-size:.95rem}
.campaign-message-title small{color:var(--text-muted);line-height:1.4}
.campaign-message-copy{padding:16px;white-space:normal;line-height:1.6;overflow-wrap:anywhere}
.campaign-editor{border:1px solid var(--line-light);border-radius:14px;padding:18px;background:var(--surface)}
.campaign-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.campaign-editor-head h3{margin:0 0 4px;font-size:1rem}
.campaign-editor-head p{margin:0;color:var(--text-muted);font-size:.84rem}
@media (max-width:700px){.campaign-message-title,.campaign-editor-head{flex-direction:column;align-items:stretch}.campaign-editor-head .btn{width:100%}}
