/* =================================================================== */
/* ===                СОДЕРЖИМОЕ ИЗ main.css                       === */
/* =================================================================== */

/* src/input.css */

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */

*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}

::before,
::after {
  --tw-content: '';
}

html,
:host {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  line-height: inherit;
}

hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  text-decoration: inherit;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp, pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

button, select {
  text-transform: none;
}

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}

:-moz-focusring {
  outline: auto;
}

:-moz-ui-invalid {
  box-shadow: none;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol, ul, menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

dialog {
  padding: 0;
}

textarea {
  resize: vertical;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

button,
[role="button"] {
  cursor: pointer;
}

:disabled {
  cursor: default;
}

img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
}

img, video {
  max-width: 100%;
  height: auto;
}

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

.container {
  width: 100%;
}
@media (min-width: 640px) { .container { max-width: 640px; } }
@media (min-width: 768px) { .container { max-width: 768px; } }
@media (min-width: 1024px) { .container { max-width: 1024px; } }
@media (min-width: 1280px) { .container { max-width: 1280px; } }
@media (min-width: 1536px) { .container { max-width: 1536px; } }

.visible { visibility: visible; }
.collapse { visibility: collapse; }
.fixed { position: fixed; }
.absolute { position: absolute; }
.relative { position: relative; }
.sticky { position: sticky; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mr-2 { margin-right: 0.5rem; }
.mr-3 { margin-right: 0.75rem; }
.mr-4 { margin-right: 1rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.block { display: block; }
.inline-block { display: inline-block; }
.inline { display: inline; }
.flex { display: flex; }
.table { display: table; }
.grid { display: grid; }
.hidden { display: none; }
.h-5 { height: 1.25rem; }
.h-6 { height: 1.5rem; }
.w-1\/3 { width: 33.333333%; }
.w-2\/3 { width: 66.666667%; }
.w-5 { width: 1.25rem; }
.w-6 { width: 1.5rem; }
.w-fit { width: -moz-fit-content; width: fit-content; }
.w-full { width: 100%; }
.max-w-6xl { max-width: 72rem; }
.flex-shrink { flex-shrink: 1; }
.flex-grow { flex-grow: 1; }
.border-collapse { border-collapse: collapse; }
.transform { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.cursor-not-allowed { cursor: not-allowed; }
.cursor-pointer { cursor: pointer; }
.resize { resize: both; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.flex-wrap { flex-wrap: wrap; }
.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-x-4 { -moz-column-gap: 1rem; column-gap: 1rem; }
.gap-x-6 { -moz-column-gap: 1.5rem; column-gap: 1.5rem; }
.gap-y-2 { row-gap: 0.5rem; }
.gap-y-4 { row-gap: 1rem; }
.space-y-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); }
.space-y-3 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); }
.space-y-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1rem * var(--tw-space-y-reverse)); }
.space-y-6 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); }
.rounded-full { border-radius: 9999px; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-md { border-radius: 0.375rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-l-md { border-top-left-radius: 0.375rem; border-bottom-left-radius: 0.375rem; }
.rounded-r-md { border-top-right-radius: 0.375rem; border-bottom-right-radius: 0.375rem; }
.border { border-width: 1px; }
.border-b { border-bottom-width: 1px; }
.border-l-0 { border-left-width: 0px; }
.border-l-4 { border-left-width: 4px; }
.border-t { border-top-width: 1px; }
.border-blue-400 { --tw-border-opacity: 1; border-color: rgb(96 165 250 / var(--tw-border-opacity, 1)); }
.border-gray-600 { --tw-border-opacity: 1; border-color: rgb(75 85 99 / var(--tw-border-opacity, 1)); }
.border-green-500 { --tw-border-opacity: 1; border-color: rgb(34 197 94 / var(--tw-border-opacity, 1)); }
.border-red-500 { --tw-border-opacity: 1; border-color: rgb(239 68 68 / var(--tw-border-opacity, 1)); }
.border-yellow-500 { --tw-border-opacity: 1; border-color: rgb(234 179 8 / var(--tw-border-opacity, 1)); }
.bg-blue-500 { --tw-bg-opacity: 1; background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1)); }
.bg-cyan-500 { --tw-bg-opacity: 1; background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1)); }
.bg-gray-200 { --tw-bg-opacity: 1; background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1)); }
.bg-green-500 { --tw-bg-opacity: 1; background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1)); }
.bg-red-500 { --tw-bg-opacity: 1; background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1)); }
.bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); }
.p-2 { padding: 0.5rem; }
.p-2\.5 { padding: 0.625rem; }
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pt-4 { padding-top: 1rem; }
.pt-6 { padding-top: 1.5rem; }
.text-center { text-align: center; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.font-bold { font-weight: 700; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.text-gray-400 { --tw-text-opacity: 1; color: rgb(156 163 175 / var(--tw-text-opacity, 1)); }
.text-gray-700 { --tw-text-opacity: 1; color: rgb(55 65 81 / var(--tw-text-opacity, 1)); }
.text-green-400 { --tw-text-opacity: 1; color: rgb(74 222 128 / var(--tw-text-opacity, 1)); }
.text-red-400 { --tw-text-opacity: 1; color: rgb(248 113 113 / var(--tw-text-opacity, 1)); }
.text-red-500 { --tw-text-opacity: 1; color: rgb(239 68 68 / var(--tw-text-opacity, 1)); }
.text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); }
.text-yellow-400 { --tw-text-opacity: 1; color: rgb(250 204 21 / var(--tw-text-opacity, 1)); }
.shadow-2xl { --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.shadow-lg { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.outline { outline-style: solid; }
.blur { --tw-blur: blur(8px); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); }
.drop-shadow { --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06)); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); }
.filter { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); }
.transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.duration-300 { transition-duration: 300ms; }
.hover\:scale-110:hover { --tw-scale-x: 1.1; --tw-scale-y: 1.1; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:bg-blue-600:hover { --tw-bg-opacity: 1; background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1)); }
.hover\:bg-cyan-600:hover { --tw-bg-opacity: 1; background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1)); }
.hover\:bg-gray-300:hover { --tw-bg-opacity: 1; background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1)); }
.hover\:bg-green-600:hover { --tw-bg-opacity: 1; background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)); }
.hover\:bg-red-600:hover { --tw-bg-opacity: 1; background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1)); }
.hover\:bg-opacity-75:hover { --tw-bg-opacity: 0.75; }

@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:p-6 { padding: 1.5rem; }
}

@media (min-width: 768px) {
  .md\:col-span-2 { grid-column: span 2 / span 2; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lg\:p-8 { padding: 2rem; }
}

@media (prefers-color-scheme: dark) {
  .dark\:bg-gray-600 { --tw-bg-opacity: 1; background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1)); }
  .dark\:text-gray-200 { --tw-text-opacity: 1; color: rgb(229 231 235 / var(--tw-text-opacity, 1)); }
  .dark\:hover\:bg-gray-500:hover { --tw-bg-opacity: 1; background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1)); }
}

