﻿@font-face{font-family:'Notable';src:url('/assets/fonts/Notable-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
  @font-face{font-family:'Material Symbols Rounded';src:url('/assets/fonts/MaterialSymbolsRounded.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
  .brand-font{font-family:'Notable',system-ui,sans-serif;letter-spacing:.5px}
  .mi,.material-symbols-rounded{font-family:'Material Symbols Rounded';font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  .mi-text{display:inline-flex;align-items:center;gap:7px}
  .nav-link-icon .mi{font-size:22px}
  .guenter-pin{background:transparent;border:0}
  .guenter-pin .mi{font-size:38px;color:#e11d48;text-shadow:0 1px 2px rgba(0,0,0,.45)}
  :root{--tblr-primary:#4f46e5;--guenter-theme-soft:#eef2ff;--chatgpt-bg:#ffffff;--chatgpt-sidebar:#f9f9f9;--chatgpt-panel:transparent;--chatgpt-input:#f4f4f4;--chatgpt-input-border:#d9d9d9;--chatgpt-hover:#ececec;--chatgpt-text:#0d0d0d;--chatgpt-muted:#6b7280;--chatgpt-user:#f4f4f4;--card-bg:var(--tblr-bg-surface);--card-bg-soft:rgba(0,0,0,.035);--card-border:var(--tblr-border-color);--card-shadow:0 4px 16px rgba(0,0,0,.10);--card-text:var(--tblr-body-color);--card-text-muted:var(--tblr-text-muted);--card-accent-text:#0e7490;--card-accent-soft:rgba(8,145,178,.10);--card-accent-border:rgba(8,145,178,.22);--card-accent-green-text:#15803d;--card-accent-green-soft:rgba(34,197,94,.10);--card-accent-green-border:rgba(34,197,94,.22);}
  [data-bs-theme="dark"]{--tblr-body-bg:#000000;--tblr-bg-surface:#07090d;--tblr-bg-surface-secondary:#10141b;--tblr-card-bg:#07090d;--tblr-border-color:#2b3646;--tblr-body-color:#ffffff;--tblr-text-muted:#b9c2d0;--chatgpt-bg:#000000;--chatgpt-sidebar:#000000;--chatgpt-panel:transparent;--chatgpt-input:#2f2f2f;--chatgpt-input-border:#4a4a4a;--chatgpt-hover:#212121;--chatgpt-text:#ffffff;--chatgpt-muted:#b4b4b4;--chatgpt-user:#2f2f2f;--card-bg:#07090d;--card-bg-soft:rgba(255,255,255,.065);--card-border:rgba(148,163,184,.36);--card-shadow:0 0 0 1px rgba(255,255,255,.035),0 18px 44px rgba(0,0,0,.38);--card-accent-text:#67e8f9;--card-accent-soft:rgba(103,232,249,.14);--card-accent-border:rgba(103,232,249,.32);--card-accent-green-text:#86efac;--card-accent-green-soft:rgba(74,222,128,.14);--card-accent-green-border:rgba(74,222,128,.32);}
  /* --guenter-chrome = total height of fixed bars ABOVE the content. Desktop (>=lg):
     only the 56px topbar (sidebar is on the left). Below lg the vertical sidebar
     collapses into a SECOND top bar, so the chrome doubles — otherwise the chat
     input is pushed off-screen on phones. dvh handles the mobile address bar. */
  :root{--guenter-chrome:44px}
  @media(max-width:991.98px){:root{--guenter-chrome:88px}}
  html,body{height:100%;overflow:hidden}
  #appView{height:100vh;height:100dvh;overflow:hidden}
  .page-wrapper{height:calc(100vh - var(--guenter-chrome));height:calc(100dvh - var(--guenter-chrome));overflow:hidden}
  /* Admin pages scroll normally; the chat page locks scrolling (its message
     list scrolls internally) via the .chat-locked state set in selectPage. */
  .page-body{height:calc(100vh - var(--guenter-chrome));height:calc(100dvh - var(--guenter-chrome));overflow-y:auto;overflow-x:hidden}
  .page-body.chat-locked{overflow:hidden}
  .page-section{min-height:0}
  /* Full-height Seiten (Chat/Health): page-body-Marge entfernen, damit kein schwarzer Spalt unter der Topbar entsteht */
  .page-body:has(#page-chat:not(.d-none)),.page-body:has(#page-health:not(.d-none)){margin-top:0;padding-top:0}
  /* Krankenakte: kein Seiten-Scroll — die Höhe füllt exakt den verfügbaren Bereich,
     gescrollt wird nur innerhalb der Cards. */
  .page-body:has(#page-health:not(.d-none)){overflow:hidden;padding-bottom:0}
  .page-body:has(#page-health:not(.d-none))>.container-xl{height:100%}
  #page-chat{height:calc(100vh - var(--guenter-chrome));height:calc(100dvh - var(--guenter-chrome));min-height:0;overflow:hidden;margin:0 -12px 0;background:var(--chatgpt-bg);color:var(--chatgpt-text)}
  #page-health{height:100%;min-height:0;overflow:hidden;margin:0 -12px 0}
  #page-chat .card{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--chatgpt-panel);border:0;box-shadow:none}
  #page-chat .card-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0}
  .chat-shell{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;background:transparent}
  #chatForm{width:min(1080px,calc(100% - 32px));margin:0 auto 8px;flex:0 0 auto;display:grid!important;grid-template-columns:auto auto auto minmax(0,1fr) auto auto auto auto;align-items:end;gap:8px;padding:8px 10px;background:var(--chatgpt-input);border:1px solid var(--chatgpt-input-border);border-radius:28px;box-shadow:0 12px 34px rgba(0,0,0,.16)}
  #chatForm .form-select,#chatForm .form-control{height:36px;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--chatgpt-text)!important}
  #chatForm .form-select{width:auto!important;min-width:72px;padding:0 26px 0 8px;color:var(--chatgpt-muted)!important;font-size:13px}
  #chatForm .form-select:focus,#chatForm .form-control:focus{box-shadow:none!important}
  #chatForm .form-control{min-width:0!important;padding:7px 4px;font-size:15px}
  #chatInput{resize:none;overflow-y:auto;max-height:200px;line-height:1.45}
  #chatForm .form-control::placeholder{color:#8f8f8f}
  #chatSend{width:36px;height:36px;border-radius:50%;padding:0;font-size:0;background:#ffffff;color:#000;border-color:#ffffff;display:inline-flex;align-items:center;justify-content:center}
  #chatSend::before{content:"arrow_upward";font-family:'Material Symbols Rounded';font-size:22px;font-weight:400;line-height:1;font-feature-settings:'liga';-webkit-font-feature-settings:'liga'}
  #chatSend.chat-cancel::before{content:"stop"}
  #chatSend:disabled{opacity:.45}
  #chatAttachBtn,#chatMicBtn,#shoppingListBtn,#favoritesBtn{width:36px;height:36px;border-radius:50%;padding:0;background:transparent;border:0;color:var(--chatgpt-muted);display:inline-flex;align-items:center;justify-content:center}
  #chatAttachBtn:hover,#chatMicBtn:hover,#shoppingListBtn:hover,#favoritesBtn:hover{background:var(--chatgpt-hover);color:var(--chatgpt-text)}
  #chatMicBtn.recording{background:#ef4444;color:#fff}
  .chat-attachment-tray{width:min(1080px,calc(100% - 32px));margin:0 auto 8px;display:flex;gap:8px;flex-wrap:wrap}
  .chat-attachment-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--chatgpt-input-border);background:var(--chatgpt-input);border-radius:999px;padding:3px 8px 3px 3px;color:var(--chatgpt-text);font-size:12px;max-width:220px}
  .chat-attachment-chip img{width:28px;height:28px;border-radius:50%;object-fit:cover}
  .chat-attachment-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .chat-attachment-chip button{border:0;background:transparent;color:var(--chatgpt-muted);padding:0;display:inline-flex}
  .chat-hint{width:min(1080px,calc(100% - 32px));margin:0 auto 14px;text-align:center;color:var(--chatgpt-muted)}
  .chatlog{width:min(1080px,calc(100% - 32px));margin:0 auto;flex:1 1 auto;display:flex;flex-direction:column;gap:22px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:48px 0 24px;scroll-behavior:smooth;overscroll-behavior:contain}
  .chatlog:empty{align-items:center;justify-content:center}
  .chatlog:empty::before{content:"Sag mir, wenn du so weit bist.";font-size:26px;line-height:1.25;font-weight:500;color:var(--chatgpt-text);text-align:center;margin-bottom:72px}
  .msg-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:0}
  .msg-row.u{justify-content:flex-end}
  .msg-row.a,.msg-row.e{justify-content:flex-start;align-items:flex-start}
  .msg-col{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
  .msg-row.u .msg-col{max-width:78%;align-items:flex-end}
  .msg-row.a .msg-col,.msg-row.e .msg-col{width:100%;max-width:100%;flex:1 1 auto}
  .msg{padding:10px 16px;border-radius:20px;white-space:pre-wrap;line-height:1.55;width:auto;max-width:100%;font-size:15px}
  .msg.u{background:var(--chatgpt-user);color:var(--chatgpt-text)}
  .msg.a{background:transparent;border:0;padding:2px 0;color:var(--chatgpt-text);width:100%}
  .msg.e{background:#fde8e8;color:#902;border:1px solid #f1aeb5}
  [data-bs-theme="dark"] .msg.e{background:#3a1413;color:#f3b6b3;border-color:#7a2a28}
  .msg .meta{display:block;font-size:10px;opacity:.6;margin-top:6px;color:var(--tblr-text-muted)}
  .msg-actions{display:flex;flex-direction:row;gap:4px;justify-content:flex-start;margin:2px 0 4px;width:100%;align-self:stretch}
  .msg-action-btn{width:30px;height:30px;border-radius:8px;background:transparent;border:0;color:var(--chatgpt-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .2s ease;padding:0}
  .msg-action-btn:hover{background:var(--chatgpt-hover);color:var(--chatgpt-text)}
  .msg-action-btn.playing{background:var(--chatgpt-hover);color:var(--chatgpt-text)}
  [data-bs-theme="dark"] body,[data-bs-theme="dark"] #appView,[data-bs-theme="dark"] .page-wrapper,[data-bs-theme="dark"] .page-body{background:#000;color:#fff}
  /* Topbar + Sidebar im med-Design (adaptiv hell/dunkel), kompaktere Topbar */
  header.navbar{height:44px;min-height:44px;padding-top:0;padding-bottom:0;background:var(--med-panel);border-bottom:1px solid var(--med-border);color:var(--med-text)}
  header.navbar .page-title{font-size:1rem;color:var(--med-text)}
  .navbar-vertical{background:var(--med-panel);border-right:1px solid var(--med-border)}
  .navbar-vertical .navbar-brand{color:var(--med-text)}
  .navbar .nav-link{color:var(--med-text);border-radius:8px}
  .navbar .nav-link:hover,.navbar .nav-link.active{background:var(--med-surface);color:var(--med-primary)}
  .navbar-vertical .nav-link-icon .mi{color:var(--med-muted)}
  .navbar-vertical .nav-link.active .nav-link-icon .mi{color:var(--med-primary)}
  [data-bs-theme="dark"] .navbar{background:var(--med-panel);border-color:var(--med-border);color:var(--med-text)}
  [data-bs-theme="dark"] .navbar-vertical{border-right:1px solid var(--med-border)}
  [data-bs-theme="dark"] .navbar .nav-link{color:var(--med-text);border-radius:8px}
  [data-bs-theme="dark"] .navbar .nav-link:hover,[data-bs-theme="dark"] .navbar .nav-link.active{background:var(--med-surface);color:var(--med-primary)}
  [data-bs-theme="dark"] .page-title{color:#fff}
  [data-bs-theme="dark"] #chatForm .form-select option{background:#2f2f2f;color:#fff}
  [data-bs-theme="dark"] .page-section:not(#page-chat) .card{background:linear-gradient(180deg,#080b10,#05070a);border:1px solid #2b3646;box-shadow:0 0 0 1px rgba(255,255,255,.035),0 16px 38px rgba(0,0,0,.42)}
  [data-bs-theme="dark"] .page-section:not(#page-chat) .card:hover{border-color:#3b485b}
  [data-bs-theme="dark"] .card-header{background:#090d13;border-bottom:1px solid #263142}
  [data-bs-theme="dark"] .card-title{color:#fff}
  [data-bs-theme="dark"] .card-body{color:#f8fafc}
  [data-bs-theme="dark"] .text-secondary,[data-bs-theme="dark"] .text-muted{color:#b9c2d0!important}
  [data-bs-theme="dark"] .list-group-item{background:#080b10;border-color:#263142;color:#f8fafc}
  [data-bs-theme="dark"] .list-group-item-action:hover{background:#111722;color:#fff}
  [data-bs-theme="dark"] .form-control,[data-bs-theme="dark"] .form-select{background:#080b10;border-color:#344155;color:#f8fafc}
  [data-bs-theme="dark"] .form-control:focus,[data-bs-theme="dark"] .form-select:focus{border-color:#64748b;box-shadow:0 0 0 3px rgba(100,116,139,.24)}
  [data-bs-theme="dark"] .avatar{border:1px solid rgba(148,163,184,.28)}
  header.navbar>.container-xl{max-width:none;width:100%;padding-left:18px;padding-right:18px}
  .page-body>.container-xl{max-width:none;width:100%;padding-left:18px;padding-right:18px}
  [data-bs-theme="dark"] .row-cards .card-sm{background:linear-gradient(180deg,#090d13,#05070a);border-color:#2f3a4a}
  @media(max-width:720px){
    #page-chat{margin:-12px -8px 0}
    .chatlog{width:calc(100% - 24px);padding-top:28px}
    .chatlog:empty::before{font-size:22px;margin-bottom:48px}
    #chatForm{width:calc(100% - 20px);grid-template-columns:auto 1fr auto auto;gap:4px;border-radius:24px;margin-bottom:calc(10px + env(safe-area-inset-bottom))}
    #chatForm .form-select,#shoppingListBtn,#favoritesBtn{display:none!important}
    #chatAttachBtn{display:inline-flex!important}
  }
  .typing-indicator{display:flex;gap:4px;align-items:center;padding:4px 0}
  .typing-indicator span{width:8px;height:8px;border-radius:50%;background:rgba(148,163,184,.7);animation:typingBounce 1.4s infinite ease-in-out both}
  .typing-indicator span:nth-child(1){animation-delay:-0.32s}
  .typing-indicator span:nth-child(2){animation-delay:-0.16s}
  @keyframes typingBounce{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}
  .retry-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(248,113,113,.45);background:rgba(220,38,38,.18);color:#fee2e2;font-size:12px;cursor:pointer}
  .retry-btn:hover{background:rgba(220,38,38,.32)}
  #shoppingListBtn,#favoritesBtn{display:none}
  #shoppingListBtn.show,#favoritesBtn.show{display:inline-flex}
  .msg .md{white-space:normal}
  .msg .md p{margin:0 0 8px}
  .msg .md p:last-child{margin-bottom:0}
  .msg .md ul,.msg .md ol{margin:4px 0 8px;padding-left:20px}
  .msg .md li{margin-bottom:2px}
  .msg .md strong{font-weight:700}
  .msg .md em{font-style:italic}
  .msg .md code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:90%;background:var(--tblr-bg-surface);padding:1px 4px;border-radius:4px}
  .msg .md pre{background:#0f172a;border:1px solid var(--tblr-border-color);border-radius:8px;padding:10px;overflow-x:auto;margin:8px 0}
  .msg .md pre code{background:transparent;padding:0}
  .guenter-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:3000}
  .guenter-modal-overlay[hidden],.guenter-modal[hidden]{display:none!important}
  .guenter-modal{position:fixed;z-index:3001;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:min(82vh,720px);background:var(--med-surface);border:1px solid var(--med-border);border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.45);color:var(--med-text);display:flex;flex-direction:column}
  .guenter-modal-wide{width:min(900px,calc(100vw - 32px))}
  .guenter-modal-header{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--med-border);background:var(--med-panel);border-radius:8px 8px 0 0}
  .guenter-modal-header h3{margin:0;font-size:15px}
  .guenter-modal-close{width:34px;height:34px;border:0;background:transparent;color:var(--med-text);border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
  .guenter-modal-close:hover{background:var(--med-surface)}
  .guenter-modal-body{padding:14px;overflow:auto}
  .language-options{display:grid;grid-template-columns:1fr;gap:8px}
  .language-option,.theme-option{border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);border-radius:6px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left}
  .language-option:hover,.theme-option:hover,.language-option.active,.theme-option.active{border-color:var(--tblr-primary);background:color-mix(in srgb,var(--guenter-theme-soft) 42%,var(--med-surface))}
  .language-option img{width:28px;height:20px;border-radius:2px;border:1px solid var(--med-border);object-fit:cover}
  .language-option span{flex:1}
  .theme-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
  .theme-option small{display:block;color:var(--med-muted);font-size:11px;margin-top:2px}
  .theme-swatch{width:38px;height:38px;border-radius:999px;border:1px solid var(--med-border);background:linear-gradient(135deg,var(--swatch-primary) 0 50%,var(--swatch-soft) 50% 100%);flex:0 0 auto}
  @media(max-width:420px){
    .guenter-modal{width:calc(100vw - 18px);max-height:86vh}
    .theme-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    .theme-option{padding:8px;gap:7px}
    .theme-swatch{width:28px;height:28px}
    .theme-option small{display:none}
  }
  .msg .md h1,.msg .md h2,.msg .md h3{font-weight:700;margin:8px 0 4px;color:var(--tblr-body-color)}
  .msg .md h1{font-size:1.15em}
  .msg .md h2{font-size:1.05em}
  .msg .md h3{font-size:1em}
  .msg .md a{color:#22d3ee;text-decoration:underline}
  .msg .md blockquote{border-left:3px solid var(--tblr-border-color);padding-left:10px;margin:4px 0;color:var(--tblr-text-muted)}
  .msg-images{display:flex;flex-wrap:wrap;gap:8px}
  .msg-images img{cursor:pointer;transition:transform 0.2s;max-width:150px;max-height:150px}
  .msg-images img:hover{transform:scale(1.05)}
  .brand-mark{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#4f46e5,#22d3ee);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800}
  .image-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.7);align-items:center;justify-content:center}
  .image-modal.active{display:flex}
  .image-modal-window{position:relative;width:min(96vw,1400px);height:calc(100vh - 24px);max-height:none;display:flex;flex-direction:column;background:var(--tblr-bg-surface);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;border:1px solid var(--tblr-border-color)}
  .image-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--tblr-border-color);background:var(--tblr-bg-surface-secondary)}
  .image-modal-title{font-size:16px;font-weight:600;margin:0;flex:1}
  .image-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--tblr-text-muted);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all 0.2s}
  .image-modal-close:hover{background:var(--tblr-bg-surface);color:var(--tblr-text)}
  .image-modal-body{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:12px}
  .image-modal-img{max-width:100%;max-height:100%;object-fit:contain}
  .image-modal-footer{display:flex;justify-content:center;align-items:center;padding:12px 20px;border-top:1px solid var(--tblr-border-color);background:var(--tblr-bg-surface-secondary);gap:12px}
  .image-modal-counter{font-size:13px;color:var(--tblr-text-muted)}
  .image-modal-nav{background:var(--tblr-primary);color:#fff;border:none;padding:8px 12px;cursor:pointer;font-size:18px;border-radius:6px;transition:all 0.2s;display:flex;align-items:center;justify-content:center;width:40px;height:40px}
  .image-modal-nav:hover{background:var(--tblr-primary-darker);transform:scale(1.05)}
  .image-modal-prev{position:absolute;left:20px;top:50%;transform:translateY(-50%)}
  .image-modal-next{position:absolute;right:20px;top:50%;transform:translateY(-50%)}
  .result-card{display:flex;gap:16px;padding:14px;border-radius:10px;background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);margin-bottom:12px;align-items:flex-start;width:100%;transition:all 0.2s ease;box-shadow:0 1px 3px rgba(0,0,0,0.08)}
  .result-card:hover{border-color:var(--tblr-primary);box-shadow:0 4px 12px rgba(0,0,0,0.12)}
  .result-card-cover{flex-shrink:0;width:auto;max-width:180px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center}
  .result-card-cover img{max-width:180px;max-height:300px;height:auto;width:auto;object-fit:contain;cursor:pointer;transition:transform 0.3s ease}
  .result-card-cover img:hover{transform:scale(1.08)}
  .result-card-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
  .result-card-title{font-weight:700;margin-bottom:8px;word-break:break-word;font-size:16px;color:var(--tblr-body-color)}
  .result-card-meta{font-size:13px;color:var(--tblr-text-muted);margin-bottom:6px;display:flex;gap:12px;flex-wrap:wrap}
  .result-card-meta-item{display:inline-flex;align-items:center;gap:4px}
  .result-card-rating{color:#ffc107;font-weight:600}
  .result-card-genre{display:inline-flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
  .result-card-badge{display:inline-block;padding:3px 8px;border-radius:4px;background:var(--tblr-primary);color:white;font-size:11px;font-weight:600}
  .result-card-desc{font-size:13px;color:var(--tblr-text-muted);line-height:1.5;margin-top:8px}
  .result-card-footer{font-size:12px;color:var(--tblr-text-muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--tblr-border-color)}
  .result-cards-container{display:flex;flex-direction:column;gap:0;width:100%;margin-top:12px}
  .wiki-results,.news-results{position:relative;margin-top:12px;overflow:hidden;border-radius:8px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);box-shadow:var(--card-shadow);padding:16px;display:flex;flex-direction:column;gap:12px}
  .wiki-card,.news-card{display:flex;gap:14px;padding:12px;border-radius:8px;background:var(--card-bg-soft);border:1px solid var(--card-border);align-items:flex-start}
  .research-results{position:relative;margin-top:12px;overflow:hidden;border-radius:8px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);box-shadow:var(--card-shadow);padding:16px;display:flex;flex-direction:column;gap:12px}
  .research-card{display:flex;gap:14px;padding:12px;border-radius:10px;background:var(--card-bg-soft);border:1px solid var(--card-border);align-items:flex-start}
  .research-thumb{flex-shrink:0;width:88px;height:110px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#1f2937,#0f172a);display:flex;align-items:center;justify-content:center}
  .research-thumb img{width:100%;height:100%;object-fit:cover}
  .research-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
  .research-title{font-size:15px;font-weight:700;color:var(--card-accent-text);text-decoration:none;word-break:break-word}
  .research-title:hover{text-decoration:underline}
  .research-subtitle{font-size:12px;color:var(--card-accent-text);font-weight:600}
  .research-description{font-size:13px;color:var(--card-text-muted);line-height:1.45}
  .research-meta{display:flex;flex-wrap:wrap;gap:8px}
  .research-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--card-accent-soft);border:1px solid var(--card-accent-border);font-size:11px;color:var(--card-accent-text)}
  .research-link{font-size:13px;color:var(--card-accent-text);text-decoration:none;font-weight:600}
  .research-link:hover{text-decoration:underline}
  .plant-results{position:relative;margin-top:12px;border-radius:8px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);box-shadow:var(--card-shadow);padding:16px;display:flex;flex-direction:column;gap:12px}
  .plant-card{display:flex;gap:14px;padding:12px;border-radius:10px;background:var(--card-bg-soft);border:1px solid var(--card-border);align-items:flex-start}
  .plant-thumb{flex-shrink:0;width:96px;height:96px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#14532d,#052e16);display:flex;align-items:center;justify-content:center}
  .plant-thumb img{width:100%;height:100%;object-fit:cover}
  .plant-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
  .plant-title{font-size:15px;font-weight:700;color:var(--card-accent-green-text);text-decoration:none;word-break:break-word}
  .plant-title:hover{text-decoration:underline}
  .plant-subtitle{font-size:12px;color:var(--card-accent-green-text);font-weight:600;font-style:italic}
  .plant-description{font-size:13px;color:var(--card-text-muted);line-height:1.45}
  .plant-meta{display:flex;flex-wrap:wrap;gap:8px}
  .plant-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--card-accent-green-soft);border:1px solid var(--card-accent-green-border);font-size:11px;color:var(--card-accent-green-text)}
  .plant-link{font-size:13px;color:var(--card-accent-green-text);text-decoration:none;font-weight:600;cursor:pointer}
  .plant-link:hover{text-decoration:underline}
  .plant-card{cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
  .plant-card:hover{border-color:rgba(74,222,128,.42);transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.28)}
  .plant-detail{position:relative;margin-top:12px;overflow:hidden;border-radius:14px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);box-shadow:var(--card-shadow);display:flex}
  .plant-hero{position:relative;padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(300px,1fr);gap:18px;align-items:stretch;background:#07180f;width:100%}
  .plant-hero::before{content:"";position:absolute;inset:0;background:var(--plant-bg,radial-gradient(circle at top left,#14532d,#052e16 60%,#03150c));background-size:cover;background-position:center;filter:blur(16px) saturate(1.25);transform:scale(1.08);opacity:.5}
  .plant-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,8,.94),rgba(3,12,8,.78) 42%,rgba(3,12,8,.32)),linear-gradient(0deg,rgba(3,12,8,.96),rgba(3,12,8,.16) 72%)}
  .plant-cover-main,.plant-detail-desc,.plant-detail-guide,.plant-detail-table-col{position:relative;z-index:1}
  .plant-cover-main{width:100%;height:100%;min-height:300px;border-radius:12px;overflow:hidden;background:#14532d;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 38px rgba(0,0,0,.5);cursor:zoom-in}
  .plant-cover-main img{width:100%;height:100%;object-fit:cover;display:block}
  .plant-detail-desc,.plant-detail-guide,.plant-detail-table-col{min-width:0;min-height:0;max-height:420px;overflow-y:auto;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(74,222,128,.18);padding:16px}
  .plant-detail-desc{display:flex;flex-direction:column}
  .plant-detail-table-col{display:flex;flex-direction:column}
  .plant-detail-desc::-webkit-scrollbar,.plant-detail-guide::-webkit-scrollbar,.plant-detail-table-col::-webkit-scrollbar{width:8px}
  .plant-detail-desc::-webkit-scrollbar-thumb,.plant-detail-guide::-webkit-scrollbar-thumb,.plant-detail-table-col::-webkit-scrollbar-thumb{background:rgba(74,222,128,.3);border-radius:8px}
  .plant-detail-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#4ade80;font-weight:700;margin-bottom:8px}
  .plant-detail-title{font-size:clamp(20px,2.2vw,30px);line-height:1.05;font-weight:800;color:#fff;margin-bottom:6px}
  .plant-detail-sci{font-size:15px;font-style:italic;color:#bbf7d0;font-weight:600;margin-bottom:12px}
  .plant-detail-summary{font-size:14px;line-height:1.55;color:#e5e7eb;margin-bottom:16px}
  .plant-detail-guide{display:flex;flex-direction:column;gap:8px;margin:0}
  .plant-detail-guide-head{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#86efac;font-weight:700}
  .plant-detail-guide-body{font-size:14px;line-height:1.55;color:#f0fdf4}
  .plant-detail-guide-body h3{font-size:15px;color:#4ade80;margin:10px 0 6px;font-weight:700}
  .plant-detail-guide-body ul{margin:6px 0 10px 18px;padding:0}
  .plant-detail-guide-body li{margin-bottom:4px}
  .plant-detail-groups{display:flex;flex-direction:column;gap:14px}
  .plant-detail-group-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#86efac;font-weight:700;margin-bottom:8px}
  .plant-detail-grid{display:grid;grid-template-columns:1fr;gap:8px}
  .plant-fact{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(74,222,128,.16)}
  .plant-fact-label{font-size:11px;color:#86efac;font-weight:700;margin-bottom:3px}
  .plant-fact-value{font-size:14px;color:#f0fdf4;font-weight:600;word-break:break-word}
  .plant-detail-source{display:inline-flex;gap:6px;flex-wrap:wrap;margin-top:14px}
  .plant-source-pill{font-size:11px;padding:3px 9px;border-radius:999px;background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.2);color:#bbf7d0;text-transform:capitalize}
  .plant-detail-actions{margin-top:16px;padding-top:0;display:flex;gap:10px;flex-wrap:wrap}
  .plant-detail-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid rgba(74,222,128,.4);background:linear-gradient(135deg,rgba(22,101,52,.5),rgba(5,46,22,.4));color:#dcfce7;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;transition:all .18s ease}
  .plant-detail-btn:hover{border-color:rgba(74,222,128,.7);transform:translateY(-1px)}
  @media(max-width:980px){.plant-hero{grid-template-columns:1fr;grid-auto-rows:auto}.plant-detail-desc,.plant-detail-guide,.plant-detail-table-col{max-height:none}.plant-cover-main{aspect-ratio:4/3}}
  @media(max-width:640px){.plant-hero{padding:16px}.plant-cover-main{min-height:240px}}
  .new-msg-indicator{position:absolute;left:50%;transform:translateX(-50%);bottom:84px;z-index:20;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;background:#2563eb;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.28);cursor:pointer}
  .new-msg-indicator:hover{background:#1d4ed8}
  .drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1040}
  .drawer{position:fixed;top:0;right:0;height:100%;width:min(360px,92vw);background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#111);box-shadow:-12px 0 40px rgba(0,0,0,.3);z-index:1050;transform:translateX(100%);transition:transform .22s ease;display:flex;flex-direction:column}
  .drawer.active{transform:translateX(0)}
  .drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(128,128,128,.2)}
  .drawer-header h3{margin:0;font-size:17px}
  .drawer-close{background:none;border:none;font-size:26px;line-height:1;cursor:pointer;color:inherit}
  .drawer-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}
  .drawer-footer{padding:12px 16px;border-top:1px solid rgba(128,128,128,.2)}
  .drawer-empty{color:#888;font-size:14px;text-align:center;padding:24px 8px}
  .drawer-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:rgba(128,128,128,.08)}
  .drawer-item-main{flex:1;min-width:0}
  .drawer-item-title{font-weight:600;font-size:14px;word-break:break-word}
  .drawer-item-sub{font-size:12px;color:#888}
  .drawer-item-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0}
  .drawer-item-del{background:none;border:none;color:#dc2626;font-size:18px;cursor:pointer;flex-shrink:0}
  .drawer-item.clickable{cursor:pointer}
  .drawer-group-title{font-size:12px;font-weight:700;text-transform:uppercase;color:#888;margin-top:6px}
  .research-poi-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
  .research-poi-item{padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
  .research-poi-title{font-size:13px;font-weight:700;color:#e2e8f0}
  .research-poi-text{font-size:12px;color:#94a3b8}
  .wiki-thumb,.news-thumb{flex-shrink:0;width:90px;height:90px;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#1f2937,#0f172a);display:flex;align-items:center;justify-content:center}
  .wiki-thumb img,.news-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer}
  .wiki-info,.news-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
  .wiki-title,.news-title{font-size:15px;font-weight:700;color:#67e8f9;text-decoration:none;word-break:break-word}
  .wiki-title:hover,.news-title:hover{text-decoration:underline}
  .wiki-description{font-size:12px;color:#a7f3d0;font-weight:600}
  .wiki-extract,.news-description{font-size:13px;color:#e5e7eb;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .news-meta{font-size:12px;color:#94a3b8}
  .wiki-link,.news-link{font-size:13px;color:#22d3ee;text-decoration:none;font-weight:600}
  .wiki-link:hover,.news-link:hover{text-decoration:underline}
  .recipe-results{position:relative;margin-top:12px;overflow:hidden;border-radius:8px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);box-shadow:var(--card-shadow);padding:18px;display:flex;flex-direction:column;gap:18px}
  .recipe-card{display:flex;flex-direction:column;border-radius:8px;background:var(--card-bg-soft);border:1px solid var(--card-border);overflow:hidden}
  .recipe-hero{width:100%;height:220px;overflow:hidden;background:linear-gradient(135deg,#1f2937,#0f172a)}
  .recipe-hero img{width:100%;height:100%;object-fit:cover;display:block}
  .recipe-header{padding:16px 16px 8px}
  .recipe-title{font-size:20px;font-weight:800;color:#fff;margin:0 0 6px;line-height:1.25}
  .recipe-meta{font-size:12px;color:#94a3b8;margin-bottom:8px}
  .recipe-tags{display:flex;gap:6px;flex-wrap:wrap}
  .recipe-tag{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--card-accent-soft);color:var(--card-accent-text);border:1px solid var(--card-accent-border)}
  .recipe-tag.lowcarb-yes{background:rgba(34,197,94,.16);color:#86efac;border-color:rgba(34,197,94,.32)}
  .recipe-tag.lowcarb-no{background:rgba(239,68,68,.14);color:#fca5a5;border-color:rgba(239,68,68,.28)}
  .recipe-tag.carb-no{background:rgba(16,185,129,.22);color:#6ee7b7;border-color:rgba(16,185,129,.42);font-weight:600}
  .recipe-tag.carb-low{background:rgba(34,197,94,.16);color:#86efac;border-color:rgba(34,197,94,.32)}
  .recipe-tag.carb-normal{background:rgba(148,163,184,.16);color:#cbd5e1;border-color:rgba(148,163,184,.3)}
  .recipe-tag.allergen-tag{background:rgba(245,158,11,.16);color:#fcd34d;border-color:rgba(245,158,11,.34)}
  .recipe-summary-list{display:flex;flex-direction:column;gap:10px;padding:12px 0}
  .recipe-summary-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:transform .15s ease,border-color .15s ease}
  .recipe-summary-item:hover{transform:translateY(-1px);border-color:rgba(103,232,249,.35)}
  .recipe-summary-thumb{width:72px;height:72px;border-radius:10px;object-fit:cover;flex-shrink:0;background:linear-gradient(135deg,#1f2937,#0f172a)}
  .recipe-summary-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
  .recipe-summary-name{font-weight:700;color:#fff}
  .recipe-summary-sub{font-size:12px;color:#94a3b8}
  .recipe-summary-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
  .recipe-summary-actions{display:flex;align-items:center;flex-shrink:0}
  .recipe-summary-actions .recipe-action-btn{padding:6px 10px;font-size:12px}
  .recipe-summary-btn{padding:8px 12px;border-radius:999px;border:1px solid rgba(103,232,249,.25);background:rgba(8,145,178,.14);color:#e0f7ff;font-size:12px;cursor:pointer;transition:all .18s ease}
  .recipe-summary-btn:hover{background:rgba(8,145,178,.32);border-color:rgba(125,211,252,.6)}
  .recipe-action-btn.secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
  .recipe-nutrition{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
  .recipe-nutrition-item{padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:13px;color:#e5e7eb}
  .recipe-nutrition-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
  .recipe-nutrition-conf{font-size:12px;color:var(--muted,#94a3b8)}
  .recipe-nutrition-allergens{font-size:13px;color:#fcd34d;margin-bottom:12px}
  .recipe-nutrition-allergens strong{color:#e5e7eb;margin-right:4px}
  .recipe-nutrition-table{width:100%;border-collapse:collapse;font-size:13px}
  .recipe-nutrition-table th,.recipe-nutrition-table td{padding:8px 10px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}
  .recipe-nutrition-table th{color:#94a3b8;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
  .recipe-nutrition-table td:not(:first-child),.recipe-nutrition-table th:not(:first-child){text-align:right;white-space:nowrap}
  .recipe-nutrition-table td:first-child{color:#e5e7eb}
  .recipe-nutrition-table tr.nut-sub-row td:first-child{padding-left:22px;color:#94a3b8;font-style:italic}
  .recipe-nutrition-table .nut-sub{font-size:10px;color:#64748b}
  .recipe-nutrition-note{margin-top:10px;font-size:11px;color:#64748b}
  .recipe-nutrition-conf-badge{display:inline-block;font-size:10px;padding:2px 7px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}
  .recipe-nutrition-conf-badge.conf-high{background:rgba(34,197,94,.16);color:#16a34a}
  .recipe-nutrition-conf-badge.conf-medium{background:rgba(245,158,11,.16);color:#d97706}
  .recipe-nutrition-conf-badge.conf-low{background:rgba(239,68,68,.16);color:#dc2626}
  .recipe-nutrition-conf-badge.conf-ignored{background:rgba(148,163,184,.16);color:#64748b}
  .recipe-nutrition-ingredients td:first-child{white-space:normal;max-width:220px}
  .recipe-modal{display:none;position:fixed;z-index:10000;inset:0;background:rgba(0,0,0,.72);align-items:center;justify-content:center;padding:18px}
  .recipe-modal.active{display:flex}
  .recipe-modal-window{width:min(92vw,760px);max-height:86vh;overflow:auto;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
  .recipe-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
  .recipe-modal-title{font-size:18px;font-weight:800;margin:0}
  .recipe-modal-body{padding:18px}
  .recipe-checklist{display:flex;flex-direction:column;gap:10px}
  .recipe-checklist label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
  .recipe-checklist input{margin-top:3px}
  .recipe-modal-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 18px 18px}
  .recipe-section{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}
  .recipe-section-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#67e8f9;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
  .recipe-section-title svg{flex-shrink:0}
  .recipe-ingredients{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 14px}
  .recipe-ingredients li{font-size:13px;color:#e5e7eb;padding:5px 0;border-bottom:1px dashed rgba(255,255,255,.08)}
  .recipe-steps{padding-left:18px;margin:0;display:flex;flex-direction:column;gap:8px}
  .recipe-steps li{font-size:13px;color:#e5e7eb;line-height:1.55}
  .recipe-instructions{font-size:13px;color:#e5e7eb;line-height:1.55;white-space:pre-line}
  .recipe-actions{display:flex;gap:10px;flex-wrap:wrap;padding:14px 16px 16px;border-top:1px solid rgba(255,255,255,.08)}
  .recipe-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid rgba(125,211,252,.35);background:rgba(8,145,178,.18);color:#e0f7ff;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .18s ease;font-family:inherit;line-height:1.2;border:none;box-shadow:none}
  .recipe-action-btn svg{flex-shrink:0}
  .recipe-action-btn:hover{background:rgba(8,145,178,.32);border-color:rgba(125,211,252,.6);transform:translateY(-1px)}
  .recipe-youtube{background:rgba(220,38,38,.18);border-color:rgba(248,113,113,.45);color:#fee2e2}
  .recipe-youtube:hover{background:rgba(220,38,38,.32);border-color:rgba(248,113,113,.7)}
  .full-article-card{position:relative;margin-top:12px;overflow:hidden;border-radius:8px;background:#10131a;color:#f8fafc;border:1px solid rgba(148,163,184,.22);box-shadow:0 16px 44px rgba(0,0,0,.28);padding:0 0 18px;display:flex;flex-direction:column}
  .full-article-hero{width:100%;height:220px;overflow:hidden;background:linear-gradient(135deg,#1f2937,#0f172a);position:relative}
  .full-article-hero img{width:100%;height:100%;object-fit:cover;display:block}
  .full-article-title{font-size:22px;font-weight:800;line-height:1.25;color:#fff;margin:18px 18px 6px;padding:0}
  .full-article-meta{font-size:12px;color:#94a3b8;margin:0 18px 14px}
  .full-article-body{padding:0 18px;line-height:1.65;color:#e5e7eb;font-size:14px;display:flex;flex-direction:column;gap:12px}
  .full-article-body p{margin:0}
  .full-article-button{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:18px 18px 0;padding:10px 18px;border-radius:999px;border:1px solid rgba(125,211,252,.45);background:linear-gradient(135deg,rgba(8,145,178,.22),rgba(6,182,212,.14));color:#e0f7ff;font-size:13px;font-weight:700;text-decoration:none;transition:all .18s ease}
  .full-article-button:hover{background:linear-gradient(135deg,rgba(8,145,178,.38),rgba(6,182,212,.26));border-color:rgba(125,211,252,.75);transform:translateY(-1px)}
  .movie-results{position:relative;margin-top:12px;overflow:hidden;border-radius:8px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);box-shadow:var(--card-shadow)}
  .movie-hero{position:relative;min-height:310px;padding:26px;display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:24px;align-items:end;background:#111827}
  .movie-hero::before{content:"";position:absolute;inset:0;background:var(--movie-bg,linear-gradient(135deg,#111827,#1f2937));background-size:cover;background-position:center;filter:blur(14px) saturate(1.15);transform:scale(1.08);opacity:.42}
  .movie-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,15,.94),rgba(8,10,15,.74) 45%,rgba(8,10,15,.35)),linear-gradient(0deg,rgba(8,10,15,.96),rgba(8,10,15,.14) 70%)}
  .movie-poster-main,.movie-info{position:relative;z-index:1}
  .movie-poster-main{width:100%;max-width:190px;aspect-ratio:2/3;border-radius:7px;overflow:hidden;background:#1f2937;box-shadow:0 18px 38px rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.14)}
  .movie-poster-main img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
  .movie-title{font-size:clamp(26px,4vw,52px);line-height:1.02;font-weight:800;margin-bottom:10px;color:#fff}
  .movie-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px;color:#d1d5db;font-size:14px}
  .movie-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px)}
  .movie-rating{color:#fbbf24;font-weight:700}
  .movie-genres{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
  .movie-genre{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#a7f3d0;font-weight:700}
  .movie-desc{max-width:780px;color:#e5e7eb;line-height:1.48;font-size:15px}
  .movie-cast{margin-top:10px;color:#cbd5e1;font-size:13px}
  .movie-actions{position:absolute;top:18px;right:20px;z-index:2;display:flex;gap:10px;flex-wrap:wrap;margin:0}
  .movie-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid rgba(125,211,252,.35);background:rgba(8,145,178,.18);color:#e0f7ff;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}
  .movie-action-btn:hover{background:rgba(8,145,178,.32);border-color:rgba(125,211,252,.6);transform:translateY(-1px)}
  .trailer-modal-window{width:min(96vw,960px);height:auto}
  .trailer-modal-body{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
  .trailer-modal-body #ytPlayer{position:absolute;inset:0;width:100%;height:100%}
  .trailer-modal-body #ytPlayer iframe{width:100%;height:100%;border:0;display:block}
  .vp-overlay{position:absolute;inset:0;z-index:1;cursor:pointer}
  .vp-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none;transition:opacity .2s}
  .vp-center.hidden{opacity:0;visibility:hidden}
  .vp-center-btn{pointer-events:auto;width:74px;height:74px;border-radius:50%;background:rgba(8,145,178,.38);border:1px solid rgba(103,232,249,.55);color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);box-shadow:0 8px 28px rgba(0,0,0,.45);transition:transform .15s ease,background .15s ease}
  .vp-center-btn:hover{transform:scale(1.07);background:rgba(8,145,178,.55)}
  .vp-bar{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;gap:12px;padding:18px 16px 12px;background:linear-gradient(0deg,rgba(2,8,23,.9),rgba(2,8,23,0));opacity:0;transition:opacity .2s ease}
  .trailer-modal-body:hover .vp-bar,.vp-bar.show{opacity:1}
  .vp-btn{background:none;border:0;color:#dafeff;cursor:pointer;font-size:16px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;flex:0 0 auto;transition:background .15s ease}
  .vp-btn:hover{background:rgba(8,145,178,.32)}
  .vp-seek{flex:1;height:6px;border-radius:999px;background:rgba(255,255,255,.18);cursor:pointer;position:relative}
  .vp-seek-buf{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;background:rgba(255,255,255,.16)}
  .vp-seek-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;background:linear-gradient(90deg,#22d3ee,#67e8f9)}
  .vp-seek::after{content:"";position:absolute;top:50%;left:var(--vp-knob,0%);width:12px;height:12px;border-radius:50%;background:#67e8f9;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(103,232,249,.25);opacity:0;transition:opacity .15s ease}
  .vp-seek:hover::after{opacity:1}
  .vp-time{font-size:12px;color:#bfdbfe;font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto}
  .actor-modal-window{width:min(96vw,720px);height:auto;max-height:80vh}
  .actor-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;padding:20px;overflow-y:auto}
  .actor-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
  .actor-photo{width:96px;height:96px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#1f2937,#374151);display:flex;align-items:center;justify-content:center;font-size:36px;border:2px solid rgba(125,211,252,.35);box-shadow:0 8px 20px rgba(0,0,0,.3)}
  .actor-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .actor-name{font-size:13px;font-weight:700;color:var(--tblr-text)}
  .actor-role{font-size:12px;color:var(--tblr-text-muted)}
  .weather-results{background:rgba(20,28,42,.72);backdrop-filter:blur(10px);border:1px solid rgba(125,211,252,.12);border-radius:16px;overflow:hidden;color:#f8fafc;display:grid;grid-template-columns:minmax(300px,1fr) 1.7fr;box-shadow:0 18px 48px rgba(0,0,0,.32)}
  .weather-today{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06)}
  .weather-today-header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:rgba(255,255,255,.04);font-size:14px;color:#cbd5e1;font-weight:600}
  .weather-today-header .date{color:#94a3b8;font-weight:500}
  .weather-today-body{padding:22px 24px;display:flex;flex-direction:column;gap:18px;flex:1}
  .weather-city{font-size:21px;font-weight:600;color:#fff;letter-spacing:.01em}
  .weather-temp-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
  .weather-temp-big{font-size:64px;font-weight:300;color:#fff;line-height:1;display:flex;align-items:flex-start}
  .weather-temp-big .unit{font-size:28px;font-weight:400;margin-top:6px;color:#e2e8f0}
  .weather-today-icon{width:104px;height:104px;flex:0 0 auto}
  .weather-today-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
  .weather-cond{font-size:14px;color:#a7f3d0;font-weight:500;margin-top:-6px}
  .weather-today-stats{display:flex;flex-wrap:wrap;gap:18px 24px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}
  .weather-stat{display:flex;align-items:center;gap:8px;font-size:13px;color:#94a3b8}
  .weather-stat svg{width:18px;height:18px;stroke:#67e8f9;opacity:.85;flex:0 0 auto}
  .weather-stat b{color:#e2e8f0;font-weight:600}
  .weather-forecast{display:flex;overflow-x:auto;scrollbar-width:thin}
  .weather-forecast::-webkit-scrollbar{height:4px}
  .weather-forecast::-webkit-scrollbar-thumb{background:rgba(103,232,249,.3);border-radius:999px}
  .weather-day{flex:1;min-width:104px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 10px;border-left:1px solid rgba(255,255,255,.05);text-align:center;transition:background .15s ease}
  .weather-day:first-child{border-left:0}
  .weather-day:hover{background:rgba(103,232,249,.06)}
  .weather-day-name{font-size:13px;color:#cbd5e1;font-weight:600;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .weather-day-icon{width:52px;height:52px}
  .weather-day-icon img{width:100%;height:100%;object-fit:contain}
  .weather-day-temps{display:flex;align-items:baseline;gap:6px}
  .weather-day-tmax{font-size:17px;font-weight:700;color:#fff}
  .weather-day-tmin{font-size:13px;color:#94a3b8}
  .weather-day-details{display:flex;flex-direction:column;gap:10px;margin-top:10px;width:100%;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
  .weather-day-detail{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#94a3b8;line-height:1.1}
  .weather-day-detail svg{width:14px;height:14px;stroke:#67e8f9;opacity:.85;flex:0 0 auto}
  .weather-day-detail b{color:#cbd5e1;font-weight:600}
  @media (max-width:760px){.weather-results{grid-template-columns:1fr}.weather-today{border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}}
  /* Health App — Theme Variables */
  :root{
    --health-bg:rgba(248,250,252,.95);--health-border:rgba(99,102,241,.12);--health-text:#1e293b;--health-muted:#64748b;
    --health-card-bg:rgba(99,102,241,.04);--health-card-border:rgba(99,102,241,.08);--health-card-hover:rgba(99,102,241,.18);
    --health-input-bg:#fff;--health-input-border:#e2e8f0;--health-input-focus:#6366f1;
    --health-accent:#6366f1;--health-accent-soft:rgba(99,102,241,.08);--health-accent-text:#4f46e5;
    --health-header-bg:linear-gradient(135deg,rgba(99,102,241,.08),rgba(248,250,252,.6));--health-header-text:#1e293b;--health-header-sub:#64748b;
    --health-tabs-bg:rgba(99,102,241,.03);--health-tabs-border:rgba(0,0,0,.06);--health-tab-active:#4f46e5;
    --health-shadow:0 4px 24px rgba(0,0,0,.08);--health-form-bg:rgba(99,102,241,.04);--health-form-border:rgba(99,102,241,.15);
    --health-empty-text:#94a3b8;--health-profile-label:#94a3b8;--health-profile-value:#1e293b;
    --health-danger-bg:rgba(239,68,68,.08);--health-danger-border:rgba(239,68,68,.2);--health-danger-text:#dc2626;
    --health-primary-bg:rgba(99,102,241,.08);--health-primary-border:rgba(99,102,241,.2);--health-primary-text:#4f46e5;
    --health-add-border:rgba(99,102,241,.2);--health-add-text:#64748b;--health-add-hover:rgba(99,102,241,.05);
  }
  [data-bs-theme="dark"]{
    --health-bg:rgba(20,28,42,.72);--health-border:rgba(125,211,252,.12);--health-text:#f8fafc;--health-muted:#94a3b8;
    --health-card-bg:rgba(255,255,255,.04);--health-card-border:rgba(255,255,255,.06);--health-card-hover:rgba(129,140,248,.3);
    --health-input-bg:rgba(20,28,42,.6);--health-input-border:rgba(255,255,255,.1);--health-input-focus:#818cf8;
    --health-accent:#818cf8;--health-accent-soft:rgba(99,102,241,.15);--health-accent-text:#a5b4fc;
    --health-header-bg:linear-gradient(135deg,rgba(99,102,241,.15),rgba(20,28,42,.6));--health-header-text:#fff;--health-header-sub:#94a3b8;
    --health-tabs-bg:rgba(255,255,255,.03);--health-tabs-border:rgba(255,255,255,.06);--health-tab-active:#818cf8;
    --health-shadow:0 18px 48px rgba(0,0,0,.32);--health-form-bg:rgba(255,255,255,.06);--health-form-border:rgba(129,140,248,.2);
    --health-empty-text:#64748b;--health-profile-label:#64748b;--health-profile-value:#e2e8f0;
    --health-danger-bg:rgba(239,68,68,.2);--health-danger-border:rgba(239,68,68,.4);--health-danger-text:#fca5a5;
    --health-primary-bg:rgba(99,102,241,.2);--health-primary-border:rgba(99,102,241,.3);--health-primary-text:#a5b4fc;
    --health-add-border:rgba(255,255,255,.15);--health-add-text:#94a3b8;--health-add-hover:rgba(99,102,241,.05);
  }
  .health-app{background:var(--med-surface);border:1px solid var(--med-border);border-radius:6px;overflow:hidden;color:var(--med-text);box-shadow:var(--med-shadow);width:100%}
  .health-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--med-panel);border-bottom:1px solid var(--med-border)}
  .health-header-main{flex:1;min-width:0}
  .health-header-icon{width:32px;height:32px;border-radius:5px;background:var(--med-primary);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .health-header-icon .mi{font-size:19px}
  .health-header-title{font-size:14px;font-weight:800;color:var(--med-text)}
  .health-header-sub{font-size:11px;color:var(--med-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .health-open-page-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);border-radius:4px;padding:5px 9px;font-size:12px;white-space:nowrap}
  .health-open-page-btn:hover{border-color:var(--med-primary);color:var(--med-primary)}
  .health-open-page-btn .mi{font-size:17px}
  .health-tabs{display:flex;gap:4px;padding:8px;background:var(--med-panel);border-bottom:1px solid var(--med-border);overflow-x:auto;scrollbar-width:thin}
  .health-tab{padding:6px 12px;font-size:12px;font-weight:700;color:var(--med-muted);cursor:pointer;border:1px solid var(--med-border);background:var(--med-surface);border-radius:4px;transition:all .15s;white-space:nowrap}
  .health-tab:hover{color:var(--med-primary);border-color:var(--med-primary)}
  .health-tab.active{color:#fff;background:var(--med-primary);border-color:var(--med-primary)}
  .health-section{padding:10px 12px;display:none;max-height:520px;overflow-y:auto}
  .health-section.active{display:block}
  .health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
  .health-item{background:var(--med-surface);border:1px solid var(--med-border);border-radius:6px;padding:10px;transition:border-color .15s}
  .health-item:hover{border-color:var(--med-primary);transform:none}
  .health-item-name{font-size:13px;font-weight:700;color:var(--med-text);margin-bottom:4px}
  .health-item-meta{font-size:11px;color:var(--med-muted);display:flex;flex-wrap:wrap;gap:6px 12px}
  .health-item-meta span{display:flex;align-items:center;gap:4px}
  .health-item-actions{display:flex;gap:6px;margin-top:10px}
  .health-btn{padding:4px 10px;font-size:12px;border-radius:4px;border:1px solid var(--med-border);background:var(--med-panel);color:var(--med-text);cursor:pointer;transition:all .15s}
  .health-btn:hover{background:var(--med-surface);border-color:var(--med-primary);color:var(--med-primary)}
  .health-btn-danger:hover{background:var(--med-danger-bg);border-color:var(--med-danger-bg);color:#dc2626}
  .health-btn-primary{background:var(--med-primary);border-color:var(--med-primary);color:#fff}
  .health-btn-primary:hover{background:var(--med-primary-dark);border-color:var(--med-primary-dark);color:#fff}
  .health-add-btn{width:100%;padding:9px;font-size:12px;border:1px dashed var(--med-border);border-radius:6px;background:transparent;color:var(--med-muted);cursor:pointer;transition:all .15s;margin-top:8px}
  .health-add-btn:hover{border-color:var(--med-primary);color:var(--med-primary);background:var(--med-panel)}
  .health-form{background:var(--med-panel);border:1px solid var(--med-border);border-radius:6px;padding:12px;margin-top:8px}
  .health-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
  .health-form-row label{font-size:11px;color:var(--med-muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
  .health-form-row input,.health-form-row select,.health-form-row textarea{background:var(--med-surface);border:1px solid var(--med-border);border-radius:4px;padding:7px 9px;font-size:12px;color:var(--med-text);outline:none}
  .health-form-row input:focus,.health-form-row select:focus,.health-form-row textarea:focus{border-color:var(--med-primary)}
  .health-form-actions{display:flex;gap:8px;justify-content:flex-end}
  .health-doctors-editor{display:flex;flex-direction:column;gap:6px}
  .health-doctors-list{display:flex;flex-direction:column;gap:6px}
  .health-doctor-row{display:flex;gap:6px;align-items:center}
  .health-doctor-row input{flex:1;background:var(--health-input-bg);border:1px solid var(--health-input-border);border-radius:6px;padding:8px 10px;font-size:13px;color:var(--health-text);outline:none}
  .health-doctor-row input:focus{border-color:var(--health-input-focus)}
  .health-doctor-row button{flex:0 0 auto;padding:8px 12px}
  .health-empty{text-align:center;padding:20px;color:var(--med-muted);font-size:12px}
  .health-profile-card{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
  .health-profile-field{background:var(--med-surface);border:1px solid var(--med-border);border-radius:6px;padding:10px}
  .health-profile-label{font-size:10px;color:var(--med-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
  .health-profile-value{font-size:15px;font-weight:700;color:var(--med-text)}
  .health-profile-edit-btn{margin-top:12px}
  .health-diagnosis-btn{padding:9px 14px;font-size:12px;font-weight:700;border-radius:6px;border:1px solid var(--med-border);background:var(--med-panel);color:var(--med-text);cursor:pointer;transition:all .2s;margin-bottom:12px;width:100%}
  .health-diagnosis-btn:hover{border-color:var(--med-primary);color:var(--med-primary)}
  .health-diagnosis-result{background:var(--med-panel);border:1px solid var(--med-border);border-radius:6px;padding:12px;margin-top:12px;font-size:12px;line-height:1.6;color:var(--med-text);white-space:pre-wrap}
  .health-doc-upload{border:2px dashed var(--health-add-border);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .15s;margin-bottom:12px}
  .health-doc-upload:hover{border-color:var(--health-accent);background:var(--health-add-hover)}
  .health-doc-upload-text{color:var(--health-muted);font-size:14px}
  .health-doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
  .health-doc-item{background:var(--health-card-bg);border:1px solid var(--health-card-border);border-radius:10px;padding:12px;text-align:center;cursor:pointer;transition:all .15s;position:relative}
  .health-doc-item:hover{border-color:var(--health-card-hover)}
  .health-doc-thumb{width:100%;height:100px;object-fit:cover;border-radius:6px;margin-bottom:8px;background:var(--health-card-bg)}
  .health-doc-icon{font-size:36px;margin:20px 0 8px}
  .health-doc-title{font-size:13px;font-weight:600;color:var(--health-text);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .health-doc-meta{font-size:11px;color:var(--health-muted)}
  .health-doc-del{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--health-danger-bg);border:1px solid var(--health-danger-border);color:var(--health-danger-text);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}
  .health-doc-item:hover .health-doc-del{opacity:1}
  .health-anamnesis-section{margin-bottom:20px}
  .health-anamnesis-title{font-size:14px;font-weight:700;color:var(--health-text);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--health-tabs-border)}
  .health-anamnesis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
  .health-anamnesis-field{display:flex;flex-direction:column;gap:4px}
  .health-anamnesis-field label{font-size:12px;color:var(--health-muted);font-weight:600}
  .health-anamnesis-field input,.health-anamnesis-field select,.health-anamnesis-field textarea{background:var(--health-input-bg);border:1px solid var(--health-input-border);border-radius:6px;padding:8px 10px;font-size:13px;color:var(--health-text);outline:none}
  .health-anamnesis-field input:focus,.health-anamnesis-field select:focus,.health-anamnesis-field textarea:focus{border-color:var(--health-input-focus)}
  .health-anamnesis-check{display:flex;align-items:center;gap:8px}
  .health-anamnesis-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--health-accent)}
  .health-anamnesis-check label{font-size:13px;color:var(--health-text);font-weight:400}
  .health-subsection-title{font-size:13px;font-weight:600;color:var(--health-muted);margin:12px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--health-tabs-border)}
  .health-item-image{width:100%;max-height:80px;object-fit:cover;border-radius:6px;margin-bottom:8px}
  .health-image-btn{font-size:11px;padding:3px 8px}
  .health-toast{position:fixed;bottom:20px;right:20px;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;z-index:9999;animation:healthToastIn .2s ease;box-shadow:0 4px 16px rgba(0,0,0,.15)}
  .health-toast.success{background:#22c55e;color:#fff}
  .health-toast.error{background:#ef4444;color:#fff}
  @keyframes healthToastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  @media (max-width:760px){.health-grid{grid-template-columns:1fr}.health-profile-card{grid-template-columns:1fr 1fr}.health-doc-grid{grid-template-columns:1fr 1fr}.health-anamnesis-grid{grid-template-columns:1fr}}

  /* ===== Enterprise Medical UI ===== */
  :root{--med-bg:transparent;--med-surface:#ffffff;--med-panel:#eef3f7;--med-border:#cfd8e3;--med-primary:#168ec7;--med-primary-dark:#0f5f88;--med-accent:#20b4c8;--med-text:#263238;--med-muted:#6b7c8f;--med-danger-bg:#ffe3e7;--med-warning-bg:#fff4d6;--med-success-bg:#e6f9ed;--med-shadow:0 2px 8px rgba(0,0,0,0.08);--med-th-head:#eef3f7}
  [data-bs-theme="dark"]{--med-bg:transparent;--med-surface:#1f2937;--med-panel:#273449;--med-border:#374151;--med-primary:#38bdf8;--med-primary-dark:#0ea5e9;--med-accent:#22d3ee;--med-text:#e5e7eb;--med-muted:#9ca3af;--med-danger-bg:#3b1f2b;--med-warning-bg:#3f2f12;--med-success-bg:#0f2e1e;--med-shadow:0 2px 10px rgba(0,0,0,0.35);--med-th-head:#1e293b}
  .med-app{font-family:Arial,Helvetica,sans-serif;font-size:12px;color:var(--med-text);width:100%;height:100%;display:flex;flex-direction:column;min-height:0;box-sizing:border-box;padding:12px}
  .med-patient-bar{background:var(--med-surface);border:1px solid var(--med-border);border-radius:6px;padding:8px 12px;display:flex;align-items:center;gap:10px;margin-bottom:12px;flex:0 0 auto}
  .med-patient-bar-label{font-weight:bold;font-size:12px;color:var(--med-muted)}
  .med-patient-select{height:28px;border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);border-radius:4px;padding:0 8px;font-size:12px;min-width:200px}
  .med-patient-info{color:var(--med-muted);font-size:11px;flex:1}
  .med-patient-card,.med-panel,.med-data-section{background:var(--med-surface);border:1px solid var(--med-border);box-shadow:var(--med-shadow);border-radius:6px}
  .med-patient-card{padding:12px}
  .med-patient-card,.med-main-content,.med-right-content{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;flex:1}
  .med-main-content .med-panel,.med-right-content .med-panel{display:flex;flex-direction:column;min-height:0}
  .med-patient-photo{width:90px;height:110px;background:var(--med-panel);border:1px solid var(--med-border);margin-bottom:10px;border-radius:4px}
  .med-patient-card h3{margin:0 0 4px;font-size:14px;font-weight:bold}
  .med-patient-card p{margin:0 0 10px;color:var(--med-muted);font-size:11px}
  .med-meta-box{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--med-border);font-size:11px}
  .med-meta-box strong{color:var(--med-muted);font-weight:normal}
  .med-meta-box span{font-weight:bold}
  .med-panel{margin:0;padding:0;flex:1;display:flex;flex-direction:column;min-height:0}
  .med-tab-panel.active .med-panel{margin:0}
  .med-panel-header{background:var(--med-panel);border-bottom:1px solid var(--med-border);padding:6px 8px;font-weight:bold;font-size:12px;display:flex;justify-content:space-between;align-items:center;border-radius:6px 6px 0 0}
  .med-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}
  .med-form-grid>div>label,.med-form-grid label{font-size:10px;color:var(--med-muted);text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:2px}
  .med-form-grid>div>div{font-size:12px;font-weight:600;padding:2px 0}
  .med-form-grid input,.med-form-grid select,.med-form-grid textarea{width:100%;height:26px;border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);border-radius:4px;padding:2px 6px;font-size:12px;box-sizing:border-box}
  .med-form-grid textarea{height:auto;resize:vertical}
  .med-table{width:100%;border-collapse:collapse;font-size:12px}
  .med-table th,.med-table td{border:1px solid var(--med-border);padding:5px 6px;text-align:left}
  .med-table th{background:var(--med-th-head);font-weight:bold;font-size:11px}
  .med-table tbody tr:nth-child(even){background:var(--med-panel)}
  .med-table tbody tr:hover{background:rgba(22,142,199,.06)}
  [data-bs-theme="dark"] .med-table tbody tr:hover{background:rgba(56,189,248,.08)}
  .med-empty{text-align:center;color:var(--med-muted);padding:12px;font-style:italic}
  /* Admin Pages Styling (Dashboard, Memory, Voice, APIs, System, Security) */
  #page-dashboard{width:100%;padding-top:28px}
  #page-memory,#page-voice,#page-apis,#page-system,#page-security{width:100%;padding-top:28px}
  #page-memory>.row,#page-voice>.row{margin-left:0;margin-right:0}
  #page-memory>.row>.col-lg-5{width:40%;flex:0 0 40%}
  #page-memory>.row>.col-lg-7{width:60%;flex:0 0 60%}
  #page-voice>.row>.col-lg-7{width:58%;flex:0 0 58%}
  #page-voice>.row>.col-lg-5{width:42%;flex:0 0 42%}
  #page-dashboard .dashboard-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:20px;width:100%}
  #page-dashboard .dashboard-main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:10px;margin-bottom:20px;width:100%;align-items:stretch}
  #page-dashboard .dashboard-main-grid>.med-panel{min-width:0}
  #page-dashboard .card,#page-memory .card,#page-voice .card,#page-apis .card,#page-system .card,#page-security .card{background:var(--med-surface);border:1px solid var(--med-border);box-shadow:var(--med-shadow);border-radius:6px;margin-bottom:0}
  #page-dashboard .card-header,#page-memory .card-header,#page-voice .card-header,#page-apis .card-header,#page-system .card-header,#page-security .card-header{background:var(--med-panel);border-bottom:1px solid var(--med-border);padding:8px 12px;border-radius:0;color:var(--med-text)}
  #page-dashboard .card-title,#page-memory .card-title,#page-voice .card-title,#page-apis .card-title,#page-system .card-title,#page-security .card-title{margin:0;font-size:13px;font-weight:bold;color:var(--med-text)}
  #page-dashboard .card-body,#page-memory .card-body,#page-voice .card-body,#page-apis .card-body,#page-system .card-body,#page-security .card-body{padding:10px 12px;color:var(--med-text);font-size:12px}
  #page-dashboard .form-label,#page-memory .form-label,#page-voice .form-label,#page-apis .form-label,#page-system .form-label,#page-security .form-label{font-size:11px;color:var(--med-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}
  #page-dashboard .form-control,#page-memory .form-control,#page-voice .form-control,#page-apis .form-control,#page-system .form-control,#page-security .form-control{border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);border-radius:4px;font-size:12px}
  #page-dashboard .form-select,#page-memory .form-select,#page-voice .form-select,#page-apis .form-select,#page-system .form-select,#page-security .form-select{border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);border-radius:4px;font-size:12px}
  #page-dashboard .btn,#page-memory .btn,#page-voice .btn,#page-apis .btn,#page-system .btn,#page-security .btn{padding:6px 12px;font-size:12px;border-radius:4px;border:1px solid var(--med-border);cursor:pointer;transition:.2s}
  #page-dashboard .btn-primary,#page-memory .btn-primary,#page-voice .btn-primary,#page-apis .btn-primary,#page-system .btn-primary,#page-security .btn-primary{background:var(--med-primary);color:#fff;border-color:var(--med-primary)}
  #page-dashboard .btn-primary:hover,#page-memory .btn-primary:hover,#page-voice .btn-primary:hover,#page-apis .btn-primary:hover,#page-system .btn-primary:hover,#page-security .btn-primary:hover{background:var(--med-primary-dark);border-color:var(--med-primary-dark)}
  #page-dashboard .btn-outline-secondary,#page-memory .btn-outline-secondary,#page-voice .btn-outline-secondary,#page-apis .btn-outline-secondary,#page-system .btn-outline-secondary,#page-security .btn-outline-secondary{background:transparent;color:var(--med-muted);border-color:var(--med-border)}
  #page-dashboard .btn-outline-secondary:hover,#page-memory .btn-outline-secondary:hover,#page-voice .btn-outline-secondary:hover,#page-apis .btn-outline-secondary:hover,#page-system .btn-outline-secondary:hover,#page-security .btn-outline-secondary:hover{background:var(--med-panel);color:var(--med-text);border-color:var(--med-primary)}
  #page-dashboard .btn-outline-danger,#page-memory .btn-outline-danger,#page-voice .btn-outline-danger,#page-apis .btn-outline-danger,#page-system .btn-outline-danger,#page-security .btn-outline-danger{background:transparent;color:#dc3545;border-color:var(--med-border)}
  #page-dashboard .btn-outline-danger:hover,#page-memory .btn-outline-danger:hover,#page-voice .btn-outline-danger:hover,#page-apis .btn-outline-danger:hover,#page-system .btn-outline-danger:hover,#page-security .btn-outline-danger:hover{background:#f8d7da;color:#721c24;border-color:#f5c6cb}
  #page-dashboard .text-secondary,#page-memory .text-secondary,#page-voice .text-secondary,#page-apis .text-secondary,#page-system .text-secondary,#page-security .text-secondary{color:var(--med-muted)!important}
  #page-dashboard .text-danger,#page-memory .text-danger,#page-voice .text-danger,#page-apis .text-danger,#page-system .text-danger,#page-security .text-danger{color:#dc3545!important}
  .med-data-section{grid-column:1/-1}
  .med-table-toolbar{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--med-border)}
  .med-tab-btn{border:1px solid var(--med-border);background:var(--med-panel);color:var(--med-text);padding:5px 12px;font-size:12px;cursor:pointer;border-radius:4px}
  .med-tab-btn.active{background:var(--med-primary);color:#fff;border-color:var(--med-primary)}
  .med-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;border:1px solid var(--med-border)}
  .med-badge.success{background:var(--med-success-bg);color:#16a34a}
  [data-bs-theme="dark"] .med-badge.success{color:#4ade80}
  .med-badge.warning{background:var(--med-warning-bg);color:#b45309}
  [data-bs-theme="dark"] .med-badge.warning{color:#fbbf24}
  .med-badge.danger{background:var(--med-danger-bg);color:#dc2626}
  [data-bs-theme="dark"] .med-badge.danger{color:#f87171}
  .med-badge.info{background:rgba(22,142,199,.1);color:var(--med-primary)}
  .med-btn{border:1px solid var(--med-border);background:var(--med-panel);color:var(--med-text);padding:5px 10px;font-size:12px;cursor:pointer;border-radius:4px;white-space:nowrap}
  .med-btn:hover{background:var(--med-border)}
  .med-btn-sm{padding:2px 8px;font-size:11px}
  .med-btn-primary{background:var(--med-primary);color:#fff;border-color:var(--med-primary)}
  .med-btn-primary:hover{background:var(--med-primary-dark)}
  .med-btn-danger{background:var(--med-danger-bg);color:#dc2626;border-color:var(--med-danger-bg)}
  [data-bs-theme="dark"] .med-btn-danger{color:#f87171}
  .med-panel-footer{padding:6px 8px;border-top:1px solid var(--med-border);display:flex;justify-content:flex-end}
  .med-danger-row{background:var(--med-danger-bg)!important}
  .med-form-row{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}
  .med-form-row label{font-size:11px;color:var(--med-muted);font-weight:600}
  .med-form-row input,.med-form-row select,.med-form-row textarea{width:100%;height:26px;border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);border-radius:4px;padding:2px 6px;font-size:12px;box-sizing:border-box}
  .med-form-row textarea{height:auto;min-height:40px;resize:vertical}
  .med-form-actions{display:flex;gap:8px;justify-content:flex-end;padding:8px}
  .med-doctors-list{display:flex;flex-direction:column;gap:6px}
  .med-doctor-row{display:flex;gap:6px;align-items:center}
  .med-doctor-row input{flex:1;height:26px;border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);border-radius:4px;padding:2px 6px;font-size:12px}
  .med-item-card{border:1px solid var(--med-border);border-radius:6px;padding:8px;margin-bottom:6px;background:var(--med-surface)}
  .med-item-card:hover{border-color:var(--med-primary)}
  .med-item-name{font-weight:bold;font-size:12px;margin-bottom:4px}
  .med-item-meta{font-size:11px;color:var(--med-muted);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
  .med-item-meta a{color:var(--med-primary);text-decoration:none}
  .med-geo-link{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:4px 9px;border:1px solid var(--med-border);border-radius:5px;background:var(--med-surface);color:var(--med-primary)!important;text-decoration:none;white-space:nowrap;min-height:30px}
  .med-geo-link:hover{border-color:var(--med-primary);background:var(--med-panel)}
  .med-item-meta span{white-space:nowrap}
  .med-item-actions{display:flex;gap:4px}
  .med-item-image{width:100%;max-height:60px;object-fit:cover;border-radius:4px;margin-bottom:6px}
  .med-form-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:9999;display:flex;align-items:center;justify-content:center}
  .med-form-modal{background:var(--med-surface);border:1px solid var(--med-border);border-radius:8px;width:640px;max-width:92vw;max-height:90vh;overflow:auto;box-shadow:0 8px 32px rgba(0,0,0,.2)}
  .med-form-fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}
  .med-form-fields-grid .med-form-row{margin-bottom:0}
  .med-form-row-full{grid-column:1/-1}
  .med-tabs{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--med-border);padding:8px;background:var(--med-panel);flex:0 0 auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
  .med-tabs::-webkit-scrollbar{display:none;height:0}
  .med-tabs .med-tab-btn{flex:0 0 auto;border:1px solid var(--med-border);background:var(--med-surface);color:var(--med-text);padding:6px 14px;font-size:12px;cursor:pointer;border-radius:4px;white-space:nowrap;transition:all .2s ease;display:flex;align-items:center;gap:6px}
  .med-tabs .med-tab-btn .mi{font-size:18px;line-height:1}
  .med-tabs .med-tab-btn:hover{border-color:var(--med-primary);color:var(--med-primary)}
  .med-tabs .med-tab-btn.active{background:var(--med-primary);color:#fff;border-color:var(--med-primary)}
  /* ===== Schwebendes Menü (ersetzt horizontale Tab-Leiste) ===== */
  .med-menubar{position:relative;flex:0 0 auto;width:100%;box-sizing:border-box;margin-bottom:12px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:var(--med-panel);border:1px solid var(--med-border);border-radius:6px;box-shadow:var(--med-shadow);padding:7px 10px}
  /* Patientenauswahl (Dropdown + Reload) rechts in der Menüleiste */
  .med-menu-selectbar{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;min-width:0}
  /* Patienten-Info rechts in der Menüleiste (ersetzt die frühere Patient-Card) */
  .med-menu-patient{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-left:auto;min-width:0}
  .med-menu-patient .med-patient-photo{background:var(--med-surface);border:1px solid var(--med-border)}
  .med-menu-patient .mmp-id h3{margin:0;font-size:14px;line-height:1.1;color:var(--med-text)}
  .med-menu-patient .mmp-id p{margin:1px 0 0;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--med-muted)}
  .med-menu-patient .mmp-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--med-text)}
  .med-menu-patient .mmp-meta>span{display:flex;flex-direction:column;line-height:1.15}
  .med-menu-patient .mmp-meta b{font-weight:600;font-size:9px;text-transform:uppercase;letter-spacing:.03em;color:var(--med-muted)}
  .med-menu-patient .med-form-grid{flex-basis:100%;margin-top:6px}
  @media(max-width:1100px){.med-menu-patient .mmp-meta{display:none}}
  .med-menu-trigger{display:flex;align-items:center;gap:10px;min-width:260px;background:var(--med-surface);border:1px solid var(--med-border);color:var(--med-text);border-radius:6px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease}
  .med-menu-trigger:hover{border-color:var(--med-primary)}
  .med-menu-trigger .med-menu-current{flex:1;text-align:left}
  .med-menu-trigger .mi{font-size:20px;color:var(--med-muted);line-height:1}
  .med-menu-trigger .med-menu-caret{transition:transform .2s ease}
  .med-menu-trigger.open{border-color:var(--med-primary)}
  .med-menu-trigger.open .med-menu-caret{transform:rotate(180deg)}
  .med-menu-popover{position:absolute;top:calc(100% + 4px);left:10px;z-index:1200;min-width:320px;max-width:440px;max-height:72vh;overflow-y:auto;background:var(--med-surface);border:1px solid var(--med-border);border-radius:6px;box-shadow:0 14px 36px rgba(0,0,0,.4);padding:8px}
  .med-menu-popover[hidden]{display:none}
  .med-menu-level{animation:medMenuSlide .16s ease}
  @keyframes medMenuSlide{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
  .med-menu-cat{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;color:var(--med-text);border-radius:5px;padding:11px 10px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease}
  .med-menu-cat .mi{font-size:19px;color:var(--med-muted);flex:0 0 auto;line-height:1}
  .med-menu-cat .med-menu-cat-label{flex:1}
  .med-menu-cat .med-menu-cat-count{font-size:10px;color:var(--med-muted);background:var(--med-panel);border-radius:10px;padding:1px 7px;font-weight:700}
  .med-menu-cat .med-menu-chevron{font-size:18px;color:var(--med-muted)}
  .med-menu-cat:hover{background:var(--med-panel)}
  .med-menu-cat:hover .med-menu-chevron{color:var(--med-primary)}
  .med-menu-cat.active{color:var(--med-primary)}
  .med-menu-cat.active .mi{color:var(--med-primary)}
  .med-menu-back{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--med-border);color:var(--med-muted);padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;margin-bottom:6px}
  .med-menu-back .mi{font-size:18px}
  .med-menu-back:hover{color:var(--med-primary)}
  .med-menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;color:var(--med-text);border-radius:5px;padding:9px 10px;font-size:13px;cursor:pointer;transition:background .12s ease}
  .med-menu-item .mi{font-size:18px;color:var(--med-muted);flex:0 0 auto;line-height:1}
  .med-menu-item:hover{background:var(--med-panel)}
  .med-menu-item.active{background:var(--med-primary);color:#fff}
  .med-menu-item.active .mi{color:#fff}
  @media(max-width:768px){
    .med-menu-trigger{width:100%;min-width:0}
    .med-menu-popover{min-width:0;left:0;right:0;width:100%;max-width:none}
    .med-menu-item{padding:12px 10px;min-height:48px}
  }
  .med-tab-panels{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;height:100%;overflow:hidden}
  .med-tab-panel{visibility:hidden;height:0;overflow:hidden;flex:0 0 auto}
  .med-tab-panel.active{visibility:visible;height:100%;flex:1 1 auto;overflow:auto;display:flex;flex-direction:column;padding:0}
  #medTabPanel-profile.active{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;height:100%;overflow:hidden}
  #medTabPanel-profile.active .med-panel{margin:0}
  /* ===== Responsive 3-stufig: Desktop >1100 / Tablet 768-1100 / Mobile <768 ===== */
  @media(max-width:1100px){
    #page-dashboard .dashboard-main-grid{grid-template-columns:1fr}
    .med-tabs .med-tab-btn{padding:6px 12px;font-size:11px;min-height:40px}
    .med-tabs{padding:6px}
    /* Stammdaten-Tab: 2 Spalten, vertikal scrollbar; Vitals+KI-Diagnose volle Breite unten */
    #medTabPanel-profile.active{grid-template-columns:1fr 1fr;grid-auto-rows:min-content;align-items:start;overflow-y:auto;overflow-x:hidden;height:100%}
    #medTabPanel-profile.active>div{min-height:0}
    #medTabPanel-profile.active>div:nth-child(3){grid-column:1/-1}
    #medTabPanel-profile .med-body-widget{min-height:440px}
    #medTabPanel-profile .med-body-widget #bodyImage{transform:none}
    #medTabPanel-profile #medDiagnosisContent{min-height:120px}
  }
  @media(max-width:768px){
    .med-patient-bar{flex-wrap:wrap}
    .med-patient-select{flex:1;min-width:auto}
    .med-tabs .med-tab-btn{padding:6px 10px;font-size:11px;min-height:44px}
    .med-form-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}
    .med-form-fields-grid{grid-template-columns:1fr}
    .med-form-row input,.med-form-row select,.med-form-row textarea,.med-form-grid input,.med-form-grid select,.med-form-grid textarea{font-size:16px;min-height:44px}
    .med-item-actions{opacity:1}
    .med-btn{min-height:44px;padding:8px 12px}
    /* Stammdaten-Tab: 1 Spalte gestapelt */
    #medTabPanel-profile.active{grid-template-columns:1fr}
    #medTabPanel-profile.active>div:nth-child(3){grid-column:auto}
    #medTabPanel-profile .med-body-widget{min-height:380px}
    /* Vitals untereinander wenn sehr schmal */
    .med-panel-header{font-size:13px}
    .med-table th,.med-table td{padding:8px 6px}
  }
  @media(max-width:480px){
    #medTabPanel-profile .med-body-widget{min-height:320px}
  }
  /* ===== Body Health Widget (Phase 1) ===== */
  .med-body-widget{display:flex;flex-direction:column;min-height:0;overflow-y:auto;flex:0 0 auto}
  .med-body-widget .body-card{position:relative;width:100%;height:100%;max-width:none;max-height:none;display:grid;grid-template-rows:auto 1fr auto;overflow:visible;border:none;border-radius:0;background:transparent;box-shadow:none;isolation:isolate;transition:background .25s ease;flex-shrink:0}
  .med-body-widget .toolbar{display:none!important}
  .med-body-widget .toolbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 8px}
  .med-body-widget .title strong,.med-body-widget .title span{display:block}
  .med-body-widget .title strong{font-size:13px;letter-spacing:-.2px;color:var(--med-text)}
  .med-body-widget .title span{margin-top:2px;color:var(--med-muted);font-size:11px}
  .med-body-widget .switches{display:none!important;align-items:center;gap:6px}
  .med-body-widget .toggle-btn,.med-body-widget .icon-btn,.med-body-widget .health-btn{height:26px;padding:0 9px;border-radius:999px;color:var(--med-muted);background:rgba(255,255,255,.70);border:1px solid var(--med-border);font-size:11px;font-weight:800;transition:.2s ease;cursor:pointer}
  html[data-bs-theme="dark"] .med-body-widget .toggle-btn,html[data-bs-theme="dark"] .med-body-widget .icon-btn,html[data-bs-theme="dark"] .med-body-widget .health-btn{background:rgba(255,255,255,.055)}
  .med-body-widget .icon-btn{width:28px;padding:0;font-size:13px}
  .med-body-widget .toggle-btn.active{color:#fff;background:var(--med-primary);border-color:var(--med-primary)}
  .med-body-widget .body-stage{position:relative;display:grid;place-items:center;min-height:0;height:100%;padding:12px}
  .med-body-widget .body-stage::after{content:"";position:absolute;z-index:2;left:50%;bottom:14px;width:140px;height:14px;transform:translateX(-50%);border-radius:50%;background:rgba(40,20,16,.18);filter:blur(10px)}
  html[data-bs-theme="dark"] .med-body-widget .body-stage::after{background:rgba(0,0,0,.45)}
  .med-body-widget .health-aura{position:absolute;z-index:1;left:50%;top:49%;width:200px;height:340px;transform:translate(-50%,-50%);border-radius:46%;pointer-events:none;animation:medAuraPulse 2.4s ease-in-out infinite;will-change:transform,opacity,filter}
  .med-body-widget .body-card.health-green{--state-color:rgba(38,220,92,.98);--state-glow:rgba(38,220,92,.58);--state-fill:rgba(38,220,92,.26);--state-soft:rgba(38,220,92,.10);background:radial-gradient(circle at 50% 50%,rgba(38,220,92,.08),rgba(38,220,92,.035) 34%,transparent 66%),var(--med-surface)}
  .med-body-widget .body-card.health-orange{--state-color:rgba(255,145,34,.98);--state-glow:rgba(255,145,34,.64);--state-fill:rgba(255,145,34,.30);--state-soft:rgba(255,145,34,.12);background:radial-gradient(circle at 50% 50%,rgba(255,145,34,.09),rgba(255,145,34,.04) 34%,transparent 66%),var(--med-surface)}
  .med-body-widget .body-card.health-red{--state-color:rgba(235,42,34,.98);--state-glow:rgba(235,42,34,.72);--state-fill:rgba(235,42,34,.34);--state-soft:rgba(235,42,34,.14);background:radial-gradient(circle at 50% 50%,rgba(235,42,34,.105),rgba(235,42,34,.045) 36%,transparent 68%),var(--med-surface)}
  .med-body-widget .body-card.health-green .health-aura{background:radial-gradient(circle,rgba(38,220,92,.22),rgba(38,220,92,.08) 43%,rgba(38,220,92,.025) 70%,transparent 84%);box-shadow:0 0 42px rgba(38,220,92,.16),0 0 85px rgba(38,220,92,.07);animation-duration:2.85s}
  .med-body-widget .body-card.health-orange .health-aura{background:radial-gradient(circle,rgba(255,145,34,.24),rgba(255,145,34,.09) 43%,rgba(255,145,34,.03) 70%,transparent 84%);box-shadow:0 0 46px rgba(255,145,34,.18),0 0 90px rgba(255,145,34,.08);animation-duration:2.15s}
  .med-body-widget .body-card.health-red .health-aura{background:radial-gradient(circle,rgba(235,42,34,.27),rgba(235,42,34,.10) 43%,rgba(235,42,34,.035) 70%,transparent 84%);box-shadow:0 0 52px rgba(235,42,34,.20),0 0 96px rgba(235,42,34,.09);animation-duration:1.55s}
  @keyframes medAuraPulse{0%,100%{opacity:.28;transform:translate(-50%,-50%) scale(.95);filter:blur(30px)}50%{opacity:.50;transform:translate(-50%,-50%) scale(1.05);filter:blur(40px)}}
  .med-body-widget .body-scanner{position:absolute;z-index:5;left:50%;top:38px;width:200px;height:2px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(90deg,transparent 0%,var(--state-soft) 18%,var(--state-color) 50%,var(--state-soft) 82%,transparent 100%);box-shadow:0 0 6px var(--state-color),0 0 14px var(--state-glow),0 0 22px var(--state-glow);filter:blur(.15px);opacity:.90;pointer-events:none;animation:medScanLineDown 3.35s cubic-bezier(.42,0,.28,1) infinite;display:none!important}
  .med-body-widget .body-scanner::before{display:none!important}
  @keyframes medScanLineDown{0%{top:38px;opacity:0;transform:translateX(-50%) scaleX(.82)}8%{opacity:.90;transform:translateX(-50%) scaleX(.96)}50%{opacity:1;transform:translateX(-50%) scaleX(1.02)}90%{opacity:.85;transform:translateX(-50%) scaleX(.96)}100%{top:calc(100% - 62px);opacity:0;transform:translateX(-50%) scaleX(.82)}}
  .med-body-widget #bodyImage{position:relative;z-index:3;width:min(100%,552px);max-height:96vh;object-fit:contain;margin:0 auto;display:block;transform:translateY(12%) scale(1.23);transform-origin:center center;filter:contrast(1.08) saturate(1.05) drop-shadow(0 0 7px rgba(0,0,0,.08)) drop-shadow(0 16px 18px rgba(36,24,22,.16));transition:opacity .18s ease,transform .22s ease,filter .25s ease}
  .med-body-widget .body-card.health-green #bodyImage{filter:contrast(1.08) saturate(1.04) drop-shadow(0 0 8px rgba(38,220,92,.14)) drop-shadow(0 16px 18px rgba(36,24,22,.16))}
  .med-body-widget .body-card.health-orange #bodyImage{filter:contrast(1.07) saturate(1.03) drop-shadow(0 0 8px rgba(255,145,34,.16)) drop-shadow(0 16px 18px rgba(36,24,22,.16))}
  .med-body-widget .body-card.health-red #bodyImage{filter:contrast(1.08) saturate(1.04) drop-shadow(0 0 9px rgba(235,42,34,.18)) drop-shadow(0 16px 18px rgba(36,24,22,.16))}
  html[data-bs-theme="dark"] .med-body-widget #bodyImage{opacity:.96;filter:contrast(1.02) saturate(1.06) brightness(.96) drop-shadow(0 0 5px rgba(255,255,255,.10)) drop-shadow(0 16px 20px rgba(0,0,0,.52))}
  html[data-bs-theme="dark"] .med-body-widget .body-card.health-green #bodyImage{filter:contrast(1.02) saturate(1.07) brightness(.96) drop-shadow(0 0 9px rgba(38,220,92,.22)) drop-shadow(0 0 4px rgba(255,255,255,.10)) drop-shadow(0 16px 20px rgba(0,0,0,.52))}
  html[data-bs-theme="dark"] .med-body-widget .body-card.health-orange #bodyImage{filter:contrast(1.02) saturate(1.07) brightness(.96) drop-shadow(0 0 9px rgba(255,145,34,.22)) drop-shadow(0 0 4px rgba(255,255,255,.10)) drop-shadow(0 16px 20px rgba(0,0,0,.52))}
  html[data-bs-theme="dark"] .med-body-widget .body-card.health-red #bodyImage{filter:contrast(1.02) saturate(1.08) brightness(.96) drop-shadow(0 0 10px rgba(235,42,34,.24)) drop-shadow(0 0 4px rgba(255,255,255,.10)) drop-shadow(0 16px 20px rgba(0,0,0,.52))}
  .med-body-widget .health-controls{position:relative;z-index:10;display:none!important;justify-content:center;gap:7px;padding:10px 12px 14px}
  .med-body-widget .health-btn.active[data-health="green"]{color:#fff;background:#2dbd5d;border-color:transparent}
  .med-body-widget .health-btn.active[data-health="orange"]{color:#fff;background:#f3972f;border-color:transparent}
  .med-body-widget .health-btn.active[data-health="red"]{color:#fff;background:#d94134;border-color:transparent}
  .health-chat-mirror{width:100%;background:transparent;color:var(--med-text)}
  .health-chat-mirror .med-menubar{margin-bottom:8px}
  .health-mirror-patient{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border:1px solid var(--med-border);border-radius:4px;background:var(--med-surface);font-size:12px;font-weight:700;color:var(--med-text)}
  .health-mirror-tabs{display:flex;gap:4px;overflow-x:auto;padding:8px;background:var(--med-panel);border:1px solid var(--med-border);border-radius:6px 6px 0 0;border-bottom:0}
  .health-mirror-tabs .med-tab-btn{flex:0 0 auto}
  .health-chat-mirror .med-tab-panels{display:block;height:auto;overflow:visible;border:1px solid var(--med-border);border-radius:0 0 6px 6px;background:var(--med-surface)}
  .health-chat-mirror .med-tab-panel{display:none;visibility:visible;height:auto;overflow:visible;padding:0}
  .health-chat-mirror .med-tab-panel.active{display:block;height:auto;overflow:visible;padding:0}
  .health-mirror-profile-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1fr) minmax(260px,.9fr);gap:10px;padding:10px;align-items:stretch}
  .health-mirror-profile-grid>.med-panel{min-height:300px}
  .health-mirror-panel-body{padding:10px;display:flex;flex-direction:column;gap:8px}
  .health-mirror-person{display:flex;gap:10px;align-items:center;margin-bottom:4px}
  .health-mirror-person h3{margin:0;font-size:16px;color:var(--med-text)}
  .health-mirror-person p{margin:2px 0 0;font-size:11px;color:var(--med-muted);text-transform:uppercase;letter-spacing:.04em}
  .health-mirror-body-widget{height:100%;min-height:300px;overflow:hidden}
  .health-mirror-body-widget .body-card{height:100%;min-height:300px}
  .health-mirror-body-widget .body-stage{min-height:230px;padding:8px 8px 54px}
  .health-mirror-body-image{position:relative;z-index:3;width:min(100%,230px);max-height:250px;object-fit:contain;margin:0 auto;display:block;filter:contrast(1.04) saturate(1.04) drop-shadow(0 12px 16px rgba(0,0,0,.25))}
  .health-mirror-counts{position:absolute;z-index:8;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;border-radius:6px;background:rgba(0,0,0,.48);color:#fff;backdrop-filter:blur(4px)}
  .health-mirror-counts div{text-align:center;min-width:0}
  .health-mirror-counts span{display:block;font-size:10px;color:#cbd5e1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .health-mirror-counts strong{display:block;font-size:15px;line-height:1.2}
  .health-mirror-side{display:flex;flex-direction:column;gap:10px;min-height:300px}
  .health-mirror-vitals{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .health-mirror-vitals .med-panel{align-items:center;justify-content:center;padding:12px;min-height:98px;text-align:center}
  .health-mirror-vitals span{font-size:11px;color:var(--med-muted);margin-bottom:6px}
  .health-mirror-vitals strong{font-size:28px;color:var(--med-text);line-height:1.1}
  .health-mirror-vitals small{font-size:10px;color:var(--med-muted)}
  .health-mirror-diagnosis{min-height:190px}
  .health-mirror-list{padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}
  .health-mirror-list .med-empty{grid-column:1/-1}
  @media(max-width:1100px){.health-mirror-profile-grid{grid-template-columns:1fr 1fr}.health-mirror-side{grid-column:1/-1;min-height:0}.health-mirror-diagnosis{min-height:120px}}
  @media(max-width:760px){.health-mirror-profile-grid{grid-template-columns:1fr}.health-mirror-profile-grid>.med-panel,.health-mirror-body-widget,.health-mirror-body-widget .body-card{min-height:260px}.health-mirror-vitals strong{font-size:24px}}
  .map-results{background:rgba(20,28,42,.72);border:1px solid rgba(125,211,252,.12);border-radius:16px;overflow:hidden;color:#f8fafc;box-shadow:0 18px 48px rgba(0,0,0,.32)}
  .map-header{display:flex;align-items:center;gap:10px;padding:14px 20px;background:rgba(255,255,255,.04);font-size:14px;color:#e2e8f0;font-weight:600;border-bottom:1px solid rgba(255,255,255,.06)}
  .map-header svg{width:18px;height:18px;stroke:#67e8f9;flex:0 0 auto}
  .map-header .sub{color:#94a3b8;font-weight:500;margin-left:auto;font-size:13px}
  .map-canvas{width:100%;height:380px;background:#0b1220}
  .map-canvas .guenter-pin{background:none;border:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
  .map-canvas .leaflet-control-attribution{font-size:10px;background:rgba(2,8,23,.6);color:#94a3b8}
  .map-canvas .leaflet-control-attribution a{color:#67e8f9}
  .map-canvas .leaflet-popup-content-wrapper{background:#0f172a;color:#e2e8f0;border:1px solid rgba(103,232,249,.25)}
  .map-canvas .leaflet-popup-tip{background:#0f172a}
  .movie-rail{display:flex;gap:14px;overflow-x:auto;padding:18px 22px 22px;background:linear-gradient(180deg,rgba(15,23,42,.88),rgba(6,8,13,.98));scrollbar-width:thin}
  .movie-tile{flex:0 0 118px;border:0;background:transparent;color:#fff;padding:0;text-align:left;cursor:pointer}
  .movie-tile-poster{aspect-ratio:2/3;border-radius:7px;overflow:hidden;background:#202938;border:2px solid transparent;box-shadow:0 10px 24px rgba(0,0,0,.38);transition:transform .18s ease,border-color .18s ease}
  .movie-tile:hover .movie-tile-poster{transform:translateY(-3px);border-color:rgba(125,211,252,.8)}
  .movie-tile.active .movie-tile-poster{border-color:#22d3ee;box-shadow:0 0 0 2px rgba(34,211,238,.28),0 16px 32px rgba(0,0,0,.52)}
  .movie-tile-poster img{width:100%;height:100%;object-fit:cover;display:block}
  .movie-tile-title{font-size:12px;font-weight:700;line-height:1.25;margin-top:7px;color:#e5e7eb;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .movie-tile-year{font-size:11px;color:#94a3b8}
  .movie-empty-poster{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;color:#94a3b8;background:linear-gradient(135deg,#1f2937,#0f172a);font-size:12px}
  .music-results{position:relative;margin-top:12px;overflow:hidden;border-radius:8px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);box-shadow:var(--card-shadow);container-type:inline-size;width:100%;min-width:0}
  .music-results-single{background:transparent;border:0;box-shadow:none;overflow:visible;color:var(--card-text);display:flex;flex-direction:column;gap:12px;container-type:inline-size}
  .music-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:14px;background:linear-gradient(180deg,rgba(15,23,42,.88),rgba(6,8,13,.98))}
  .music-list-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;width:100%;min-width:0;padding:10px;border-radius:10px;border:1px solid rgba(125,211,252,.18);background:rgba(15,23,42,.52);color:#eff6ff;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
  .music-list-item:hover{border-color:rgba(103,232,249,.48);background:rgba(15,23,42,.78);transform:translateY(-1px)}
  .music-list-thumb{width:72px;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#172554}
  .music-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .music-list-title{font-size:14px;font-weight:800;color:#fff;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .music-list-sub{font-size:12px;color:#bfdbfe;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  @container (max-width:760px){.music-hero{--cover-size:150px;grid-template-columns:var(--cover-size) minmax(0,1fr);align-items:start}.music-tracklist-panel{grid-column:1 / -1;max-height:260px;margin-top:0}}
  @container (max-width:440px){.music-hero{--cover-size:100px;gap:12px;padding:16px}.music-tracklist-panel{max-height:220px}}
  .music-results-single .music-hero{border-radius:14px;overflow:hidden;border:1px solid var(--card-border);box-shadow:var(--card-shadow)}
  .music-hero{--cover-size:220px;position:relative;padding:20px;display:grid;grid-template-columns:var(--cover-size) minmax(0,1fr);gap:18px;align-items:start;background:#081019}
  .music-hero::before{content:"";position:absolute;inset:0;background:var(--music-bg,radial-gradient(circle at top left,#164e63,#082f49 55%,#07111d));background-size:cover;background-position:center;filter:blur(16px) saturate(1.2);transform:scale(1.08);opacity:.55}
  .music-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,18,.93),rgba(3,7,18,.78) 42%,rgba(3,7,18,.28)),linear-gradient(0deg,rgba(3,7,18,.96),rgba(3,7,18,.18) 72%)}
  .music-cover-main,.music-info,.music-tracklist-panel{position:relative;z-index:1}
  .music-cover-main{width:var(--cover-size);max-width:100%;aspect-ratio:1/1;align-self:start;border-radius:10px;overflow:hidden;background:#172554;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 38px rgba(0,0,0,.48);cursor:zoom-in}
  .music-cover-main img{width:100%;height:100%;object-fit:cover;display:block}
  .music-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#67e8f9;font-weight:700;margin-bottom:10px}
  .music-title{font-size:clamp(24px,3.1vw,42px);line-height:1.04;font-weight:800;color:#fff;margin-bottom:6px}
  .music-artist{font-size:clamp(13.6px,1.44vw,19.2px);color:#dbeafe;font-weight:600;margin-bottom:8px}
  .music-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;color:#bfdbfe;font-size:13px}
  .music-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:rgba(103,232,249,.12);border:1px solid rgba(103,232,249,.18)}
  .music-info{display:flex;flex-direction:column;justify-content:flex-start;min-width:0}
  .music-summary{min-width:0;display:flex;flex-direction:column;height:100%;justify-content:flex-start}
  .music-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
  .music-action-card{padding:12px;border-radius:12px;background:rgba(2,8,23,.48);border:1px solid rgba(125,211,252,.16);display:flex;justify-content:flex-end;gap:8px}
  .music-sharebar{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
  .music-iconbtn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(103,232,249,.28);background:rgba(8,145,178,.14);color:#dafeff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}
  .music-iconbtn:hover{background:rgba(8,145,178,.24);border-color:rgba(103,232,249,.5)}
  .music-iconbtn svg{width:16px;height:16px;display:block}
  .music-spotify{width:100%;max-width:420px;height:152px;border:0;border-radius:12px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.3)}
  .music-tracklist-panel{grid-column:1 / -1;min-width:0;width:100%;justify-self:stretch;max-height:320px;padding:12px;border-radius:12px;background:rgba(2,8,23,.48);border:1px solid rgba(125,211,252,.16);display:flex;flex-direction:column}
  .music-tracklist-head{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#7dd3fc;font-weight:700;margin-bottom:10px}
  .music-tracklist{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto;padding-right:4px}
  .music-track{display:grid;grid-template-columns:28px minmax(0,1fr) 42px 78px;gap:10px;align-items:center;padding:6px 10px;border-radius:10px;background:rgba(15,23,42,.42);border:1px solid rgba(125,211,252,.14)}
  .music-track-no{font-size:12px;font-weight:700;color:#7dd3fc}
  .music-track-title{font-size:13px;font-weight:600;color:#eff6ff;min-width:0}
  .music-track-duration{font-size:12px;color:#bfdbfe}
  .music-track-play{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 10px;border-radius:999px;border:1px solid rgba(103,232,249,.38);background:rgba(8,145,178,.16);color:#cffafe;cursor:pointer;font-size:12px}
  .music-track-play:disabled{opacity:.45;cursor:not-allowed}
  .music-empty-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;color:#93c5fd;background:linear-gradient(135deg,#172554,#0f172a);font-size:12px}
  @media (max-width:1180px){.music-hero{--cover-size:200px;grid-template-columns:var(--cover-size) minmax(0,1fr)}}
  @media (max-width:980px){.music-hero{--cover-size:180px;grid-template-columns:var(--cover-size) minmax(0,1fr);align-items:start}.music-tracklist-panel{grid-column:1 / -1;max-height:260px}}
  @media (max-width:720px){.music-hero{--cover-size:110px;grid-template-columns:var(--cover-size) minmax(0,1fr);gap:14px;padding:18px}.music-title{font-size:19.2px}.music-artist{font-size:13.6px}.music-tracklist-panel{grid-column:1 / -1;max-height:220px}.music-track{grid-template-columns:28px minmax(0,1fr) 42px 72px;gap:8px}.music-spotify{max-width:none;height:132px}.movie-hero{grid-template-columns:105px minmax(0,1fr);gap:14px;padding:18px;min-height:260px}.movie-title{font-size:24px}.movie-desc{font-size:13px}.movie-tile{flex-basis:92px}}
  .tts-player{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;background:var(--tblr-bg-surface);border-radius:6px;border:1px solid var(--tblr-border-color);width:fit-content}
  .tts-btn{background:var(--tblr-primary);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px;transition:all 0.2s}
  .tts-btn:hover{background:var(--tblr-primary-darker);transform:scale(1.05)}
  .tts-btn:disabled{background:var(--tblr-text-muted);cursor:not-allowed;transform:none}
  .tts-progress{font-size:12px;color:var(--tblr-text-muted);min-width:100px}

.api-row{border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:8px;overflow:hidden}
            .api-row.api-dim{opacity:.55}
            .api-head{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;flex-wrap:wrap}
            .api-head .api-name{font-weight:600}
            .api-head .api-type{color:#8a93a2;font-size:.78rem}
            .api-headinfo{display:flex;flex-direction:column;gap:1px;min-width:0}
            .api-desc{color:#8a93a2;font-size:.75rem;line-height:1.25}
            .api-badges{display:flex;gap:4px;flex-wrap:wrap}
            .api-actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
            .api-toggle{display:flex;align-items:center;gap:5px;font-size:.8rem;margin:0;cursor:pointer;user-select:none}
            .api-chevron{font-size:20px;color:#8a93a2}
            .api-body{padding:0 12px 12px 12px}
            /* High-contrast badges (readable in dark AND light mode) */
            .api-badges .badge{font-weight:600;font-size:.72rem;padding:.3em .6em;border:0}
            .api-badges .badge.bg-green{background:#15803d!important;color:#fff!important}
            .api-badges .badge.bg-red{background:#b91c1c!important;color:#fff!important}
            .api-badges .badge.bg-blue{background:#1d4ed8!important;color:#fff!important}
            .api-badges .badge.bg-secondary{background:#475569!important;color:#fff!important}
            @media(max-width:640px){.api-actions{width:100%;margin-left:0;justify-content:flex-start}}

.game-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
  .game-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--card-border,rgba(255,255,255,.1));border-radius:10px;background:var(--card-bg,#10131a);cursor:pointer;transition:background .15s,border-color .15s}
  .game-row:hover{background:rgba(255,255,255,.05);border-color:#3b82f6}
  .game-row-thumb{flex:0 0 auto;width:96px;height:46px;border-radius:6px;overflow:hidden;background:#1f2937}
  .game-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .game-row-info{flex:1 1 auto;min-width:0}
  .game-row-title{font-weight:600}
  .game-row-meta{font-size:.8rem;color:#9aa4b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .game-row-chev{color:#8a93a2;flex:0 0 auto}
  .game-detail{margin-top:12px;border:1px solid var(--card-border,rgba(255,255,255,.12));border-radius:14px;overflow:hidden;background:var(--card-bg,#0c0f14);box-shadow:var(--card-shadow,0 16px 38px rgba(0,0,0,.42))}
  .game-detail-hero{width:100%;aspect-ratio:16/6;background:#1f2937}
  .game-detail-hero img{width:100%;height:100%;object-fit:cover;display:block}
  .game-detail-body{padding:16px;display:flex;flex-direction:column;gap:12px;color:var(--card-text,#e5e7eb)}
  .game-detail-title{font-size:1.4rem;font-weight:700;line-height:1.2}
  .game-detail-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#cbd5e1;font-size:.92rem}
  .game-detail-badges{display:flex;flex-wrap:wrap;gap:6px}
  .game-detail-desc{line-height:1.6;font-size:.95rem}
  .game-shots{display:flex;gap:8px;flex-wrap:wrap}
  .game-shots img{width:180px;height:101px;object-fit:cover;border-radius:8px;cursor:zoom-in;border:1px solid rgba(255,255,255,.08)}
  .game-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
  @media(max-width:640px){.game-shots img{width:140px;height:79px}}

.mb-modal{display:none;position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.6);align-items:center;justify-content:center;padding:18px}
  .mb-modal.open{display:flex}
  .mb-window{width:min(96vw,1180px);height:min(92vh,860px);display:flex;flex-direction:column;background:#0c0f14;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.55)}
  .mb-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#11161d;border-bottom:1px solid rgba(255,255,255,.08)}
  .mb-btn{width:34px;height:34px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#1c2530;color:#e5e7eb;cursor:pointer}
  .mb-btn:hover{background:#27323f}
  .mb-btn:disabled{opacity:.4;cursor:not-allowed}
  .mb-btn .mi{font-size:20px}
  .mb-addr{flex:1 1 auto;min-width:0;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#0c0f14;color:#e5e7eb;padding:0 12px;font-size:.85rem}
  .mb-body{flex:1 1 auto;position:relative;background:#fff}
  .mb-body iframe{width:100%;height:100%;border:0;display:block;background:#fff}
  .mb-hint{padding:6px 10px;font-size:.72rem;color:#9aa4b2;background:#11161d;border-top:1px solid rgba(255,255,255,.06)}

/* ================= Responsive cleanup ================= */
  /* Tablet */
  @media (max-width:1024px){
    .page-body{padding:12px}
    .container-xl{padding-left:10px;padding-right:10px}
    .recipe-hero{height:180px}
    .recipe-ingredients{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
    .movie-hero{min-height:280px}
    .weather-today-body{padding:18px}
  }
  /* Phone */
  @media (max-width:720px){
    .page-body{padding:8px}
    .container-xl{padding-left:6px;padding-right:6px}
    .page-title{font-size:1.15rem}
    .navbar-brand{font-size:2rem}
    .avatar.avatar-sm{width:28px;height:28px}
    .dropdown-menu{font-size:.875rem}

    /* Cards stack cleanly */
    .result-card{flex-direction:column;gap:10px;padding:12px}
    .result-card-cover{max-width:100%;width:100%;border-radius:6px}
    .result-card-cover img{max-width:100%;max-height:200px;width:auto;height:auto}
    .wiki-card,.news-card,.research-card,.plant-card{flex-direction:column;gap:10px}
    .wiki-thumb,.news-thumb,.research-thumb,.plant-thumb{width:100%;height:auto;aspect-ratio:1/1;max-width:120px}

    /* Recipe cards */
    .recipe-results{padding:14px}
    .recipe-hero{height:160px}
    .recipe-header{padding:12px 12px 6px}
    .recipe-title{font-size:17px}
    .recipe-tags{gap:5px}
    .recipe-tag{font-size:10px;padding:2px 7px}
    .recipe-ingredients{grid-template-columns:1fr;gap:8px 0}
    .recipe-section{padding:10px 12px}
    .recipe-actions{padding:12px;gap:8px}
    .recipe-action-btn{flex:1 1 auto;justify-content:center;font-size:12px;padding:7px 10px}
    .recipe-summary-item{flex-direction:column;align-items:stretch;gap:10px;padding:12px}
    .recipe-summary-actions,.recipe-summary-btn{width:100%}
    .recipe-summary-btn{text-align:center}

    /* Recipe / shared modals */
    .recipe-modal{padding:0}
    .recipe-modal-window{width:100%;max-height:100dvh;border-radius:0}
    .recipe-modal-header{padding:14px 16px}
    .recipe-modal-body{padding:14px 16px}
    .recipe-modal-actions{padding:0 16px 16px}
    .recipe-nutrition-table{font-size:12px}
    .recipe-nutrition-table th,.recipe-nutrition-table td{padding:6px 7px}
    .recipe-nutrition-ingredients td:first-child{max-width:160px}
    .recipe-checklist label{padding:8px 10px}

    /* Image / mini-browser modals */
    .image-modal-window{width:100%;height:100dvh;border-radius:0}
    .mb-window{width:100%;height:100dvh;border-radius:0}
    .actor-modal-window{width:100%;max-height:100dvh}
    .actor-modal-grid{padding:12px}

    /* Tables */
    .table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .recipe-nutrition-table{display:block;overflow-x:auto}

    /* Forms */
    .d-flex.gap-2,.d-flex.gap-3{flex-wrap:wrap}
    .form-control,.form-select{font-size:15px}
    .card-body{padding:14px}
    .card-header{padding:12px 14px}
    .card-title{font-size:1rem}

    /* Memory / voice / system */
    .row-cards .col-lg-4,.row-cards .col-lg-5,.row-cards .col-lg-7,.row-cards .col-lg-8{width:100%}

    /* Music / movie / plant heroes */
    .music-hero,.movie-hero,.plant-hero{padding:14px;gap:12px}
    .music-actions,.movie-actions,.plant-detail-actions{gap:8px}

    /* Weather & map */
    .weather-today-body{padding:14px}
    .weather-temp-big{font-size:48px}
    .weather-temp-big .unit{font-size:22px}
    .map-canvas{height:260px}
  }

  /* Very small phones */
  @media (max-width:380px){
    .recipe-action-btn{font-size:11px;padding:6px 8px}
    .recipe-tag{font-size:9px;padding:2px 6px}
    .result-card-cover img{max-height:160px}
    .chatlog{padding-top:20px}
  }


  /* Mobile voice optimizations */
  @media(max-width:720px){
    #chatMicBtn,#chatSend{width:44px;height:44px}
    #chatMicBtn .mi,#chatSend::before{font-size:24px}
  }
  #voiceFab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:24px;z-index:1040;width:64px;height:64px;border-radius:50%;background:var(--tblr-primary);color:#fff;border:0;box-shadow:0 8px 24px rgba(0,0,0,.28);display:none;align-items:center;justify-content:center;transition:transform .2s ease}
  #voiceFab:active{transform:scale(.92)}
  #voiceFab .mi{font-size:32px}
  @media(max-width:720px){#voiceFab{display:inline-flex}}
  #voiceFab.recording{background:#ef4444;animation:pulseRecord 1.4s infinite}
  @keyframes pulseRecord{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}50%{box-shadow:0 0 0 14px rgba(239,68,68,0)}}