
:root{ --sc-orange:#F26A21; --sc-black:#0B0B0B; }
.sc-portal{ background: var(--sc-black); min-height:100vh; }
.sc-topbar{ display:flex; justify-content:space-between; align-items:center; padding:22px 24px; border-bottom:1px solid rgba(255,255,255,.08); background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0)); }
.sc-brand{ color:#fff; font-weight:800; letter-spacing:-.6px; font-size:20px; }
.sc-sub{ color:rgba(255,255,255,.7); font-size:14px; }
.sc-top-left{ display:flex; gap:12px; align-items:baseline; }
.sc-top-right{ display:flex; gap:14px; align-items:center; }
.sc-user{ color:#fff; opacity:.9; font-size:13px; }
.sc-link{ color:#fff; opacity:.85; text-decoration:none; }
.sc-link:hover{ opacity:1; text-decoration:underline; }
.sc-nav{ display:flex; gap:10px; padding:14px 24px; }
.sc-tab{ padding:10px 14px; border-radius:999px; background:#fff; color:#111; text-decoration:none; font-weight:700; font-size:13px; }
.sc-tab.is-active{ background:var(--sc-orange); color:#fff; }
.sc-container{ padding:18px 24px 60px; }
.sc-card{ background:#fff; border-radius:18px; padding:18px; box-shadow:0 30px 90px rgba(0,0,0,.35); }
.sc-card-full{ width:100%; }
.sc-card-head h1{ margin:0 0 6px; font-size:40px; letter-spacing:-1px; }
.sc-muted{ color:#666; }
.sc-grid-2{ display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }
@media(max-width:1100px){ .sc-grid-2{ grid-template-columns:1fr; } }
.sc-panel{ background:#fff; border-radius:16px; padding:14px; border:1px solid #eee; }
.sc-hr{ border:0; border-top:1px solid #eee; margin:14px 0; }
.sc-btn{ border-radius:999px; padding:10px 14px; font-weight:800; border:1px solid transparent; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.sc-btn-primary{ background:var(--sc-orange); color:#fff; }
.sc-btn-outline{ background:#fff; color:#111; border-color:#ddd; }
.sc-btn-ghost{ background:transparent; color:#111; border-color:#ddd; }
.sc-table{ width:100%; border-collapse:collapse; }
.sc-table th,.sc-table td{ border:1px solid #eee; padding:10px; text-align:left; font-size:14px; }
.sc-table th{ background:#fafafa; }
.sc-actions{ white-space:nowrap; }
.sc-pill{ display:inline-block; padding:3px 10px; border-radius:999px; background:#fff2ea; color:#8b3b10; font-weight:800; font-size:12px; border:1px solid #ffd7c2; }
.sc-form .sc-row{ margin:10px 0; }
.sc-form label{ display:block; font-weight:800; margin-bottom:6px; }
.sc-form input,.sc-form select{ width:100%; padding:10px 12px; border-radius:12px; border:1px solid #ddd; font-size:14px; }
.sc-row-inline label{ display:flex; gap:10px; align-items:center; font-weight:800; }
.sc-quick{ display:flex; flex-wrap:wrap; gap:10px; }
.sc-alert{ padding:10px 12px; border-radius:12px; margin:0 0 12px; font-weight:800; }
.sc-alert-ok{ background:#ecfff3; border:1px solid #b7f4cf; color:#0a6b33;}
.sc-alert-warn{ background:#fff7e6; border:1px solid #ffd59a; color:#7a4a00;}
.sc-patient-list{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sc-patient-card{ border:1px solid #eee; border-radius:14px; padding:10px; }
.sc-patient-name{ font-weight:900; }
.sc-calendar{ margin-top:10px; }
.sc-cal-head{ display:grid; grid-template-columns:repeat(7,1fr); gap:10px; color:#666; font-weight:900; padding:0 2px 10px; }
.sc-cal-row{ display:grid; grid-template-columns:repeat(7,1fr); gap:10px; margin-bottom:10px; }
.sc-cal-cell{ min-height:96px; border:1px solid #eee; border-radius:14px; padding:10px; background:#fff; }
.sc-cal-date{ font-weight:900; color:#333; font-size:13px; }
.sc-cal-item{ margin-top:6px; display:inline-block; padding:4px 8px; border-radius:999px; background:#fff2ea; border:1px solid #ffd7c2; font-weight:900; font-size:12px; }
.sc-modal{ display:none; position:fixed; inset:0; z-index:9999; }
.sc-modal[aria-hidden="false"]{ display:block; }
.sc-modal-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.6); }
.sc-modal-dialog{ position:relative; width:min(720px, calc(100% - 24px)); margin:8vh auto; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 30px 90px rgba(0,0,0,.45); }
.sc-modal-head{ display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border-bottom:1px solid #eee; }
.sc-modal-title{ font-weight:1000; }
.sc-x{ background:transparent; border:1px solid #ddd; border-radius:999px; width:38px; height:38px; font-size:20px; cursor:pointer; }
.sc-modal-body{ padding:16px; }
.sc-modal-foot{ display:flex; gap:10px; justify-content:flex-end; margin-top:12px; }
.sc-result{ margin-top:10px; padding:10px 12px; border-radius:12px; background:#f4f4f4; border:1px solid #eaeaea; }

/* Force-hide WP admin bar for portal roles */
#wpadminbar{display:none!important;}
html{margin-top:0!important;}
body.admin-bar{margin-top:0!important;}


/* ===== SpraakCentraal Cards Grid (3-col responsive) ===== */
.sc-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}
@media (max-width: 1100px){
  .sc-cards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 680px){
  .sc-cards{ grid-template-columns: 1fr; }
}
.sc-card{
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  padding: 16px 16px 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);
}
.sc-card-title{
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px 0;
  letter-spacing: .2px;
}
.sc-card-sub{
  font-size: 13px;
  opacity: .85;
  margin: -6px 0 12px 0;
}
.sc-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 12px;
}
.sc-kpi{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.sc-kpi .sc-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius: 999px;
  background: rgba(255,138,0,0.12);
  border: 1px solid rgba(255,138,0,0.30);
  font-size: 13px;
}
.sc-kpi .sc-pill strong{ font-weight: 800; }



/* ===== UI readability patch (cards + forms) ===== */

/* Headings on dark background */
.sc-card-head h1, .sc-card-head h2, .sc-card-head h3{ color:#fff !important; }
.sc-muted{ color: rgba(255,255,255,0.72) !important; }

/* Make cards match portal theme */
.sc-card{
  background: rgba(0,0,0,0.55) !important;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 24px rgba(0,0,0,0.25) !important;
}
.sc-panel{
  background: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
}

/* Page header */
.sc-page-header{ margin: 10px 0 18px 0; }
.sc-page-title{
  font-size: 40px; line-height: 1.05; margin: 0 0 8px 0;
  font-weight: 800; color: var(--sc-orange);
}
.sc-page-subtitle{ margin:0; font-size:15px; opacity:.85; color:#fff; }

/* Cards grid (3-col responsive) */
.sc-cards, .sc-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}
@media (max-width:1100px){
  .sc-cards, .sc-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:680px){
  .sc-cards, .sc-grid{ grid-template-columns: 1fr; }
}
.sc-card--span2{ grid-column: span 2; }
.sc-card--span3{ grid-column: 1 / -1; }
@media (max-width:1100px){
  .sc-card--span2{ grid-column: 1 / -1; }
}

/* Forms readability */
.sc-form-row label{ color:#fff; }
.sc-form-row input, .sc-form-row select, .sc-form-row textarea{
  background:#fff; color:#111;
  border-radius: 12px;
}

/* Tables on dark */
.sc-table{ background: #ffffff !important; }
.sc-table th, .sc-table td{ color:#fff !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; }

/* Buttons: keep orange primary */
.sc-btn-ghost{ color:#fff !important; border-color: rgba(255,255,255,0.18) !important; }
.sc-btn-outline{ color:#fff !important; background: transparent !important; border-color: rgba(255,255,255,0.18) !important; }



/* ===== White Cards Theme (requested) ===== */
.sc-card{
  background:#fff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.22) !important;
}
.sc-card-title{ color:#111 !important; }
.sc-card-sub, .sc-help{ color:#111 !important; opacity:.78 !important; }
.sc-divider{ background: rgba(0,0,0,0.08) !important; }

/* Tables on white cards */
.sc-table{
  background: rgba(0,0,0,0.02) !important;
}
.sc-table th, .sc-table td{
  color:#111 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}
.sc-table th{ opacity:.75 !important; }

/* Form labels inside cards */
.sc-form-row label{ color:#111 !important; opacity:.85 !important; }
.sc-form-row input,
.sc-form-row select,
.sc-form-row textarea{
  border: 1px solid rgba(0,0,0,0.14) !important;
  background:#fff !important;
  color:#111 !important;
}

/* Links */
.sc-card a{ color:#ff8a00 !important; }
.sc-card a:hover{ text-decoration: underline; }

/* Secondary buttons on white cards */
.sc-btn{
  border-color: rgba(0,0,0,0.14) !important;
  background: rgba(0,0,0,0.03) !important;
  color:#111 !important;
}
.sc-btn:hover{ background: rgba(0,0,0,0.06) !important; }
.sc-btn-primary{
  background:#ff8a00 !important;
  border-color: rgba(255,138,0,0.55) !important;
  color:#111 !important;
}
.sc-btn-ghost{
  background: transparent !important;
  border-color: rgba(0,0,0,0.16) !important;
  color:#111 !important;
}

/* Pills */
.sc-kpi .sc-pill{
  background: rgba(255,138,0,0.14) !important;
  border-color: rgba(255,138,0,0.30) !important;
  color:#111 !important;
}

/* Alerts */
.sc-alert{
  background: rgba(0,0,0,0.03) !important;
  border-color: rgba(0,0,0,0.10) !important;
  color:#111 !important;
}
.sc-alert-danger{
  background: rgba(255,80,80,0.10) !important;
  border-color: rgba(255,80,80,0.35) !important;
  color:#111 !important;
}



/* ===== White Cards Theme refinements (borders & text) ===== */

/* Make field borders clearer */
.sc-form-row input,
.sc-form-row select,
.sc-form-row textarea{
  border: 2px solid rgba(0,0,0,0.22) !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02) inset;
}
.sc-form-row input:focus,
.sc-form-row select:focus,
.sc-form-row textarea:focus{
  border-color: rgba(255,138,0,0.85) !important;
  box-shadow: 0 0 0 3px rgba(255,138,0,0.18);
}

/* Catch-all for any fields not wrapped in .sc-form-row */
.sc-card input[type="text"],
.sc-card input[type="email"],
.sc-card input[type="tel"],
.sc-card input[type="url"],
.sc-card input[type="number"],
.sc-card input[type="password"],
.sc-card select,
.sc-card textarea{
  border: 2px solid rgba(0,0,0,0.22) !important;
  border-radius: 12px;
}
.sc-card input[type="text"]:focus,
.sc-card input[type="email"]:focus,
.sc-card input[type="tel"]:focus,
.sc-card input[type="url"]:focus,
.sc-card input[type="number"]:focus,
.sc-card input[type="password"]:focus,
.sc-card select:focus,
.sc-card textarea:focus{
  border-color: rgba(255,138,0,0.85) !important;
  box-shadow: 0 0 0 3px rgba(255,138,0,0.18);
  outline: none;
}

/* Some texts were inheriting white: force black in cards */
.sc-card, .sc-card *{
  color:#111 !important;
}
/* Keep primary button readable */
.sc-card .sc-btn-primary{ color:#111 !important; }

/* Calendar day borders clearer (supports multiple possible classnames) */
.sc-cal-day, .sc-cal-grid .sc-cal-day, .sc-calendar-grid .sc-cal-day,
.sc-agenda-day, .sc-agenda-grid .sc-agenda-day,
.sc-day{
  border: 1px solid rgba(0,0,0,0.14) !important;
}



/* Calendar cells clearer */
.sc-cal-cell{
  border: 1px solid rgba(0,0,0,0.14) !important;
  background: rgba(0,0,0,0.01);
}
.sc-cal-head{
  color:#111 !important;
}



/* ===== Header + button sizing tweaks ===== */

/* Smaller page headers across tabs */
.sc-page-title{
  font-size: 32px !important;
  line-height: 1.10 !important;
}
.sc-page-subtitle{
  font-size: 14px !important;
}

/* Ensure headings inside white cards are dark (some themes override) */
.sc-card h1, .sc-card h2, .sc-card h3, .sc-card h4, .sc-card h5, .sc-card h6{
  color:#111 !important;
}

/* Make in-tab buttons match the tab button vibe (smaller) */
.sc-btn{
  padding: 8px 12px !important;
  font-size: 13px !important;
}
.sc-btn-primary{ padding: 8px 12px !important; }
.sc-card .sc-btn{ border-radius: 999px !important; }

/* Tighten card titles a touch */
.sc-card-title{
  font-size: 15px !important;
  margin-bottom: 8px !important;
}

/* If any legacy headings are forced white, neutralize */
.sc-portal h1, .sc-portal h2, .sc-portal h3{
  color: inherit;
}



/* Nav pills sizing */
.sc-nav a, .sc-nav button, .sc-nav .sc-tab{
  font-size: 13px !important;
  padding: 9px 14px !important;
}



/* ===== Restore default header + button sizing (match Documents/My profile/Settings) ===== */
.sc-page-title{
  font-size: 40px !important;
  line-height: 1.05 !important;
}
.sc-page-subtitle{
  font-size: 15px !important;
}

/* Buttons inside tabs same size as menu pills */
.sc-btn{
  padding: 10px 14px !important;
  font-size: 14px !important;
}
.sc-btn-primary{ padding: 10px 14px !important; }



/* Nav pills: keep comfy size */
.sc-nav a, .sc-nav button, .sc-nav .sc-tab{
  font-size: 14px !important;
  padding: 10px 16px !important;
}



/* ===== Orange headings + button text rules ===== */

/* Page headers in orange */
.sc-page-header .sc-page-title{
  color: #ff8a00 !important;
}

/* Buttons: orange bg -> white text */
.sc-btn-primary{
  color: #fff !important;
}
.sc-btn-primary:hover{
  color: #fff !important;
}

/* Buttons with white background should have black text */
.sc-btn, .sc-btn-ghost, .sc-btn-secondary{
  color: #111 !important;
}

/* Nav pill active (orange) uses white text */
.sc-nav a.is-active, .sc-nav .is-active, .sc-nav .sc-tab.is-active{
  color:#fff !important;
}


/* ---- Agenda sidebar: tasks/reminders ---- */
.sc-stack { display: flex; flex-direction: column; gap: 18px; }
.sc-list { display: flex; flex-direction: column; gap: 10px; }
.sc-list-item { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; padding: 10px 12px; border: 1px solid rgba(0,0,0,0.08); border-radius: 14px; background: #fff; }
.sc-list-main { min-width: 0; }
.sc-list-title { font-weight: 700; font-size: 14px; color: #111; line-height: 1.3; }
.sc-list-meta { margin-top: 6px; display: flex; gap: 8px; flex-wrap: wrap; }
.sc-list-actions { display: flex; gap: 6px; }
.sc-inline { display: inline; }
.sc-strike { text-decoration: line-through; opacity: 0.6; }

@media (max-width: 980px) {
  .sc-stack { gap: 14px; }
}



/* =========================
   Agenda: month + side panels
   ========================= */

/* Ensure Agenda panels use the same white-card styling as the other tabs */
.sc-agenda-grid .sc-panel,
.sc-agenda-grid .sc-panel.sc-panel-muted{
  background:#fff;
  color:#111;
  border:1px solid #e6e6e6;
}
.sc-agenda-grid .sc-panel h2,
.sc-agenda-grid .sc-panel h3,
.sc-agenda-grid .sc-panel h4{
  color:#111;
}
.sc-agenda-grid .sc-panel .sc-muted{ color:#666; }

.sc-agenda-grid{
  display:grid;
  grid-template-columns: 1.7fr 1fr;
  gap:24px;
  align-items:start;
}
@media (max-width: 980px){
  .sc-agenda-grid{ grid-template-columns: 1fr; }
}

.sc-month-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.sc-month-title .sc-kicker{
  font-size:12px;
  opacity:.7;
  margin-bottom:4px;
}
.sc-h3{
  font-size:18px;
  font-weight:800;
  margin:0;
}
.sc-month-actions{ display:flex; gap:10px; flex-wrap:wrap; }

.sc-month-grid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:12px;
}
.sc-month-grid--head{ margin-bottom:12px; }
.sc-month-weekday{
  font-weight:800;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#111;
  opacity:.7;
  padding:0 4px;
}

.sc-month-cell{
  border:1px solid #D9D9D9;
  border-radius:14px;
  padding:10px 10px 12px;
  background:#fff;
  min-height:92px;
  position:relative;
}
.sc-month-cell--empty{
  background:#F7F7F7;
  border-color:#EEEEEE;
}
.sc-month-cell--today{
  border-color: var(--sc-orange);
  box-shadow: 0 0 0 2px rgba(255, 123, 0, .12);
}
.sc-month-daynum{
  font-weight:900;
  font-size:12px;
  color:#111;
  margin-bottom:8px;
}
.sc-month-empty{
  opacity:.35;
  font-weight:700;
  font-size:12px;
}

.sc-month-appts{ display:flex; flex-direction:column; gap:6px; }
.sc-appt-pill{
  font-size:12px;
  line-height:1.2;
  border:1px solid #E6E6E6;
  border-radius:999px;
  padding:6px 8px;
  background:#FAFAFA;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sc-appt-time{
  font-weight:900;
  margin-right:6px;
}
.sc-appt-pill--more{
  background: #fff6ef;
  border-color: #ffd4ba;
  color:#7A2A00;
}

/* Task list */
.sc-task-list{
  list-style:none;
  padding:0;
  margin:12px 0 0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.sc-task-item{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid #E6E6E6;
  border-radius:14px;
  background:#FAFAFA;
}
.sc-task-item.is-done{ opacity:.55; text-decoration:line-through; }
.sc-task-title{ font-weight:800; }
.sc-task-due{ font-weight:800; opacity:.7; }


/* ===== Modal (Invite) ===== */
.sc-modal{ position:fixed; inset:0; z-index:99999; }
.sc-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.65); }
.sc-modal__dialog{
  position:relative;
  width:min(920px, calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  overflow:auto;
  margin:12px auto;
  background:#fff;
  color:#111;
  border-radius:22px;
  box-shadow:0 25px 60px rgba(0,0,0,.35);
  padding:18px;
}
.sc-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid #EEE;
}
.sc-modal__head h3{
  margin:0;
  font-size:20px;
  font-weight:900;
  color:#111;
}
.sc-modal__body{ padding:14px 0; }
.sc-modal__foot{
  padding-top:12px;
  border-top:1px solid #EEE;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.sc-modal .sc-card--white{ border:1px solid #EEE; }
.sc-modal .sc-card__title{ margin:0 0 8px; font-weight:900; }
.sc-modal .sc-muted{ color:#444; }
.sc-modal .sc-btn.sc-btn-ghost{
  background:transparent;
  border:1px solid #E6E6E6;
  width:40px;
  height:40px;
  border-radius:999px;
  font-size:22px;
  line-height:1;
}
.sc-modal .sc-btn.sc-btn-ghost:hover{ border-color:#f28c2a; color:#f28c2a; }



/* Agenda tools: subtabs + collapse */
.sc-tools-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sc-tools-tabs { display:flex; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.sc-tools-tabs .sc-subtab { padding:10px 16px; font-size:14px; line-height:1; }
.sc-tools-panels .sc-tools-panel { }
.sc-tools-panel[hidden]{ display:none !important; }

/* Ghost button (used for collapse) */
.sc-btn.sc-btn--ghost{
  background: transparent;
  border: 1px solid rgba(0,0,0,0.15);
  color: #111;
}
.sc-btn.sc-btn--ghost:hover{
  background: rgba(0,0,0,0.04);
}

/* Ensure panels are readable even if a legacy glass style leaks through */
.sc-agenda-month,
.sc-agenda-tools{
  background:#fff !important;
  border:1px solid #e8e8e8 !important;
}