/* ======================================================== */
/* ===                STYLES FROM main.css              === */
/* ======================================================== */
:root {
    --container-bg: #f9fafb; --text-color: #111827; --border-color: #d1d5db;
    --input-bg: #ffffff; --input-text: #111827; --input-border: #9ca3af;
    --input-focus-border: #2563eb; --input-focus-shadow: rgba(59, 130, 246, 0.25);
    --placeholder-color: #6b7280; --readonly-bg: #e5e7eb; --header-color: #1e3a8a;
    --link-color: #1e40af; --accent-red: #dc2626; --btn-green-bg: #22c55e; --btn-brown-bg: #a16207;
    --btn-blue-bg: #2563eb; --btn-gray-bg: #6b7280;
    --loader-color: #3498db;
    --sidebar-bg: #f3f4f6;
    --hover-bg: #e5e7eb;
    --active-bg: rgba(59, 130, 246, 0.1);
    --accent-color: #3b82f6;
    --border-color-light: #e5e7eb;
    --tooltip-bg: #1f2937;
    --tooltip-text-color: #f9fafb;
    --shadow: 0 4px 12px rgba(0,0,0,0.1);
}
body.medical-theme {
    --container-bg: #E6F0FF; --text-color: #001F3F; --border-color: #1E90FF;
    --input-bg: #FFFFFF; --input-text: #001F3F; --input-border: #1E90FF;
    --input-focus-border: #FF4500; --input-focus-shadow: rgba(255, 69, 0, 0.5);
    --placeholder-color: #4169E1; --readonly-bg: #B0C4DE; --header-color: #003366;
    --link-color: #DC143C; --accent-red: #FF0000;
    --loader-color: linear-gradient(to right, #1E90FF, #FF4500);
}
body.dark-theme {
    --container-bg: #1f2937; --text-color: #e5e7eb; --border-color: #4b5563;
    --input-bg: #374151; --input-text: #f9fafb; --input-border: #6b7280;
    --input-focus-border: #60a5fa; --input-focus-shadow: rgba(96, 165, 250, 0.3);
    --placeholder-color: #aeb5be; --readonly-bg: #4b5563; --header-color: #93c5fd;
    --link-color: #bfdbfe; --accent-red: #ef4444;
    --loader-color: #60a5fa;
    --btn-green-bg: #22c55e; --btn-brown-bg: #d97706;
    --btn-blue-bg: #3b82f6; --btn-gray-bg: #4b5563;
    --sidebar-bg: #111827;
    --hover-bg: #374151;
    --active-bg: rgba(96, 165, 250, 0.15);
    --accent-color: #60a5fa;
    --border-color-light: #374151;
    --tooltip-bg: #f9fafb;
    --tooltip-text-color: #1f2937;
}
body.brown-theme {
    --container-bg: #efebe9; --text-color: #4e443f; --border-color: #a1887f;
    --input-bg: #d7ccc8; --input-text: #3e2723; --input-border: #a1887f;
    --input-focus-border: #795548; --input-focus-shadow: rgba(121, 85, 72, 0.3);
    --placeholder-color: #8d6e63; --readonly-bg: #d7ccc8; --header-color: #5d4037;
    --link-color: #4e342e; --accent-red: #c62828;
    --loader-color: #795548;
}
body.black-theme {
    --container-bg: #121212; --text-color: #e0e0e0; --border-color: #333333;
    --input-bg: #1e1e1e; --input-text: #e0e0e0; --input-border: #424242;
    --input-focus-border: #bb86fc; --input-focus-shadow: rgba(187, 134, 252, 0.25);
    --placeholder-color: #8a8a8a; --readonly-bg: #212121; --header-color: #bb86fc;
    --link-color: #f3e5f5; --accent-red: #ff798e;
    --loader-color: #bb86fc;
}
@media (prefers-color-scheme: dark) {
    body:not([class*="-theme"]) {
        --container-bg: #1f2937; --text-color: #e5e7eb; --border-color: #4b5563;
        --input-bg: #374151; --input-text: #f9fafb; --input-border: #6b7280;
        --input-focus-border: #60a5fa; --input-focus-shadow: rgba(96, 165, 250, 0.3);
        --placeholder-color: #aeb5be; --readonly-bg: #4b5563; --header-color: #93c5fd;
        --link-color: #bfdbfe; --accent-red: #ef4444;
        --loader-color: #60a5fa;
         --btn-green-bg: #22c55e; --btn-brown-bg: #d97706;
        --btn-blue-bg: #3b82f6; --btn-gray-bg: #4b5563;
        --sidebar-bg: #111827;
        --hover-bg: #374151;
        --active-bg: rgba(96, 165, 250, 0.15);
        --accent-color: #60a5fa;
        --border-color-light: #374151;
        --tooltip-bg: #f9fafb;
        --tooltip-text-color: #1f2937;
    }
     body:not([class*="-theme"]) .ecg-line { stroke: #66bb6a; }
     body:not([class*="-theme"]) .dr-text,
     body:not([class*="-theme"]) .specialist-text { color: #ff8c8c; }
}
.black-theme .dr-text, .black-theme .specialist-text { color: #ff4d4d; }
.black-theme .name-text, .black-theme .website-text { color: #00e5ff; }
.black-theme legend { color: #00e5ff; }
.black-theme h1 { color: #00e5ff; }
.black-theme input[type="checkbox"]:checked, .black-theme input[type="radio"]:checked { accent-color: #00e5ff; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
body { background-color: var(--container-bg); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin: 0; padding: 2rem; }
body.banner-visible { padding-top: calc(45px + 2rem); }
.main-content-wrapper { position: relative; max-width: 1400px; margin: 0 auto; }
main.page-container { flex-grow: 1; max-width: 1600px; width: 100%; background-color: var(--container-bg); color: var(--text-color); border: 1px solid var(--border-color); border-radius: 8px; padding: 1.5rem 1.5rem 2rem; box-shadow: var(--shadow); transition: background-color 0.3s, color 0.3s, border-color 0.3s; }
#patient-history-sidebar { width: 280px; background-color: var(--sidebar-bg); border: 1px solid var(--border-color); border-radius: 8px; box-shadow: var(--shadow); padding: 15px; overflow-y: auto; position: absolute; top: 0; right: 100%; margin-right: 1.5rem; height: 100%; max-height: calc(100vh - 4rem); box-sizing: border-box; }
#patient-history-sidebar h3 { margin-top: 0; margin-bottom: 20px; font-size: 1.1em; color: var(--header-color); padding-bottom: 10px; border-bottom: 1px solid var(--border-color); text-align: center; }
#patient-history-list { list-style: none; padding: 0; margin: 0; position: relative; padding-left: 15px; }
#patient-history-list::before { content: ''; position: absolute; left: 0; top: 5px; bottom: 5px; width: 2px; background-color: var(--border-color-light); border-radius: 2px; }
.timeline-item { position: relative; margin-bottom: 20px; cursor: pointer; border: 1px solid transparent; border-radius: 6px; padding: 8px; transition: background-color 0.2s ease, border-color 0.2s ease; }
.timeline-item::before { content: ''; position: absolute; left: -20px; top: 50%; transform: translateY(-50%); width: 10px; height: 10px; border-radius: 50%; background-color: var(--header-color); border: 2px solid var(--sidebar-bg); transition: transform 0.2s ease, background-color 0.2s ease; }
.timeline-item:hover { background-color: var(--hover-bg); }
.timeline-item.active { background-color: var(--active-bg); border-color: var(--header-color); }
.timeline-item.active::before { transform: translateY(-50%) scale(1.4); background-color: var(--accent-color); }
.timeline-item-content { display: flex; flex-direction: column; gap: 8px; }
.timeline-date { font-size: 0.9em; font-weight: 500; color: var(--text-color); }
.timeline-icons { display: flex; gap: 8px; align-items: center; }
.timeline-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; }
.timeline-icon svg { width: 18px; height: 18px; }
.timeline-tooltip { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 8px; background-color: var(--tooltip-bg); color: var(--tooltip-text-color); padding: 6px 10px; border-radius: 4px; font-size: 12px; white-space: pre-wrap; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; z-index: 10; width: max-content; max-width: 200px; pointer-events: none; box-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.timeline-icon:hover .timeline-tooltip { opacity: 1; visibility: visible; }
.functional-buttons { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; position: sticky; top: 2rem; z-index: 50; background-color: var(--container-bg); padding: 10px 1.5rem; transition: background-color 0.3s, border-color 0.3s, top 0.5s ease-in-out, padding-right 0.3s ease; border-bottom: 1px solid var(--border-color); margin-left: -1.5rem; margin-right: -1.5rem; margin-top: -1.5rem; }
body.banner-visible .functional-buttons { top: calc(45px + 2rem); }
.functional-buttons button, .functional-buttons a, .functional-buttons .dropdown-container { color: var(--text-color); background-color: transparent; border: 1px solid var(--border-color); padding: 8px; min-width: 40px; height: 40px; border-radius: 6px; display: flex; justify-content: center; align-items: center; cursor: pointer; position: relative; transition: background-color 0.2s, border-color 0.2s, transform 0.2s, opacity 0.2s; box-sizing: border-box; }
.functional-buttons .dropdown-container > button { border: none; padding: 0; width: 100%; height: 100%; }
.functional-buttons button:hover, .functional-buttons a:hover, .functional-buttons .dropdown-container:hover { background-color: var(--readonly-bg); border-color: var(--input-focus-border); transform: translateY(-1px); filter: none; }
#btn-print { background-color: rgba(34, 197, 94, 0.1); border-color: rgba(34, 197, 94, 0.7); }
#btn-print:hover { background-color: rgba(34, 197, 94, 0.2); border-color: #22c55e; }
.dark-theme #btn-print, .black-theme #btn-print { background-color: rgba(34, 197, 94, 0.15); border-color: rgba(34, 197, 94, 0.6); }
.dark-theme #btn-print:hover, .black-theme #btn-print:hover { background-color: rgba(34, 197, 94, 0.25); border-color: #22c55e; }
.functional-buttons button:active, .functional-buttons a:active { transform: scale(0.97); opacity: 0.9; }
.functional-buttons svg { width: 20px; height: 20px; }
.tooltip { position: relative; }
.tooltip .tooltiptext { visibility: hidden; width: max-content; background-color: #374151; color: #fff; text-align: center; border-radius: 6px; padding: 5px 10px; position: absolute; z-index: 1; top: 125%; left: 50%; transform: translateX(-50%); opacity: 0; transition: opacity 0.3s; font-size: 12px; }
.tooltip:hover .tooltiptext { visibility: visible; opacity: 1; }
.functional-buttons.extra-controls-hidden .extra-control { display: none; }
header.document-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid var(--border-color); padding-bottom: 10px; margin-bottom: 15px; transition: all 0.3s ease; }
.logo-container { width: 350px; background: transparent; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; font-family: 'Arial', sans-serif; margin: 0 auto; padding: 0; transition: all 0.3s ease; }
.header-section { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 2px; }
.doctor-name { font-size: 22px; font-weight: bold; letter-spacing: 0.5px; }
.ecg-container { width: 200px; height: 25px; margin: 2px 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
@keyframes ecg-scroll { from { transform: translateX(0); } to { transform: translateX(-400px); } }
.ecg-animated-group { animation: ecg-scroll 6s linear infinite; }
.ecg-line { stroke-width: 1.5; fill: none; }
.ecg-grid { stroke-width: 0.5; opacity: 0.7; }
.specialist-text { font-size: 12px; font-weight: 500; margin: 2px 0; }
.website-text { font-size: 10px; font-weight: 500; margin-top: 2px; text-decoration: none; transition: all 0.3s ease; }
.dr-text { color: var(--accent-red); }
.name-text { color: var(--header-color); }
.ecg-line { stroke: #28a745; }
.specialist-text { color: var(--accent-red); }
.website-text { color: var(--header-color); }
.website-text:hover { color: var(--link-color); }
.ecg-grid { stroke: var(--border-color); }
body.dark-theme .ecg-line, body.black-theme .ecg-line { stroke: #66bb6a; }
.codes-container { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; transition: all 0.3s ease; height: 70px; }
#qr-code { background: transparent; border-radius: 4px; padding: 0; width: 70px; height: 70px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#qr-code canvas { display: block; width: 100%; height: 100%; object-fit: contain; }
#barcode { width: 100%; height: 100%; max-width: 150px; object-fit: contain; }
h1 { text-align: center; color: var(--header-color); font-size: 18px; font-weight: 600; margin-bottom: 20px; }
fieldset { border: 1px solid var(--border-color); border-radius: 8px; padding: 15px 20px; margin-bottom: 12px; transition: border-color 0.3s; }
legend { color: var(--header-color); font-weight: 600; padding: 0 10px; font-size: 16px; display: flex; align-items: center; gap: 10px; }
.content-container.hidden { display: none; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 15px; align-items: end; }
#personal-data-grid { grid-template-columns: 4fr 1fr 1fr 1fr 1fr 1fr; }
.legend-preview { font-size: 0.8em; font-style: italic; color: var(--placeholder-color); margin-left: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 300px; }
.content-container:not(.hidden) ~ .legend-preview { display: none; }
.form-group { display: flex; flex-direction: column; }
label { font-weight: 500; font-size: 14px; margin-bottom: 5px; }
input[type="text"], input[type="date"], input[type="number"], input[type="password"], select, textarea, .modal-search-input { width: 100%; padding: 10px; border-radius: 6px; border: 1px solid var(--input-border); background-color: var(--input-bg); color: var(--input-text); font-family: inherit; font-size: 14px; line-height: 1.4; box-sizing: border-box; transition: border-color 0.3s, box-shadow 0.3s, background-color 0.3s; }
#personal-data-fieldset .input-wrapper > input[type="text"] { padding-right: 130px; }
fieldset > .content-container > .input-wrapper > textarea { padding-right: 75px; }
#complaints, #anamnesis, #objective { text-align: justify; hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; }
textarea { resize: none; overflow-y: hidden; min-height: 44px; }
input:focus-visible, select:focus-visible, textarea:focus-visible, .modal-search-input:focus-visible { outline: none; border-color: var(--input-focus-border); box-shadow: 0 0 0 3px var(--input-focus-shadow), inset 0 0 0 1px #a6cffc; }
input[readonly], textarea[readonly], select[disabled], input:disabled, textarea:disabled { background-color: var(--readonly-bg); cursor: not-allowed; color: var(--placeholder-color); }
.input-wrapper { position: relative; width: 100%; }
.clear-btn { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #9ca3af; cursor: pointer; font-size: 20px; padding: 0 5px; line-height: 1; display: none; }
.input-wrapper input:not(:placeholder-shown):not([readonly]) ~ .clear-btn, .input-wrapper textarea:not(:placeholder-shown):not([readonly]) ~ .clear-btn { display: block; }
.input-wrapper textarea ~ .clear-btn { top: 21px; }
.voice-btn, .add-to-directory-btn { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: none; color: #9ca3af; cursor: pointer; padding: 0 5px; display: flex; align-items: center; justify-content: center; }
.voice-btn { right: 65px; }
.add-to-directory-btn { right: 95px; font-size: 24px; color: var(--btn-blue-bg); transition: color 0.2s; }
.add-to-directory-btn:hover { color: var(--link-color); }
#personal-data-fieldset .input-wrapper .clear-btn { right: 35px; }
.input-wrapper textarea ~ .voice-btn { right: 35px; }
.input-wrapper textarea ~ .voice-btn { top: 21px; }
.voice-btn svg { width: 16px; height: 16px; }
.voice-btn.listening { color: var(--accent-red); animation: pulse-voice 1.5s infinite; }
@keyframes pulse-voice { 0% { transform: translateY(-50%) scale(1); opacity: 1; } 50% { transform: translateY(-50%) scale(1.2); opacity: 0.7; } 100% { transform: translateY(-50%) scale(1); opacity: 1; } }
.date-section { text-align: center; font-weight: normal; margin-bottom: 20px; font-size: 14px; }
.clickable-legend { cursor: pointer; text-decoration: underline; text-decoration-style: dashed; color: var(--link-color); }
.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: none; justify-content: center; align-items: center; z-index: 2000; }
.modal-content { background: var(--container-bg); color: var(--text-color); padding: 25px; border-radius: 8px; width: 90%; max-width: 800px; max-height: 90vh; display: flex; flex-direction: column; box-shadow: 0 5px 15px rgba(0,0,0,0.3); font-weight: normal; position: relative; }
.modal-content h3 { margin-top: 0; color: var(--header-color); font-weight: 600; margin-right: 40px; }
.modal-close-btn { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; padding: 0; border: none; background-color: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background-color 0.2s ease, transform 0.2s ease; }
.modal-close-btn svg { color: var(--placeholder-color); transition: color 0.2s ease; }
.modal-close-btn:hover { background-color: var(--hover-bg); transform: rotate(90deg); }
.modal-close-btn:hover svg { color: var(--accent-red); }
.modal-close-btn:focus { outline: 2px solid var(--accent-color); outline-offset: 2px; }
.modal-header-controls { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 10px; flex-wrap: wrap; }
.modal-search-input { flex-grow: 1; margin-bottom: 0; }
.modal-select-all-container { display: flex; align-items: center; gap: 8px; }
.modal-body { display: flex; flex-direction: column; flex-grow: 1; min-height: 0; gap: 15px; }
.modal-list-container { flex-grow: 1; display: flex; flex-direction: column; min-height: 0;}
.modal-list { flex-grow: 1; overflow-y: auto; padding-right: 10px; }
.modal-list-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; cursor: pointer; padding: 8px; border-radius: 4px; }
.modal-list-item:focus, .modal-list-item:hover { background-color: rgba(96, 165, 250, 0.2); outline: none; }
.modal-list-item label { cursor: pointer; flex-grow: 1; font-weight: normal; }
.modal-item-actions { display: flex; gap: 5px; }
.modal-item-actions button { background: none; border: none; cursor: pointer; padding: 2px; display: flex; align-items: center; justify-content: center; color: var(--placeholder-color); }
.modal-item-actions button:hover { color: var(--text-color); }
.modal-item-actions svg { width: 16px; height: 16px; }
.profile-actions button { background: none; border: 1px solid var(--border-color); border-radius: 4px; padding: 2px 8px; cursor: pointer; margin-left: 5px; font-size: 12px; color: var(--text-color); }
.profile-actions .delete-profile-btn { border-color: var(--accent-red); color: var(--accent-red); }
.modal-actions { text-align: right; border-top: 1px solid var(--border-color); padding-top: 15px; margin-top: 15px; display: flex; justify-content: space-between; align-items: center;}
.modal-actions .modal-add-new-btn { background-color: var(--btn-blue-bg); color: white; padding: 10px 20px; border-radius: 6px; border: none; cursor: pointer; font-weight: 500; }
.modal-actions-right { display: flex; gap: 10px; }
.modal-actions-right button { padding: 10px 20px; border-radius: 6px; border: none; cursor: pointer; font-weight: 500; }
.modal-ok-btn { background-color: var(--btn-green-bg); color: white; }
.modal-cancel-btn { background-color: var(--btn-gray-bg); color: white; margin-left: 0; }
.modal-clear-btn { background-color: transparent; color: var(--accent-red); border: 1px solid var(--accent-red); }
.modal-clear-btn:hover { background-color: rgba(220, 38, 38, 0.1); }
.autocomplete-suggestions { position: absolute; border: 1px solid var(--input-border); background-color: var(--input-bg); color: var(--input-text); max-height: 200px; overflow-y: auto; box-sizing: border-box; border-radius: 6px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); z-index: 2001; }
.autocomplete-suggestions div { padding: 10px; cursor: pointer; border-bottom: 1px solid var(--border-color); }
.autocomplete-suggestions div:last-child { border-bottom: none; }
.autocomplete-suggestions div:hover { background-color: rgba(96, 165, 250, 0.2); }
.autocomplete-suggestions div.active { background-color: rgba(96, 165, 250, 0.4); }
.table-container { overflow-x: auto; position: relative; }
table { width: 100%; border-collapse: collapse; margin-top: 10px; }
th, td { border: 1px solid var(--border-color); padding: 10px; text-align: left; vertical-align: top; word-break: break-word; }
th { background-color: var(--readonly-bg); font-weight: 600; }
.rules-text { line-height: 1.6; font-size: 14px; }
footer.document-footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--border-color); font-size: 14px; }
.signature-container { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; }
.signature { flex-grow: 1; margin-bottom: 0; white-space: nowrap; }
#eds-signature-block { width: 60mm; height: 17mm; border: 1px solid var(--text-color); padding: 5px; box-sizing: border-box; font-size: 8px; line-height: 1.5; display: flex; flex-direction: column; justify-content: center; flex-shrink: 0; border-radius: 8px; }
#eds-signature-block p { margin: 0; }
#eds-signature-block .eds-header { text-align: center; font-weight: normal; margin-bottom: 2px; }
#eds-signature-block .eds-info-line { text-indent: 2ch; }
#recommendations, .disclaimer { text-align: justify; word-break: break-word; hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; }
.disclaimer { font-size: 12px; color: #6b7280; }
.loading-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); display: none; justify-content: center; align-items: center; z-index: 3000; }
.modern-loader { display: flex; justify-content: center; align-items: center; }
.modern-loader span { display: block; width: 12px; height: 12px; background-color: var(--loader-color); border-radius: 50%; margin: 0 5px; animation: pulse 1.4s infinite ease-in-out both; }
.modern-loader span:nth-child(1) { animation-delay: -0.32s; }
.modern-loader span:nth-child(2) { animation-delay: -0.16s; }
.modern-loader span:nth-child(3) { animation-delay: 0s; }
@keyframes pulse { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1.0); } }
tbody tr { cursor: move; }
tr.dragging { opacity: 0.5; background: rgba(96, 165, 250, 0.2); }
tr.drag-over-top { box-shadow: inset 0 2px 0 0 var(--input-focus-border); }
tr.drag-over-bottom { box-shadow: inset 0 -2px 0 0 var(--input-focus-border); }
.mobile-header { display: none; }
#icd-table .diagnosis-name, #treatment-table .drug-name, #survey-table .survey-name { padding-right: 75px; }
.input-wrapper .add-to-dictionary-inline-btn { position: absolute; right: 35px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; padding: 0 5px; font-size: 24px; line-height: 1; cursor: pointer; background: none; border: none; color: var(--btn-blue-bg); transition: color 0.2s; }
.input-wrapper .add-to-dictionary-inline-btn:hover { color: var(--link-color); }
.table-actions button, .recommendations-actions button, #attachments-fieldset .content-container button { padding: 8px 15px; border-radius: 6px; cursor: pointer; font-weight: 500; transition: all 0.2s ease-in-out; background-color: transparent; border: 1px solid var(--border-color); color: var(--text-color); }
.table-actions button:hover, .recommendations-actions button:hover, #attachments-fieldset .content-container button:hover { background-color: var(--readonly-bg); transform: translateY(-1px); }
.add-row-btn:hover, .restore-recs-btn:hover, #btn-attach-file:hover { border-color: var(--btn-green-bg); color: var(--btn-green-bg); }
.remove-row-btn:hover, .clear-recs-btn:hover { border-color: var(--accent-red); color: var(--accent-red); }
.import-recs-btn:hover { border-color: var(--btn-blue-bg); color: var(--btn-blue-bg); }
/* Стили для нового центрального блока хедера */
        .header-center-content {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        /* Убираем лишние стили у логотипа, так как центрирование теперь делает родитель */
        .logo-container {
            margin: 0; 
        }

        /* Корректируем стили названия организации */
        #organization-name-display {
            text-align: center;
            font-size: 14px;
            font-weight: normal;
            color: var(--header-color);
            padding: 5px;
            word-break: break-word;
            /* Убрали border-bottom и margin-bottom */
        }
.black-theme #organization-name-display { color: #00e5ff; }
.disclaimer-text-box { border-top: 1px solid var(--border-color); padding-top: 15px; margin-top: 15px; font-size: 13px; color: var(--placeholder-color); }
.developer-mode-only { display: none !important; }
body.developer-mode-active .developer-mode-only { display: flex !important; }
#attached-files-list { list-style: none; padding: 0; margin-top: 15px; }
.attached-file-item { display: flex; justify-content: space-between; align-items: center; padding: 8px; border-radius: 6px; transition: background-color 0.2s; margin-bottom: 5px; border: 1px solid transparent; }
.attached-file-item:hover { background-color: var(--readonly-bg); border-color: var(--border-color); }
.attached-file-link { color: var(--link-color); text-decoration: none; cursor: pointer; flex-grow: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-right: 15px; }
 .attached-file-link:hover { text-decoration: underline; }
.delete-attachment-btn { background: none; border: none; color: var(--placeholder-color); cursor: pointer; font-size: 20px; line-height: 1; padding: 2px 5px; transition: color 0.2s; }
.delete-attachment-btn:hover { color: var(--accent-red); }
.no-attachments-msg { font-style: italic; color: var(--placeholder-color); margin-top: 10px; }
.lab-tabs { display: flex; border-bottom: 1px solid var(--border-color); margin-bottom: 15px; }
.lab-tab-button { padding: 10px 15px; cursor: pointer; border: none; background-color: transparent; color: var(--placeholder-color); font-weight: 500; border-bottom: 3px solid transparent; transition: color 0.2s, border-color 0.2s; }
.lab-tab-button.active { color: var(--header-color); border-bottom-color: var(--header-color); }
.lab-tab-content { display: none; }
.lab-tab-content.active { display: block; }
.lab-table { width: 100%; border-collapse: collapse; }
.lab-table td { padding: 6px 8px; border-bottom: 1px solid var(--border-color); }
.lab-table tr:last-child td { border-bottom: none; }
.lab-parameter-name { font-size: 14px; color: var(--text-color); width: 45%; }
.lab-parameter-norm { font-size: 13px; color: var(--placeholder-color); width: 25%; text-align: center; }
.lab-parameter-unit { font-size: 13px; color: var(--placeholder-color); text-align: right; padding-right: 10px; }
.lab-parameter-input input { padding: 6px; font-size: 14px; width: 100%; max-width: 120px; text-align: center; }
.lab-parameter-input input.lab-normal { color: #16a34a; font-weight: bold; }
.lab-parameter-input input.lab-abnormal { color: var(--accent-red); font-weight: bold; }
#dynamics-chart-modal .modal-content { max-width: 90vw; width: 1200px; height: 90vh; }
#dynamics-chart-modal .modal-body { display: flex; flex-direction: column; }
#chart-controls { display: flex; gap: 15px; margin-bottom: 15px; align-items: center; }
#chart-controls label { font-weight: 500; }
#parameter-select { flex-grow: 1; }
#chart-container { flex-grow: 1; position: relative; }
#command-palette-container { display: flex; flex-direction: column; max-width: 600px; width: 90%; background: var(--input-bg); border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.2); border: 1px solid var(--border-color); overflow: hidden; }
#command-palette-input { width: 100%; padding: 12px 16px; font-size: 16px; border: none; background: transparent; color: var(--text-color); outline: none; box-sizing: border-box; }
#command-palette-results { list-style: none; padding: 0 8px 8px 8px; margin: 0; max-height: 40vh; overflow-y: auto; border-top: 1px solid var(--border-color); }
.command-item { padding: 10px 12px; cursor: pointer; border-radius: 6px; display: flex; justify-content: space-between; align-items: center; font-size: 14px; }
.command-item:hover, .command-item.active { background-color: rgba(96, 165, 250, 0.2); }
.command-item kbd { background-color: var(--readonly-bg); border: 1px solid var(--border-color); padding: 2px 6px; border-radius: 4px; font-size: 12px; }
#visuals-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; padding-top: 1rem; }
.visual-thumbnail { display: flex; flex-direction: column; align-items: center; border: 1px solid var(--border-color); border-radius: 8px; padding: 0.75rem; cursor: pointer; transition: all 0.2s ease-in-out; background-color: var(--container-bg); }
.visual-thumbnail:hover { transform: translateY(-3px); box-shadow: 0 4px 10px rgba(0,0,0,0.1); border-color: var(--input-focus-border); }
.visual-thumbnail img { width: 100%; height: 120px; object-fit: contain; margin-bottom: 0.75rem; }
.visual-thumbnail-title { font-size: 13px; text-align: center; color: var(--text-color); word-break: break-word; }
#no-visuals-message { text-align: center; color: var(--placeholder-color); padding: 2rem; }
@media (max-width: 1100px) { #personal-data-grid { grid-template-columns: 1fr; } .main-content-wrapper { flex-direction: column; } #patient-history-sidebar { width: 100%; position: static; margin-bottom: 1.5rem;} }
@media (max-width: 1024px) { .form-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } .functional-buttons { gap: 5px; } }
@media (max-width: 768px) {
    body { padding: 0; }
    .main-content-wrapper { gap: 0; }
    main.page-container { padding: 1.5rem 1rem; margin-top: 0; border-radius: 0; border-left: none; border-right: none;}
    .functional-buttons { margin-left: -1rem; margin-right: -1rem; padding-left: 1rem; padding-right: 1rem; }
    .form-grid, #personal-data-grid { grid-template-columns: 1fr; }
    h1 { font-size: 16px; }
    legend { font-size: 15px; }
    .modal-body { flex-direction: column; }
    header.document-header { flex-direction: row; justify-content: space-between; align-items: center; gap: 0; width: 100%; }
    #qr-code { flex: 0 1 15%; transform: scale(0.48); display: flex; justify-content: flex-start; }
    .logo-container { flex: 0 1 60%; transform: scale(0.8); width: auto; min-width: 0; }
    .codes-container { flex: 0 1 20%; }
    .codes-container #barcode { width: 100%; height: auto; }
    #treatment-table .desktop-header { display: none; }
    #treatment-table .mobile-header { display: inline; }
    #treatment-table th:nth-child(3), #treatment-table td:nth-child(3), #treatment-table th:nth-child(4), #treatment-table td:nth-child(4) { display: none; }
    #treatment-table th:nth-child(2), #treatment-table td:nth-child(2) { width: 100%; }
    #icd-table .desktop-header { display: none; }
    #icd-table .mobile-header { display: inline; }
    #icd-table th:nth-child(2), #icd-table td:nth-child(2) { display: none; }
    #icd-table th:nth-child(1), #icd-table td:nth-child(1) { width: 100%; }
    #icd-table thead, #treatment-table thead, #survey-table thead { display: none; }
    .table-actions .add-to-dictionary-btn, .table-actions .add-multiple-btn { display: none; }
}
body.mobile-view-force main.page-container { padding: 0 1rem 1rem !important; max-width: 100%; margin: 0 auto; border: none; border-radius: 0; }
body.mobile-view-force .form-grid, body.mobile-view-force #personal-data-grid { grid-template-columns: 1fr !important; }
body.mobile-view-force h1 { font-size: 16px; }
body.mobile-view-force header.document-header { flex-direction: row; justify-content: space-between; align-items: center; gap: 0; width: 100%; }
body.mobile-view-force #qr-code { flex: 0 1 15%; transform: scale(0.48); display: flex; justify-content: flex-start; }
body.mobile-view-force .logo-container { flex: 0 1 60%; transform: scale(0.8); width: auto; min-width: 0; }
body.mobile-view-force .codes-container { flex: 0 1 20%; }
body.mobile-view-force .codes-container #barcode { width: 100%; height: auto; }
.print-text-content, #print-header-info, #print-visual-header { display: none; }
@media print {
    .no-print, #patient-history-sidebar, .functional-buttons, .table-actions, .recommendations-actions, .clear-btn, .voice-btn, .add-to-directory-btn, .modal-overlay, .autocomplete-suggestions, #expiration-banner { display: none !important; visibility: hidden !important; }
    .clickable-legend { text-decoration: none !important; color: #000 !important; }
    legend > span.clickable-legend { cursor: default; }
    legend > input[type="checkbox"] { display: none !important; }
    body { padding: 20px !important; margin: 0 !important; font-size: 10pt !important; background-color: #fff !important; color: #000 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    main.page-container { box-shadow: none !important; border: none !important; max-width: none !important; width: 100% !important; padding: 0 !important; background-color: #fff !important; color: #000 !important; }
    .ecg-animated-group { animation: none !important; }
    header.document-header { display: none !important; }
    #print-visual-header { display: flex !important; justify-content: space-between; align-items: center; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #000 !important; }
    #organization-name-display { display: block !important; font-size: 11pt !important; text-align: center; margin-bottom: 20px; color: #000 !important; padding-bottom: 10px !important; border-bottom: 1px solid #000 !important; }
    #qr-code-print-img { width: 60px; height: 60px; }
    #logo-print-img { height: 60px; width: auto; max-width: 400px; margin: 0 10px; object-fit: contain; }
    #barcode-print-svg { max-width: 120px; height: 40px; }
    h1 { font-size: 16pt !important; margin-bottom: 5px !important; border-bottom: none !important; text-align: center; color: #000 !important; }
    .date-section { text-align: center !important; font-size: 11pt !important; font-weight: normal !important; margin-bottom: 20px !important; color: #000 !important; }
    #print-header-info { display: block !important; margin-bottom: 20px; border-bottom: 1px solid #ccc; padding-bottom: 15px; }
    #print-header-info p { font-size: 10pt; margin: 0 0 5px 0; }
    fieldset#personal-data-fieldset { display: none !important; }
    fieldset { page-break-inside: avoid; margin-bottom: 15px !important; padding: 10px !important; border: 1px solid #999 !important; }
    legend, legend > span { font-size: 12pt !important; font-weight: bold !important; color: #000 !important; }
    input, textarea, select, .rules-text { display: none !important; }
    .print-text-content { display: block !important; font-size: 9pt !important; font-family: inherit !important; color: #000 !important; white-space: pre-wrap !important; word-break: break-word !important; }
    #print_recommendations, #print_anamnesis, #print_objective, #print_complaints, .disclaimer { text-align: justify !important; word-break: break-word; hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; }
    #attachments-fieldset { display: none !important; }
    table { width: 100% !important; margin: 0 auto !important; border: 1px solid #000 !important; table-layout: auto !important; page-break-inside: auto; }
    tr { page-break-inside: avoid; page-break-after: auto; }
    th, td { border: 1px solid #000 !important; padding: 5px !important; font-size: 9pt !important; vertical-align: top; word-break: break-word; page-break-inside: avoid; }
    th { background-color: #eee !important; }
    #icd-table thead, #treatment-table thead, #survey-table thead { display: table-header-group !important; }
    #treatment-table .desktop-header, #icd-table .desktop-header { display: inline !important; }
    #treatment-table .mobile-header, #icd-table .mobile-header { display: none !important; }
    #treatment-table th:nth-child(n), #treatment-table td:nth-child(n), #icd-table th:nth-child(n), #icd-table td:nth-child(n) { display: table-cell !important; width: auto !important; }
    footer.document-footer { margin-top: 25px !important; padding-top: 10px !important; border-top: 1px solid #999 !important; font-size: 8pt !important; line-height: 1.3 !important; color: #000 !important; page-break-inside: avoid; }
    #eds-signature-block { border-color: #000 !important; }
    .fieldset-hidden-for-print { display: none !important; }
    tr.empty-row-for-print { display: none !important; }
    a[href]:after { content: "" !important; }
}
.doctor-info-modal { position: fixed; z-index: 10002; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; }
.doctor-info-modal-content { background-color: #fefefe; margin: auto; padding: 20px 30px; border: 1px solid #888; width: 90%; max-width: 500px; border-radius: 8px; text-align: center; color: #1f2937; }
.doctor-info-modal-content h2 { color: #c00; margin-top: 0; }
.doctor-info-modal-content p { font-size: 16px; line-height: 1.5; }
.custom-prompt-modal-content { background: var(--container-bg); color: var(--text-color); padding: 25px; border-radius: 8px; width: 90%; max-width: 450px; box-shadow: 0 5px 15px rgba(0,0,0,0.3); display: flex; flex-direction: column; gap: 15px; }
.custom-prompt-modal-content h3 { margin: 0; color: var(--header-color); font-size: 18px; text-align: left; }
.custom-prompt-modal-content .form-group { text-align: left; }
.custom-prompt-modal-content input { width: 100%; }
#add-patient-modal .modal-content { max-width: 500px; }
#add-patient-modal-form { display: flex; flex-direction: column; gap: 15px; }
.dropdown-container { position: relative; display: inline-block; }
.dropdown-menu { position: fixed; display: none; background-color: var(--input-bg); color: var(--input-text); width: max-content; min-width: 220px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 9999; border-radius: 6px; border: 1px solid var(--border-color); padding: 8px 0; }
.dropdown-menu.is-active { display: block; }
.dropdown-menu::before { content: ''; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); border-width: 6px; border-style: solid; border-color: transparent transparent var(--border-color) transparent; }
.dropdown-menu a, .dropdown-menu button, .dropdown-menu .doctor-profile-item { color: var(--text-color); padding: 10px 16px 10px 2ch; text-decoration: none; display: flex; justify-content: space-between; align-items: center; text-align: left; border-radius: 0; height: auto; min-height: unset; white-space: nowrap; background-color: transparent !important; box-sizing: border-box; border: none; font-size: 14px; font-family: inherit; cursor: pointer; }
.dropdown-menu a:hover, .dropdown-menu button:hover, .dropdown-menu .doctor-profile-item:hover { background-color: rgba(96, 165, 250, 0.2) !important; filter: none; transform: none; }
.doctor-profile-actions { display: none; align-items: center; gap: 5px; }
.dropdown-menu .doctor-profile-item:hover .doctor-profile-actions { display: flex; }
.doctor-profile-actions button { background: none; border: none; cursor: pointer; padding: 2px 4px; color: var(--placeholder-color); display: flex; align-items: center; justify-content: center; border-radius: 4px; }
.doctor-profile-actions button:hover { color: var(--text-color); background-color: rgba(128, 128, 128, 0.2) !important; }
.doctor-profile-actions svg { width: 14px; height: 14px; }
.doctor-profile-actions .delete-profile-btn:hover { color: var(--accent-red); }
#toast-container { position: fixed; bottom: 20px; right: 20px; z-index: 10000; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; pointer-events: none; }
.toast { background-color: var(--input-bg); color: var(--text-color); padding: 15px 20px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); border-left: 5px solid; opacity: 0; transform: translateX(110%); transition: all 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55); min-width: 250px; max-width: 350px; cursor: pointer; font-size: 14px; pointer-events: all; }
.toast.show { opacity: 1; transform: translateX(0); }
.toast.success { border-color: #22c55e; }
.toast.error   { border-color: #ef4444; }
.toast.info    { border-color: #3b82f6; }
.disclaimer-text-box { border-top: 1px solid var(--border-color); padding-top: 15px; margin-top: 15px; font-size: 13px; color: var(--placeholder-color); }
#lightbox-overlay { backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
#lightbox-content { position: relative; max-width: 90vw; max-height: 85vh; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#lightbox-image { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); user-select: none; }
#lightbox-caption { margin-top: 15px; color: #fff; font-size: 16px; text-align: center; background-color: rgba(0,0,0,0.5); padding: 5px 15px; border-radius: 15px; }
.lightbox-nav-btn { position: fixed; top: 50%; transform: translateY(-50%); background-color: rgba(30, 30, 30, 0.6); color: white; border: none; font-size: 32px; font-weight: bold; cursor: pointer; padding: 10px 15px; border-radius: 8px; transition: background-color 0.2s; user-select: none; z-index: 2002; }
.lightbox-nav-btn:hover { background-color: rgba(0, 0, 0, 0.8); }
#lightbox-close { top: 20px; right: 20px; font-size: 40px; padding: 0 15px; line-height: 40px; transform: none; }
.accordion-section { border: 1px solid var(--border-color); border-radius: 8px; margin-bottom: 1rem; overflow: hidden; }
.accordion-header { background-color: var(--readonly-bg); padding: 10px 15px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: background-color 0.2s; }
.accordion-header:hover { background-color: var(--hover-color); }
.accordion-header h3 { margin: 0; font-size: 16px; font-weight: 600; color: var(--header-color); }
.accordion-icon { width: 20px; height: 20px; transition: transform 0.3s ease-in-out; color: var(--text-color); }
.accordion-content { padding: 0; max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out, padding 0.4s ease-out; }
.accordion-content > fieldset { margin-bottom: 0; border-top: none; border-left: none; border-right: none; border-radius: 0; }
.accordion-content > fieldset:last-child { border-bottom: none; }
.accordion-section.is-open > .accordion-content { max-height: 5000px; padding: 0; transition: max-height 0.5s ease-in; }
.accordion-section.is-open > .accordion-header .accordion-icon { transform: rotate(180deg); }
#quick-note-fieldset .table-actions { border-top: 1px solid var(--border-color); padding-top: 10px; }
#quick-note-textarea::placeholder { color: var(--placeholder-color); font-style: italic; }
body { background-color: var(--container-bg); color: var(--text-color); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin: 0; padding: 0; display: flex; justify-content: center; transition: background-color 0.3s, color 0.3s; }
main.page-container { width: 100%; max-width: 1400px; background-color: var(--container-bg); border: 1px solid var(--border-color); border-radius: 8px; padding: 1.5rem 1.5rem 2rem; box-shadow: 0 4px 12px rgba(0,0,0,0.1); transition: background-color 0.3s, border-color 0.3s; margin: 2rem; }
.functional-buttons { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; position: sticky; top: 0; z-index: 50; background-color: var(--container-bg); padding: 10px 1.5rem; transition: background-color 0.3s, border-color 0.3s; border-bottom: 1px solid var(--border-color); margin-left: -1.5rem; margin-right: -1.5rem; margin-top: -1.5rem; }
.functional-buttons button, .language-switcher { color: var(--text-color); background-color: transparent; border: 1px solid var(--border-color); padding: 8px; min-width: 40px; height: 40px; border-radius: 6px; display: flex; justify-content: center; align-items: center; cursor: pointer; transition: background-color 0.2s, border-color 0.2s, transform 0.2s, opacity 0.2s; position: relative; }
.functional-buttons button:hover, .language-switcher:hover {  background-color: var(--readonly-bg); border-color: var(--input-focus-border); transform: translateY(-1px); filter: none; }
#calculate-btn { background-color: rgba(34, 197, 94, 0.1); border-color: rgba(34, 197, 94, 0.7); }
#calculate-btn:hover { background-color: rgba(34, 197, 94, 0.2); border-color: #22c55e; }
body.dark-theme #calculate-btn, body.black-theme #calculate-btn { background-color: rgba(34, 197, 94, 0.15); border-color: rgba(34, 197, 94, 0.6); }
body.dark-theme #calculate-btn:hover, body.black-theme #calculate-btn:hover { background-color: rgba(34, 197, 94, 0.25); border-color: #22c55e; }
.functional-buttons button:active { transform: scale(0.97); opacity: 0.9; }
.functional-buttons svg { width: 20px; height: 20px; }
.tooltip { position: relative; }
.tooltip .tooltiptext { visibility: hidden; width: max-content; background-color: #374151; color: #fff; text-align: center; border-radius: 6px; padding: 5px 10px; position: absolute; z-index: 1; top: 125%; left: 50%; transform: translateX(-50%); opacity: 0; transition: opacity 0.3s; font-size: 12px; }
.tooltip:hover .tooltiptext { visibility: visible; opacity: 1; }
.language-switcher { padding: 0; }
.language-switcher > button { all: unset; padding: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.language-dropdown { visibility: hidden; opacity: 0; position: absolute; top: 110%; left: 50%; transform: translateX(-50%); background-color: var(--container-bg); border: 1px solid var(--border-color); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); z-index: 60; transition: opacity 0.2s, visibility 0.2s; padding: 4px; width: max-content; }
.language-switcher:focus-within .language-dropdown, .language-switcher:hover .language-dropdown { visibility: visible; opacity: 1; }
.language-dropdown button { all: unset; display: block; width: 100%; padding: 8px 12px; text-align: left; border-radius: 4px; cursor: pointer; font-size: 14px; box-sizing: border-box; }
.language-dropdown button:hover { background-color: var(--readonly-bg); }
.calc-bg-section { background-color: var(--input-bg); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.07); border-radius: 0.75rem; border: 1px solid var(--border-color); }
.calc-bg-input, select.border, input.border { background-color: var(--input-bg); box-shadow: inset 0 1px 2px 0 rgba(0,0,0,0.05); border: 1px solid var(--input-border); color: var(--text-color); }
input:not([type='checkbox']):not([type='radio']):focus, select:focus { border-color: var(--input-focus-border); box-shadow: 0 0 0 2px var(--input-focus-shadow); outline: none; }
.calc-border-color { border-color: var(--border-color); }
.calc-text-muted { color: var(--placeholder-color); }
.calc-text-header { color: var(--header-color); }
.calc-text-accent { color: var(--link-color); }
input[type="radio"], input[type="checkbox"] { border-color: var(--input-border); background-color: var(--container-bg); -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 1.25em; height: 1.25em; border-width: 2px; border-radius: 50%; display: inline-block; position: relative; vertical-align: middle; cursor: pointer; margin-right: 0.5em; flex-shrink: 0; }
input[type="checkbox"] { border-radius: 0.25rem; }
input[type="radio"]:checked, input[type="checkbox"]:checked { background-color: var(--input-focus-border); border-color: var(--input-focus-border); }
input[type="radio"]:checked::after { content: ''; display: block; width: 0.6em; height: 0.6em; border-radius: 50%; background: white; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
input[type="checkbox"]:checked::after { content: '✓'; display: block; color: white; font-size: 0.9em; font-weight: bold; text-align: center; line-height: 1.25em; }
body.black-theme h3.calc-text-accent { color: #00e5ff; }
body.black-theme input[type="radio"]:checked, body.black-theme input[type="checkbox"]:checked { background-color: #00e5ff; border-color: #00e5ff; }
.pesi-result-item { display: flex; justify-content: space-between; align-items: center; padding: 4px 0; border-bottom: 1px solid; }
.pesi-result-item:last-child { border-bottom: none; }
.pesi-result-label { font-weight: 500; }
.pesi-result-value { font-weight: 700; font-size: 1.1rem; }
.pesi-risk-I { color: #10b981; } .pesi-risk-II { color: #06b6d4; } .pesi-risk-III { color: #f59e0b; } .pesi-risk-IV { color: #ef4444; } .pesi-risk-V { color: #dc2626; }
body.medical-theme .pesi-risk-I { color: #1E90FF; background: linear-gradient(to right, #1E90FF, #003366); } body.medical-theme .pesi-risk-II { color: #00BFFF; } body.medical-theme .pesi-risk-III { color: #FF4500; } body.medical-theme .pesi-risk-IV { color: #DC143C; } body.medical-theme .pesi-risk-V { color: #FF0000; background: linear-gradient(to right, #FF4500, #DC143C); }
.killip-item { display: block; background: var(--tw-bg-opacity, 1); border-radius: 0.5rem; padding: 0.75rem 1rem; transition: all 0.2s ease; cursor: pointer; border: 2px solid; border-color: var(--input-border); }
.killip-item:hover { border-color: var(--input-focus-border); } .killip-item.killip-checked { border-color: var(--input-focus-border); }
.killip-item .class-name { font-weight: 600; font-size: 1rem; } .killip-item .class-description { font-size: 0.9rem; margin-top: 0.25rem; }
.killip-interpretation { padding: 0.75rem; border-radius: 0.5rem; font-size: 1rem; line-height: 1.5; font-weight: 500; }
.killip-class-I { background-color: rgba(16, 185, 129, 0.1); border-left: 4px solid #10b981; color: #10b981;}
.killip-class-II { background-color: rgba(245, 158, 11, 0.15); border-left: 4px solid #f59e0b; color: #b98900;}
.killip-class-III { background-color: rgba(253, 126, 20, 0.15); border-left: 4px solid #fd7e14; color: #c96210;}
.killip-class-IV { background-color: rgba(220, 53, 69, 0.1); border-left: 4px solid #dc3545; color: #dc3545;}
body.medical-theme .killip-class-I { background-color: rgba(30, 144, 255, 0.2); border-left: 4px solid #1E90FF; color: #003366; } body.medical-theme .killip-class-IV { background-color: rgba(220, 20, 60, 0.2); border-left: 4px solid #DC143C; color: #FF0000; }
#inputs-killip input[type="radio"] { border-radius: 0.25rem; flex-shrink: 0; }
#inputs-killip input[type="radio"]:checked::after { content: '✓'; display: block; color: white; font-size: 0.9em; font-weight: bold; text-align: center; line-height: 1.25em; background: transparent; width: auto; height: auto; border-radius: 0; position: static; transform: none; }
.wells-tela-result-block, .wells-dvt-result-block { padding: 0.75rem; border-radius: 0.375rem; margin-top: 0.5rem; font-size: 0.9rem; line-height: 1.5; border-width: 1px; }
.wells-tela-low-risk, .wells-dvt-low-risk    { background-color: rgba(16, 185, 129, 0.1); border-color: rgba(16, 185, 129, 0.2); color: #057c4c; }
.wells-tela-moderate-risk, .wells-dvt-moderate-risk { background-color: rgba(245, 158, 11, 0.15); border-color: rgba(245, 158, 11, 0.25); color: #b45309; }
.wells-tela-high-risk, .wells-dvt-high-risk   { background-color: rgba(239, 68, 68, 0.1); border-color: rgba(239, 68, 68, 0.2); color: #b91c1c; }
body.dark-theme .wells-tela-low-risk, body.black-theme .wells-tela-low-risk, body.brown-theme .wells-tela-low-risk, body.dark-theme .wells-dvt-low-risk, body.black-theme .wells-dvt-low-risk, body.brown-theme .wells-dvt-low-risk { color: #34d399; background-color: rgba(52, 211, 153, 0.15); border-color: rgba(52, 211, 153, 0.3); }
body.dark-theme .wells-tela-moderate-risk, body.black-theme .wells-tela-moderate-risk, body.brown-theme .wells-tela-moderate-risk, body.dark-theme .wells-dvt-moderate-risk, body.black-theme .wells-dvt-moderate-risk, body.brown-theme .wells-dvt-moderate-risk { color: #facc15; background-color: rgba(250, 204, 21, 0.15); border-color: rgba(250, 204, 21, 0.3); }
body.dark-theme .wells-tela-high-risk, body.black-theme .wells-tela-high-risk, body.brown-theme .wells-tela-high-risk, body.dark-theme .wells-dvt-high-risk, body.black-theme .wells-dvt-high-risk, body.brown-theme .wells-dvt-high-risk { color: #f87171; background-color: rgba(248, 113, 113, 0.15); border-color: rgba(248, 113, 113, 0.3); }
body.medical-theme .wells-tela-low-risk, body.medical-theme .wells-dvt-low-risk { color: #FFFFFF; background: linear-gradient(to right, #1E90FF, #003366); border-color: #1E90FF; }
body.medical-theme .wells-tela-high-risk, body.medical-theme .wells-dvt-high-risk { color: #FFFFFF; background: linear-gradient(to right, #FF4500, #DC143C); border-color: #DC143C; }
.nihss-section { border: 1px solid var(--border-color); border-radius: 8px; padding: 15px; margin-bottom: 15px; background-color: var(--readonly-bg); }
.result-recommendations { margin-top: 15px; padding: 15px; background-color: var(--readonly-bg); border-left: 4px solid var(--input-focus-border); border-radius: 0 8px 8px 0; font-size: 0.9rem; }
.result-recommendations h4 { color: var(--text-color); margin-bottom: 10px; font-size: 1rem; }
.result-recommendations ul { margin: 8px 0; padding-left: 20px; }
.result-recommendations li { margin-bottom: 5px; line-height: 1.4; }
.urgent { background-color: rgba(220, 53, 69, 0.1); border-left-color: #dc3545; }
.checkbox-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.accordion-item { border: 1px solid var(--border-color); border-radius: 0.5rem; margin-bottom: 1rem; overflow: hidden; }
.accordion-header { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 0.75rem 1rem; background-color: var(--input-bg); cursor: pointer; border: none; text-align: left; font-size: 1.1rem; font-weight: 600; color: var(--header-color); transition: background-color 0.2s; }
.accordion-header:hover { background-color: var(--readonly-bg); }
.accordion-header .accordion-title { flex-grow: 1; }
.accordion-header .select-all-label { display: flex; align-items: center; font-size: 0.9rem; font-weight: 500; color: var(--text-color); margin-left: 1rem; white-space: nowrap; cursor: pointer; }
.accordion-header .select-all-label input { margin-right: 0.5rem; }
.accordion-arrow { width: 20px; height: 20px; transition: transform 0.3s ease; }
.accordion-header.active .accordion-arrow { transform: rotate(180deg); }
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; background-color: transparent; }
.accordion-content-inner { padding: 1.5rem; border-top: 1px solid var(--border-color); }
.accordion-item:first-of-type { margin-top: 1.5rem; }
.info-btn { background: transparent; border: none; color: #2563eb; cursor: pointer; padding: 2px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s; }
.info-btn:hover { background-color: rgba(59, 130, 246, 0.1); }
body.dark-theme .info-btn, body.black-theme .info-btn { color: #60a5fa; }
body.dark-theme .info-btn:hover, body.black-theme .info-btn:hover { background-color: rgba(96, 165, 250, 0.2); }
@media (max-width: 1024px) { #personal-data-block { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { #personal-data-block { grid-template-columns: 2fr 1fr 1fr 1fr; } }
@media (max-width: 640px) { #personal-data-block { grid-template-columns: repeat(1, minmax(0, 1fr)); } }
@media print { body, main.page-container { padding: 0 !important; margin: 0 !important; } body * { visibility: hidden !important; } main.page-container, main.page-container * { visibility: visible !important; } main.page-container { position: absolute !important; left: 0 !important; top: 0 !important; width: 100% !important; box-shadow: none !important; border: none !important; } .functional-buttons, .accordion-item, #calc-header, #unified-calculator-form > div:not(#results-container), #unified-calculator-form > #specific-inputs-container, #calculator-selectors-container, #personal-data-block, #calculate-btn, #results-container h2 { display: none !important; } #results-container { margin-top: 0 !important; padding-top: 0 !important; } #results-grid .result-card { border-left-width: 2px !important; box-shadow: none !important; border: 1px solid #ccc !important; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } #print-header { display: block !important; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #000; color: #000 !important; } #print-header h1, #print-header p { color: #000 !important; margin: 5px 0; } main.page-container, main.page-container .calc-bg-section, main.page-container .calc-bg-input { background-color: #ffffff !important; color: #000000 !important; } main.page-container .calc-text-header, main.page-container .calc-text-main, main.page-container .calc-text-muted, main.page-container .calc-text-accent { color: #000000 !important; } .pesi-risk-I, .pesi-risk-II, .pesi-risk-III, .pesi-risk-IV, .pesi-risk-V, .killip-class-I, .killip-class-II, .killip-class-III, .killip-class-IV, .wells-tela-low-risk, .wells-tela-moderate-risk, .wells-tela-high-risk, .wells-dvt-low-risk, .wells-dvt-moderate-risk, .wells-dvt-high-risk { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } }
.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: none; justify-content: center; align-items: center; z-index: 2000; }
#command-palette-container { display: flex; flex-direction: column; max-width: 600px; width: 90%; background: var(--input-bg); border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.2); border: 1px solid var(--border-color); overflow: hidden; }
#command-palette-input { width: 100%; padding: 12px 16px; font-size: 16px; border: none; background: transparent; color: var(--text-color); outline: none; box-sizing: border-box; }
#command-palette-results { list-style: none; padding: 0 8px 8px 8px; margin: 0; max-height: 40vh; overflow-y: auto; border-top: 1px solid var(--border-color); }
.command-item { padding: 10px 12px; cursor: pointer; border-radius: 6px; display: flex; justify-content: space-between; align-items: center; font-size: 14px; }
.command-item:hover, .command-item.active { background-color: rgba(96, 165, 250, 0.2); }
.command-item kbd { background-color: var(--readonly-bg); border: 1px solid var(--border-color); padding: 2px 6px; border-radius: 4px; font-size: 12px; }
body { padding: 0.5rem; transition: background-color 0.3s ease, color 0.3s ease; }
.dashboard-container { max-width: 1400px; margin: 0 auto; display: flex; flex-direction: column; min-height: calc(100vh - 4rem); background-color: var(--input-bg); border: 1px solid var(--border-color); border-radius: 8px; padding: 1.5rem; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.dashboard-header { display: flex; justify-content: flex-end; align-items: center; margin-bottom: 1.5rem; border-bottom: 1px solid var(--border-color); padding-bottom: 1rem; flex-wrap: wrap; gap: 1rem; }
.dashboard-header h1 { font-size: 24px; color: var(--header-color); margin: 0; }
.dashboard-controls { display: flex; align-items: flex-end; gap: 1rem; width: 100%; flex-wrap: nowrap; }
.dashboard-controls input[type="date"], .dashboard-actions button, .dashboard-controls button, #calendar-controls-wrapper button, #widget-controls button, #analytics-filters select { padding: 8px; border-radius: 6px; border: 1px solid var(--input-border); background-color: var(--input-bg); color: var(--text-color); font-family: inherit; font-size: 14px; height: 40px; box-sizing: border-box; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease; }
.dashboard-controls button, .dashboard-actions button, #calendar-controls-wrapper button, #widget-controls .widget-filters button { padding: 8px 16px; font-weight: 500; display: flex; align-items: center; justify-content: center; gap: 8px; }
#calendar-controls-wrapper { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
#calendar-nav-controls, #calendar-view-controls { display: flex; gap: 0.5rem; align-items: center; }
#calendar-header-title { font-size: 1.25rem; font-weight: 600; color: var(--header-color); min-width: 180px; text-align: center; }
#calendar-view-controls button.active { background-color: var(--btn-blue-bg); color: white; border-color: var(--btn-blue-bg); }
#calendar-container { display: flex; flex-direction: column; flex-grow: 1; }
#calendar-days-header { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; font-weight: 600; color: var(--placeholder-color); padding-bottom: 0.5rem; border-bottom: 1px solid var(--border-color); }
#calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); grid-auto-rows: minmax(120px, auto); gap: 1px; background-color: var(--border-color); border: 1px solid var(--border-color); border-top: none; flex-grow: 1; }
.calendar-day { background-color: var(--input-bg); padding: 8px; display: flex; flex-direction: column; gap: 4px; overflow-y: auto; transition: background-color 0.2s ease; }
.calendar-day.today { background-color: color-mix(in srgb, var(--btn-blue-bg) 10%, var(--input-bg)); }
.calendar-day .day-number { font-weight: 500; font-size: 14px; text-align: right; margin-bottom: 4px; }
.calendar-day.today .day-number { color: var(--btn-blue-bg); font-weight: 700; }
.calendar-day.other-month { opacity: 0.6; background-color: var(--container-bg); }
.calendar-event { padding: 4px 8px; border-radius: 4px; background-color: color-mix(in srgb, var(--btn-green-bg) 80%, white); color: #064e3b; font-size: 12px; cursor: pointer; transition: all 0.2s ease; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.dark-theme .calendar-event, body.black-theme .calendar-event { background-color: var(--btn-green-bg); color: white; }
.calendar-event:hover { transform: scale(1.02); box-shadow: 0 2px 5px rgba(0,0,0,0.15); }
.calendar-event-time { font-weight: 600; margin-right: 5px; }
.calendar-event.status-completed { background-color: color-mix(in srgb, var(--placeholder-color) 80%, white); color: var(--text-color); text-decoration: line-through; opacity: 0.8; }
.calendar-event.other-doctor-visit { background-color: var(--readonly-bg); color: var(--text-color); border: 1px dashed var(--border-color); cursor: not-allowed; }
.calendar-event.other-doctor-visit:hover { transform: none; box-shadow: none; }
.control-group { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.control-group label { font-size: 12px; color: var(--placeholder-color); }
.control-group button { width: 100%; }
.control-group .dropdown-container button { min-width: 200px; }
.dashboard-actions { display: flex; align-items: flex-end; gap: 0.5rem; flex-shrink: 0; }
.dashboard-actions button { white-space: nowrap; padding: 8px 10px; }
.dashboard-actions button:hover { opacity: 0.9; }
.dropdown-container { position: relative; display: inline-block; }
.dropdown-container button { width: 100%; height: 100%; border: 1px solid var(--input-border); justify-content: space-between; }
#btn-add-visit { background-color: var(--btn-green-bg); color: white; border-color: var(--btn-green-bg); flex-shrink: 0; }
main { flex-grow: 1; display: flex; flex-direction: column; }
#add-visit-modal .modal-content { max-width: 550px; overflow-y: auto; }
#add-visit-modal .modal-body { overflow-y: auto; }
#doctor-profiles-menu { width: 100%; min-width: 300px; max-width: 300px; overflow: hidden; box-sizing: border-box; top: 100%; left: 0; margin-top: -1px; }
#doctor-profiles-menu > a, #doctor-profiles-menu > button, #doctor-profiles-menu > .doctor-profile-item { white-space: normal; word-wrap: break-word; flex-wrap: wrap; }
.doctor-profile-item .doctor-name-wrapper { display: flex; flex-direction: column; margin-right: 1rem; }
.doctor-profile-item .calendar-status { font-size: 11px; font-style: italic; color: var(--placeholder-color); }
.doctor-profile-item .calendar-action-btn { background: none; border: 1px solid var(--border-color); padding: 4px 8px; font-size: 12px; border-radius: 4px; margin-left: 10px; cursor: pointer; flex-shrink: 0; max-width: 120px; white-space: normal; word-wrap: break-word; text-align: center; transition: background-color 0.2s ease; }
.doctor-profile-item .calendar-action-btn:hover { background-color: var(--readonly-bg); }
#add-visit-modal-form input, #add-visit-modal-form select, #add-visit-modal-form textarea, #doctor-profile-form input, #doctor-profile-form select, #custom-prompt-modal input, #analytics-filters input, #analytics-filters select, #backup-settings-modal input, #backup-settings-modal select { width: 100%; padding: 10px; border-radius: 6px; border: 1px solid var(--input-border); background-color: var(--input-bg); color: var(--input-text); font-family: inherit; font-size: 14px; box-sizing: border-box; transition: border-color 0.2s ease; }
#add-visit-modal-form input:focus, #add-visit-modal-form select:focus, #add-visit-modal-form textarea:focus, #analytics-filters input:focus, #analytics-filters select:focus, #backup-settings-modal input:focus, #backup-settings-modal select:focus { border-color: var(--header-color); outline: none; }
#doctor-profile-form input[readonly] { background-color: var(--container-bg); cursor: not-allowed; opacity: 0.8; }
#backup-path-group { display: flex; align-items: flex-end; gap: 8px; }
#backup-path-group input { flex-grow: 1; }
#backup-path-group button { height: 40px; flex-shrink: 0; padding: 8px 12px; }
.form-group-row { display: flex; align-items: center; gap: 10px; }
.form-group-row label { margin-bottom: 0; }
#backup-status-display { font-size: 12px; color: var(--placeholder-color); margin-top: 10px; min-height: 16px; }
.suggestion-item { padding: 10px; cursor: pointer; transition: background-color 0.2s ease; }
.suggestion-item:hover { background-color: rgba(96, 165, 250, 0.2); }
.dashboard-main-header { display: flex; justify-content: space-between; align-items: flex-start; flex-grow: 1; }
.dashboard-footer { text-align: center; margin-top: 2rem; font-size: 12px; }
.dashboard-footer a { color: var(--link-color); text-decoration: none; transition: color 0.2s ease; }
.dashboard-footer a:hover { text-decoration: underline; }
#expiration-banner { position: fixed; top: 0; left: 0; width: 100%; padding: 10px 20px; background-color: #fff3cd; color: #664d03; border-bottom: 1px solid #ffecb5; text-align: center; font-size: 14px; z-index: 10001; display: none; justify-content: center; align-items: center; transition: opacity 0.3s ease; }
#expiration-banner.visible { display: flex; }
#expiration-banner.expired { background-color: #f8d7da; color: #58151c; border-bottom-color: #f1aeb5; }
#expiration-banner #close-banner-btn { background: none; border: none; font-size: 20px; font-weight: bold; color: inherit; cursor: pointer; margin-left: 15px; line-height: 1; transition: color 0.2s ease; }
#expiration-banner #close-banner-btn:hover { color: var(--accent-red); }
#widget-controls { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--border-color); padding-bottom: 1.5rem; }
#widget-controls .widget-filters { display: flex; gap: 0.5rem; }
#widget-controls .widget-filters button { height: auto; padding: 6px 12px; font-size: 12px; }
#widget-controls button.active { background-color: var(--header-color); color: white; border-color: var(--header-color); }
#widget-controls #btn-add-visit { padding: 8px 16px; font-weight: 500; height: 32px; }
#dashboard-widgets-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.dashboard-widget { background-color: var(--container-bg); border: 1px solid var(--border-color); border-radius: 8px; padding: 1rem; display: flex; flex-direction: column; }
.dashboard-widget h3 { font-size: 16px; font-weight: 600; color: var(--header-color); margin: 0 0 1rem 0; display: flex; align-items: center; gap: 8px; }
.dashboard-widget h3 svg { width: 18px; height: 18px; }
.dashboard-widget ul { list-style: none; padding: 0; margin: 0; flex-grow: 1; display: flex; flex-direction: column; gap: 0.75rem; }
.dashboard-widget ul li { font-size: 14px; }
.dashboard-widget ul a { color: var(--link-color); text-decoration: none; transition: text-decoration 0.2s; }
.dashboard-widget ul a:hover { text-decoration: underline; }
.widget-list-item { display: flex; justify-content: space-between; align-items: center; }
.widget-list-item .patient-name { font-weight: 500; }
.widget-list-item .patient-details, .widget-list-item .diagnosis-count { font-size: 12px; color: var(--placeholder-color); }
.widget-list-item .follow-up-date { font-weight: 600; color: var(--accent-red); }
.widget-placeholder { color: var(--placeholder-color); font-style: italic; font-size: 14px; text-align: center; margin-top: 1rem; }
#extended-analytics-section { background-color: var(--container-bg); border: 1px solid var(--border-color); border-radius: 8px; padding: 1.5rem; margin-bottom: 1.5rem; }
#extended-analytics-section h2 { font-size: 1.25rem; font-weight: 600; color: var(--header-color); margin-top: 0; margin-bottom: 1rem; border-bottom: 1px solid var(--border-color); padding-bottom: 0.75rem; }
#analytics-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; margin-bottom: 1.5rem; }
#analytics-filters .control-group { flex-grow: 1; }
#analytics-filters button { padding: 8px 16px; background-color: var(--btn-blue-bg); color: white; border: none; height: 40px; flex-shrink: 0; }
#analytics-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.analytics-card { background-color: var(--input-bg); border: 1px solid var(--border-color); border-radius: 6px; padding: 1rem; text-align: center; }
.analytics-card .value { font-size: 2rem; font-weight: 700; color: var(--header-color); margin-bottom: 0.5rem; }
.analytics-card .label { font-size: 0.875rem; color: var(--placeholder-color); }
.analytics-card .details { font-size: 0.8rem; color: var(--placeholder-color); }
#analytics-diagnoses-list { list-style: none; padding: 0; margin: 0; text-align: left; display: flex; flex-direction: column; gap: 0.5rem; }
#analytics-diagnoses-list li { display: flex; justify-content: space-between; }
#analytics-diagnoses-list .name { font-weight: 500; }
#analytics-diagnoses-list .count { background-color: var(--container-bg); padding: 2px 6px; border-radius: 4px; font-size: 0.8rem; }
#analytics-loader { grid-column: 1 / -1; text-align: center; padding: 2rem; color: var(--placeholder-color); font-style: italic; }
#analytics-accordion.accordion-section { border: 1px solid var(--border-color); border-radius: 8px; margin-bottom: 1.5rem; overflow: hidden; }
#analytics-accordion .accordion-header { background-color: var(--readonly-bg); padding: 10px 15px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: background-color 0.2s; }
#analytics-accordion .accordion-header:hover { background-color: color-mix(in srgb, var(--text-color) 5%, transparent); }
#analytics-accordion .accordion-header h3 { margin: 0; font-size: 1.25rem; font-weight: 600; color: var(--header-color); }
#analytics-accordion .accordion-icon { width: 20px; height: 20px; transition: transform 0.3s ease-in-out; color: var(--text-color); }
#analytics-accordion .accordion-content { padding: 0; max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; background-color: var(--container-bg); }
#analytics-accordion.accordion-section.is-open > .accordion-content { max-height: 5000px; transition: max-height 0.5s ease-in; }
#analytics-accordion.accordion-section.is-open > .accordion-header .accordion-icon { transform: rotate(180deg); }
@media (max-width: 768px) { .dashboard-header { flex-direction: column; align-items: flex-start; } .dashboard-controls { width: 100%; justify-content: space-between; flex-wrap: wrap; } }
@media (max-width: 992px) { #calendar-controls-wrapper { flex-direction: column; align-items: flex-start; } #calendar-grid { grid-auto-rows: minmax(100px, auto); } .calendar-event { font-size: 11px; padding: 2px 4px; } }
@keyframes float { 0%, 100% { transform: translate(-50%, -50%) rotate(0deg); } 33% { transform: translate(-30%, -60%) rotate(120deg); } 66% { transform: translate(-70%, -40%) rotate(240deg); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse-glass { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } }
body.glass-theme {
    --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    --secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    --bg-primary: #1a1d29; --bg-secondary: #252837; --bg-tertiary: #2d3142; --bg-glass: rgba(37, 40, 55, 0.5);
    --text-primary: #ffffff; --text-secondary: #b4b7c7; --text-muted: #8b8fa3; --border-color-glass: rgba(255, 255, 255, 0.1);
    --shadow-glass: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.1);
    --shadow-sm-glass: 0 4px 6px -1px rgba(0, 0, 0, 0.2);
    --animation-fast: 0.2s ease-out; --animation-normal: 0.3s ease-out;
    --border-radius: 12px; --border-radius-lg: 16px;
    --spacing-xs: 0.5rem; --spacing-sm: 0.75rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--bg-primary); color: var(--text-primary); line-height: 1.6; overflow-x: hidden; transition: all var(--animation-normal); padding: 0;
}
body.glass-theme .animated-background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; overflow: hidden; display: none; }
body.glass-theme .animated-background::before { content: ''; position: absolute; width: 200%; height: 200%; top: 50%; left: 50%; background: radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(120, 219, 255, 0.3) 0%, transparent 50%); animation: float 20s ease-in-out infinite; }
body.glass-theme .dashboard-container { padding: var(--spacing-lg); background: transparent; border: none; box-shadow: none; }
body.glass-theme .dashboard-header { margin-bottom: var(--spacing-xl); padding: var(--spacing-lg); background: var(--bg-glass); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: var(--border-radius-lg); border: 1px solid var(--border-color-glass); box-shadow: var(--shadow-glass); position: relative; overflow: visible; }
body.glass-theme .dashboard-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--primary-gradient); }
body.glass-theme .dashboard-header label { color: var(--text-secondary); }
body.glass-theme .dashboard-controls button, body.glass-theme .dashboard-actions button, body.glass-theme #calendar-controls-wrapper button, body.glass-theme #widget-controls button, body.glass-theme .modal-actions-right button, body.glass-theme #backup-path-group button { padding: var(--spacing-sm) var(--spacing-lg); border: 1px solid var(--border-color-glass); border-radius: var(--border-radius); font-weight: 600; transition: all var(--animation-normal); position: relative; overflow: hidden; background: var(--bg-secondary); color: var(--text-primary); box-shadow: var(--shadow-sm-glass); height: auto; }
body.glass-theme .dashboard-controls button:hover, body.glass-theme .dashboard-actions button:hover, body.glass-theme #calendar-controls-wrapper button:hover, body.glass-theme #widget-controls button:hover, body.glass-theme .modal-actions-right button:hover, body.glass-theme #backup-path-group button:hover { transform: translateY(-2px); box-shadow: var(--shadow-glass); border-color: rgba(102, 126, 234, 0.5); }
body.glass-theme #btn-add-visit, body.glass-theme #analytics-apply-btn, body.glass-theme #add-visit-ok-btn, body.glass-theme .modal-ok-btn { background: var(--primary-gradient); color: white; border: none; }
body.glass-theme #add-visit-cancel-btn, body.glass-theme .modal-cancel-btn { background: var(--bg-tertiary); }
body.glass-theme #btn-add-visit:hover { background: linear-gradient(135deg, #5a6fd8 0%, #6b4190 100%); }
body.glass-theme .dashboard-widget, body.glass-theme #calendar-container, body.glass-theme .accordion-section { background: var(--bg-glass); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: var(--border-radius-lg); border: 1px solid var(--border-color-glass); padding: var(--spacing-lg); box-shadow: var(--shadow-glass); transition: all var(--animation-normal); position: relative; overflow: hidden; }
body.glass-theme .dashboard-widget:hover, body.glass-theme #calendar-container:hover, body.glass-theme .accordion-section:hover { transform: translateY(-4px); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4); }
body.glass-theme .dashboard-widget h3, body.glass-theme .accordion-header h3 { font-size: 1.1rem; font-weight: 600; color: var(--text-primary); background: none; }
body.glass-theme .widget-list-item { padding: var(--spacing-sm); border-radius: var(--border-radius); background: rgba(255, 255, 255, 0.05); transition: all var(--animation-fast); }
body.glass-theme .widget-list-item:hover { background: rgba(255, 255, 255, 0.1); transform: translateX(4px); }
body.glass-theme .patient-name { font-weight: 500; color: var(--text-primary); }
body.glass-theme .patient-details, body.glass-theme .widget-list-item .diagnosis-count { color: var(--text-muted); }
body.glass-theme #calendar-container { padding: var(--spacing-lg); flex-grow: unset; }
body.glass-theme #calendar-days-header { background: transparent; border-bottom: 1px solid var(--border-color-glass); color: var(--text-secondary); }
body.glass-theme #calendar-grid { gap: 2px; background: var(--border-color-glass); border: none; border-radius: var(--border-radius); overflow: hidden; }
body.glass-theme .calendar-day { background: var(--bg-secondary); transition: all var(--animation-fast); border-radius: 0; }
body.glass-theme .calendar-day:hover { background: rgba(255, 255, 255, 0.05); }
body.glass-theme .calendar-day.today { background: linear-gradient(135deg, rgba(102, 126, 234, 0.2) 0%, rgba(118, 75, 162, 0.2) 100%); }
body.glass-theme .calendar-day.other-month { opacity: 0.3; }
body.glass-theme .day-number { color: var(--text-primary); }
body.glass-theme .calendar-event { background: var(--primary-gradient); color: white; padding: 2px 6px; border-radius: 4px; font-size: 0.8rem; border: none; text-decoration: none; opacity: 1; }
body.glass-theme .calendar-event:hover { transform: scale(1.05); }
body.glass-theme .calendar-event.status-completed { background: var(--secondary-gradient); text-decoration: none; }
body.glass-theme #calendar-header-title { background: var(--primary-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
body.glass-theme .modal-overlay { background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: all var(--animation-normal); }
body.glass-theme .modal-content { background: var(--bg-secondary); border-radius: var(--border-radius-lg); padding: var(--spacing-xl); box-shadow: var(--shadow-glass); border: 1px solid var(--border-color-glass); transform: scale(0.9) translateY(20px); transition: all var(--animation-normal); }
body.glass-theme .modal-overlay[style*="display: flex"] .modal-content { transform: scale(1) translateY(0); }
body.glass-theme .modal-content h3 { font-size: 1.5rem; font-weight: 700; color: var(--text-primary); background: none; }
body.glass-theme .dashboard-controls input[type="date"], body.glass-theme #add-visit-modal-form input, body.glass-theme #add-visit-modal-form select, body.glass-theme #add-visit-modal-form textarea, body.glass-theme #doctor-profile-form input, body.glass-theme #backup-settings-modal input, body.glass-theme #backup-settings-modal select, body.glass-theme #custom-prompt-modal input, body.glass-theme #analytics-filters select, body.glass-theme #analytics-filters input { border: 1px solid var(--border-color-glass); border-radius: var(--border-radius); background: var(--bg-tertiary); color: var(--text-primary); transition: all var(--animation-fast); padding: var(--spacing-sm); height: auto; }
body.glass-theme #add-visit-modal-form input:focus, body.glass-theme #add-visit-modal-form select:focus, body.glass-theme #add-visit-modal-form textarea:focus, body.glass-theme #doctor-profile-form input:focus, body.glass-theme #backup-settings-modal input:focus, body.glass-theme #backup-settings-modal select:focus, body.glass-theme #custom-prompt-modal input:focus, body.glass-theme #analytics-filters select:focus, body.glass-theme #analytics-filters input:focus { outline: none; border-color: #667eea; box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); }
body.glass-theme .dropdown-menu { position: fixed; background: var(--bg-secondary); border: 1px solid var(--border-color-glass); border-radius: var(--border-radius); box-shadow: var(--shadow-glass); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transform: translateY(-10px); transition: opacity var(--animation-fast), transform var(--animation-fast); opacity: 0; visibility: hidden; margin-top: var(--spacing-xs); z-index: 9999; }
body.glass-theme .dropdown-menu.is-active { transform: translateY(0); opacity: 1; visibility: visible; }
body.glass-theme .dropdown-menu button:hover, body.glass-theme .dropdown-menu a:hover, body.glass-theme .dropdown-menu .doctor-profile-item:hover { background-color: rgba(255, 255, 255, 0.1) !important; }
.page-wrapper { display: flex; justify-content: center; padding: 2rem; }
.main-content-wrapper { width: 1400px; max-width: 100%; }
#patient-history-sidebar { position: fixed; top: 50%; transform: translateY(-50%); left: 2rem; width: 320px; max-height: 90vh; overflow-y: auto; background-color: var(--sidebar-bg, #f3f4f6); border: 1px solid var(--border-color, #d1d5db); border-radius: 12px; padding: 20px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); z-index: 50; }
@media (max-width: 1800px) { #patient-history-sidebar { display: none !important; } }
#patient-history-sidebar { transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; }
#patient-history-sidebar .timeline-item { transition: background-color 0.2s ease; border-bottom: 1px solid var(--border-color); }
#patient-history-sidebar .timeline-item:hover { background-color: var(--hover-bg-color); }
#patient-history-sidebar .timeline-item.active { background-color: var(--active-bg-color); color: var(--active-color); }
body.medical-theme #patient-history-sidebar, body #patient-history-sidebar { background-color: #f8f9fa; color: #343a40; border-right: 1px solid #dee2e6; --hover-bg-color: #e9ecef; --active-bg-color: #dbeafe; --active-color: #1e40af; }
body.dark-theme #patient-history-sidebar { background-color: #2c2c2c; color: #e0e0e0; border-right: 1px solid #444; --hover-bg-color: #383838; --active-bg-color: #4f4f4f; --active-color: #ffffff; }
body.black-theme #patient-history-sidebar { background-color: #121212; color: #ccc; border-right: 1px solid #333; --hover-bg-color: #222; --active-bg-color: #282828; --active-color: #fff; }
body.brown-theme #patient-history-sidebar { background-color: #f5f1e8; color: #5c4b3f; border-right: 1px solid #e0d9cb; --hover-bg-color: #e9e2d5; --active-bg-color: #dcd2bf; --active-color: #403228; }
body.glass-theme #patient-history-sidebar { background-color: rgba(255, 255, 255, 0.4); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #1f2937; border-right: 1px solid rgba(209, 213, 219, 0.5); --hover-bg-color: rgba(255, 255, 255, 0.5); --active-bg-color: rgba(255, 255, 255, 0.7); --active-color: #1e3a8a; }
body.glass-theme .main-content-wrapper, body.glass-theme .dashboard-container, body.glass-theme #unified-medical-calculator-container { max-width: 1400px !important; margin-left: auto !important; margin-right: auto !important; width: 100%; padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
.main-content-wrapper { padding-top: 0 !important; margin-top: 0 !important; }
.page-container { margin-top: 0 !important; padding-top: 20px !important; }
#cardiology-form { margin-top: 0 !important; }
.functional-buttons { margin-top: 0 !important; padding-top: 10px !important; margin-bottom: 10px !important; }
.lab-parameter-input input { font-weight: normal !important; }
.lab-normal { color: #16a34a !important; border-color: #22c55e !important; background-color: #f0fdf4 !important; }
.lab-abnormal { color: #dc2626 !important; border-color: #ef4444 !important; font-weight: bold !important; background-color: #fef2f2 !important; }
.lab-normal:focus { box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.4) !important; }
.lab-abnormal:focus { box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.4) !important; }

/* =================================================================== */
/* ===                СОДЕРЖИМОЕ ИЗ dashboard.css                  === */
/* =================================================================== */

.dropdown-container {
    position: relative !important;
    display: inline-block !important;
}
.dropdown-menu, #doctor-profiles-menu, #language-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    z-index: 99999 !important;
    background: var(--background-color);
    border: 1px solid var(--border-color);
    color: var(--text-color);
    border-radius: 6px !important;
    box-shadow: 0 8px 24px var(--shadow-color, rgba(0, 0, 0, 0.15)) !important;
    min-width: 200px !important;
    max-height: none !important;
    overflow-y: auto !important;
    padding: 4px 0 !important;
    margin: 4px 0 0 0 !important;
    transform: none !important;
}
.dashboard-controls .dropdown-container .dropdown-menu,
#btn-change-doctor + .dropdown-menu,
#doctor-profiles-menu {
    left: 0 !important;
    right: auto !important;
    top: calc(100% + 2px) !important;
    min-width: 250px !important;
    max-width: 350px !important;
    width: max-content !important;
    z-index: 100001 !important;
}
.dashboard-actions .dropdown-container .dropdown-menu,
#btn-language + .dropdown-menu,
#language-menu {
    left: 0 !important;
    right: auto !important;
    top: calc(100% + 2px) !important;
    min-width: 150px !important;
    z-index: 100000 !important;
}
.dashboard-header, .dashboard-controls, .dashboard-actions, .control-group {
    position: relative !important;
    transform: none !important;
    overflow: visible !important;
    z-index: 1 !important;
}
.dashboard-controls, .dashboard-actions {
    display: flex !important;
    position: relative !important;
    align-items: center !important;
}
.control-group {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}
.dropdown-menu button, #doctor-profiles-menu button, #language-menu button {
    width: 100% !important;
    padding: 8px 12px !important;
    border: none !important;
    background: transparent !important;
    text-align: left !important;
    cursor: pointer !important;
    color: var(--text-color);
    font-size: 14px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transition: background-color 0.2s ease !important;
}
.dropdown-menu button:hover, #doctor-profiles-menu button:hover, #language-menu button:hover {
    background-color: var(--hover-background);
}
#doctor-profiles-menu::-webkit-scrollbar { width: 8px !important; }
#doctor-profiles-menu::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.05) !important; border-radius: 4px !important; }
#doctor-profiles-menu::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.2) !important; border-radius: 4px !important; }
#btn-add-visit {
    height: 44px !important;
    padding: 0 32px !important;
    background: linear-gradient(135deg, #28a745 0%, #20c997 50%, #17a2b8 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.3px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 3px 12px rgba(40, 167, 69, 0.35) !important;
    min-width: 180px !important;
    white-space: nowrap !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
    flex-shrink: 0;
}
#btn-add-visit::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent) !important;
    transition: left 0.5s !important;
}
#btn-add-visit:hover::before { left: 100% !important; }
#btn-add-visit:hover {
    background: linear-gradient(135deg, #218838 0%, #1ea896 50%, #138496 100%) !important;
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.45) !important;
    transform: translateY(-2px) !important;
}
#btn-add-visit:active {
    transform: translateY(0) !important;
    box-shadow: 0 3px 12px rgba(40, 167, 69, 0.35) !important;
}
#widget-controls {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 15px !important;
    margin-bottom: 20px !important;
    position: relative !important;
}
.widget-filters {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0;
}
.widget-filters button {
    height: 40px !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.player-controls-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-grow: 1;
    min-width: 220px;
}
[data-theme="light"] .dropdown-menu, [data-theme="light"] #doctor-profiles-menu, [data-theme="light"] #language-menu,
body:not([data-theme]) .dropdown-menu, body:not([data-theme]) #doctor-profiles-menu, body:not([data-theme]) #language-menu {
    background: #ffffff;
    border-color: #e1e5e9;
    color: #333333;
}
[data-theme="light"] .dropdown-menu button, [data-theme="light"] #doctor-profiles-menu button, [data-theme="light"] #language-menu button,
body:not([data-theme]) .dropdown-menu button, body:not([data-theme]) #doctor-profiles-menu button, body:not([data-theme]) #language-menu button {
    color: #333333;
}
[data-theme="light"] .dropdown-menu button:hover, [data-theme="light"] #doctor-profiles-menu button:hover, [data-theme="light"] #language-menu button:hover,
body:not([data-theme]) .dropdown-menu button:hover, body:not([data-theme]) #doctor-profiles-menu button:hover, body:not([data-theme]) #language-menu button:hover {
    background-color: #f5f5f5;
}
[data-theme="dark"] .dropdown-menu, [data-theme="dark"] #doctor-profiles-menu, [data-theme="dark"] #language-menu {
    background: #2d3748;
    border-color: #4a5568;
    color: #e2e8f0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .dropdown-menu button, [data-theme="dark"] #doctor-profiles-menu button, [data-theme="dark"] #language-menu button {
    color: #e2e8f0;
}
[data-theme="dark"] .dropdown-menu button:hover, [data-theme="dark"] #doctor-profiles-menu button:hover, [data-theme="dark"] #language-menu button:hover {
    background-color: #4a5568;
}
[data-theme="glass"] .dropdown-menu, [data-theme="glass"] #doctor-profiles-menu, [data-theme="glass"] #language-menu {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    color: #333333;
}
[data-theme="glass"] .dropdown-menu button, [data-theme="glass"] #doctor-profiles-menu button, [data-theme="glass"] #language-menu button {
    color: #333333;
}
[data-theme="glass"] .dropdown-menu button:hover, [data-theme="glass"] #doctor-profiles-menu button:hover, [data-theme="glass"] #language-menu button:hover {
    background-color: rgba(255, 255, 255, 0.2);
}
body.glass-theme {
    --container-bg: rgba(15, 23, 42, 0.6);
    --input-bg: rgba(30, 41, 59, 0.7);
    --border-color: rgba(255, 255, 255, 0.2);
    --hover-bg: rgba(56, 189, 248, 0.2);
    --text-color: #e5e7eb;
    --placeholder-color: #9ca3af;
    --header-color: #38bdf8;
    --link-color: #60a5fa;
    --icon-color: #94a3b8;
    color: var(--text-color);
}
.glass-theme .page-container {
    background: var(--container-bg);
    border: 1px solid var(--border-color);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    border-radius: 12px;
}
.glass-theme h1, .glass-theme h2, .glass-theme h3 { color: var(--header-color); border-bottom-color: var(--border-color); }
.glass-theme fieldset { background-color: rgba(255, 255, 255, 0.05); border: 1px solid var(--border-color); border-radius: 8px; margin-bottom: 20px; }
.glass-theme fieldset legend { color: var(--text-color); font-weight: 600; }
.glass-theme input[type="text"], .glass-theme input[type="date"], .glass-theme input[type="number"], .glass-theme select, .glass-theme textarea { background-color: var(--input-bg); border: 1px solid var(--border-color); color: var(--text-color); border-radius: 6px; }
.glass-theme input::placeholder, .glass-theme textarea::placeholder { color: var(--placeholder-color); }
.glass-theme button, .glass-theme .button, .glass-theme .add-row-btn, .glass-theme .remove-row-btn { background-color: var(--input-bg); color: var(--header-color); border: 1px solid var(--border-color); }
.glass-theme button:hover, .glass-theme .button:hover, .glass-theme .add-row-btn:hover, .glass-theme .remove-row-btn:hover { background-color: var(--hover-bg); border-color: var(--header-color); }
.glass-theme table th, .glass-theme table td { border-color: var(--border-color); }
.glass-theme table th { color: var(--header-color); }
.glass-theme .modal-content { background: var(--container-bg); border: 1px solid var(--border-color); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); border-radius: 12px; }
.glass-theme .functional-buttons { background-color: transparent; }
.glass-theme .functional-buttons a, .glass-theme .functional-buttons button { background-color: var(--input-bg); color: var(--icon-color); border-radius: 50%; border: 1px solid var(--border-color); }
.glass-theme .functional-buttons a:hover, .glass-theme .functional-buttons button:hover { background-color: var(--hover-bg); color: var(--header-color); }
.glass-theme #patient-history-sidebar { background: rgba(15, 23, 42, 0.7); border-right: 1px solid var(--border-color); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.glass-theme::-webkit-scrollbar { width: 10px; height: 10px; }
.glass-theme::-webkit-scrollbar-track { background: transparent; }
.glass-theme::-webkit-scrollbar-thumb { background-color: rgba(255, 255, 255, 0.2); border-radius: 10px; border: 2px solid transparent; background-clip: content-box; }
.glass-theme::-webkit-scrollbar-thumb:hover { background-color: rgba(255, 255, 255, 0.4); }
.doctor-profile-item { color: var(--text-color, #333) !important; background-color: var(--background-color, #fff) !important; padding: 12px 16px; border-bottom: 1px solid var(--border-color, #e5e7eb); cursor: pointer; transition: background-color 0.2s ease; }
.doctor-profile-item:hover { background-color: var(--hover-color, #f3f4f6) !important; }
.doctor-name-wrapper { color: inherit !important; display: flex; flex-direction: column; gap: 4px; }
.doctor-name-wrapper span { color: inherit !important; }
.calendar-status { font-size: 12px; opacity: 0.7; color: inherit !important; }
.calendar-action-btn { background-color: var(--button-bg, #f3f4f6) !important; color: var(--button-text, #374151) !important; border: 1px solid var(--border-color, #d1d5db); padding: 4px 8px; border-radius: 4px; font-size: 12px; cursor: pointer; transition: all 0.2s ease; }
.calendar-action-btn:hover { background-color: var(--button-hover-bg, #e5e7eb) !important; }
.dark-theme .doctor-profile-item { color: #e5e7eb !important; background-color: #374151 !important; }
.dark-theme .doctor-profile-item:hover { background-color: #4b5563 !important; }
.dark-theme .calendar-action-btn { background-color: #4b5563 !important; color: #e5e7eb !important; border-color: #6b7280 !important; }
.dark-theme .calendar-action-btn:hover { background-color: #6b7280 !important; }
.black-theme .doctor-profile-item { color: #d1d5db !important; background-color: #1f2937 !important; }
.black-theme .doctor-profile-item:hover { background-color: #374151 !important; }
.black-theme .calendar-action-btn { background-color: #374151 !important; color: #d1d5db !important; border-color: #4b5563 !important; }
.black-theme .calendar-action-btn:hover { background-color: #4b5563 !important; }
.brown-theme .doctor-profile-item { color: #fef7ed !important; background-color: #92400e !important; }
.brown-theme .doctor-profile-item:hover { background-color: #b45309 !important; }
.brown-theme .calendar-action-btn { background-color: #b45309 !important; color: #fef7ed !important; border-color: #d97706 !important; }
.brown-theme .calendar-action-btn:hover { background-color: #d97706 !important; }
.glass-theme .doctor-profile-item { color: #1f2937 !important; background-color: rgba(255, 255, 255, 0.9) !important; backdrop-filter: blur(10px); }
.glass-theme .doctor-profile-item:hover { background-color: rgba(255, 255, 255, 0.95) !important; }
.glass-theme .calendar-action-btn { background-color: rgba(255, 255, 255, 0.8) !important; color: #1f2937 !important; border-color: rgba(209, 213, 219, 0.8) !important; backdrop-filter: blur(5px); }
.glass-theme .calendar-action-btn:hover { background-color: rgba(255, 255, 255, 0.9) !important; }
.medical-theme .doctor-profile-item { color: #1e40af !important; background-color: #dbeafe !important; }
.medical-theme .doctor-profile-item:hover { background-color: #bfdbfe !important; }
.medical-theme .calendar-action-btn { background-color: #bfdbfe !important; color: #1e40af !important; border-color: #93c5fd !important; }
.medical-theme .calendar-action-btn:hover { background-color: #93c5fd !important; }
.dark-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] { color: #ffffff !important; background-color: rgba(96, 165, 250, 0.3) !important; }
.dark-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper, .dark-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper > span, .dark-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .calendar-status { color: #ffffff !important; }
.black-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] { color: #e5e7eb !important; background-color: rgba(96, 165, 250, 0.25) !important; }
.black-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper, .black-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper > span, .black-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .calendar-status { color: #e5e7eb !important; }
.brown-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] { color: #fefce8 !important; background-color: rgba(251, 191, 36, 0.4) !important; }
.brown-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper, .brown-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper > span, .brown-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .calendar-status { color: #fefce8 !important; }
.glass-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] { color: #1f2937 !important; background-color: rgba(96, 165, 250, 0.4) !important; }
.glass-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper, .glass-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper > span, .glass-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .calendar-status { color: #1f2937 !important; }
.medical-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] { color: #1e40af !important; background-color: rgba(96, 165, 250, 0.2) !important; }
.medical-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper, .medical-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper > span, .medical-theme #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .calendar-status { color: #1e40af !important; }
body.dark-theme .doctor-profile-item[style], body.dark-theme .doctor-profile-item[style] * { color: #ffffff !important; }
body.black-theme .doctor-profile-item[style], body.black-theme .doctor-profile-item[style] * { color: #e5e7eb !important; }
body.brown-theme .doctor-profile-item[style], body.brown-theme .doctor-profile-item[style] * { color: #fefce8 !important; }
body.glass-theme .doctor-profile-item[style], body.glass-theme .doctor-profile-item[style] * { color: #1f2937 !important; }
body.medical-theme .doctor-profile-item[style], body.medical-theme .doctor-profile-item[style] * { color: #1e40af !important; }
.theme-gray #doctor-profiles-menu .doctor-profile-item[style*="font-weight"], .theme-brown #doctor-profiles-menu .doctor-profile-item[style*="font-weight"], .theme-black #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] { background: none !important; border: 2px solid #60a5fa !important; border-radius: 6px !important; }
.theme-gray #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] *, .theme-brown #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] *, .theme-black #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] * { background: none !important; }
.theme-gray #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper > span, .theme-brown #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper > span, .theme-black #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] .doctor-name-wrapper > span { color: #ffffff !important; }
.dashboard-container { display: flex; flex-direction: column; min-height: 100vh; padding: 20px; box-sizing: border-box; }
.dashboard-header { background: var(--container-bg); padding: 15px 20px; border-radius: 12px; border: 1px solid var(--border-color); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); margin-bottom: 20px; }
.dashboard-controls { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.control-group label { font-size: 14px; font-weight: 500; color: var(--placeholder-color); white-space: nowrap; }
.dashboard-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.widget-filters button { padding: 8px 16px; border: none; border-radius: 16px; background-color: transparent; color: var(--text-color); font-weight: 600; cursor: pointer; transition: all 0.2s ease-in-out; }
.widget-filters button.active { background-color: var(--container-bg); color: var(--header-color); box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.player-controls-container button { background: var(--container-bg); border: 1px solid var(--border-color); box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.player-controls-container button:hover { background: var(--readonly-bg); border-color: var(--input-focus-border); }
#dashboard-widgets-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 20px; }
.dashboard-widget { background: var(--container-bg); padding: 20px; border-radius: 12px; border: 1px solid var(--border-color); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); display: flex; flex-direction: column; }
.dashboard-widget h3 { display: flex; align-items: center; gap: 10px; font-size: 1.1em; margin-top: 0; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid var(--border-color); color: var(--header-color); }
.dashboard-widget ul { list-style: none; padding: 0; margin: 0; flex-grow: 1; }
.widget-list-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 5px; border-bottom: 1px solid var(--readonly-bg); font-size: 14px; }
.widget-list-item:last-child { border-bottom: none; }
.widget-list-item .patient-name { font-weight: 600; }
.widget-list-item .follow-up-date, .widget-list-item .diagnosis-count { color: var(--placeholder-color); font-weight: 500; }
.widget-list-item .patient-details { font-size: 12px; color: var(--placeholder-color); }
.widget-placeholder { color: var(--placeholder-color); text-align: center; padding: 20px; }
#calendar-container { background: var(--container-bg); padding: 20px; border-radius: 12px; border: 1px solid var(--border-color); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); }
#calendar-controls-wrapper { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; margin-bottom: 20px; }
#calendar-nav-controls { display: flex; align-items: center; gap: 10px; }
#calendar-header-title { font-size: 1.2em; font-weight: 700; color: var(--header-color); min-width: 180px; text-align: center; }
#calendar-view-controls { display: flex; gap: 5px; background: var(--readonly-bg); border-radius: 20px; padding: 4px; }
#calendar-view-controls button { padding: 6px 14px; }
#calendar-days-header { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; font-weight: 600; color: var(--placeholder-color); margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--border-color); }
#calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.calendar-day { background-color: var(--readonly-bg); border-radius: 8px; min-height: 120px; padding: 8px; font-size: 14px; display: flex; flex-direction: column; }
.calendar-day.other-month .day-number { opacity: 0.4; }
.calendar-day.today { background-color: color-mix(in srgb, var(--btn-blue-bg) 10%, var(--readonly-bg)); }
.calendar-day.today .day-number { font-weight: 700; color: var(--btn-blue-bg); }
.day-number { font-weight: 600; margin-bottom: 5px; }
.calendar-event { background-color: var(--container-bg); color: var(--text-color); border-left: 3px solid var(--btn-blue-bg); padding: 5px 8px; border-radius: 4px; margin-bottom: 4px; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; transition: background-color 0.2s; }
.calendar-event:hover { background-color: color-mix(in srgb, var(--btn-blue-bg) 15%, transparent); }
.calendar-event.status-completed { border-left-color: #28a745; opacity: 0.7; }
.calendar-event.other-doctor-visit { border-left-color: #6c757d; background-color: color-mix(in srgb, #6c757d 10%, var(--container-bg)); cursor: default; }
.calendar-event.other-doctor-visit:hover { background-color: color-mix(in srgb, #6c757d 15%, var(--container-bg)); }
.calendar-event-time { font-weight: 700; margin-right: 5px; }
.dashboard-footer { text-align: center; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--border-color); }
.dashboard-footer a { color: var(--placeholder-color); text-decoration: none; font-size: 14px; }
.dashboard-footer a:hover { color: var(--link-color); text-decoration: underline; }
@media (max-width: 768px) {
    .dashboard-container { padding: 10px; }
    .dashboard-controls, #widget-controls, #calendar-controls-wrapper { flex-direction: column; align-items: stretch; }
    .dashboard-actions { justify-content: center; }
}
.glass-theme .dashboard-header, .glass-theme .dashboard-widget, .glass-theme #calendar-container, .glass-theme .accordion-section { background: var(--container-bg); border: 1px solid var(--border-color); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.glass-theme .dashboard-actions { background: rgba(255, 255, 255, 0.05); padding: 10px; border-radius: 8px; }
.glass-theme .player-controls-container { background: rgba(255, 255, 255, 0.08); border-radius: 25px; border: 1px solid var(--border-color); padding: 5px 15px; }
.dashboard-header .control-group > *, #widget-controls .control-group > button, #widget-controls .control-group .dropdown-container > button, #widget-controls .widget-filters button {
    height: 40px !important; padding-top: 0 !important; padding-bottom: 0 !important; font-size: 14px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; white-space: nowrap !important;
}
#btn-add-visit { height: 40px !important; font-size: 15px !important; font-weight: 600 !important; padding: 0 32px !important; flex-shrink: 0; }
#widget-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap; gap: 15px !important; }
#widget-controls .control-group:has(.widget-filters) { flex-grow: 1; min-width: 300px; }
.widget-filters { display: flex !important; gap: 10px !important; width: 100%; }
.widget-filters button { flex-grow: 1; width: 33.33%; }
#btn-change-doctor { justify-content: space-between !important; width: 100% !important; padding-left: 12px !important; padding-right: 12px !important; }
#btn-change-doctor > span#current-doctor-display { flex-grow: 1 !important; text-align: left !important; }
#btn-change-doctor > svg { flex-shrink: 0 !important; margin-left: 10px !important; }
#calendar-view-controls { background: none !important; border: none !important; padding: 0 !important; border-radius: 0 !important; }
#calendar-view-controls button { border-radius: 6px !important; border: 1px solid transparent !important; background-color: transparent !important; color: var(--text-color) !important; }
#calendar-view-controls button.active { background-color: var(--btn-blue-bg) !important; border-color: var(--btn-blue-bg) !important; color: white !important; }
#analytics-accordion .accordion-header { background: none !important; }
#doctor-profiles-menu .doctor-profile-item[style*="font-weight"], body[class*="-theme"] #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] { background-color: rgba(220, 38, 38, 0.15) !important; border-left: 3px solid #dc2626 !important; border-color: #dc2626 !important; }
#doctor-profiles-menu .doctor-profile-item[style*="font-weight"] *, body[class*="-theme"] #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] * { color: #b91c1c !important; font-weight: 700 !important; }
@media (max-width: 992px) { #dashboard-widgets-container { grid-template-columns: 1fr; } }
.dashboard-header, .dashboard-controls, .dashboard-actions, #widget-controls, .control-group { position: relative !important; z-index: auto !important; overflow: visible !important; }
.dropdown-menu, #doctor-profiles-menu, #language-menu { position: absolute !important; z-index: 99999 !important; }
#dashboard-widgets-container { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; }
@media (max-width: 992px) { #dashboard-widgets-container { grid-template-columns: 1fr !important; } }
#widget-controls .control-group > button, #widget-controls .control-group .dropdown-container, #widget-controls .widget-filters button, #btn-add-visit { height: 40px !important; white-space: nowrap !important; }
.widget-filters { display: flex !important; width: 100%; flex-grow: 1; }
.widget-filters button { flex-grow: 1; }
body.glass-theme .dashboard-header::before { display: none !important; }
#patient-suggestions.autocomplete-suggestions { background-color: var(--input-bg, #ffffff) !important; border: 1px solid var(--input-focus-border, #2563eb); }
#patient-suggestions .suggestion-item { color: var(--text-color, #111827); }
body.glass-theme #patient-suggestions.autocomplete-suggestions, body.dark-theme #patient-suggestions.autocomplete-suggestions, body.black-theme #patient-suggestions.autocomplete-suggestions { background-color: #2d3748 !important; }
body.glass-theme #patient-suggestions .suggestion-item, body.dark-theme #patient-suggestions .suggestion-item, body.black-theme #patient-suggestions .suggestion-item { color: #e2e8f0 !important; }
#doctor-profiles-menu { background-color: #001f3f !important; border: 1px solid #60a5fa !important; padding: 4px !important; }
#doctor-profiles-menu .doctor-profile-item, body[class*="-theme"] #doctor-profiles-menu .doctor-profile-item { background: none !important; border: 2px solid transparent !important; border-radius: 4px; margin-bottom: 2px; }
#doctor-profiles-menu .doctor-profile-item:last-child { margin-bottom: 0; }
#doctor-profiles-menu .doctor-profile-item *, body[class*="-theme"] #doctor-profiles-menu .doctor-profile-item * { color: #ffffff !important; background: none !important; }
#doctor-profiles-menu .doctor-profile-item:hover, body[class*="-theme"] #doctor-profiles-menu .doctor-profile-item:hover { background: none !important; }
#doctor-profiles-menu .doctor-profile-item[style*="font-weight"], body[class*="-theme"] #doctor-profiles-menu .doctor-profile-item[style*="font-weight"] { background: none !important; border: 2px solid #dc2626 !important; }
[data-theme="glass"] .dropdown-menu { background: rgba(255, 255, 255, 0.1) !important; backdrop-filter: blur(20px) !important; z-index: 99999 !important; }
#language-menu { z-index: 100000 !important; }
#command-palette-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); display: flex; align-items: flex-start; justify-content: center; padding-top: 15vh; z-index: 9999; }
#command-palette-container { width: 100%; max-width: 600px; background-color: var(--calc-bg-section); border-radius: 8px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); overflow: hidden; display: flex; flex-direction: column; }
#command-palette-input { width: 100%; padding: 16px; font-size: 16px; border: none; outline: none; background-color: var(--calc-bg-input); color: var(--calc-text-main); border-bottom: 1px solid var(--calc-border-color); }
#command-palette-results { list-style: none; margin: 0; padding: 8px; max-height: 40vh; overflow-y: auto; }
.command-item { padding: 12px 16px; cursor: pointer; border-radius: 4px; display: flex; justify-content: space-between; align-items: center; color: var(--calc-text-muted); }
.command-item:hover, .command-item.active { background-color: var(--calc-bg-hover); color: var(--calc-text-header); }
.command-item kbd { background-color: var(--calc-bg-input); border: 1px solid var(--calc-border-color); padding: 2px 6px; border-radius: 4px; font-size: 12px; }

/* =================================================================== */
/* ===         ВСТРОЕННЫЕ СТИЛИ ИЗ <head> dashboard.html         === */
/* =================================================================== */

.dropdown-menu button.active {
    font-weight: bold;
    color: var(--primary-color, #0056b3);
    background-color: var(--background-secondary-color, #f0f0f0);
    border-left: 3px solid var(--primary-color, #0056b3);
}

/* === НОВЫЕ СТИЛИ ДЛЯ ЯЗЫКОВОГО МЕНЮ И АДАПТИВНОСТИ === */
#btn-language-switcher {
    gap: 5px;
}
.lang-display {
    font-size: 12px;
    font-weight: bold;
}
.dropdown-arrow {
    transition: transform 0.2s ease-in-out;
}
#btn-language-switcher[aria-expanded="true"] .dropdown-arrow {
    transform: rotate(180deg);
}

#language-dropdown-menu {
    display: none;
    min-width: 160px;
}

.dropdown-container:hover .dropdown-menu,
.dropdown-container button[aria-expanded="true"] + .dropdown-menu {
    display: block;
}

@media (max-width: 1200px) {
    #dashboard-widgets-container {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    }
}

@media (max-width: 992px) {
    .dashboard-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }
    .dashboard-actions.left, .dashboard-actions.right {
        width: 100%;
        justify-content: space-around;
        gap: 0.5rem;
    }
    #widget-controls {
       flex-direction: column;
       align-items: stretch;
       gap: 1rem;
    }
    .widget-filters {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }
    .widget-filters button {
        width: 100%;
    }
}

@media (max-width: 768px) {
    body {
        padding: 0 !important;
    }
    .dashboard-container {
        padding: 1rem !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        min-height: 100vh;
    }
    body.banner-visible {
        padding-top: 45px !important;
    }
    .dashboard-header {
        padding: 1rem 0;
    }
    #calendar-grid {
        grid-auto-rows: minmax(90px, auto);
    }
    .calendar-event {
        font-size: 10px;
        padding: 2px 4px;
    }
    .calendar-day .day-number {
        font-size: 12px;
    }
    #analytics-filters {
        flex-direction: column;
        align-items: stretch;
    }
    .modal-content {
        width: 95%;
        padding: 15px;
    }
    #add-visit-modal .modal-content,
    #doctor-profile-modal .modal-content,
    #backup-settings-modal .modal-content {
        max-height: 85vh;
    }
}

@media (max-width: 480px) {
    .dashboard-actions.left, .dashboard-actions.right {
        flex-wrap: wrap;
    }
    .dashboard-actions button, .dashboard-actions .control-group {
        flex-grow: 1;
    }
    .player-controls-container {
        gap: 5px;
    }
    .player-controls-container button {
        padding: 6px;
    }
    #calendar-controls-wrapper {
        align-items: stretch;
    }
    #calendar-nav-controls, #calendar-view-controls {
        justify-content: center;
    }
    .calendar-day {
        padding: 4px;
    }
    .calendar-event-time {
        display: none;
    }
}
/* Стили для новой кнопки "На главный экран" */
#btn-go-to-main {
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Переопределяем базовые стили для языковой кнопки, чтобы она стала прозрачной */
#btn-language-switcher {
    background-color: transparent !important; /* Важно, чтобы перебить другие стили */
    border: none !important; /* Убираем рамку */
    color: var(--text-secondary) !important; /* Стандартный цвет для иконки/текста */
    padding: var(--space-2) !important; /* Единый отступ, как у других кнопок */
    border-radius: var(--radius-md) !important; /* Единый радиус скругления */
    min-width: unset !important; /* Сбрасываем фиксированную минимальную ширину */
    justify-content: center !important; /* Центрируем содержимое, как у других иконок-кнопок */
    font-size: 0.9rem !important; /* Единый размер шрифта */
    gap: var(--space-1) !important; /* Расстояние между иконкой и текстом */
}

/* Переопределяем стили при наведении, фокусе и активном состоянии для языковой кнопки */
#btn-language-switcher:hover,
#btn-language-switcher:focus,
#btn-language-switcher[aria-expanded="true"] {
    background-color: var(--surface-card) !important; /* Фон при наведении/активности, как у других */
    color: var(--text-primary) !important; /* Цвет текста/иконки при наведении/активности */
    border-color: transparent !important; /* Убедимся, что рамки нет и при наведении */
    transform: translateY(-1px) !important; /* Небольшой эффект поднятия, если есть у других кнопок */
}

/* Убедимся, что внутренний текст (RU/EN) и стрелка наследуют цвет от родительской кнопки */
#btn-language-switcher .lang-display,
#btn-language-switcher .dropdown-arrow {
    color: inherit !important; /* Наследует цвет от кнопки, чтобы меняться при hover */
    font-weight: normal !important; /* Сбрасываем жирность, если она была */
}

/* Переопределения для темной темы, чтобы сохранить прозрачность и нужные цвета */
@media (prefers-color-scheme: dark) {
    #btn-language-switcher,
    #btn-language-switcher:hover,
    #btn-language-switcher:focus,
    #btn-language-switcher[aria-expanded="true"] {
        background-color: transparent !important;
        border-color: transparent !important;
        color: var(--text-secondary) !important; /* Цвет по умолчанию для темной темы */
    }

    #btn-language-switcher:hover,
    #btn-language-switcher[aria-expanded="true"] {
        background-color: var(--surface-card) !important; /* Фон при наведении/активности в темной теме */
        color: var(--text-primary) !important; /* Цвет текста/иконки в темной теме */
    }

    #btn-language-switcher .lang-display,
    #btn-language-switcher .dropdown-arrow {
        color: inherit !important; /* Наследует цвет от кнопки */
    }
}