@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Dancing+Script:wght@500;600;700&display=swap";
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5972bc34-module__OU16Qa__className{font-family:Inter,Inter Fallback;font-style:normal}
:root{--bg-primary:#0b132b;--bg-secondary:#1c2541;--bg-input:#1c2541;--text-primary:#fff;--text-secondary:#cbd5e1;--accent:#2563eb;--accent-cyan:#38bdf8;--accent-hover:#1d4ed8;--border:#334155;--border-glow:#38bdf8;--whatsapp-green:#25d366;--whatsapp-hover:#20ba5a;--transition-expo:all .3s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow:hidden}.font-script{font-family:Great Vibes,Dancing Script,cursive}.whatsapp-pulse-ring{z-index:1;pointer-events:none;background-color:#25d36666;border-radius:50%;width:72px;height:72px;animation:2s cubic-bezier(.16,1,.3,1) infinite whatsappPulse;position:absolute;top:-6px;left:-6px}@keyframes whatsappPulse{0%{opacity:.8;transform:scale(.85)}to{opacity:0;transform:scale(1.4)}}.app-container{background-color:var(--bg-primary);width:100vw;height:100vh;display:flex}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border);width:270px;transition:var(--transition-expo);z-index:10;flex-direction:column;display:flex;box-shadow:4px 0 25px #00000040}.sidebar-header{padding:1.25rem 1rem}.new-chat-btn{color:#fff;cursor:pointer;width:100%;transition:var(--transition-expo);background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:1px solid #3b82f6;border-radius:.6rem;align-items:center;gap:.6rem;padding:.85rem 1rem;font-weight:700;display:flex;box-shadow:0 4px 15px #2563eb59}.new-chat-btn:hover{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);transform:translateY(-2px)scale(1.02);box-shadow:0 6px 20px #3b82f680,0 0 15px #38bdf84d}.sidebar-content{flex:1;padding:.75rem .6rem;overflow-y:auto}.session-item{color:var(--text-secondary);cursor:pointer;transition:var(--transition-expo);text-align:left;background:0 0;border:1px solid #0000;border-radius:.6rem;justify-content:space-between;align-items:center;width:100%;margin-bottom:.4rem;padding:.75rem .9rem;font-size:.93rem;font-weight:500;text-decoration:none;display:flex}.session-item:hover{color:#fff;background-color:#38bdf81f;border-color:#38bdf84d;transform:translate(3px)}.session-item.active{color:#fff;border:1px solid var(--accent-cyan);background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);font-weight:700;box-shadow:0 4px 18px #38bdf833}.session-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.delete-session-btn{color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px 4px;transition:opacity .2s,color .2s;display:flex}.session-item:hover .delete-session-btn{opacity:1}.delete-session-btn:hover{color:#f87171;background-color:#f8717126}.sidebar-footer{border-top:1px solid var(--border);padding:1rem}.main-chat{background-color:var(--bg-primary);flex-direction:column;flex:1;display:flex;position:relative}.chat-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#1c2541d9;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.chat-header h2{color:var(--text-primary);letter-spacing:-.02em;font-weight:700}.messages-container{flex:1;padding:2rem 0;overflow-y:auto}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(14px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.message-wrapper{border-bottom:1px solid #0000;justify-content:center;padding:1.75rem 2rem;animation:.35s cubic-bezier(.16,1,.3,1) forwards messageSlideIn;display:flex}.message-wrapper.assistant{border-bottom-color:var(--border);border-top:1px solid var(--border);background-color:#162032}.message-content{gap:1.5rem;width:100%;max-width:52rem;display:flex}.avatar{width:36px;height:36px;transition:var(--transition-expo);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.avatar.user{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 4px 14px #2563eb66}.avatar.assistant{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 14px #10b98166}.message-text{color:#cbd5e1;flex:1;font-size:1.02rem;line-height:1.7}.message-text h1,.message-text h2,.message-text h3,.message-text strong{color:#fff;font-weight:700}.message-text p{margin-bottom:.85rem}.message-text code{color:#38bdf8;background-color:#090d16;border:1px solid #334155;border-radius:4px;padding:.2rem .4rem;font-size:.92rem}.message-text pre{border:1px solid #334155;border-radius:8px;margin:1rem 0;padding:1rem;overflow-x:auto;background-color:#090d16!important}.input-area{background:linear-gradient(#0b132b00 0%,#0b132b 40%);padding:1.5rem 2rem}.input-container{max-width:52rem;transition:var(--transition-expo);background-color:#1c2541;border:1.5px solid #334155;border-radius:1.2rem;align-items:flex-end;margin:0 auto;padding:.85rem 6.5rem .85rem 1.35rem;display:flex;position:relative;box-shadow:0 10px 30px #00000059}.input-container:focus-within{border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 0 25px #38bdf84d,0 10px 35px #00000073}.chat-input{color:#fff;resize:none;background:0 0;border:none;outline:none;width:100%;max-height:200px;font-size:1.05rem;line-height:1.6}.chat-input::placeholder{color:#64748b}.send-btn{color:#fff;cursor:pointer;width:38px;height:38px;transition:var(--transition-expo);background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 14px #2563eb66}.send-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);transform:scale(1.08)translateY(-1px);box-shadow:0 6px 20px #3b82f699,0 0 12px #38bdf866}.input-container.listening-active{border-color:#ef4444!important;box-shadow:0 0 22px #ef44444d!important}.chat-input{width:100%;color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;max-height:200px;font-size:1rem;line-height:1.5}.input-action-buttons{align-items:center;gap:.4rem;display:flex;position:absolute;bottom:.6rem;right:.6rem}.mic-btn{color:var(--text-secondary);cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.mic-btn:hover:not(:disabled){color:var(--text-primary);background-color:#ffffff14;transform:scale(1.05)}.mic-btn:disabled{opacity:.4;cursor:not-allowed}.mic-btn.listening{color:#fff;background-color:#ef4444;border-color:#ef4444;animation:1.5s infinite pulseMic;box-shadow:0 0 14px #ef444499}@keyframes pulseMic{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.mic-pulsing-icon{justify-content:center;align-items:center;display:flex}.send-btn{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background-color .2s,transform .15s;display:flex}.send-btn:hover:not(:disabled){background-color:var(--accent-hover);transform:scale(1.04)}.send-btn:disabled{background-color:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;opacity:.6}.message-audio-controls{border-top:1px solid #ffffff14;align-items:center;gap:.5rem;margin-top:1.25rem;padding-top:.85rem;display:flex}.audio-play-btn{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#ffffff0a;border-radius:2rem;align-items:center;gap:.55rem;padding:.45rem .95rem;font-size:.825rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.audio-play-btn:hover{color:var(--accent);background-color:#6366f126;border-color:#6366f159;transform:translateY(-1px);box-shadow:0 4px 12px #6366f12e}.audio-play-btn.playing{color:#10b981;background-color:#10b98126;border-color:#10b981;box-shadow:0 0 14px #10b98147}.audio-wave-bars{align-items:flex-end;gap:2.5px;height:14px;display:flex}.audio-wave-bars .bar{background-color:#10b981;border-radius:1px;width:3px;animation:.7s ease-in-out infinite alternate audioWave}.audio-wave-bars .bar:first-child{height:6px;animation-delay:0s}.audio-wave-bars .bar:nth-child(2){height:13px;animation-delay:.2s}.audio-wave-bars .bar:nth-child(3){height:9px;animation-delay:.4s}@keyframes audioWave{0%{transform:scaleY(.35)}to{transform:scaleY(1.25)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.3s ease-out forwards fadeIn}.typing-dots{align-items:center;gap:.25rem;height:24px;display:flex}.dot{background-color:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both bounce}.dot:first-child{animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.login-container{background-color:var(--bg-primary);background:radial-gradient(circle at 50% 30%,#1c2541 0%,#0b132b 75%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-bg-glow-1{filter:blur(60px);pointer-events:none;background:radial-gradient(circle,#38bdf824 0%,#2563eb0a 55%,#0000 70%);width:380px;height:380px;position:absolute;top:15%;left:25%}.login-bg-glow-2{filter:blur(70px);pointer-events:none;background:radial-gradient(circle,#6366f11f 0%,#8b5cf60a 55%,#0000 70%);width:420px;height:420px;position:absolute;bottom:15%;right:25%}.login-card{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#1c2541f2 0%,#0f172afa 100%);border:1.5px solid #38bdf838;border-radius:1.25rem;width:100%;max-width:440px;padding:2.75rem 2.5rem;position:relative;box-shadow:0 25px 55px #0000008c,0 0 35px #38bdf81f}.login-brand-header{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.login-logo-img{object-fit:contain;filter:drop-shadow(0 2px 8px #38bdf84d);width:auto;height:38px}.login-brand-title{color:var(--text-primary);text-shadow:0 2px 12px #00000080;font-size:2.2rem;font-weight:500;line-height:1}.login-brand-badge{color:#1e293b;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(135deg,#e2e8f0 0%,#94a3b8 100%);border-radius:.35rem;padding:.22rem .6rem;font-size:.65rem;font-weight:800;line-height:1;box-shadow:0 2px 8px #0003}.login-header-text{text-align:center;margin-bottom:1.85rem}.login-heading{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#e2e8f0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.45rem;font-size:1.75rem;font-weight:700}.login-subheading{color:#94a3b8;max-width:360px;margin:0 auto;font-size:.88rem;font-weight:400;line-height:1.5}.login-form{flex-direction:column;gap:1.35rem;display:flex}.form-group{flex-direction:column;gap:.45rem;display:flex}.form-label{color:#cbd5e1;letter-spacing:.01em;font-size:.85rem;font-weight:600}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:#64748b;pointer-events:none;width:18px;height:18px;transition:color .2s;position:absolute;left:.9rem}.input-with-icon:focus-within .input-icon{color:var(--accent-cyan)}.form-input.icon-padded{padding-left:2.6rem}.form-input.right-padded{padding-right:2.6rem}.form-input{border:1.5px solid var(--border);color:#fff;width:100%;transition:var(--transition-expo);background-color:#0f172ad9;border-radius:.65rem;outline:none;padding:.8rem 1rem;font-size:.95rem}.form-input::placeholder{color:#64748b}.form-input:focus{border-color:var(--accent-cyan);background-color:#0f172afa;box-shadow:0 0 18px #38bdf840}.password-toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.35rem;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex;position:absolute;right:.8rem}.password-toggle-btn svg{width:18px;height:18px}.password-toggle-btn:hover{color:#cbd5e1}.login-btn{color:#fff;cursor:pointer;width:100%;transition:var(--transition-expo);background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:1px solid #3b82f6;border-radius:.65rem;justify-content:center;align-items:center;gap:.6rem;margin-top:.5rem;padding:.9rem 1.25rem;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 15px #2563eb66}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);transform:translateY(-2px)scale(1.01);box-shadow:0 6px 20px #3b82f680,0 0 15px #38bdf84d}.login-btn:disabled{opacity:.65;cursor:not-allowed}.spinner-icon{width:18px;height:18px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{color:#f87171;text-align:center;background-color:#ef44441f;border:1px solid #ef44444d;border-radius:.5rem;margin-top:.25rem;padding:.65rem .85rem;font-size:.875rem}.login-footer-security{color:#64748b;border-top:1px solid #ffffff14;justify-content:center;align-items:center;gap:.5rem;margin-top:1.85rem;padding-top:1.25rem;font-size:.78rem;font-weight:500;display:flex}.markdown-body{color:var(--text-primary);line-height:1.7}.markdown-body p{margin-bottom:.75rem}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{color:#fff;font-weight:600}.markdown-body ul,.markdown-body ol{margin-bottom:.75rem;margin-left:1.5rem}.markdown-body li{margin-bottom:.35rem}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:#fff;margin-top:1rem;margin-bottom:.5rem;font-weight:600}.markdown-body code{background-color:#ffffff1a;border-radius:4px;padding:.2rem .4rem;font-family:monospace;font-size:.9em}.markdown-body pre{background-color:var(--bg-input);border:1px solid var(--border);border-radius:.5rem;margin-bottom:.75rem;padding:1rem;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin-bottom:.75rem;padding-left:1rem}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background-color:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background-color:var(--bg-secondary);border:1px solid #ffffff1f;border-radius:1.25rem;flex-direction:column;width:100%;max-width:580px;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}.glass-panel{background:linear-gradient(135deg,#1e1e23f2 0%,#121216fa 100%)}.modal-header{border-bottom:1px solid var(--border);background-color:#0003;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.header-title{align-items:center;gap:.75rem;display:flex}.icon-badge{font-size:1.25rem}.modal-header h3{color:#fff;margin:0;font-size:1.2rem;font-weight:600}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.35rem;transition:all .2s}.close-btn:hover{color:#fff;background-color:#ffffff1a}.modal-body{padding:1.5rem}.modal-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:#ffffff05;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 1.5rem;transition:all .25s;display:flex}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:#6366f10d;transform:translateY(-2px)}.dropzone.has-file{background:#10b9810d;border-style:solid;border-color:#10b98166;padding:1.5rem}.dropzone-empty{flex-direction:column;align-items:center;gap:.5rem;display:flex}.upload-cloud-icon{margin-bottom:.5rem;transition:transform .3s}.dropzone:hover .upload-cloud-icon{transform:scale(1.08)translateY(-3px)}.drop-title{color:var(--text-primary);font-size:1.05rem;font-weight:600}.drop-or{color:var(--text-secondary);font-size:.85rem}.text-accent{color:var(--accent-hover);text-decoration:underline}.supported-formats{color:#64748b;margin-top:.5rem;font-size:.75rem}.selected-file-preview{flex-direction:column;align-items:center;gap:.5rem;display:flex}.file-icon-large{font-size:2.5rem}.file-details{flex-direction:column;align-items:center;display:flex}.file-name{color:#a7f3d0;word-break:break-all;font-size:1rem;font-weight:600}.file-size{color:var(--text-secondary);font-size:.8rem}.change-file-prompt{color:var(--accent-hover);margin-top:.5rem;font-size:.75rem}.loading-progress-panel{background-color:#6366f11a;border:1px solid #6366f14d;border-radius:.75rem;align-items:center;gap:1rem;margin-top:1.25rem;padding:1rem;display:flex}.spinner{border:3px solid #6366f133;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:24px;height:24px;animation:1s linear infinite rotate}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-status-text{color:#c7d2fe;font-size:.9rem;font-weight:500}.status-container{text-align:center;border-radius:1rem;padding:1rem}.status-container.success{background:#10b9811a;border:1px solid #10b9814d}.success-icon{margin-bottom:.5rem;font-size:3rem}.status-container.success h4{color:#10b981;margin-bottom:.75rem;font-size:1.2rem;font-weight:600}.file-info-text{color:var(--text-primary);margin-bottom:.25rem;font-size:.9rem}.extracted-preview-box{text-align:left;margin-top:1rem}.preview-label{color:var(--text-secondary);margin-bottom:.35rem;font-size:.8rem;display:block}.extracted-preview-box pre{border:1px solid var(--border);color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background-color:#0006;border-radius:.5rem;max-height:140px;padding:.75rem;font-size:.8rem;overflow-y:auto}.error-box{color:#fca5a5;background-color:#ef444426;border:1px solid #ef444466;border-radius:.75rem;align-items:flex-start;gap:.75rem;margin-top:1.25rem;padding:.85rem 1rem;font-size:.88rem;display:flex}.error-icon{flex-shrink:0;font-size:1.1rem}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.mt-4{margin-top:1.5rem}.btn-primary{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-primary:disabled{color:#64748b;cursor:not-allowed;box-shadow:none;background-color:#ffffff14}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background-color:#0000;border-radius:.5rem;padding:.65rem 1.1rem;font-size:.9rem;transition:all .2s}.btn-secondary:hover:not(:disabled){color:#fff;background-color:#ffffff0d}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.animate-fadeIn{animation:.25s ease-out forwards fadeInModal}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.pdf-link-wrapper{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.35rem 0;display:inline-flex}.pdf-open-link{text-underline-offset:3px;font-weight:500;transition:color .2s;color:#818cf8!important;text-decoration:underline!important}.pdf-open-link:hover{color:#a5b4fc!important}.pdf-download-btn{cursor:pointer;background-color:#6366f126;border:1px solid #6366f159;border-radius:.5rem;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.82rem;font-weight:500;line-height:1.2;transition:all .2s;display:inline-flex;color:#c7d2fe!important;text-decoration:none!important}.pdf-download-btn:hover{background-color:#6366f14d;border-color:#6366f199;transform:translateY(-1px);box-shadow:0 2px 8px #6366f140;color:#fff!important}.spinner-mini{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite rotate;display:inline-block}.diagram-image-container{background-color:#0f172a99;border:1px solid #6366f14d;border-radius:.75rem;margin:1.25rem 0;transition:all .25s;overflow:hidden;box-shadow:0 4px 16px #00000040}.diagram-image-container:hover{border-color:#6366f18c;box-shadow:0 6px 24px #6366f126}.diagram-image-header{background:linear-gradient(135deg,#6366f126 0%,#1e293b66 100%);border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.88rem;display:flex}.diagram-label{color:#c7d2fe;align-items:center;gap:.5rem;font-weight:600;display:flex}.diagram-expand-btn{color:#fff;cursor:pointer;background:#6366f133;border:1px solid #6366f166;border-radius:.5rem;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.diagram-expand-btn:hover{background:#6366f166;transform:translateY(-1px);box-shadow:0 2px 10px #6366f14d}.diagram-image-preview{text-align:center;cursor:zoom-in;background-color:#fff;padding:1rem;position:relative}.diagram-image-preview img{object-fit:contain;width:auto;max-height:550px;margin:0 auto;transition:transform .2s;display:block}.diagram-image-preview:hover img{transform:scale(1.01)}.diagram-hover-hint{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#000000bf;border-radius:9999px;padding:.35rem .75rem;font-size:.75rem;transition:opacity .2s;position:absolute;bottom:.75rem;right:.75rem}.diagram-image-preview:hover .diagram-hover-hint{opacity:1}.diagram-lightbox-overlay{z-index:99999;background-color:#0b0f19;flex-direction:column;width:100vw;height:100vh;padding:0;animation:.2s ease-out fadeInModal;display:flex;position:fixed;inset:0;overflow:hidden}.diagram-lightbox-content{flex-direction:column;width:100%;max-width:none;height:100%;margin:0;display:flex}.diagram-lightbox-header{color:#fff;z-index:10;background:#111827;border:none;border-bottom:1px solid #ffffff26;border-radius:0;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.5rem;display:flex}.diagram-lightbox-header h3{color:#c7d2fe;margin:0;font-size:1.1rem;font-weight:600}.diagram-lightbox-title-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.diagram-zoom-badge{color:#a5b4fc;background:#6366f140;border:1px solid #6366f166;border-radius:1rem;padding:.2rem .65rem;font-family:monospace;font-size:.82rem;font-weight:600;box-shadow:0 2px 8px #0003}.diagram-lightbox-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.diagram-zoom-controls{background:#0f172a99;border:1px solid #ffffff26;border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem .4rem;display:flex}.diagram-zoom-btn{color:#e2e8f0;cursor:pointer;background:0 0;border:none;border-radius:.35rem;align-items:center;gap:.3rem;padding:.35rem .65rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.diagram-zoom-btn:hover:not(:disabled){color:#fff;background:#6366f159;transform:translateY(-1px)}.diagram-zoom-btn:disabled{opacity:.35;cursor:not-allowed}.diagram-zoom-btn.reset-btn{background:#ffffff14;font-weight:600}.diagram-zoom-btn.reset-btn:hover{background:#ffffff2e}.diagram-lightbox-btn{background-color:var(--accent);border-radius:.5rem;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.9rem;font-weight:500;transition:background-color .2s;display:inline-flex;color:#fff!important;text-decoration:none!important}.diagram-lightbox-btn:hover{background-color:var(--accent-hover)}.diagram-lightbox-close{color:#fca5a5;cursor:pointer;background:#ef444433;border:1px solid #ef444466;border-radius:.5rem;padding:.45rem .85rem;font-weight:600;transition:all .2s}.diagram-lightbox-close:hover{color:#fff;background:#ef444459}.diagram-lightbox-scroll{cursor:grab;-webkit-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none;background:#0b0f19;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:1rem;display:flex;position:relative;overflow:hidden}.diagram-lightbox-scroll::-webkit-scrollbar{display:none}.diagram-lightbox-scroll.is-dragging{cursor:grabbing!important}.diagram-lightbox-scroll img{object-fit:contain;background:#fff;border-radius:.5rem;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 110px);box-shadow:0 10px 40px #000000b3}.diagram-lightbox-hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#cbd5e1;pointer-events:none;z-index:10;background:#0f172aeb;border:1px solid #6366f14d;border-radius:2rem;padding:.45rem 1rem;font-size:.78rem;position:absolute;bottom:1.25rem;box-shadow:0 4px 20px #00000080}.mermaid-render-box{background:#0f172ab3;border:1px solid #ffffff14;border-radius:.5rem;justify-content:center;align-items:center;padding:1.5rem;display:flex;overflow:auto}.mermaid-svg-wrapper{justify-content:center;max-width:100%;display:flex}.mermaid-svg-wrapper svg{max-width:100%;height:auto;max-height:400px}.mermaid-fullscreen-scroll{background:#0b0f19!important;justify-content:center!important;align-items:center!important;padding:1rem!important;display:flex!important}.mermaid-svg-fullscreen{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.mermaid-svg-fullscreen svg{object-fit:contain;filter:drop-shadow(0 10px 30px #000c);width:auto!important;max-width:100%!important;height:auto!important;max-height:calc(100vh - 110px)!important}.mermaid-preview-container.error-state{color:#fca5a5;background:#ef444414;border:1px dashed #ef444466;border-radius:.75rem;margin-top:.75rem;padding:1.25rem}.mermaid-error-header{color:#ef4444;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:flex}.error-hint-text{color:#f87171;margin:0;font-size:.85rem;line-height:1.5}.error-hint-text code{color:#fed7aa;background:#0000004d;border-radius:.25rem;padding:.1rem .35rem;font-family:monospace}.mermaid-toggle-section{background:#ffffff08;border:1px solid #ffffff1a;border-radius:.85rem;margin-top:1.5rem;padding:1rem 1.25rem;transition:all .3s}.mermaid-toggle-section:hover,.mermaid-toggle-section.active{background:#6366f108;border-color:#6366f166}.mermaid-toggle-header{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.mermaid-toggle-title{color:#f1f5f9;align-items:center;gap:.6rem;font-size:.95rem;font-weight:500;display:flex}.mermaid-toggle-subtitle{color:var(--text-secondary);margin-top:.2rem;font-size:.8rem}.custom-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.custom-switch input{opacity:0;width:0;height:0}.switch-slider{cursor:pointer;background-color:#ffffff26;border-radius:24px;transition:all .3s;position:absolute;inset:0}.switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0000004d}input:checked+.switch-slider{background:linear-gradient(135deg,#6366f1,#8b5cf6)}input:checked+.switch-slider:before{transform:translate(20px)}.mermaid-editor-panel{border-top:1px solid #ffffff14;flex-direction:column;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.templates-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.templates-label{color:#94a3b8;margin-right:.25rem;font-size:.8rem;font-weight:500}.template-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:2rem;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;transition:all .2s;display:inline-flex}.template-btn:hover{color:#fff;background:#6366f133;border-color:#6366f180;transform:translateY(-1px)}.mermaid-textarea{color:#38bdf8;resize:vertical;background:#0f172ad9;border:1px solid #ffffff26;border-radius:.65rem;outline:none;width:100%;min-height:140px;padding:.85rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.88rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}.mermaid-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.syntax-status-bar{border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.82rem;font-weight:500;display:flex}.syntax-status-bar.valid{color:#34d399;background:#10b9811a;border:1px solid #10b9814d}.syntax-status-bar.invalid{color:#f87171;background:#ef44441a;border:1px solid #ef44444d}.mermaid-live-preview-section{flex-direction:column;gap:.5rem;display:flex}.preview-section-title{color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;display:flex}
