/* Minder · shared interface foundations. Bootstrap supplies the grid and behavior.
   Palette: original Minder teal / dark teal / gold. One complete light theme. */
:root {
  color-scheme: light;
  --minder-teal: #367588;
  --minder-teal-dark: #24515e;
  --minder-teal-light: #f0f9fa;
  --minder-gold: #d4af37;
  --minder-gold-dark: #b8860b;
  --minder-slate: #334155;
  --minder-navy: #0f172a;
  --primary: var(--minder-teal);
  --primary-hover: var(--minder-teal-dark);
  --secondary: var(--minder-slate);
  --ink: #263b40;
  --muted: #5e6c70;
  --paper: #f8f7f3;
  --surface: #fff;
  --surface-muted: #efeee8;
  --surface-brand: #eaf2f3;
  --hairline: #dbdfdb;
  --hairline-dark: #82908f;
  --success: #276749;
  --warning: #865a14;
  --danger: #b03939;
  --info: #28647c;
  --light: var(--paper);
  --dark: var(--ink);
  --white: #fff;
  --minder-white: #fff;
  --bs-primary: var(--primary);
  --bs-primary-rgb: 54,117,136;
  --bs-success: var(--success);
  --bs-success-rgb: 39,103,73;
  --bs-danger-rgb: 176,57,57;
  --bs-warning-rgb: 134,90,20;
  --bs-info-rgb: 40,100,124;
  --bs-dark-rgb: 38,59,64;
  --bs-body-color: var(--ink);
  --font-body: 'Nunito Sans', 'Noto Sans Armenian', system-ui, sans-serif;
  --font-heading: 'Red Hat Display', 'Noto Sans Armenian', system-ui, sans-serif;
  --font-editorial: Georgia, 'Noto Serif Armenian', serif;
  --text-xs: .75rem;
  --text-sm: .875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 3px #263b4006;
  --shadow-md: 0 5px 20px #263b4009;
  --shadow-lg: 0 12px 40px #263b4012;
  --shadow-xl: 0 20px 60px #263b401c;
  --shadow-inner: inset 0 1px 3px #263b4008;
  --transition-fast: 140ms ease;
  --transition-base: 200ms ease;
  --container-max: 1280px;
  --header-height: 76px;
}
html:lang(hy) { --font-heading: var(--font-editorial); }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 120px; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; background: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-wrap: break-word; }
a { color: var(--minder-teal-dark); text-underline-offset: .2em; }
a:hover { color: var(--primary); }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { color: var(--ink); font-family: var(--font-heading); font-weight: 650; line-height: 1.25; letter-spacing: -.025em; }
h1,.h1 { font-size: clamp(2rem,3.4vw,3rem); }
h2,.h2 { font-size: clamp(1.65rem,2.6vw,2.25rem); }
h3,.h3 { font-size: clamp(1.35rem,2vw,1.75rem); }
h4,.h4 { font-size: 1.25rem; } h5,.h5 { font-size: 1.125rem; } h6,.h6 { font-size: 1rem; }
.display-3,.display-4,.display-5 { font-size: clamp(2.25rem,4.5vw,4rem); line-height: 1.12; }
p { margin-bottom: 1.25rem; }
small,.small { font-size: var(--text-sm); } .x-small { font-size: var(--text-xs); }
.fw-800,.fw-900 { font-weight: 700 !important; } .fw-medium { font-weight: 500; }
.text-muted,.text-secondary { color: var(--muted) !important; }
.text-dark { color: var(--ink) !important; } .text-primary { color: var(--minder-teal-dark) !important; }
.text-success { color: var(--success) !important; } .text-danger { color: var(--danger) !important; }
.text-warning { color: var(--warning) !important; } .text-info { color: var(--info) !important; }
.text-gradient { color: var(--primary); background: none; -webkit-text-fill-color: currentColor; }
.bg-dark .text-gradient { color: var(--minder-gold); -webkit-text-fill-color: currentColor; }
.bg-primary:not(.bg-opacity-5):not(.bg-opacity-10):not(.bg-opacity-20) .text-gradient { color: var(--white); -webkit-text-fill-color: currentColor; text-decoration: underline; text-decoration-color: var(--minder-gold); text-underline-offset: .12em; }
.bg-light { background-color: var(--paper) !important; }
.bg-primary { background-color: var(--primary) !important; }
.bg-success { background-color: var(--success) !important; }
.bg-danger { background-color: var(--danger) !important; }
.bg-info { background-color: var(--info) !important; }
.bg-warning { background-color: #f4e5bf !important; color: #5e4212; }
.bg-dark { background-color: var(--ink) !important; }
.bg-opacity-5,.bg-opacity-10,.bg-opacity-20 { background-color: var(--surface-brand) !important; }
.bg-success:is(.bg-opacity-5,.bg-opacity-10,.bg-opacity-20) { background-color: #eef5ef !important; }
.bg-danger:is(.bg-opacity-5,.bg-opacity-10,.bg-opacity-20) { background-color: #fbefed !important; }
.bg-warning:is(.bg-opacity-5,.bg-opacity-10,.bg-opacity-20) { background-color: #faf3e3 !important; }
.bg-info:is(.bg-opacity-5,.bg-opacity-10,.bg-opacity-20) { background-color: #edf4f7 !important; }
.border-primary { border-color: var(--primary) !important; }
.border,.border-top,.border-bottom,.border-start,.border-end { border-color: var(--hairline) !important; }
img,video,iframe,canvas { max-width: 100%; } img { object-fit: cover; }
button,input,select,textarea { font: inherit; }
.d-flex,.flex-grow-1,.row > *, .min-width-0 { min-width: 0; }
.main-container { flex: 1 0 auto; width: 100%; max-width: var(--container-max); padding: clamp(1.5rem,3vw,3rem) 2rem; margin-inline: auto; }
.main-container > .container { max-width: 100%; padding-inline: 0; }
.container { max-width: var(--container-max); }
.skip-link { position: fixed; top: .75rem; left: 1rem; z-index: 10000; padding: .75rem 1.25rem; background: var(--ink); color: white; transform: translateY(-160%); border-radius: var(--radius-sm); }
.skip-link:focus { transform: none; color: white; }
:where(a,button,input,textarea,select,summary,[tabindex],[role='button']):focus-visible { outline: 3px solid var(--primary) !important; outline-offset: 3px !important; }
:target { scroll-margin-top: 120px; }
#mainNavbar { min-height: var(--header-height); padding: .8rem 0; background: var(--paper); border-bottom: 1px solid var(--hairline); box-shadow: none !important; z-index: 1030; }
#mainNavbar > .container { padding-inline: 2rem; }
.navbar-brand { margin-right: 1rem; flex-shrink: 0; }
.navbar-brand img,.footer img[alt^='Minder'] { width: auto; object-fit: contain; }
.navbar-brand picture:first-child img { height: 28px; }
.navbar-brand picture:last-child img { height: 22px; }
.nav-link { display: flex; align-items: center; gap: .5rem; padding: .65rem .9rem; color: var(--muted); border-radius: var(--radius-sm); font-weight: 650; line-height: 1.4; }
.nav-link:hover,.nav-link.active,.nav-link[aria-current='page'] { background: var(--surface-brand); color: var(--minder-teal-dark); }
.navbar-nav .nav-link { font-size: .9rem; }
.navbar-nav .nav-link > .bi { display: none; }
.navbar-toggler { min-height: 44px; min-width: 44px; }
.workspace-nav { border-bottom: 1px solid var(--hairline); background: var(--surface); }
.workspace-nav .container { display: flex; align-items: center; gap: .25rem; overflow-x: auto; padding: .45rem 2rem; scrollbar-width: thin; }
.workspace-nav a { display: flex; align-items: center; gap: .5rem; padding: .65rem .85rem; flex-shrink: 0; font-size: .875rem; font-weight: 650; text-decoration: none; color: var(--muted); border-radius: var(--radius-sm); }
.workspace-nav a:hover,.workspace-nav a[aria-current='page'] { color: var(--minder-teal-dark); background: var(--surface-brand); }
.dropdown-menu { border: 1px solid var(--hairline) !important; border-radius: var(--radius-md); padding: .5rem; box-shadow: var(--shadow-lg) !important; max-width: calc(100vw - 2rem); }
.dropdown-item { display: flex; align-items: center; gap: .6rem; min-height: 44px; padding: .6rem .8rem; border-radius: var(--radius-sm); white-space: normal; line-height: 1.4; color: var(--ink); }
.dropdown-item:hover,.dropdown-item:focus { background: var(--surface-brand); color: var(--minder-teal-dark); }
.dropdown-item.active { background: var(--primary); color: white; }
.user-menu-dropdown { width: 310px; max-height: calc(100dvh - 110px); overflow-y: auto; }
.notif-trigger { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; position: relative; border: 1px solid var(--hairline); border-radius: 50%; color: var(--primary); text-decoration: none; background: var(--surface); }
.notif-badge { position: absolute; top: -4px; right: -4px; min-width: 19px; height: 19px; padding: 0 4px; border: 2px solid white; border-radius: 12px; font-size: 10px; line-height: 15px; text-align: center; color: white; }
.notif-dropdown { width: 360px; padding: 0; overflow: hidden; }
.notif-header { background: var(--surface-brand); padding: 1rem 1.25rem; display: flex; justify-content: space-between; gap: 1rem; color: var(--ink); }
.notif-item { display: grid; gap: .3rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--hairline); text-decoration: none; }
.notif-item.unread { border-left: 3px solid var(--primary); background: var(--minder-teal-light); }
.notif-title { font-size: .9rem; font-weight: 700; color: var(--ink); }.notif-msg,.notif-time { font-size: .8rem; color: var(--muted); margin: 0; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .65rem 1.2rem; border-radius: var(--radius-sm); font-weight: 700; line-height: 1.4; white-space: normal; transition: background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast); }
.btn.rounded-pill { border-radius: var(--radius-sm) !important; }
.btn-sm,.btn-xs { min-height: 38px; font-size: .85rem; padding: .45rem .85rem; }.btn-lg { min-height: 52px; font-size: 1rem; }
.btn-primary { background: var(--primary); border-color: var(--primary); color: white; }
.btn-primary:hover,.btn-primary:focus,.btn-primary:active { background: var(--minder-teal-dark); border-color: var(--minder-teal-dark); color: white; }
.btn-outline-primary { color: var(--minder-teal-dark); border-color: var(--primary); }
.btn-outline-primary:hover,.btn-outline-primary:active { background: var(--primary); border-color: var(--primary); color: white; }
.btn-light,.btn-white { background: var(--surface); color: var(--ink); border-color: var(--hairline); }.btn-light:hover,.btn-white:hover { background: var(--surface-muted); }
.btn-outline-secondary { border-color: var(--hairline-dark); color: var(--ink); }.btn-outline-secondary:hover { background: var(--ink); color: white; }
.btn-link { color: var(--minder-teal-dark); }
.btn-success { background: var(--success); border-color: var(--success); }.btn-danger { background: var(--danger); border-color: var(--danger); }.btn-info { background: var(--info); border-color: var(--info); color: white; }
.btn-warning { background: #f4e5bf; border-color: #d3b87b; color: #5e4212 !important; }
.btn:disabled,.btn.disabled { opacity: .6; cursor: not-allowed; }
.btn > i,.nav-link > i,.dropdown-item > i { flex-shrink: 0; }
.btn > i[class*='me-'],.nav-link > i[class*='me-'],.dropdown-item > i[class*='me-'] { margin-right: 0 !important; }
.card,.b-card,.stage-card { background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-md); box-shadow: none; min-width: 0; }
.card.border-0 { border: 1px solid var(--hairline) !important; }
.card-body { padding: 1.5rem; }.card-header,.card-footer { background: transparent; border-color: var(--hairline); padding: 1.15rem 1.5rem; }
.card:hover { transform: none; }
.rounded-xl,.rounded-4 { border-radius: var(--radius-md) !important; }
.shadow-sm,.shadow-xs { box-shadow: var(--shadow-sm) !important; }.shadow,.shadow-md { box-shadow: var(--shadow-md) !important; }.shadow-lg,.shadow-xl { box-shadow: var(--shadow-lg) !important; }
.badge { display: inline-flex; align-items: center; gap: .35rem; max-width: 100%; padding: .35em .65em; font-weight: 650; font-size: .75rem; line-height: 1.4; white-space: normal; border-radius: var(--radius-sm); }
a.badge { min-height: 28px; }
.badge.bg-warning { color: #5e4212 !important; }
.badge.bg-light { color: var(--muted); }
.form-label,label { font-weight: 650; color: var(--ink); margin-bottom: .45rem; }
.form-label.text-uppercase { text-transform: none !important; letter-spacing: 0; font-size: .9rem; }
.form-control,.form-select { min-height: 46px; border: 1px solid var(--hairline-dark); border-radius: var(--radius-sm); padding: .65rem .85rem; color: var(--ink); background-color: var(--surface); line-height: 1.5; }
.form-select { padding-right: 2.5rem; }
.form-control::placeholder { color: var(--muted); opacity: 1; }
.form-control:focus,.form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px #36758820; }
.form-control[readonly],.form-control:disabled,.form-select:disabled { background: var(--surface-muted); color: var(--muted); }
.input-group-text { border-color: var(--hairline-dark); border-radius: var(--radius-sm); color: var(--muted); background: var(--surface); }
.input-group { flex-wrap: nowrap; }.input-group > .form-control,.input-group > .form-select { min-width: 0; }
.form-text,.helptext { display: block; color: var(--muted); font-size: .85rem; line-height: 1.5; margin-top: .4rem; }
.form-check { min-height: 32px; padding-top: .15rem; }.form-check-input { width: 1.15em; height: 1.15em; border-color: var(--hairline-dark); }.form-check-input:checked { background-color: var(--primary); border-color: var(--primary); }
.form-check-label { font-weight: 500; cursor: pointer; }
textarea.form-control { min-height: 120px; }
.errorlist { color: var(--danger); padding-left: 1.1rem; font-size: .875rem; margin-top: .5rem; }.invalid-feedback { color: var(--danger); }
.field-error { border-color: var(--danger) !important; }
form p:has(> input),form p:has(> select),form p:has(> textarea) { margin-bottom: 1.25rem; }
form p > label { display: block; }
form p > :is(input:not([type='checkbox']):not([type='radio']),textarea,select) { width: 100%; min-height: 46px; border: 1px solid var(--hairline-dark); border-radius: var(--radius-sm); padding: .6rem .8rem; background: var(--surface); }
.alert { border-radius: var(--radius-sm); padding: 1rem 1.25rem; font-weight: 500; border: 1px solid transparent; }
.alert-success { background: #eef5ef; color: #235538; border-color: #bcd6c4; }.alert-danger { background: #fbefed; color: #8e2d2d; border-color: #e8c5bf; }.alert-warning { background: #faf3e3; color: #745015; border-color: #e5d5ad; }.alert-info { background: #edf4f7; color: #24596e; border-color: #bfd7df; }
.alert-dismissible { padding-right: 3rem; }.btn-close { min-width: 24px; min-height: 24px; }
.table { --bs-table-bg: transparent; --bs-table-striped-bg: var(--paper); --bs-table-hover-bg: var(--minder-teal-light); color: var(--ink); margin-bottom: 0; font-size: .9rem; }
.table > :not(caption) > * > * { padding: 1rem; border-color: var(--hairline); vertical-align: middle; }
.table thead th { background: var(--paper); color: var(--muted); font-weight: 650; font-size: .8rem; border-bottom: 1px solid var(--hairline); }
.table-responsive { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.table-responsive > .table { min-width: 580px; }
.table-responsive:focus-visible { outline-offset: -3px !important; }
.nav-tabs { border-color: var(--hairline); gap: .35rem; }.nav-tabs .nav-link { border-radius: 0; border: 0; border-bottom: 2px solid transparent; }.nav-tabs .nav-link.active { background: transparent; color: var(--primary); border-bottom-color: var(--primary); }
.nav-pills { gap: .35rem; }.nav-pills .nav-link.active { background: var(--primary); color: white; }
.list-group-item { background: var(--surface); border-color: var(--hairline); padding: .85rem 1rem; color: var(--ink); }
.list-group-item-action:hover { background: var(--paper); transform: none; }.list-group-item.active { background: var(--primary); border-color: var(--primary); color: white; }
.pagination { gap: .35rem; flex-wrap: wrap; }.page-link { display: grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: var(--radius-sm) !important; border-color: var(--hairline); color: var(--primary); }.page-item.active .page-link { background: var(--primary); border-color: var(--primary); }
.modal-content,.offcanvas { border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-xl); }.modal-header,.modal-footer { padding: 1.25rem 1.5rem; border-color: var(--hairline); }.modal-body { padding: 1.5rem; }.modal-backdrop.show { opacity: .35; }
.accordion-item,.accordion-button { background: var(--surface); color: var(--ink); border-color: var(--hairline); }.accordion-button:not(.collapsed) { background: var(--surface-brand); color: var(--minder-teal-dark); }
.progress { height: 6px; background: var(--surface-muted); border-radius: var(--radius-pill); }.progress-bar { background: var(--primary); }
.rounded-circle { flex-shrink: 0; aspect-ratio: 1; }.rounded-circle > img { width: 100%; height: 100%; object-fit: cover; }img.rounded-circle { object-fit: cover; }
.avatar-sm { width: 32px; height: 32px; }.avatar-md { width: 44px; height: 44px; }.avatar-lg { width: 52px; height: 52px; }.avatar-xl { width: 64px; height: 64px; }.avatar-xxl { width: 80px; height: 80px; }.avatar-xxxl { width: 100px; height: 100px; }.avatar-huge { width: 120px; height: 120px; }
.verified-avatar-mark { position: absolute; right: 0; bottom: 0; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; transform: translate(12%, 12%); background: var(--success); color: var(--white); box-shadow: 0 2px 7px #163c2b59; }
.verified-avatar-mark .bi { font-size: 1.15rem; line-height: 1; }
.verified-avatar-mark--lg { width: 2.1rem; height: 2.1rem; }
.verified-avatar-mark--lg .bi { font-size: 1.4rem; }
.verified-avatar-mark--sm { width: 1.4rem; height: 1.4rem; }
.verified-avatar-mark--sm .bi { font-size: .95rem; }
[class*='avatar-'] { flex-shrink: 0; object-fit: cover; }
.rating-stars,.stars-row { display: inline-flex; align-items: center; gap: .2rem; flex-wrap: nowrap; white-space: nowrap; }
.sticky-top:not(#mainNavbar),.sticky-top-offset { top: 100px; z-index: 1010; }
.footer { margin-top: auto; background: var(--surface-muted); color: var(--muted); }.footer > .container { padding-inline: 2rem; }.footer a:hover { color: var(--primary) !important; }.footer-section-heading { letter-spacing: .07em; font-size: .75rem; }
.footer li > a { display: inline-flex; align-items: center; min-height: 24px; max-width: 100%; overflow-wrap: anywhere; }
.footer picture:first-child img { width: 40px; height: 40px; }.footer picture:last-child img { width: auto; height: 24px; }
.cookie-consent-banner { display: none; position: fixed; bottom: max(1rem,env(safe-area-inset-bottom)); left: 1rem; width: min(440px,calc(100% - 2rem)); padding: 1.25rem; border: 1px solid var(--hairline); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); background: var(--surface); z-index: 1040; }
.cookie-consent-banner .btn { flex: 1; }
.empty-state,.org-empty { padding: 3rem 1.5rem; text-align: center; border: 1px dashed var(--hairline); border-radius: var(--radius-md); background: var(--surface); }
.empty-state p { max-width: 38rem; margin-inline: auto; }
.blog-content,.blog-content-text { font-size: 1.125rem; line-height: 1.85; }.blog-content h2 { margin-top: 2.5rem; }.blog-content h3 { margin-top: 2rem; }.blog-content p { margin-bottom: 1.5rem; }.blog-content img { height: auto; border-radius: var(--radius-sm); }.blog-content blockquote { border-left: 3px solid var(--primary); padding-left: 1.5rem; color: var(--muted); }
.article-outline { padding: clamp(1rem, 3vw, 1.5rem); background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--radius-md); font-family: var(--font-body); font-size: var(--text-base); line-height: 1.5; }
.blog-content .article-outline h2 { margin: 0 0 .75rem; font-size: 1rem; font-weight: 800; letter-spacing: 0; }
.article-outline__sections { margin: 0; padding-left: 2rem; list-style: decimal-leading-zero; }
.article-outline__section { padding-left: .35rem; margin: .35rem 0; }
.article-outline__section::marker { color: var(--minder-teal-dark); font-weight: 800; font-variant-numeric: tabular-nums; }
.article-outline__section > a { display: block; padding: .45rem .25rem; color: var(--ink); font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; }
.article-outline__subsections { margin: .15rem 0 .8rem; padding-left: 1.25rem; border-left: 2px solid var(--hairline); list-style: disc; }
.article-outline__subsections li { padding-left: .2rem; }
.article-outline__subsections li::marker { color: var(--minder-teal-dark); }
.article-outline__subsections a { display: block; padding: .4rem .2rem; min-height: 44px; color: var(--minder-teal-dark); font-size: .94rem; line-height: 1.45; overflow-wrap: anywhere; }
.article-outline a:hover { color: var(--primary); text-decoration-thickness: 2px; }
.eyebrow { display: block; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 750; color: var(--primary); margin-bottom: 1rem; }
.page-heading { padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--hairline); }.page-heading p { max-width: 44rem; color: var(--muted); margin-bottom: 0; }
.editorial-title { font-family: var(--font-editorial); font-weight: 400 !important; letter-spacing: -.035em; }
.break-word { overflow-wrap: anywhere; }.text-reason { min-width: 0; }.italic { font-style: italic; }
.text-truncate-2,.line-clamp-2,.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; }
.max-w-150 { max-width: 150px; }.max-w-200 { max-width: 200px; }.max-w-300 { max-width: 300px; }.max-w-500 { max-width: 500px; }.max-w-600 { max-width: 600px; }.max-w-700 { max-width: 700px; }.max-w-1100 { max-width: 1100px; }.max-w-1200 { max-width: 1200px; }
.img-h-200 { height: 200px; width: 100%; object-fit: cover; }.img-h-240 { height: 240px; width: 100%; object-fit: cover; }.img-h-250 { height: 250px; object-fit: cover; }.h-220 { height: 220px; }.h-180 { height: 180px; }
.ls-wide,.ls-semi { letter-spacing: .06em; }.nav-section-label { font-size: .7rem; letter-spacing: .08em; }.scroll-y-auto { overflow-y: auto; scrollbar-width: thin; }.hover-primary:hover { color: var(--primary) !important; }
.grid-stack-safe { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,320px),1fr)); gap: 1.5rem; }
.row-fluid-i18n { display: flex; flex-wrap: wrap; gap: 1rem; }.item-fluid-i18n { flex: 1 1 auto; min-width: 0; }
.booking-card { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; padding: 1.5rem; }.booking-card-info { flex: 1; min-width: 0; }.booking-card-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.clinical-badge { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem .8rem; border-radius: var(--radius-sm); font-size: .85rem; }
.animate-pulse { animation: none !important; }
@media (max-width:1199.98px) {
  #mainNavbar { min-height: 68px; } .navbar-collapse { padding: 1rem 0; max-height: calc(100dvh - 90px); overflow-y: auto; }
  .navbar-nav .nav-link { min-height: 44px; } .navbar .dropdown-menu { max-width: calc(100vw - 4rem); }
}
@media (max-width:991.98px) {
  .sticky-top:not(#mainNavbar),.sticky-top-offset { position: static !important; }
  .main-container { padding: 1.5rem; } #mainNavbar > .container,.footer > .container { padding-inline: 1.5rem; }
}
@media (max-width:575.98px) {
  :root { --header-height: 68px; }
  .main-container { padding: 1.5rem 1rem; } #mainNavbar > .container,.footer > .container { padding-inline: 1rem; }
  .workspace-nav .container { padding-inline: .5rem; }.workspace-nav a { font-size: .8rem; padding: .65rem; }
  .card-body.p-md-5 { padding: 1.25rem !important; }
  .form-control,.form-select,input,textarea,select { font-size: 16px; }
  .btn-mobile-full,.w-100-mobile { width: 100% !important; }
  .mobile-stack { flex-direction: column !important; align-items: stretch !important; }.mobile-ms-0 { margin-left: 0 !important; }.mobile-px-0 { padding-inline: 0 !important; }
  .dropdown-menu { max-width: calc(100vw - 2rem); }.navbar .dropdown-menu { position: static !important; transform: none !important; width: min(310px,calc(100vw - 2rem)); }
  .navbar .user-menu-dropdown { min-width: 0 !important; }.modal-dialog { margin: .75rem; }.modal-body { padding: 1.25rem; }
  .table-responsive > .table { min-width: 520px; }
  .footer { padding-bottom: calc(2rem + env(safe-area-inset-bottom)) !important; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print { #mainNavbar,.workspace-nav,.footer,.cookie-consent-banner { display: none !important; } .main-container { max-width: none; padding: 0; } }
/* High-contrast titles on explicitly solid section headers. */
.card-header.bg-primary :is(h1,h2,h3,h4,h5,h6),.bg-dark :is(h1,h2,h3,h4,h5,h6),.bg-danger > :is(h1,h2,h3,h4,h5,h6) { color: white; }
.btn-primary:disabled,.btn-primary.disabled { background: var(--primary); border-color: var(--primary); color: white; }
@media (max-width:575.98px) { .row.g-5 { --bs-gutter-x: 1.5rem; } }
/* Accessible semantic variants, including legacy Bootstrap utility combinations. */
.btn-outline-info { color: var(--info); border-color: var(--info); }
.btn-outline-danger { color: var(--danger); border-color: var(--danger); }
.btn-outline-warning { color: #795713; border-color: #a57a24; }
.btn-outline-info:hover { background: var(--info); color: #fff; }
.btn-outline-danger:hover { background: var(--danger); color: #fff; }
.btn-outline-warning:hover { background: #f4e5bf; color: #5e4212; }
.breadcrumb-item.active { color: var(--muted); }
.text-white.text-opacity-75,.bg-primary .text-opacity-75 { color: #fff !important; }
.alert-info .opacity-75 { opacity: 1 !important; }
.badge.bg-info.text-dark { color: #fff !important; }
code { color: #944065; }
.btn-xs { min-width: 32px; }
.btn-check:checked + .btn-outline-primary,.btn-check:active + .btn-outline-primary { background: var(--primary); border-color: var(--primary); color: white; }
.btn-check:checked + .btn-outline-primary .opacity-75 { opacity: 1 !important; }
.text-white-50 { color: #c7d2d4 !important; }

/* Shared controls: keep Bootstrap interaction states inside Minder's palette. */
.btn { max-width: 100%; vertical-align: middle; text-decoration: none; }
.btn:focus { box-shadow: none; }
.btn:is(.btn-primary,.btn-success,.btn-danger,.btn-info,.btn-dark,.btn-secondary) { color: var(--white); }
.btn:is(.btn-primary):is(:hover,:focus,:active,.active),.btn-check:checked + .btn-primary { background-color: var(--primary-hover); border-color: var(--primary-hover); color: white; }
.btn:is(.btn-success):is(:hover,:focus,:active,.active) { background-color: #20553c; border-color: #20553c; color: white; }
.btn:is(.btn-danger):is(:hover,:focus,:active,.active) { background-color: #922f2f; border-color: #922f2f; color: white; }
.btn:is(.btn-info):is(:hover,:focus,:active,.active) { background-color: #205267; border-color: #205267; color: white; }
.btn:is(.btn-secondary,.btn-dark) { background-color: var(--ink); border-color: var(--ink); }
.btn:is(.btn-secondary,.btn-dark):is(:hover,:focus,:active,.active) { background-color: #182d32; border-color: #182d32; color: white; }
.btn:is(.btn-outline-primary):is(:hover,:active,.active),.btn-check:checked + .btn-outline-primary { background-color: var(--primary); border-color: var(--primary); color: white; }
.btn:is(.btn-outline-secondary):is(:hover,:active,.active) { background-color: var(--ink); border-color: var(--ink); color: white; }
.btn:is(.btn-outline-info):is(:hover,:active,.active) { background-color: var(--info); border-color: var(--info); color: white; }
.btn:is(.btn-outline-danger):is(:hover,:active,.active) { background-color: var(--danger); border-color: var(--danger); color: white; }
.btn:is(.btn-outline-warning):is(:hover,:active,.active) { background-color: #f4e5bf; border-color: #a57a24; color: #5e4212; }
.btn:is(.btn-primary,.btn-success,.btn-danger,.btn-info,.btn-dark,.btn-secondary) > :is(i,span:not(.badge)),.btn[class*='btn-outline-']:is(:hover,:active,.active) > :is(i,span:not(.badge)) { color: inherit !important; }
.btn:is(.btn-light,.btn-white):is(:hover,:focus,:active,.active) { background-color: var(--surface-muted); border-color: var(--hairline-dark); color: var(--ink); }
.btn:disabled,.btn.disabled { pointer-events: none; }
.btn[hidden] { display: none !important; }
.btn.rounded-circle { padding: .5rem; width: 44px; height: 44px; min-width: 44px; flex-shrink: 0; }
.card-header.text-white > :is(h1,h2,h3,h4,h5,h6),.card-header.bg-dark > :is(h1,h2,h3,h4,h5,h6),.card-header.bg-primary > :is(h1,h2,h3,h4,h5,h6) { color: white !important; }
.notif-header a { color: var(--primary-hover) !important; opacity: 1 !important; }
#mainNavbar .navbar-nav .nav-link { color: var(--muted); min-height: 44px; padding: .65rem .6rem; white-space: nowrap; }
#mainNavbar .navbar-nav .nav-link:is(:hover,:focus,[aria-current='page']) { color: var(--primary-hover); background-color: var(--surface-brand); }
#mainNavbar .navbar-collapse { min-width: 0; }
.navbar-actions { flex-shrink: 0; gap: .65rem; }
.navbar-actions > .me-2 { margin-right: 0 !important; }
.navbar-actions .btn,.navbar-actions .notif-trigger,.account-menu-trigger { min-height: 44px; }
.account-menu-trigger { display: inline-flex; align-items: center; justify-content: center; padding: 0 .35rem; background: transparent; color: var(--ink); border: 0; border-radius: var(--radius-sm); gap: .5rem; }
.navbar-actions .dropdown-toggle::after { margin-left: .25rem; flex-shrink: 0; }
.navbar-actions .dropdown-menu { margin-top: .6rem; }
@media (min-width:1400px) {
  #mainNavbar .navbar-collapse { gap: 1rem; }
  #mainNavbar .navbar-nav { padding-left: .5rem !important; gap: 0 !important; }
  #mainNavbar .navbar-actions { flex-wrap: nowrap !important; }
}
@media (max-width:1399.98px) {
  #mainNavbar .navbar-actions { display: flex; width: 100%; padding-top: 1rem; margin-top: 1rem !important; border-top: 1px solid var(--hairline); }
  #mainNavbar .navbar-actions > .dropdown { position: static; }
  #mainNavbar .navbar-actions { position: relative; padding-bottom: .25rem; }
  #mainNavbar .navbar-actions .dropdown-menu { position: absolute !important; top: 100%; left: 0; right: auto; transform: none !important; width: min(360px,100%); max-width: 100%; }
  #mainNavbar .navbar-collapse:has(.dropdown-menu.show) { padding-bottom: min(380px,55dvh); }
  #mainNavbar .user-menu-dropdown { max-height: 350px; }
}
:lang(hy) :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.nav-link,.btn) { letter-spacing: 0; }
