/* CannaData · selected botanical CD identity. Presentation only; no behavior. */
:root, .patient-app, .technical-app, .public-app, .medical-dashboard {
  --cd-navy:#172d48; --cd-turquoise:#31b8ab; --cd-teal:#087b73;
  --cd-paper:#faf9f6; --cd-mint:#e8f5f2; --cd-border:#dce5e8;
  --ink:#172d48; --text:#172d48; --navy:#172d48; --dark:#172d48;
  --green:#087b73; --muted:#5e7081; --line:#dce5e8; --bg:#faf9f6;
  --canvas:#faf9f6; --mint:#e8f5f2; --pale:#e8f5f2; --lime:#a8e4dc;
  --radius:16px; --shadow:0 5px 24px #172d4808;
  --patient-green:#087b73; --patient-ink:#172d48; --patient-muted:#5e7081;
  --patient-line:#dce5e8; --patient-mint:#e8f5f2;
  --tech-green:#087b73; --tech-ink:#172d48; --tech-muted:#5e7081; --tech-line:#dce5e8;
  --public-green:#087b73; --public-dark:#172d48; --public-muted:#5e7081;
  --md-ink:#172d48; --md-muted:#5e7081; --md-border:#dce5e8; --md-sage:#e8f5f2; --md-green:#087b73;
  --demo-green:#172d48; --demo-ink:#172d48; --demo-muted:#5e7081; --demo-line:#dce5e8; --demo-canvas:#faf9f6;
  --sim-green:#172d48; --sim-text:#172d48; --sim-muted:#5e7081; --sim-line:#dce5e8; --sim-bg:#faf9f6;
  --fu-green:#172d48; --fu-text:#172d48; --fu-muted:#5e7081; --fu-line:#dce5e8; --fu-bg:#faf9f6;
  --ir-green:#172d48; --ir-text:#172d48; --ir-muted:#5e7081; --ir-line:#dce5e8; --ir-bg:#faf9f6;
}
html { color:var(--cd-navy); background:var(--cd-paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
body { color:var(--cd-navy); }
::selection { color:#172d48; background:#a8e4dc; }
h1,h2,h3 { text-wrap:balance; }
/* SVG display viewport embeds the original PNG byte-for-byte; no raster resampling or tracing. */
img.cd-wordmark { display:block; width:232px; height:44px; max-width:100%; object-fit:contain; object-position:center; flex:0 1 auto; min-width:0; border-radius:6px; background:#faf9f6; }
.logo, .access-brand, .brand, .mobile-brand, .institution-brand, .tech-brand, .public-brand, .patient-brand, .demo-brand, .admin-brand, .simulation-brand, .fu-brand, .ir-brand { gap:8px; min-width:0; text-decoration:none; }
.brand:has(.cd-brand-context), .mobile-brand:has(.cd-brand-context), .tech-brand:has(.cd-brand-context), .public-brand:has(.cd-brand-context) { flex-wrap:wrap; }
.cd-brand-context { display:block; flex-basis:100%; font-size:10px; font-weight:600; letter-spacing:.07em; color:inherit; line-height:1.5; }
.sidebar .logo { padding-inline:0; }
.sidebar .brand { padding-inline:8px; }
.sidebar .cd-wordmark, .tech-sidebar .cd-wordmark { width:208px; height:40px; }
.institution-brand, .admin-brand { padding:26px 22px 20px; }
.access-brand .cd-wordmark { width:288px; height:54px; }
.patient-brand .cd-wordmark { width:208px; height:40px; }
.mobile-brand .cd-wordmark { width:150px; height:29px; }
.mobile-brand .cd-brand-context { max-width:155px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:0; }
/* Keep each portal's existing geometry, breakpoints, visibility and navigation. */
.sidebar { background:#172d48; color:#d9e7ec; }
.sidebar .nav-link, .sidebar .side-bottom a { color:#d9e7ec; }
.sidebar .nav-link.active { background:#a8e4dc; color:#172d48; }
.sidebar .side-label, .sidebar .version { color:#b6cbd6; }
.institution-sidebar, .admin-sidebar, .patient-sidebar, .tech-sidebar { border-color:#dce5e8; }
.institution-nav-item.active, .nav-item.active, .patient-side-nav a.active { background:#e8f5f2; color:#075f5a; }

.institution-hero { background-image:linear-gradient(115deg,#172d48,#23445d); }
.institution-hero p { color:#c9dce5; }
.institution-hero .institution-eyebrow { color:#a8e4dc; }
.topbar, .institution-topbar, .admin-topbar, .patient-topbar { border-color:#dce5e8; }
.access-page { background:radial-gradient(ellipse at 15% 8%,#d9f0eb,transparent 55%),radial-gradient(ellipse at 90% 95%,#e1e8ef,transparent 48%),#faf9f6; }
.access-card { border-color:#dce5e8; box-shadow:0 20px 70px #172d4810; }
.access-card strong { color:#172d48; }
.access-card p, .access-footer { color:#5e7081; }
.card, .institution-card, .patient-card, .tech-card, .ir-card, .stat, .dashboard-card, .copilot-module-card { border-color:#dce5e8; box-shadow:0 4px 20px #172d4806; }
.card, .institution-card, .patient-card, .tech-card, .ir-card, .dashboard-card { border-radius:16px; }
.btn, .button, .institution-button, .patient-button, .tech-button, .public-button, .demo-button, .simulation-button, .fu-button, .ir-button { border-radius:10px; transition:background-color .16s,border-color .16s,box-shadow .16s; }
.btn.primary, .button.primary, .institution-button.primary, .patient-button.primary, .tech-button.primary, .public-button.primary, .demo-button.primary, .simulation-button.primary, .fu-button.primary, .ir-button.primary { color:white; background:#087b73; border-color:#087b73; }
.btn.primary:hover:not(:disabled), .button.primary:hover:not(:disabled), .institution-button.primary:hover:not(:disabled), .patient-button.primary:hover:not(:disabled), .tech-button.primary:hover:not(:disabled), .public-button.primary:hover:not(:disabled) { background:#06635d; border-color:#06635d; }
.btn.lime { background:#31b8ab; border-color:#31b8ab; color:#172d48; }
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]), select, textarea { border-color:#b9cbd1; border-radius:9px; color:#172d48; }
input[type=checkbox], input[type=radio], input[type=range] { accent-color:#087b73; }
input::placeholder, textarea::placeholder { color:#667a88; opacity:1; }
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #087b73; outline-offset:3px; }
.sidebar :is(a,button,select):focus-visible { outline-color:#a8e4dc; }
table { font-variant-numeric:tabular-nums; }
th { color:#526779; background-color:#f0f5f5; }
td { border-bottom-color:#e4ebee; }
tbody tr.clickable:hover { background:#f0f8f6; }
dialog { color:#172d48; border-color:#dce5e8; border-radius:18px; box-shadow:0 24px 80px #172d4838; }
dialog::backdrop { background:#172d4870; }
.empty, .institution-empty, .tech-empty, .md-empty-state, .dashboard-empty, .demo-empty, .fu-empty { color:#5e7081; line-height:1.7; }
.empty .icon, .institution-empty .icon, .md-empty-icon { color:#087b73; }
@media(max-width:600px) {
  .access-card { padding:28px 22px; }
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea { font-size:16px; }
  .public-brand .cd-wordmark, .demo-brand .cd-wordmark, .simulation-brand .cd-wordmark, .fu-brand .cd-wordmark, .ir-brand .cd-wordmark { width:170px; height:32px; }
  .btn,.button,.institution-button,.patient-button,.tech-button,.public-button { min-height:44px; }
  .cd-brand-context { font-size:9px; }
}
@media(max-width:380px) {
  .mobile-brand .cd-wordmark { width:128px; height:25px; }
  .mobile-brand .cd-brand-context { max-width:128px; }
  .public-header .public-brand .cd-wordmark { width:136px; height:26px; }
}
@media(prefers-reduced-motion:reduce) {
  .btn,.button,.institution-button,.patient-button,.tech-button,.public-button,.demo-button,.simulation-button,.fu-button,.ir-button { transition:none; }
}
@media(forced-colors:active) { :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline-color:Highlight; } }
@media print {
  .card,.institution-card,.patient-card,.tech-card { box-shadow:none; }
  .hero,.dashboard-hero,.institution-hero,.demo-hero,.simulation-hero,.fu-hero,.ir-hero { background:#fff; color:#172d48; box-shadow:none; }
  .hero p,.hero h1,.hero h2,.dashboard-hero p,.dashboard-hero h2,.institution-hero p,.institution-hero .institution-eyebrow,.demo-hero p,.simulation-hero p,.fu-hero p,.ir-hero p { color:#172d48; }
}
