.patiently-hidden{ display:none !important;}  body{ margin:0 !important; padding:0 !important;}   .pt-hero-wrapper, .pt-tool-wrapper, .pt-tool-card, .patiently-main-content{ margin:0 !important; border:none !important;}   .pt-tool-wrapper, .pt-tool-card, .patiently-container, .patiently-panel, .patiently-panel-left, .patiently-panel-right, #patiently-web-app, .patiently-row, .patiently-button-row{ overflow:visible !important;}   .pt-hero-wrapper{ padding:0 !important; display:block !important;}  .pt-tool-wrapper{ padding:0 0 80px 0 !important; margin-top:0 !important;}   .pt-hero-container{ padding:48px 40px !important;}     .pt-hero-wrapper{ width:100%; background:linear-gradient(180deg,#F0FDFA 0%,#FFFBEB 100%); position:relative; box-shadow:0 8px 18px rgba(15,23,42,0.04); overflow:hidden;}   .pt-hero-orb{ position:absolute; border-radius:50%; filter:blur(80px); opacity:0.15; pointer-events:none; z-index:0;}  .pt-hero-orb-1{ width:500px; height:500px; background:linear-gradient(135deg,#6366F1 0%,#8B5CF6 100%); top:-200px; left:-100px;}  .pt-hero-orb-2{ width:400px; height:400px; background:linear-gradient(135deg,#3B82F6 0%,#06B6D4 100%); bottom:-150px; right:-100px;}  .pt-hero-orb-3{ width:350px; height:350px; background:linear-gradient(135deg,#A78BFA 0%,#C084FC 100%); top:50%; right:20%; transform:translateY(-50%);}  .pt-hero-container{ max-width:1600px; margin:0 auto; padding:0 40px; position:relative; z-index:1;}   .pt-hero-content{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; min-height:480px; max-height:none; padding:48px 0 32px 0;}   .pt-hero-left{ display:flex; flex-direction:column; gap:20px; padding-left:80px;}   .pt-hero-headline{ font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter",system-ui,sans-serif; font-size:58px; font-weight:700; line-height:1.1; letter-spacing:-0.02em; color:#134E4A; margin:0;}   .pt-hero-subheadline{ font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",system-ui,sans-serif; font-size:24px; font-weight:500; line-height:1.4; color:#1f2937; margin:0; max-width:640px; white-space:normal;}   .pt-hero-supporting{ font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",system-ui,sans-serif; font-size:15px; font-weight:500; line-height:1.5; color:#4B5563; margin:0; max-width:640px;}   .pt-hero-ctas{ display:flex; gap:12px; margin-top:8px;}  .pt-hero-cta-primary{ background:#0D9488; color:white; border:none; padding:14px 32px; border-radius:999px; font-size:16px; font-weight:600; cursor:pointer; transition:all 0.2s ease; font-family:inherit; box-shadow:0 4px 12px rgba(13,148,136,0.25);}  .pt-hero-cta-primary:hover{ background:#0F766E; transform:translateY(-1px); box-shadow:0 6px 16px rgba(13,148,136,0.3);}  .pt-hero-cta-secondary{ background:transparent; color:#134E4A; border:1.5px solid #0D9488; padding:13px 28px; border-radius:999px; font-size:16px; font-weight:500; text-decoration:none; transition:all 0.2s ease; font-family:inherit; display:inline-flex; align-items:center;}  .pt-hero-cta-secondary:hover{ background:#F0FDFA; border-color:#0F766E;}   .pt-hero-microline{ font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",system-ui,sans-serif; font-size:13px; font-weight:500; color:#6B7280; margin:4px 0 0 0;}   .pt-hero-right{   min-height:1px;}  .pt-desktop-br{ display:inline;}  @media (max-width:1024px){ .pt-desktop-br{ display:none;} .pt-hero-content{ grid-template-columns:1fr; gap:40px; min-height:auto; max-height:none; padding:48px 0;}  .pt-hero-container{ padding:0 24px;}  .pt-hero-left{ padding-left:0;}  .pt-hero-headline{ font-size:36px;}  .pt-hero-subheadline{ font-size:17px; max-width:100%; white-space:normal;}  .pt-hero-right{ display:none;}}  @media (max-width:640px){ .pt-hero-headline{ font-size:32px;}  .pt-hero-subheadline{ font-size:16px;}  .pt-hero-ctas{ flex-direction:column; width:100%;}  .pt-hero-cta-primary, .pt-hero-cta-secondary{ width:100%; justify-content:center; text-align:center; box-sizing:border-box;}  .pt-hero-container{ padding:0 20px;}  .pt-hero-content{ padding:40px 0;}}     .patiently-visual-container{ position:relative; width:100%; max-width:650px; height:450px; margin:0 auto; display:flex; align-items:center; justify-content:center; font-family:'Inter',-apple-system,sans-serif; cursor:default;}   .p-card{ position:absolute; width:360px; border-radius:16px; padding:24px; box-shadow:0 20px 40px -10px rgba(30,42,94,0.25),0 4px 12px rgba(0,0,0,0.08); transition:all 0.5s cubic-bezier(0.25,0.8,0.25,1);}   .card-before{ background-color:#f0f0f0; color:#666; z-index:1; border:1px solid #c4c9d1;  transform:translateX(-130px) translateY(-95px) rotate(-12deg) scale(0.9);}   .card-before::after{ content:""; position:absolute; bottom:0;left:0;right:0;height:40px; background:linear-gradient(to bottom,transparent,#f0f0f0); border-radius:0 0 16px 16px;}  .medical-header{ font-family:'Georgia',serif; font-weight:bold; font-size:13px; color:#444; border-bottom:2px solid #ccc; padding-bottom:10px; margin-bottom:15px; text-transform:uppercase; letter-spacing:1px;}  .medical-text{ font-family:'Georgia',serif; font-size:12px; line-height:1.6; color:#555;}   .card-after{ background-color:#ffffff; z-index:10; border-top:6px solid #0D9488; border:1px solid #e5e7eb; border-top:6px solid #0D9488;  transform:translateX(80px) translateY(15px) rotate(4deg);}   .patiently-visual-container:hover .card-before{  transform:translateX(-150px) translateY(-95px) rotate(-15deg) scale(0.9); background-color:#fff; box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);}  .patiently-visual-container:hover .card-after{  transform:translateX(90px) translateY(15px) rotate(6deg);}   .patiently-logo-area{ display:flex; align-items:center; gap:10px; margin-bottom:16px;}  .p-badge{ background:#F0FDFA; color:#0D9488; font-weight:700; font-size:10px; padding:4px 8px; border-radius:6px; text-transform:uppercase;}   .clear-text{ color:#134E4A; font-size:13px; line-height:1.5; font-weight:500; margin-bottom:20px;}   .clear-text ul{ margin:0; padding-left:18px;} .clear-text li{ margin-bottom:8px;}   .feature-tags{ display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #f3f4f6; padding-top:16px;}  .tag{ font-size:10px; color:#4b5563; background:#f9fafb; border:1px solid #e5e7eb; padding:4px 8px; border-radius:20px; display:flex; align-items:center; gap:5px; font-weight:600;}  .dot{width:6px;height:6px;border-radius:50%;} .dot-blue{background:#3b82f6;} .dot-green{background:#10b981;} .dot-purple{background:#8b5cf6;} .dot-orange{background:#f59e0b;}   .card-label-badge{ position:absolute; top:-10px; left:16px; background:#6B7280; color:#ffffff; font-size:10px; font-weight:700; padding:4px 10px; border-radius:12px; text-transform:uppercase; letter-spacing:0.05em; z-index:20;}  .card-label-output{ background:#0D9488;}   .transformation-arrow{ position:absolute; z-index:5; top:50%; left:50%; transform:translate(-50%,-50%) translate(-20px,0); animation:arrow-pulse 2s ease-in-out infinite;}  @keyframes arrow-pulse{ 0%,100%{ transform:translate(-50%,-50%) translate(-20px,0); opacity:1;} 50%{ transform:translate(-50%,-50%) translate(-10px,0); opacity:0.8;}}    .pt-awards-section{ background:#ffffff; padding:48px 2rem 80px; text-align:center; overflow:hidden; border-bottom:1px solid rgba(15,23,42,0.06);}  .pt-awards-heading{ font-size:0.875rem; color:#6B7280; margin-bottom:40px; font-weight:600; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",system-ui,sans-serif;}  .pt-awards-container{ width:100%; margin:0 auto; position:relative; overflow:hidden;}  .pt-awards-track{ display:flex; gap:2.5rem; animation:pt-awards-scroll 25s linear infinite; width:max-content;}  .pt-awards-track:hover{ animation-play-state:paused;}  @keyframes pt-awards-scroll{ 0%{ transform:translateX(0);} 100%{ transform:translateX(-50%);}}  .pt-awards-item{ flex-shrink:0; width:180px; height:auto; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:1.25rem; transition:transform 0.3s ease; gap:10px;}  .pt-awards-item:hover{ transform:translateY(-5px);}  .pt-awards-item img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; opacity:0.85; transition:opacity 0.3s ease;}   .pt-awards-item img[alt*="HTN"], .pt-awards-item img[alt*="BMA"]{ max-height:80px;}   .pt-awards-item img[alt*="Communiqué"], .pt-awards-item img[alt*="PMEA"]{ max-height:65px;}  .pt-awards-item:hover img{ opacity:1;}  .pt-awards-item a{ display:flex; align-items:center; justify-content:center;}  .pt-awards-caption{ font-size:11px; font-weight:500; color:#6B7280; text-align:center; line-height:1.3; max-width:160px;}  @media (max-width:768px){ .pt-awards-section{ padding:60px 1rem 80px;}  .pt-awards-heading{ margin-bottom:32px;}  .pt-awards-item{ width:140px; height:100px; padding:1rem;}  .pt-awards-track{ gap:2rem; animation-duration:20s;}}    .pt-tool-wrapper{ width:100%; display:flex; justify-content:center; background:#F9F6F3; overflow:visible; padding:80px 0 80px 0 !important; border-top:none; margin:0 !important; max-width:none !important; position:relative;}  .pt-tool-card{ width:100%; max-width:none; background:transparent; padding:0 !important; margin:0 !important; box-shadow:none; position:relative; overflow:visible; z-index:1;}  @media (max-width:768px){ .pt-tool-card{ padding:0 !important;}} :root{ --patiently-bg:#F9F6F3; --patiently-card-bg:#ffffff; --patiently-border:#e0d7cf; --patiently-primary:#0D9488; --patiently-primary-hover:#0F766E; --patiently-primary-soft:#F0FDFA; --patiently-primary-soft-hover:#CCFBF1; --patiently-primary-text:#ffffff; --patiently-muted:#6c6670; --patiently-danger:#b3261e; --patiently-radius-lg:18px; --patiently-radius-md:999px; --patiently-shadow-soft:0 4px 12px rgba(13,148,136,0.12); --patiently-text:#1f2933; --patiently-accent:#0D9488; --patiently-accent-soft:#CCFBF1;}   [data-theme="dark"]{ --patiently-bg:#0f172a; --patiently-card-bg:#1e293b; --patiently-border:#334155; --patiently-primary:#60a5fa; --patiently-primary-soft:#1e3a5f; --patiently-primary-text:#ffffff; --patiently-muted:#94a3b8; --patiently-danger:#ef4444; --patiently-shadow-soft:0 4px 12px rgba(0,0,0,0.3); --patiently-text:#f1f5f9;}  #patiently-web-app{ min-height:100vh; margin:0 !important; padding:0 !important; box-sizing:border-box; font-family:system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Text", "Segoe UI",sans-serif; color:var(--patiently-text); background:var(--patiently-bg); scroll-behavior:smooth; scroll-margin-top:40px; transition:background-color 0.3s ease,color 0.3s ease; display:flex; width:100%; max-width:none;}  html{ scroll-behavior:smooth;}   .patiently-sidebar{ width:68px; background:linear-gradient(180deg,#2A8B7F 0%,#1F7268 100%); display:flex; flex-direction:column; align-items:center; padding:24px 0; gap:8px; align-self:flex-start; flex-shrink:0; position:relative; z-index:1000; border-radius:12px; margin:24px 0 24px 24px;}  .patiently-sidebar-item{ width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:transparent; border:none; border-radius:14px; cursor:pointer; color:rgba(255,255,255,0.75); transition:all 0.2s ease; position:relative;}  .patiently-sidebar-item:hover:not(.is-disabled){ background:rgba(255,255,255,0.12); color:#ffffff;}  .patiently-sidebar-item.is-active{ background:linear-gradient(145deg,rgba(204,251,241,0.95) 0%,rgba(153,246,228,0.9) 100%); color:#0F766E; box-shadow:0 4px 16px rgba(13,148,136,0.3),inset 0 1px 1px rgba(255,255,255,0.6); border:1px solid rgba(153,246,228,0.5); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);}  .patiently-sidebar-item.is-disabled{ opacity:0.35; cursor:not-allowed;}  .patiently-sidebar-item svg{ width:24px; height:24px;}  .patiently-sidebar-item .sidebar-icon-filled{ display:none;}  .patiently-sidebar-item .sidebar-icon-outline{ display:block;}  .patiently-sidebar-item.is-active .sidebar-icon-filled{ display:block;}  .patiently-sidebar-item.is-active .sidebar-icon-outline{ display:none;}  .patiently-sidebar-tooltip{ position:absolute; left:100%; margin-left:14px; background:#0F172A; color:#ffffff; padding:8px 14px; border-radius:8px; font-size:13px; font-weight:600; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity 0.15s ease, transform 0.15s ease; z-index:10000; box-shadow:0 4px 16px rgba(0,0,0,0.25); transform:translateX(-4px);}  .patiently-sidebar-tooltip::before{ content:''; position:absolute; right:100%; top:50%; transform:translateY(-50%); border:6px solid transparent; border-right-color:#0F172A;}  .patiently-sidebar-item:hover .patiently-sidebar-tooltip{ opacity:1 !important; transform:translateX(0);}   .patiently-sidebar-item.is-disabled:hover .patiently-sidebar-tooltip{ opacity:1 !important; transform:translateX(0);}  .patiently-sidebar-divider{ width:32px; height:1px; background:rgba(255,255,255,0.2); margin:8px 0;}  .patiently-container{ display:grid; grid-template-columns:1fr; gap:20px; min-height:auto; flex:1; margin:0; padding:24px 24px; width:100%; max-width:100%; box-sizing:border-box;}  @media (min-width:1024px){ .patiently-container{ grid-template-columns:1fr 1fr; gap:24px; column-gap:24px;}}  @media (max-width:767px){ .patiently-container{ padding:0; gap:16px; padding-top:16px; padding-bottom:100px; max-width:100vw;}}  .patiently-panel{ padding:56px; box-sizing:border-box; width:100%; max-width:100%; overflow:visible; margin:0;}  @media (max-width:767px){ .patiently-panel{ padding:20px 12px !important; margin:0 auto !important; width:90% !important; max-width:90vw !important;} .patiently-output-actions{ flex-direction:column !important; gap:12px !important; align-items:flex-start !important;} .patiently-output-actions-left, .patiently-output-actions-right{ gap:8px !important; flex-wrap:wrap !important;} .patiently-icon-btn{ width:40px !important; height:40px !important;} .patiently-icon-btn svg{ width:20px !important; height:20px !important;}}  @media (min-width:768px){ .patiently-panel{ padding:48px;}}  @media (min-width:1024px){ .patiently-panel{ padding:40px;}}  .patiently-panel-left{ background:#FFFFFF; transition:background 0.3s ease,border-top-color 0.3s ease,box-shadow 0.3s ease; border:1px solid rgba(0,0,0,0.08); border-radius:24px; box-shadow:0 1px 3px rgba(0,0,0,0.04),0 6px 20px rgba(0,0,0,0.06),0 25px 60px rgba(0,0,0,0.08); position:relative;}  [data-mode="clinician"] .patiently-panel-left{ border-top:3px solid rgba(27,39,96,0.4); background:linear-gradient(to bottom,rgba(27,39,96,0.02) 0%,var(--patiently-card-bg) 120px);}  .patiently-panel-right{ background:linear-gradient(180deg,#FAFFFE 0%,#FFFFFF 100%); display:flex; flex-direction:column; transition:background 0.3s ease,box-shadow 0.3s ease; border:1px solid rgba(0,0,0,0.08); border-radius:24px; box-shadow:0 1px 3px rgba(0,0,0,0.04),0 6px 20px rgba(0,0,0,0.06),0 25px 60px rgba(0,0,0,0.08); position:relative;}  .patiently-pill-banner{ background:var(--patiently-bg); border-radius:999px; padding:6px 12px; font-size:12px; display:inline-flex; align-items:center; gap:6px; border:1px solid var(--patiently-border); color:var(--patiently-muted); margin-top:12px; margin-bottom:16px; white-space:nowrap;}  .patiently-pill-icon{ flex-shrink:0; width:16px; height:16px; color:var(--patiently-primary); opacity:0.7;}  .patiently-label{ font-size:15px; font-weight:600; margin-bottom:12px; display:flex; align-items:center; gap:10px; color:#1f2933;}  .patiently-label-icon{ flex-shrink:0; width:18px; height:18px; color:var(--patiently-primary); opacity:0.8;}  .patiently-helper{ font-size:12px; color:var(--patiently-muted); margin-top:2px;}  .patiently-shortcut-hint{ opacity:0.7; font-size:11px; margin-left:8px;}  @media (max-width:768px){ .patiently-shortcut-hint{ display:none;}}  .patiently-progress-container{ margin-top:16px; padding:0; background:transparent; border:none; width:100%; display:block; box-sizing:border-box;}  .patiently-progress-bar{ width:100%; height:10px; background:#CCFBF1; border-radius:999px; overflow:hidden; margin-bottom:8px; box-sizing:border-box; display:block;}  .patiently-progress-fill{ height:100%; background:linear-gradient(90deg,#14B8A6,#0D9488,#0F766E); border-radius:999px; transition:width 0.3s ease; width:0%; position:relative; overflow:hidden;}  .patiently-progress-fill::after{ content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(  90deg, transparent, rgba(255,255,255,0.3), transparent  ); animation:patiently-shimmer 2s infinite;}  @keyframes patiently-shimmer{ 0%{ transform:translateX(-100%);} 100%{ transform:translateX(100%);}}  .patiently-progress-text{ font-size:12px; color:var(--patiently-muted); text-align:center; font-weight:500;}  .patiently-row{ margin-bottom:18px; width:100%; max-width:100%; box-sizing:border-box; position:relative;}  .patiently-button-row{ overflow:visible !important;}  @media (max-width:767px){ .patiently-row{ overflow:hidden;}  .patiently-row:has(.patiently-button-row), .patiently-row > .patiently-button-row{ overflow:visible !important;}}   .patiently-row:has(.patiently-tooltip), .patiently-upload-btn-wrapper{ overflow:visible !important;}   .patiently-mode-toggle-wrapper{ margin-right:16px; margin-bottom:12px;}  .patiently-mode-toggle{ display:inline-flex;}   .patiently-clinician-micro-container{ background:rgba(27,39,96,0.03); padding:6px 12px; border-radius:12px; margin-top:6px; margin-bottom:6px;}  .patiently-clinician-micro{ font-size:13px; color:#6c6670; font-weight:400; line-height:1.4;}   .patiently-mode-toggle .patiently-segment[data-value="clinician"].is-active{ background:rgba(27,39,96,0.10); border-color:rgba(27,39,96,0.25); color:#1b2760;}   [data-mode="clinician"] .patiently-icon-btn:hover{ color:rgba(27,39,96,0.65);}   .patiently-templates-container{ margin-bottom:16px; padding:12px 16px; background:#f9fafb; border-radius:10px; border:1px solid #e5e7eb;}  .patiently-templates-coming-soon{ display:flex; align-items:center; justify-content:center; padding:8px 0;}  .patiently-templates-label{ font-size:12px; color:#94a3b8; font-weight:500; text-transform:uppercase; letter-spacing:0.05em;}  textarea.patiently-textarea{ width:100%; min-height:200px; border-radius:14px; background-color:#FAFBFC; color:var(--patiently-text); border:1px solid var(--patiently-border); padding:14px 16px; font-size:15px; resize:vertical; outline:none; box-sizing:border-box; line-height:1.5; font-family:inherit; box-shadow:inset 0 1px 3px rgba(0,0,0,0.04);}  @media (min-width:1024px){ textarea.patiently-textarea{ min-height:200px;}}  textarea.patiently-textarea:focus{ border-color:#c0c3ff; box-shadow:inset 0 1px 3px rgba(0,0,0,0.04),0 0 0 3px rgba(27,39,96,0.1); background-color:#ffffff;}  textarea.patiently-textarea::placeholder{ color:#9CA3AF; font-style:italic;}  .patiently-privacy-line{ display:inline-flex; align-items:center; gap:6px; margin-top:12px; font-size:12px; color:#047857; font-weight:500; background:linear-gradient(135deg,#D1FAE5 0%,#A7F3D0 100%); padding:8px 14px; border-radius:999px; border:1px solid rgba(16,185,129,0.2);}  .patiently-privacy-line svg{ color:#059669; flex-shrink:0;}  [data-theme="dark"] .patiently-privacy-line{ color:#94a3b8;}  [data-theme="dark"] .patiently-privacy-line svg{ color:#34D399;}  [data-theme="dark"] textarea.patiently-textarea{ background-color:#0f172a;}  .patiently-char-count{ font-size:11px; color:var(--patiently-muted); text-align:right; margin-top:6px; transition:color 0.2s ease;}  .patiently-char-count.char-warning{ color:#f59e0b; font-weight:500;}  .patiently-char-count.char-danger{ color:#ef4444; font-weight:600;}  .patiently-char-count.char-max{ color:var(--patiently-danger); font-weight:700;}  .patiently-char-warning{ font-size:12px; color:#ef4444; text-align:right; margin-top:4px; font-weight:500; animation:patiently-pulse 2s ease-in-out infinite;}  @keyframes patiently-pulse{ 0%,100%{ opacity:1;} 50%{ opacity:0.7;}}  .patiently-drop-zone{ position:relative;}  .patiently-drop-overlay{ position:absolute; inset:0; background:rgba(122,139,255,0.05); border:3px dashed #7a8bff; border-radius:12px; display:none; align-items:center; justify-content:center; pointer-events:none; z-index:10; backdrop-filter:blur(2px);}  .patiently-drop-overlay.active{ display:flex;}  .patiently-drop-text{ font-size:16px; font-weight:600; color:#7a8bff; background:var(--patiently-card-bg); padding:16px 24px; border-radius:8px; box-shadow:0 4px 12px rgba(122,139,255,0.2);}  .patiently-button-row{ display:flex; flex-wrap:wrap; gap:8px; position:relative;}   .patiently-section-divider{ width:100%; height:1px; background:var(--patiently-border); margin:32px 0; opacity:0.4;}  .patiently-settings-card{ margin-bottom:24px; width:100%; max-width:100%; box-sizing:border-box; overflow:hidden;}   .patiently-settings-toggle{ display:flex; width:100%; padding:14px 16px; background:var(--patiently-card-bg); border:1px solid var(--patiently-border); border-radius:12px; font-size:14px; font-weight:500; color:var(--patiently-primary); cursor:pointer; align-items:center; justify-content:space-between; transition:all 0.2s ease; box-shadow:0 1px 2px rgba(0,0,0,0.04); box-sizing:border-box;}  .patiently-settings-toggle:hover{ background:#fafafa; border-color:#d0d0d0;}  .patiently-settings-toggle-content{ display:flex; flex-direction:column; align-items:flex-start; gap:4px;}  .patiently-settings-toggle-label{ font-weight:500;}  .patiently-settings-summary{ font-size:12px; font-weight:400; color:#6B7280; transition:opacity 0.2s ease;}  .patiently-settings-toggle[aria-expanded="true"] .patiently-settings-summary{ opacity:0.5;}  .patiently-chevron{ transition:transform 0.3s ease; color:var(--patiently-primary);}  .patiently-settings-toggle[aria-expanded="true"] .patiently-chevron{ transform:rotate(180deg);}   .patiently-settings-content{ display:none; width:100%; max-width:100%; box-sizing:border-box; overflow:hidden; background:#F0FDFA; padding:18px; border-radius:16px; border:1px solid #CCFBF1; box-shadow:0 1px 3px rgba(13,148,136,0.06); margin-top:12px; animation:patiently-slide-down 0.3s ease;}  .patiently-settings-content.is-open{ display:block;}  @keyframes patiently-slide-down{ from{ opacity:0; transform:translateY(-10px);} to{ opacity:1; transform:translateY(0);}}  .patiently-settings-content .patiently-row{ width:100%; max-width:100%; overflow:hidden;}   @media (min-width:768px){ .patiently-settings-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px;}  .patiently-settings-column{ display:flex; flex-direction:column; gap:0;}}   @media (max-width:767px){ .patiently-settings-grid{ display:flex; flex-direction:column;}  .patiently-settings-column{ display:flex; flex-direction:column;}}   .patiently-segmented-control{ display:flex; background:#F0FDFA; border:none; border-radius:10px; padding:4px; gap:4px; margin-top:8px; width:100%; max-width:100%; box-sizing:border-box;}  .patiently-segment{ flex:1; min-width:0; padding:11px 24px; font-size:14px; font-weight:500; background:transparent; border:none; border-radius:10px; color:#374151; cursor:pointer; transition:all 0.2s ease; white-space:nowrap;}  .patiently-segment:hover{ background:#CCFBF1;}  .patiently-segment.is-active{ background:#0D9488; color:#FFFFFF; font-weight:500;}   @media (max-width:767px){ .patiently-segmented-control{ padding:2px; gap:1px;}  .patiently-segment{ padding:7px 4px; font-size:10.5px; min-width:0;}}   @media (min-width:768px){ .patiently-segmented-control{ width:auto; display:inline-flex;}  .patiently-segment{ padding:8px 20px;}}   .patiently-pill-bar{ margin-top:8px;}  .patiently-pill-scroll{ display:flex; flex-wrap:wrap; gap:6px;}  @media (max-width:767px){ .patiently-pill-scroll{ flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#d0d0d0 transparent; padding-bottom:4px;}  .patiently-pill-scroll::-webkit-scrollbar{ height:6px;}  .patiently-pill-scroll::-webkit-scrollbar-track{ background:transparent;}  .patiently-pill-scroll::-webkit-scrollbar-thumb{ background:#d0d0d0; border-radius:3px;}}  .patiently-pill{ border-radius:999px; border:1px solid #CCFBF1; padding:7px 15px; font-size:13px; font-weight:500; background:#F0FDFA; color:#374151; cursor:pointer; transition:all 0.2s ease; white-space:nowrap; box-shadow:0 1px 2px rgba(13,148,136,0.06); flex-shrink:0;}  .patiently-pill:hover{ background:#CCFBF1; border-color:#99F6E4; box-shadow:0 2px 4px rgba(13,148,136,0.12);}  .patiently-pill.is-active{ background:#0D9488; border:1px solid #0D9488; color:#ffffff; font-weight:500; padding:7px 15px; box-shadow:0 2px 8px rgba(13,148,136,0.25);}  .patiently-pill.is-active:hover{ background:#0F766E; border-color:#0F766E; box-shadow:0 4px 12px rgba(13,148,136,0.3);}   .patiently-language-select{ margin-top:8px; width:auto; max-width:180px; padding:7px 32px 7px 15px; font-size:13px; font-weight:500; color:#4B5563; background-color:#F0FDFA; background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%230D9488' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; border:1px solid #CCFBF1; border-radius:999px; cursor:pointer; transition:all 0.2s ease; appearance:none; -webkit-appearance:none; -moz-appearance:none; box-shadow:0 1px 2px rgba(13,148,136,0.06);}  .patiently-language-select:hover{ border-color:#99F6E4; background-color:#CCFBF1; box-shadow:0 2px 4px rgba(13,148,136,0.12);}  .patiently-language-select:focus{ outline:none; border-color:#0D9488; box-shadow:0 0 0 3px rgba(13,148,136,0.15);}  .patiently-language-select option{ padding:10px; font-size:13px; color:#4B5563;}   .patiently-chip{ border-radius:999px; border:1px solid #e0e0e0; padding:7px 15px; font-size:13px; font-weight:500; background:var(--patiently-card-bg); color:var(--patiently-primary); cursor:pointer; transition:all 0.2s ease; white-space:nowrap; box-shadow:0 1px 2px rgba(0,0,0,0.04);}  @media (min-width:769px){ .patiently-chip:hover{ background:#fafafa; border-color:#d0d0d0; box-shadow:0 2px 4px rgba(0,0,0,0.08);}}  .patiently-chip.is-active{ background:var(--patiently-card-bg); border:2px solid var(--patiently-primary); border-color:var(--patiently-primary); color:var(--patiently-primary); font-weight:600; padding:6px 14px; box-shadow:inset 0 0 0 1px rgba(27,39,96,0.05), 0 1px 3px rgba(27,39,96,0.12);}  @media (min-width:769px){ .patiently-chip.is-active:hover{ background:#fafafa; border-color:var(--patiently-primary); box-shadow:inset 0 0 0 1px rgba(27,39,96,0.08), 0 2px 4px rgba(27,39,96,0.15);}}  .patiently-chip-group{ margin-top:8px;}  .patiently-primary-row{ margin-top:12px; display:flex; align-items:center; gap:12px; flex-wrap:wrap;}  .patiently-btn-primary{ border-radius:16px; background:linear-gradient(135deg,#14B8A6 0%,#0D9488 50%,#0F766E 100%); color:var(--patiently-primary-text); font-size:18px; font-weight:600; border:none; padding:18px 32px; display:flex; align-items:center; gap:10px; cursor:pointer; position:relative; width:100%; justify-content:center; box-shadow:0 8px 24px rgba(13,148,136,0.3),0 4px 12px rgba(13,148,136,0.15); transition:transform 0.15s ease,box-shadow 0.15s ease, background 0.15s ease;}  .patiently-btn-primary:hover{ transform:translateY(-3px); box-shadow:0 12px 32px rgba(13,148,136,0.4),0 6px 16px rgba(13,148,136,0.2); background:linear-gradient(135deg,#0D9488 0%,#0F766E 50%,#115E59 100%);}  .patiently-btn-primary:disabled{ opacity:0.7; cursor:default; transform:none; box-shadow:0 10px 30px rgba(15,23,42,0.2);}  .patiently-btn-primary .btn-label{ display:inline-flex; align-items:center; gap:6px;}  .patiently-btn-primary .btn-arrow{ font-size:13px;}  .patiently-spinner{ width:16px; height:16px; border-radius:999px; border:2px solid rgba(255,255,255,0.4); border-top-color:#ffffff; animation:patiently-spin 0.8s linear infinite;}  .patiently-btn-primary.is-loading .btn-arrow{ display:none;}  .patiently-btn-primary.is-loading .patiently-spinner-wrapper{ display:inline-flex;}  .patiently-spinner-wrapper{ display:none; align-items:center; justify-content:center;}  @keyframes patiently-spin{ to{ transform:rotate(360deg);}}   @media (max-width:768px){ .patiently-btn-primary{ width:100%; justify-content:center;}}  .patiently-sample-btn{ border-radius:999px; border:1px solid #e0e0e0; background:var(--patiently-card-bg); font-size:13px; font-weight:500; padding:7px 16px; cursor:pointer; color:var(--patiently-primary); transition:all 0.2s ease; box-shadow:0 1px 2px rgba(0,0,0,0.04);}  @media (min-width:769px){ .patiently-sample-btn:hover{ background:#fafafa; border-color:#d0d0d0; box-shadow:0 2px 4px rgba(0,0,0,0.08);}}  .patiently-sample-btn:active{ transform:scale(0.98); box-shadow:0 1px 2px rgba(0,0,0,0.06);}  .patiently-sample-btn:disabled{ opacity:0.6; cursor:not-allowed;}   .patiently-voice-btn{ position:relative; display:inline-flex !important; align-items:center; gap:6px;}  .patiently-voice-btn.recording{ background:#FEE2E2; border-color:#EF4444; color:#DC2626;}  .patiently-voice-btn.recording .patiently-voice-icon{ color:#DC2626;}  .patiently-templates-btn-wrapper, .patiently-examples-btn-wrapper, .patiently-recent-btn-wrapper{ position:relative;}   .patiently-recent-count{ display:none;}  .patiently-recent-dropdown{ position:absolute !important; top:100%; left:0; right:0; margin-top:8px; background-color:var(--patiently-card-bg) !important; color:var(--patiently-text); border:1px solid var(--patiently-border); border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,0.12); z-index:9999 !important; max-height:400px; overflow:hidden; display:flex; flex-direction:column; opacity:1 !important;}  .patiently-recent-header{ display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border-bottom:1px solid #f0f0f0; font-size:13px; font-weight:600; color:var(--patiently-primary); background-color:var(--patiently-card-bg);}  .patiently-recent-clear{ background:none; border:none; color:var(--patiently-danger); font-size:12px; font-weight:500; cursor:pointer; padding:4px 8px; border-radius:4px; transition:background 0.2s ease;}  .patiently-recent-clear:hover{ background:rgba(179,38,30,0.1);}  .patiently-examples-close{ background:none; border:none; color:var(--patiently-muted); font-size:18px; font-weight:400; cursor:pointer; padding:4px 8px; border-radius:4px; transition:all 0.2s ease; line-height:1;}  .patiently-examples-close:hover{ background:rgba(0,0,0,0.05); color:var(--patiently-primary);}  .patiently-recent-list{ overflow-y:auto; max-height:350px; background-color:var(--patiently-card-bg);}  .patiently-recent-empty{ padding:40px 20px; text-align:center; color:var(--patiently-muted); font-size:13px;}  .patiently-recent-item{ padding:14px 16px; border-bottom:1px solid var(--patiently-border); cursor:pointer; transition:all 0.2s ease; background:var(--patiently-card-bg); border:none; width:100%; text-align:left;}  .patiently-recent-item:last-child{ border-bottom:none;}  .patiently-recent-item:hover{ background:var(--patiently-bg-secondary);}  .patiently-recent-item-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; gap:12px;}  .patiently-recent-item-title{ font-size:14px; font-weight:600; color:var(--patiently-primary); flex:1;}  .patiently-recent-item-category{ font-size:11px; font-weight:500; color:var(--patiently-text-secondary); background:var(--patiently-bg-tertiary); padding:3px 8px; border-radius:4px; text-transform:capitalize; white-space:nowrap;}  .patiently-recent-item-time{ font-size:11px; color:var(--patiently-muted); margin-bottom:4px;}  .patiently-recent-item-preview{ font-size:13px; color:var(--patiently-text-secondary); line-height:1.4; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical;}  .patiently-recent-item-meta{ font-size:11px; color:var(--patiently-muted); margin-top:4px;}  .patiently-sample-btn.patiently-upload-btn-wrapper{ position:relative; display:inline-flex !important; align-items:center; gap:6px;}  .patiently-info-icon{ display:inline-flex; align-items:center; justify-content:center; cursor:help; color:#6c6670; position:relative; transition:color 0.2s ease; margin-left:4px; opacity:0.7;}  .patiently-info-icon svg{ display:block; width:16px; height:16px;}  .patiently-info-icon:hover{ color:var(--patiently-primary); opacity:1;}  .patiently-tooltip{ position:absolute !important; top:calc(100% + 12px); left:50%; transform:translateX(-50%); background:var(--patiently-card-bg); color:var(--patiently-text); border:1px solid var(--patiently-border); border-radius:12px; padding:16px; box-shadow:0 10px 40px rgba(0,0,0,0.12),0 2px 8px rgba(0,0,0,0.08); width:240px; z-index:9999 !important; opacity:0; visibility:hidden; transition:opacity 0.2s ease,visibility 0.2s ease,transform 0.2s ease; pointer-events:none; text-align:left;}  .patiently-tooltip::after{ content:''; position:absolute; bottom:100%; left:50%; transform:translateX(-50%); width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-bottom:8px solid #ffffff; filter:drop-shadow(0 -2px 1px rgba(0,0,0,0.06));}  .patiently-info-icon:hover .patiently-tooltip, .patiently-info-icon.show-tooltip .patiently-tooltip{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px); pointer-events:auto;}  .patiently-tooltip-title{ font-size:13px; font-weight:600; color:var(--patiently-primary); margin-bottom:10px; line-height:1.3;}  .patiently-tooltip-list{ list-style:none; padding:0; margin:0; font-size:12px; line-height:1.6; color:#3a3a3a;}  .patiently-tooltip-list li{ padding:3px 0; position:relative; padding-left:14px;}  .patiently-tooltip-list li::before{ content:'•'; position:absolute; left:0; color:var(--patiently-primary); opacity:0.6;}  @media (max-width:768px){ .patiently-tooltip{ width:220px; left:auto; right:0; transform:translateX(0);}  .patiently-tooltip::after{ left:auto; right:16px; transform:translateX(0);}  .patiently-info-icon:hover .patiently-tooltip, .patiently-info-icon.show-tooltip .patiently-tooltip{ transform:translateX(0) translateY(4px);}}  .patiently-btn-spinner{ display:inline-flex; align-items:center; margin-left:6px;}  .patiently-spinner-small{ width:12px; height:12px; border-radius:50%; border:2px solid rgba(27,39,96,0.2); border-top-color:var(--patiently-primary); animation:patiently-spin 0.8s linear infinite;}  .patiently-output-card{ background:transparent; border:none; padding:0; box-sizing:border-box; flex:1; display:flex; flex-direction:column;}  @media (min-width:1024px){ .patiently-output-card{ min-height:500px;}}   .patiently-output-title{ font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,system-ui,sans-serif; font-size:19px; font-weight:700; margin:0 0 20px 0; color:#14B8A6; letter-spacing:-0.01em;}   .patiently-output-actions{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;}  .patiently-output-actions-left{ display:flex; gap:12px;}  .patiently-output-actions-right{ display:flex; gap:12px; align-items:center;}  .patiently-icon-btn{ width:48px; height:48px; padding:0; display:inline-flex; align-items:center; justify-content:center; background:var(--patiently-card-bg); border:1px solid var(--patiently-border); border-radius:8px; color:#0D9488; cursor:pointer; transition:all 0.2s ease;}  .patiently-icon-btn:hover{ background:#F0FDFA; border-color:#0D9488; color:#0F766E; box-shadow:0 2px 4px rgba(13,148,136,0.12);}  .patiently-icon-btn:active{ transform:scale(0.95); box-shadow:0 1px 2px rgba(0,0,0,0.06);}  .patiently-icon-btn svg{ display:block; width:24px; height:24px;}   .patiently-font-icon{ font-size:16px; font-weight:600; letter-spacing:-0.02em; line-height:1; user-select:none; color:currentColor;}   .patiently-tts-wrapper{ display:inline-flex; align-items:center; gap:6px;}  .patiently-voice-selector{ height:32px; padding:0 8px; border:1px solid #e0e0e0; border-radius:8px; background:var(--patiently-card-bg); font-size:12px; color:var(--patiently-text); cursor:pointer; transition:all 0.2s ease; font-family:inherit;}  .patiently-voice-selector:hover{ border-color:#1B2760; background:rgba(27,39,96,0.02);}  .patiently-voice-selector:focus{ outline:none; border-color:#1B2760; box-shadow:0 0 0 3px rgba(27,39,96,0.1);}   .patiently-output-content.font-small{ font-size:14px; line-height:1.6;}  .patiently-output-content.font-medium{ font-size:16px; line-height:1.65;}  .patiently-output-content.font-large{ font-size:18px; line-height:1.7;}   .patiently-output-divider{ width:100%; height:1px; background:var(--patiently-border); margin-bottom:20px;}  .patiently-output-content{ font-size:15px; line-height:1.6; color:var(--patiently-text); flex:1; min-height:120px; transition:font-size 0.2s ease;}  .patiently-output-shimmer{ padding:20px 0;}  .patiently-shimmer-line{ height:16px; background:linear-gradient(90deg,var(--patiently-border) 0%,rgba(229,231,235,0.5) 50%,var(--patiently-border) 100%); background-size:200% 100%; border-radius:4px; margin-bottom:12px; animation:patiently-shimmer-wave 1.8s ease-in-out infinite;}  @keyframes patiently-shimmer-wave{ 0%{ background-position:200% 0;} 100%{ background-position:-200% 0;}}  [data-theme="dark"] .patiently-shimmer-line{ background:linear-gradient(90deg,#334155 0%,rgba(51,65,85,0.5) 50%,#334155 100%); background-size:200% 100%;}  .patiently-output-content.text-size-small{ font-size:13px;}  .patiently-output-content.text-size-small h1{ font-size:18px;}  .patiently-output-content.text-size-small h2{ font-size:16px;}  .patiently-output-content.text-size-small h3{ font-size:14px;}  .patiently-output-content.text-size-medium{ font-size:15px;}  .patiently-output-content.text-size-medium h1{ font-size:20px;}  .patiently-output-content.text-size-medium h2{ font-size:18px;}  .patiently-output-content.text-size-medium h3{ font-size:16px;}  .patiently-output-content.text-size-large{ font-size:18px;}  .patiently-output-content.text-size-large h1{ font-size:24px;}  .patiently-output-content.text-size-large h2{ font-size:22px;}  .patiently-output-content.text-size-large h3{ font-size:20px;}  .patiently-output-content h1, .patiently-output-content h2, .patiently-output-content h3{ font-weight:600; color:var(--patiently-primary); margin-top:0; margin-bottom:12px; line-height:1.3;}  .patiently-output-content h1{ font-size:20px;}  .patiently-output-content h2{ font-size:18px; margin-top:24px;}  .patiently-output-content h3{ font-size:16px; margin-top:20px;}  .patiently-output-content p{ margin:0 0 16px 0; line-height:1.7;}  .patiently-output-content p:last-child{ margin-bottom:0;}  .patiently-output-content strong, .patiently-output-content b{ font-weight:600; color:var(--patiently-text);}  .patiently-output-content ul, .patiently-output-content ol{ margin:0 0 16px 0; padding-left:24px;}  .patiently-output-content li{ margin-bottom:8px; line-height:1.6;}  .patiently-output-content li:last-child{ margin-bottom:0;}  .patiently-output-placeholder{ display:flex; align-items:center; justify-content:center; min-height:300px; position:relative; overflow:hidden;}  .patiently-empty-blob{ position:absolute; border-radius:50%; filter:blur(60px); opacity:0.4; pointer-events:none; animation:patiently-blob-float 8s ease-in-out infinite;}  .patiently-blob-1{ width:200px; height:200px; background:linear-gradient(135deg,#6366F1 0%,#8B5CF6 100%); top:-50px; right:-30px; animation-delay:0s;}  .patiently-blob-2{ width:150px; height:150px; background:linear-gradient(135deg,#0D9488 0%,#14B8A6 100%); bottom:20px; left:-30px; animation-delay:2s;}  .patiently-blob-3{ width:120px; height:120px; background:linear-gradient(135deg,#F87171 0%,#FB923C 100%); bottom:-20px; right:30%; animation-delay:4s;}  @keyframes patiently-blob-float{ 0%,100%{ transform:translateY(0) scale(1);} 50%{ transform:translateY(-15px) scale(1.05);}}  .patiently-empty-state{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; max-width:480px; padding:60px 20px;}  .patiently-empty-steps{ width:100%; display:flex; flex-direction:column; gap:32px;}  .patiently-empty-step{ display:flex; align-items:flex-start; gap:16px; text-align:left; opacity:0; animation:patiently-step-fade-in 0.5s ease-out forwards; position:relative;}  .patiently-empty-step:nth-child(1){ animation-delay:0.1s;}  .patiently-empty-step:nth-child(2){ animation-delay:0.3s;}  .patiently-empty-step:nth-child(3){ animation-delay:0.5s;}  .patiently-empty-step:not(:last-child)::after{ content:''; position:absolute; left:35px; top:70px; width:2px; height:calc(100% + 16px); background:linear-gradient(180deg,#A5B4FC 0%,#5EEAD4 50%,#FCA5A5 100%); opacity:0.8;}  @keyframes patiently-step-fade-in{ from{ opacity:0; transform:translateY(12px);} to{ opacity:1; transform:translateY(0);}}  .patiently-empty-step-icon{ flex-shrink:0; width:70px; height:70px; border-radius:24px; display:flex; align-items:center; justify-content:center; transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.3s ease; position:relative; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);}  .patiently-empty-step-icon svg{ width:28px; height:28px; stroke-width:2;}  .patiently-step-icon-1{ background:linear-gradient(145deg,rgba(238,242,255,0.9) 0%,rgba(199,210,254,0.85) 100%); box-shadow:0 4px 16px rgba(99,102,241,0.2),inset 0 1px 1px rgba(255,255,255,0.6); border:1px solid rgba(199,210,254,0.5);}  .patiently-step-icon-1 svg{ color:#6366F1;}  .patiently-step-icon-2{ background:linear-gradient(145deg,rgba(204,251,241,0.9) 0%,rgba(153,246,228,0.85) 100%); box-shadow:0 4px 16px rgba(13,148,136,0.2),inset 0 1px 1px rgba(255,255,255,0.6); border:1px solid rgba(153,246,228,0.5);}  .patiently-step-icon-2 svg{ color:#0D9488;}  .patiently-step-icon-3{ background:linear-gradient(145deg,rgba(254,226,226,0.9) 0%,rgba(254,202,202,0.85) 100%); box-shadow:0 4px 16px rgba(248,113,113,0.2),inset 0 1px 1px rgba(255,255,255,0.6); border:1px solid rgba(254,202,202,0.5);}  .patiently-step-icon-3 svg{ color:#DC2626;}  .patiently-empty-step:hover .patiently-empty-step-icon{ transform:scale(1.05) rotate(-2deg); box-shadow:0 6px 16px rgba(0,0,0,0.12);}  .patiently-empty-step-content{ flex:1; padding-top:2px;}  .patiently-empty-step-title{ font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,system-ui,sans-serif; font-size:18px; font-weight:600; color:var(--patiently-text); margin:0 0 8px 0; line-height:1.3;}  .patiently-empty-step-text{ font-size:15px; color:#4B5563; margin:0; line-height:1.6;}  .patiently-empty-step-text strong{ color:var(--patiently-text); font-weight:600;}  .patiently-status{ margin-top:12px; font-size:12px; color:var(--patiently-muted); padding-top:12px; border-top:1px solid #f0f0f0;}  .patiently-status.error{ color:var(--patiently-danger);}  .patiently-status.success{ color:#166534;}   .patiently-questions-section{ margin-top:24px; padding:20px; background:var(--patiently-card-bg); border:1px solid var(--patiently-border); border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,0.04);}  .patiently-questions-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;}  .patiently-questions-title{ font-size:16px; font-weight:600; color:var(--patiently-primary); margin:0; display:flex; align-items:center; gap:8px;}  .patiently-questions-copy-btn{ opacity:0.7; transition:opacity 0.2s ease;}  .patiently-questions-copy-btn:hover{ opacity:1;}  .patiently-questions-intro{ font-size:13px; color:var(--patiently-muted); margin-bottom:16px; line-height:1.5;}  .patiently-questions-list{ margin:0; padding-left:20px; list-style:decimal;}  .patiently-questions-list li{ font-size:14px; line-height:1.6; color:var(--patiently-text); margin-bottom:12px; padding-left:8px;}  .patiently-questions-list li:last-child{ margin-bottom:0;}   .patiently-questions-hint{ margin-top:16px; margin-bottom:16px; padding:14px 16px; background:linear-gradient(135deg,#EEF2FF 0%,#E0E7FF 100%); border:1px solid #C7D2FE; border-radius:12px; display:flex; align-items:center; gap:12px; position:relative; animation:patiently-hint-slide-in 0.3s ease-out;} .patiently-questions-hint-content{ flex:1;} .patiently-questions-hint-text{ margin:0 0 10px 0; font-size:14px; font-weight:500; color:#1e293b;} .patiently-questions-hint-btn{ background:#1b2760; color:#ffffff; border:none; padding:10px 20px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; transition:all 0.2s ease; white-space:nowrap;} .patiently-questions-hint-btn:hover{ background:#151d49; transform:translateY(-1px); box-shadow:0 4px 8px rgba(27,39,96,0.2);}  @keyframes patiently-hint-slide-in{ from{ opacity:0; transform:translateY(-10px);} to{ opacity:1; transform:translateY(0);}}  .patiently-questions-hint-icon{ flex-shrink:0; width:32px; height:32px; border-radius:8px; background:rgba(79,70,229,0.15); display:flex; align-items:center; justify-content:center; color:#4F46E5;}  .patiently-questions-hint-content{ flex:1;}  .patiently-questions-hint-text{ margin:0; font-size:14px; line-height:1.5; color:#1E293B;}  .patiently-questions-hint-text strong{ font-weight:600; color:#0F172A;}  .patiently-questions-hint-close{ flex-shrink:0; background:none; border:none; padding:4px; cursor:pointer; color:#64748B; font-size:18px; line-height:1; opacity:0.6; transition:opacity 0.2s ease; margin-left:4px;}  .patiently-questions-hint-close:hover{ opacity:1;}   .patiently-app-cta{ margin-top:20px; padding:14px 16px; background:#f8f9fa; border:1px solid #e5e7eb; border-radius:10px; display:flex; align-items:center; gap:10px; font-size:13px; color:#6c6670; transition:all 0.3s ease; animation:patiently-fade-slide-in 0.4s ease-out;}  @keyframes patiently-fade-slide-in{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:translateY(0);}}  .patiently-app-icon{ flex-shrink:0; color:#9ca3af; opacity:0.8;}  .patiently-app-text{ line-height:1.5; color:#6c6670;}  .patiently-app-link{ color:var(--patiently-primary); text-decoration:none; font-weight:500; transition:all 0.2s ease; border-bottom:1px solid transparent;}  .patiently-app-link:hover{ color:#151d49; border-bottom-color:var(--patiently-primary);}  @media (max-width:767px){ .patiently-app-cta{ flex-direction:column; align-items:flex-start; gap:8px; padding:12px 14px; font-size:12px;}  .patiently-app-text{ display:flex; flex-direction:column; gap:4px;}}  .patiently-heading{ display:block; font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,system-ui,sans-serif; font-size:24px; font-weight:700; margin-bottom:18px; text-align:left; line-height:1.3;}  @media (min-width:768px){ .patiently-heading{ font-size:28px;}}  .patiently-subheading{ display:block; font-size:15px; color:#4B5563; margin-bottom:28px; line-height:1.5;}  .patiently-note{ font-size:11px; color:var(--patiently-muted); margin-top:6px; line-height:1.4;}  .patiently-toast{ position:fixed; top:100px; left:50%; transform:translateX(-50%) translateY(-80px); background:var(--patiently-primary); color:var(--patiently-primary-text); padding:12px 20px; border-radius:999px; font-size:14px; font-weight:500; box-shadow:0 8px 24px rgba(15,23,42,0.3); display:flex; align-items:center; gap:8px; z-index:10000; opacity:0; pointer-events:none; transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s ease;}  .patiently-toast.show{ transform:translateX(-50%) translateY(0); opacity:1;}  .patiently-toast-icon{ font-size:16px; display:inline-flex; align-items:center; justify-content:center;}  .patiently-panel{ opacity:0; animation:patiently-fade-in 0.4s ease-out forwards;}  .patiently-panel-left{ animation-delay:0.1s;}  .patiently-panel-right{ animation-delay:0.2s;}  @keyframes patiently-fade-in{ to{ opacity:1;}}   .patiently-modal{ position:fixed; top:0; left:0; width:100%; height:100%; z-index:10000; display:flex; align-items:center; justify-content:center; padding:20px;}  .patiently-modal-overlay{ position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); backdrop-filter:blur(4px);}  .patiently-modal-content{ position:relative; background:var(--patiently-card-bg); color:var(--patiently-text); border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,0.3); max-width:480px; width:100%; max-height:90vh; display:flex; flex-direction:column; animation:patiently-modal-slide-up 0.3s ease-out;}  @keyframes patiently-modal-slide-up{ from{ opacity:0; transform:translateY(20px);} to{ opacity:1; transform:translateY(0);}}  .patiently-modal-header{ padding:24px 24px 16px; border-bottom:1px solid var(--patiently-border); display:flex; align-items:center; justify-content:space-between;}  .patiently-modal-title{ font-size:20px; font-weight:600; color:var(--patiently-primary); margin:0; line-height:1.3;}  .patiently-modal-close{ background:none; border:none; color:var(--patiently-muted); font-size:24px; font-weight:400; cursor:pointer; padding:4px 8px; border-radius:6px; transition:all 0.2s ease; line-height:1;}  .patiently-modal-close:hover{ background:rgba(0,0,0,0.05); color:var(--patiently-primary);}  .patiently-modal-body{ padding:24px; overflow-y:auto; flex:1;}  .patiently-modal-description{ font-size:15px; color:var(--patiently-muted); margin:0 0 16px; line-height:1.5;}  .patiently-email-input{ width:100%; padding:12px 16px; background-color:var(--patiently-card-bg); color:var(--patiently-text); border:1.5px solid var(--patiently-border); border-radius:10px; font-size:15px; font-family:inherit; outline:none; transition:all 0.2s ease; box-sizing:border-box;}  .patiently-email-input:focus{ border-color:var(--patiently-primary); box-shadow:0 0 0 3px var(--patiently-primary-soft);}  .patiently-email-input::placeholder{ color:#a0aec0;}  .patiently-modal-note{ margin-top:12px; font-size:13px; color:var(--patiently-muted); line-height:1.5; padding:12px; background:var(--patiently-bg); border-radius:8px;}  .patiently-modal-footer{ padding:16px 24px 24px; display:flex; gap:12px; justify-content:flex-end;}  .patiently-btn-secondary{ padding:10px 20px; border:1.5px solid var(--patiently-border); border-radius:10px; background:var(--patiently-card-bg); color:var(--patiently-primary); font-size:15px; font-weight:500; cursor:pointer; transition:all 0.2s ease; font-family:inherit;}  .patiently-btn-secondary:hover{ background:var(--patiently-bg); border-color:var(--patiently-primary);}   .patiently-modal-large{ max-width:720px;}   .patiently-help-section{ margin-bottom:24px;}  .patiently-help-section:last-child{ margin-bottom:0;}  .patiently-help-heading{ font-size:16px; font-weight:600; color:var(--patiently-primary); margin:0 0 8px 0;}  .patiently-help-section p{ font-size:14px; line-height:1.6; color:var(--patiently-text); margin:0 0 12px 0;}  .patiently-help-section p:last-child{ margin-bottom:0;}  .patiently-help-list{ margin:0; padding-left:24px; font-size:14px; line-height:1.8; color:var(--patiently-text);}  .patiently-help-list li{ margin-bottom:8px;}  .patiently-help-link{ color:var(--patiently-primary); text-decoration:none; font-weight:500; border-bottom:1px solid transparent; transition:border-color 0.2s ease;}  .patiently-help-link:hover{ border-bottom-color:var(--patiently-primary);}   @media (max-width:768px){ .patiently-sidebar{ position:fixed; bottom:0; left:0; width:100%; height:auto; flex-direction:row; justify-content:space-around; padding:12px 0; z-index:1000; box-shadow:0 -2px 10px rgba(0,0,0,0.1); margin:0; border-radius:0;}  .patiently-sidebar-divider{ display:none;}  .patiently-sidebar-tooltip{ left:50%; bottom:100%; top:auto; margin-left:0; margin-bottom:8px; transform:translateX(-50%);}  .patiently-sidebar-tooltip::before{ top:100%; right:auto; left:50%; transform:translateX(-50%); border-right-color:transparent; border-top-color:#1f2933;}  #patiently-web-app{ flex-direction:column;}  .patiently-container{ padding-bottom:80px;}  .patiently-modal-content{ max-width:100%;}  .patiently-modal-footer{ flex-direction:column-reverse;}  .patiently-btn-secondary, .patiently-modal-footer .patiently-btn-primary{ width:100%;}}   [data-theme="dark"] .pt-tool-wrapper{ background:#0a0f1e;}  [data-theme="dark"] .pt-tool-card{ background:#1e293b; box-shadow:0 8px 28px rgba(0,0,0,0.6);}  [data-theme="dark"] .patiently-panel-left{ background:#1e293b; border-color:#334155;}  [data-theme="dark"] .patiently-panel-right{ background:#1e293b; border-color:#334155;}  [data-theme="dark"] .patiently-pill-banner{ background:#1e3a5f; border-color:#2563eb; color:#e0e7ff;}  [data-theme="dark"] .patiently-textarea, [data-theme="dark"] .patiently-language-select{ background:#0f172a; border-color:#334155; color:#f1f5f9;}  [data-theme="dark"] .patiently-textarea::placeholder{ color:#64748b;}  [data-theme="dark"] .patiently-output-card{ background:transparent;}  [data-theme="dark"] .patiently-panel-right{ background:#0a0f1e;}  [data-theme="dark"] .patiently-icon-btn{ background:#1e293b; border-color:#334155; color:#94a3b8;}  [data-theme="dark"] .patiently-icon-btn:hover{ background:#334155; border-color:#475569; color:#e2e8f0;}  [data-theme="dark"] .patiently-btn-primary{ background:#2563eb; color:#ffffff;}  [data-theme="dark"] .patiently-btn-primary:hover:not(:disabled){ background:#1d4ed8;}  [data-theme="dark"] .patiently-segmented-control{ background:#334155;}  [data-theme="dark"] .patiently-segment{ background:transparent; border-color:#334155; color:#cbd5e1;}  [data-theme="dark"] .patiently-segment.is-active{ background:#2563eb; color:#ffffff; border-color:#2563eb;}  [data-theme="dark"] .patiently-segment:hover:not(.is-active){ background:#334155; color:#e2e8f0;}  [data-theme="dark"] .patiently-output-divider{ background:#334155;}  [data-theme="dark"] .patiently-settings-card{ background:#0f172a; border-color:#334155;}  [data-theme="dark"] .patiently-settings-content{ background:#1e293b; border-color:#334155;}  [data-theme="dark"] .patiently-drop-zone{ border-color:#334155;}  [data-theme="dark"] .patiently-drop-zone.drag-over{ background:#1e3a5f; border-color:#2563eb;}  [data-theme="dark"] .patiently-sample-btn{ background:#1e293b; border-color:#334155; color:#94a3b8;}  [data-theme="dark"] .patiently-sample-btn:hover{ background:#334155; color:#e2e8f0;}  [data-theme="dark"] .patiently-recent-dropdown{ background:#1e293b; border-color:#334155;}  [data-theme="dark"] .patiently-modal-content{ background:#1e293b; color:#f1f5f9;}  [data-theme="dark"] .patiently-email-input{ background:#0f172a; border-color:#334155; color:#f1f5f9;}  [data-theme="dark"] .patiently-btn-secondary{ background:transparent; border-color:#334155; color:#94a3b8;}  [data-theme="dark"] .patiently-btn-secondary:hover{ background:#334155; color:#e2e8f0;}   [data-theme="dark"] .patiently-label-icon{ color:#60a5fa; opacity:0.9;}  [data-theme="dark"] .patiently-pill-icon{ color:#60a5fa; opacity:0.9;}  [data-theme="dark"] .patiently-output-title{ color:#f1f5f9;}  [data-theme="dark"] .patiently-clinician-micro-container{ background:rgba(96,165,250,0.08);}  [data-theme="dark"] .patiently-clinician-micro{ color:#94a3b8;}  [data-theme="dark"] .patiently-mode-toggle .patiently-segment[data-value="clinician"].is-active{ background:rgba(96,165,250,0.15); border-color:rgba(96,165,250,0.3); color:#60a5fa;}  [data-theme="dark"][data-mode="clinician"] .patiently-icon-btn:hover{ color:#60a5fa;}  [data-theme="dark"] .patiently-templates-container{ background:#1e293b; border-color:#334155;}  [data-theme="dark"] .patiently-templates-label{ color:#64748b;}   [data-theme="dark"] .patiently-sidebar{ background:#0f172a;}  [data-theme="dark"][data-mode="clinician"] .patiently-panel-left{ border-top:3px solid rgba(96,165,250,0.5); background:linear-gradient(to bottom,rgba(96,165,250,0.04) 0%,var(--patiently-card-bg) 120px);}   [data-theme="dark"] .patiently-help-heading{ color:#60a5fa;}  [data-theme="dark"] .patiently-help-link{ color:#60a5fa;}  [data-theme="dark"] .patiently-help-link:hover{ border-bottom-color:#60a5fa;}

/* Glossary Modal Styles */
.patiently-glossary-content{ max-width:600px;}
.patiently-glossary-body{ padding:24px;}
.patiently-glossary-intro{ font-size:14px; color:var(--patiently-muted); margin:0 0 20px 0; line-height:1.5;}
.patiently-glossary-search-wrapper{ position:relative; margin-bottom:16px;}
.patiently-glossary-search-icon{ position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#9CA3AF; pointer-events:none;}
.patiently-glossary-search{ width:100%; padding:14px 48px 14px 48px; font-size:16px; border:2px solid #E5E7EB; border-radius:12px; outline:none; transition:all 0.2s ease; font-family:inherit; box-sizing:border-box;}
.patiently-glossary-search:focus{ border-color:#0D9488; box-shadow:0 0 0 4px rgba(13,148,136,0.1);}
.patiently-glossary-search::placeholder{ color:#9CA3AF;}
.patiently-glossary-clear{ position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; color:#9CA3AF; cursor:pointer; padding:8px; display:flex; align-items:center; justify-content:center; border-radius:6px; transition:all 0.2s ease;}
.patiently-glossary-clear:hover{ background:#F3F4F6; color:#4B5563;}
.patiently-glossary-suggestions{ background:#FFFFFF; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,0.08); margin-bottom:16px;}
.patiently-glossary-suggestion{ display:block; width:100%; padding:12px 16px; text-align:left; background:none; border:none; border-bottom:1px solid #F3F4F6; font-size:15px; color:#1F2937; cursor:pointer; transition:background 0.15s ease; font-family:inherit;}
.patiently-glossary-suggestion:last-child{ border-bottom:none;}
.patiently-glossary-suggestion:hover{ background:#F0FDFA;}
.patiently-glossary-suggestion strong{ color:#0D9488; font-weight:600;}
.patiently-glossary-result{ background:linear-gradient(135deg,#F0FDFA 0%,#CCFBF1 100%); border:1px solid #99F6E4; border-radius:16px; padding:24px; margin-bottom:16px;}
.patiently-glossary-term-header{ display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:16px;}
.patiently-glossary-term-name{ font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,system-ui,sans-serif; font-size:24px; font-weight:700; color:#134E4A; margin:0; text-transform:capitalize;}
.patiently-glossary-pronunciation{ font-size:15px; color:#0D9488; font-style:italic;}
.patiently-glossary-audio-btn{ background:#0D9488; color:#FFFFFF; border:none; padding:8px 12px; border-radius:8px; cursor:pointer; display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:500; transition:all 0.2s ease;}
.patiently-glossary-audio-btn:hover{ background:#0F766E; transform:scale(1.05);}
.patiently-glossary-audio-btn svg{ width:18px; height:18px;}
.patiently-glossary-definition{ font-size:16px; line-height:1.7; color:#1F2937;}
.patiently-glossary-meta{ margin-top:16px; padding-top:16px; border-top:1px solid rgba(13,148,136,0.2);}
.patiently-glossary-spanish{ font-size:14px; color:#0F766E;}
.patiently-glossary-empty{ text-align:center; padding:40px 20px;}
.patiently-glossary-empty-icon{ margin-bottom:16px; color:#D1D5DB;}
.patiently-glossary-empty-text{ font-size:15px; color:#6B7280; margin:0 0 20px 0;}
.patiently-glossary-examples{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center;}
.patiently-glossary-example-label{ font-size:13px; color:#9CA3AF; font-weight:500;}
.patiently-glossary-example{ background:#F0FDFA; border:1px solid #CCFBF1; color:#0D9488; padding:8px 16px; border-radius:999px; font-size:14px; font-weight:500; cursor:pointer; transition:all 0.2s ease; font-family:inherit;}
.patiently-glossary-example:hover{ background:#CCFBF1; border-color:#0D9488; transform:translateY(-1px);}
.patiently-glossary-loading{ display:flex; align-items:center; justify-content:center; gap:12px; padding:40px 20px; color:#6B7280; font-size:15px;}
.patiently-glossary-error{ text-align:center; padding:24px; color:#6B7280; font-size:14px;}
.patiently-glossary-attribution{ margin-top:20px; padding-top:16px; border-top:1px solid #E5E7EB; font-size:12px; color:#9CA3AF; text-align:center;}
.patiently-glossary-attribution a{ color:#0D9488; text-decoration:none; font-weight:500;}
.patiently-glossary-attribution a:hover{ text-decoration:underline;}
[data-theme="dark"] .patiently-glossary-search{ background:#0f172a; border-color:#334155; color:#f1f5f9;}
[data-theme="dark"] .patiently-glossary-suggestions{ background:#1e293b; border-color:#334155;}
[data-theme="dark"] .patiently-glossary-suggestion{ color:#f1f5f9; border-color:#334155;}
[data-theme="dark"] .patiently-glossary-suggestion:hover{ background:#334155;}
[data-theme="dark"] .patiently-glossary-result{ background:linear-gradient(135deg,#1e3a4c 0%,#134e4a 100%); border-color:#0d9488;}
[data-theme="dark"] .patiently-glossary-term-name{ color:#f0fdfa;}
[data-theme="dark"] .patiently-glossary-definition{ color:#e2e8f0;}
/* Voice Speed Control Styles */
.patiently-speed-control {
  margin-top: 12px;
  width: 100%;
}

.patiently-speed-slider {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: #e5e7eb;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

.patiently-speed-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--patiently-primary);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(27, 39, 96, 0.2);
}

.patiently-speed-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--patiently-primary);
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(27, 39, 96, 0.2);
}

.patiently-speed-slider::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 3px 6px rgba(27, 39, 96, 0.3);
}

.patiently-speed-slider::-moz-range-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 3px 6px rgba(27, 39, 96, 0.3);
}

.patiently-speed-slider:focus {
  outline: none;
}

.patiently-speed-slider:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px rgba(27, 39, 96, 0.1), 0 2px 4px rgba(27, 39, 96, 0.2);
}

.patiently-speed-slider:focus::-moz-range-thumb {
  box-shadow: 0 0 0 3px rgba(27, 39, 96, 0.1), 0 2px 4px rgba(27, 39, 96, 0.2);
}

.patiently-speed-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  padding: 0 2px;
}

.patiently-speed-labels span {
  font-size: 11px;
  color: var(--patiently-muted);
  font-weight: 500;
}

#patiently-speed-value {
  font-weight: 600;
  color: var(--patiently-primary);
  margin-left: 4px;
}

/* PWA Install Button (Desktop - Hero) */
.pt-hero-cta-install {
  background: linear-gradient(135deg, rgba(27, 39, 96, 0.04) 0%, rgba(27, 39, 96, 0.08) 100%);
  color: #1b2760;
  border: 1.5px solid #1b2760;
  padding: 13px 24px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 2px 8px rgba(27, 39, 96, 0.08);
}

.pt-hero-cta-install:hover {
  background: #0D9488;
  color: #ffffff;
  border-color: #0D9488;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3);
}

.pt-hero-cta-install svg {
  width: 18px;
  height: 18px;
  stroke: #1b2760;
  transition: stroke 0.2s ease;
}

.pt-hero-cta-install:hover svg {
  stroke: #ffffff;
}

/* Hide install button on mobile */
@media (max-width: 767px) {
  .pt-hero-cta-install {
    display: none !important;
  }
}

/* PWA Install Banner (Mobile) */
.pt-install-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  padding: 12px 16px;
  background: linear-gradient(135deg, #1b2760 0%, #2a3a7f 100%);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  animation: pt-slide-up 0.4s ease-out;
}

@keyframes pt-slide-up {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.pt-install-banner-content {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #ffffff;
}

.pt-install-banner-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  stroke: #ffffff;
  opacity: 0.9;
}

.pt-install-banner-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.pt-install-banner-text strong {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
}

.pt-install-banner-text span {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.3;
}

.pt-install-banner-install {
  flex-shrink: 0;
  background: #ffffff;
  color: #1b2760;
  border: none;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.pt-install-banner-install:hover {
  background: #f0f0f0;
  transform: scale(1.05);
}

.pt-install-banner-install:active {
  transform: scale(0.98);
}

.pt-install-banner-close {
  flex-shrink: 0;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.8);
  font-size: 24px;
  font-weight: 300;
  cursor: pointer;
  padding: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s ease;
  line-height: 1;
}

.pt-install-banner-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

/* Hide banner on desktop */
@media (min-width: 768px) {
  .pt-install-banner {
    display: none !important;
  }
}

/* Adjust for very small screens */
@media (max-width: 360px) {
  .pt-install-banner-text span {
    display: none;
  }
  
  .pt-install-banner-install {
    padding: 8px 12px;
    font-size: 12px;
  }
}

/* Footer */
.pt-footer {
  background: #FFFFFF;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  padding: 40px 24px;
  margin-top: 80px;
}

.pt-footer-content {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pt-footer-copyright {
  font-size: 14px;
  color: #6B7280;
  margin: 0;
  line-height: 1.6;
}

.pt-footer-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 13px;
}

.pt-footer-link {
  color: #6B7280;
  text-decoration: none;
  transition: color 0.2s ease;
  font-weight: 500;
}

.pt-footer-link:hover {
  color: #1b2760;
  text-decoration: underline;
}

.pt-footer-divider {
  color: #D1D5DB;
  font-weight: 300;
}

/* Mobile footer adjustments */
@media (max-width: 767px) {
  .pt-footer {
    padding: 32px 20px;
    margin-top: 60px;
    padding-bottom: 100px; /* Space for mobile install banner */
  }
  
  .pt-footer-content {
    gap: 16px;
  }
  
  .pt-footer-copyright {
    font-size: 13px;
  }
  
  .pt-footer-links {
    font-size: 12px;
    gap: 6px;
  }
}

/* Dark theme support */
[data-theme="dark"] .pt-footer {
  background: #0f172a;
  border-top-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .pt-footer-copyright,
[data-theme="dark"] .pt-footer-link {
  color: #94a3b8;
}

[data-theme="dark"] .pt-footer-link:hover {
  color: #60a5fa;
}

[data-theme="dark"] .pt-footer-divider {
  color: #475569;
}

/* Questions Loading State */
.patiently-questions-loading {
  color: var(--patiently-muted);
  font-style: italic;
  list-style: none;
  margin-left: -20px;
  padding: 8px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.patiently-questions-loading::before {
  content: '';
  width: 16px;
  height: 16px;
  border: 2px solid var(--patiently-border);
  border-top-color: var(--patiently-primary);
  border-radius: 50%;
  animation: patiently-spin 0.8s linear infinite;
}

/* Questions Actions (refresh + copy buttons) */
.patiently-questions-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.patiently-questions-refresh-btn,
.patiently-questions-copy-btn {
  width: 36px;
  height: 36px;
}

.patiently-questions-refresh-btn.is-spinning svg {
  animation: patiently-spin 0.8s linear infinite;
}

.patiently-questions-refresh-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Questions Section Font Size Variants */
.patiently-questions-section.font-small .patiently-questions-intro {
  font-size: 12px;
}
.patiently-questions-section.font-small .patiently-questions-list li {
  font-size: 13px;
}

.patiently-questions-section.font-medium .patiently-questions-intro {
  font-size: 13px;
}
.patiently-questions-section.font-medium .patiently-questions-list li {
  font-size: 14px;
}

.patiently-questions-section.font-large .patiently-questions-intro {
  font-size: 15px;
}
.patiently-questions-section.font-large .patiently-questions-list li {
  font-size: 16px;
}

/* Appointment Reminders Form Styles */
.patiently-reminder-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.patiently-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.patiently-form-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--patiently-text);
}

.patiently-form-input,
.patiently-form-textarea,
.patiently-form-select {
  width: 100%;
  padding: 12px 14px;
  background-color: var(--patiently-card-bg);
  color: var(--patiently-text);
  border: 1.5px solid var(--patiently-border);
  border-radius: 10px;
  font-size: 15px;
  font-family: inherit;
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.patiently-form-input:focus,
.patiently-form-textarea:focus,
.patiently-form-select:focus {
  border-color: var(--patiently-primary);
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
}

.patiently-form-input::placeholder,
.patiently-form-textarea::placeholder {
  color: #9CA3AF;
}

.patiently-form-textarea {
  resize: vertical;
  min-height: 80px;
}

.patiently-form-select {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%230D9488' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
}

.patiently-form-row {
  display: flex;
  gap: 12px;
}

.patiently-form-group-half {
  flex: 1;
}

/* Calendar Buttons */
.patiently-modal-footer-calendar {
  flex-direction: column;
  gap: 10px;
}

.patiently-btn-calendar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 14px 20px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
  border: none;
}

.patiently-btn-calendar-apple {
  background: #1f2937;
  color: #ffffff;
}

.patiently-btn-calendar-apple:hover {
  background: #111827;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.patiently-btn-calendar-google {
  background: #ffffff;
  color: #1f2937;
  border: 1.5px solid var(--patiently-border);
}

.patiently-btn-calendar-google:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Dark mode for reminder form */
[data-theme="dark"] .patiently-form-input,
[data-theme="dark"] .patiently-form-textarea,
[data-theme="dark"] .patiently-form-select {
  background-color: #0f172a;
  border-color: #334155;
  color: #f1f5f9;
}

[data-theme="dark"] .patiently-form-input::placeholder,
[data-theme="dark"] .patiently-form-textarea::placeholder {
  color: #64748b;
}

[data-theme="dark"] .patiently-btn-calendar-apple {
  background: #f1f5f9;
  color: #0f172a;
}

[data-theme="dark"] .patiently-btn-calendar-apple:hover {
  background: #ffffff;
}

[data-theme="dark"] .patiently-btn-calendar-google {
  background: #1e293b;
  color: #f1f5f9;
  border-color: #334155;
}

[data-theme="dark"] .patiently-btn-calendar-google:hover {
  background: #334155;
  border-color: #475569;
}

@media (max-width: 767px) {
  .patiently-form-row {
    flex-direction: column;
    gap: 16px;
  }
}

/* Mobile App Download Modal Styles */
.patiently-app-modal-content {
  max-width: 420px;
  overflow: hidden;
}

.patiently-app-modal-header {
  background: linear-gradient(135deg, #0D9488 0%, #0F766E 100%);
  padding: 32px 24px;
  text-align: center;
  position: relative;
}

.patiently-app-modal-header .patiently-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 20px;
}

.patiently-app-modal-header .patiently-modal-close:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}

.patiently-app-modal-icon {
  width: 64px;
  height: 64px;
  background: #ffffff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.patiently-app-modal-title {
  color: #ffffff;
  font-size: 24px;
  font-weight: 800;
  margin: 0 0 8px 0;
  font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: -0.02em;
}

.patiently-app-modal-subtitle {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  margin: 0;
  font-weight: 400;
}

.patiently-app-modal-body {
  padding: 24px;
}

.patiently-app-benefits {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}

.patiently-app-benefit {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.patiently-app-benefit-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(145deg, rgba(204, 251, 241, 0.9) 0%, rgba(153, 246, 228, 0.85) 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.15), inset 0 1px 1px rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(153, 246, 228, 0.5);
}

.patiently-app-benefit-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.patiently-app-benefit-text strong {
  font-size: 14px;
  font-weight: 600;
  color: var(--patiently-text);
}

.patiently-app-benefit-text span {
  font-size: 13px;
  color: var(--patiently-muted);
  line-height: 1.4;
}

.patiently-app-download {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  background: #F9FAFB;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
}

.patiently-app-store-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: #000000;
  color: #ffffff;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.patiently-app-store-btn:hover {
  background: #1a1a1a;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.patiently-app-store-text {
  display: flex;
  flex-direction: column;
}

.patiently-app-store-label {
  font-size: 10px;
  opacity: 0.9;
  line-height: 1.2;
}

.patiently-app-store-name {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
}

.patiently-app-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.patiently-app-qr-image {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
}

.patiently-app-qr-caption {
  font-size: 11px;
  color: var(--patiently-muted);
  font-weight: 500;
}

.patiently-app-modal-footer {
  padding: 16px 24px 24px;
  text-align: center;
  border-top: none;
}

.patiently-app-continue-btn {
  background: none;
  border: none;
  color: var(--patiently-muted);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  padding: 8px 16px;
  transition: all 0.2s ease;
}

.patiently-app-continue-btn:hover {
  color: var(--patiently-primary);
}

/* Dark mode support for app modal */
[data-theme="dark"] .patiently-app-modal-icon {
  background: #1e293b;
}

[data-theme="dark"] .patiently-app-modal-icon svg rect,
[data-theme="dark"] .patiently-app-modal-icon svg line {
  stroke: #60a5fa;
}

[data-theme="dark"] .patiently-app-benefit-icon {
  background: linear-gradient(145deg, rgba(30, 58, 95, 0.9) 0%, rgba(37, 99, 235, 0.2) 100%);
  border-color: rgba(96, 165, 250, 0.3);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .patiently-app-download {
  background: #1e293b;
  border-color: #334155;
}

[data-theme="dark"] .patiently-app-qr-image {
  border-color: #334155;
}

[data-theme="dark"] .patiently-note {
  color: #cbd5e1;
}

[data-theme="dark"] .patiently-privacy-line {
  background: linear-gradient(135deg, #134e4a 0%, #115e59 100%);
  border-color: rgba(20, 184, 166, 0.3);
  color: #5eead4;
}

/* Mobile responsive - hide elements on mobile */
@media (max-width: 768px) {
  .patiently-hide-mobile {
    display: none !important;
  }

  .patiently-modal {
    padding: 16px;
    box-sizing: border-box;
  }

  /* Keep modal-large (container) full width for overlay */
  .patiently-modal.patiently-modal-large {
    padding: 0;
    width: 100%;
  }

  .patiently-modal-large .patiently-modal-content {
    margin: 16px;
    width: calc(100% - 32px);
  }

  .patiently-modal-content,
  .patiently-app-modal-content,
  .patiently-settings-modal-content {
    max-width: 100%;
    width: calc(100% - 32px);
    margin: 0 auto;
    border-radius: 14px;
    box-sizing: border-box;
  }
}

@media (max-width: 480px) {
  .patiently-modal {
    padding: 12px;
    box-sizing: border-box;
  }

  /* Keep modal-large (container) full width for overlay */
  .patiently-modal.patiently-modal-large {
    padding: 0;
    width: 100%;
  }

  .patiently-modal-large .patiently-modal-content {
    margin: 12px;
    width: calc(100% - 24px);
  }

  .patiently-modal-content,
  .patiently-app-modal-content,
  .patiently-settings-modal-content {
    max-width: 100%;
    width: calc(100% - 24px);
    margin: 0 auto;
    border-radius: 12px;
    box-sizing: border-box;
  }

  .patiently-modal-header {
    padding: 16px 16px 12px;
  }

  .patiently-modal-title {
    font-size: 18px;
  }

  .patiently-modal-body {
    padding: 16px;
  }

  .patiently-modal-footer {
    padding: 12px 16px 16px;
  }

  /* App download modal specific */
  .patiently-app-modal-content {
    max-width: 100%;
  }

  .patiently-app-modal-header {
    padding: 24px 16px;
  }

  .patiently-app-modal-title {
    font-size: 20px;
  }

  .patiently-app-modal-subtitle {
    font-size: 13px;
  }

  .patiently-app-modal-body {
    padding: 16px;
  }

  .patiently-app-benefits {
    gap: 14px;
  }

  .patiently-app-benefit {
    gap: 12px;
  }

  .patiently-app-benefit-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }

  .patiently-app-benefit-title {
    font-size: 14px;
  }

  .patiently-app-benefit-desc {
    font-size: 12px;
  }

  .patiently-app-download {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 14px;
  }

  .patiently-app-store-btn {
    justify-content: center;
  }

  .patiently-app-qr {
    flex-direction: row;
    justify-content: center;
    gap: 12px;
  }

  .patiently-app-qr-image {
    width: 60px;
    height: 60px;
  }

  .patiently-app-modal-footer {
    padding: 12px 16px 16px;
  }

  .patiently-app-continue-btn {
    font-size: 14px;
    padding: 12px 20px;
  }

  /* Help modal specific */
  .patiently-modal-large {
    max-width: 100%;
  }

  .patiently-help-section {
    margin-bottom: 20px;
  }

  .patiently-help-heading {
    font-size: 15px;
  }

  .patiently-help-section p,
  .patiently-help-list {
    font-size: 13px;
  }

  /* Settings modal specific */
  .patiently-settings-modal-content {
    max-width: 100%;
  }
}
