:root{--bg-color: #0f172a;--text-color: #f8fafc;--primary-color: #818cf8;--secondary-color: #38bdf8;--accent-color: #c084fc;--card-bg: #1e293b;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:var(--secondary-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--accent-color)}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:700;line-height:1.2}button{cursor:pointer;border:none;outline:none;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;transition:transform .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #818cf866}.container{max-width:1200px;margin:0 auto;padding:2rem}.card{background-color:var(--card-bg);padding:2rem;border-radius:16px;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;align-items:center;text-align:center}.card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0006,0 10px 10px -5px #0000004d;border-color:#ffffff1a}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes hue-shift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.logo-animated{animation:spin-slow 20s linear infinite,hue-shift 30s linear infinite}.text-pop{font-weight:900;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 50%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(129,140,248,.3);letter-spacing:-.02em}.persona-image{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:1.5rem;border:4px solid rgba(255,255,255,.1);box-shadow:0 0 20px #0000004d}.nav-link{color:var(--text-color);font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:background-color .2s ease}.nav-link:hover{background-color:#ffffff1a;color:#fff;text-decoration:none}.backend-status{display:flex;align-items:center;gap:.5rem;padding:0;cursor:help;transition:all .3s ease}.backend-status:hover{opacity:.85}.status-icon{transition:transform .3s ease}.backend-status:hover .status-icon{transform:scale(1.1)}.status-loading{animation:spin 2s linear infinite}.status-healthy,.status-unhealthy{transition:opacity .3s ease}.backend-version{font-size:.875rem;font-weight:600;color:#ffffffe6;letter-spacing:.02em}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,var(--bg-color) 0%,#1e293b 100%)}.login-card{background:linear-gradient(135deg,#1e293be6,#0f172ae6);padding:3rem 2.5rem;border-radius:24px;box-shadow:0 20px 60px #00000080,0 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.1);max-width:420px;width:100%;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:600;color:#ffffffe6;letter-spacing:.02em}.form-input{padding:.875rem 1rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-color);font-size:1rem;font-family:var(--font-family);transition:all .3s ease;outline:none}.form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #818cf81a;background:#0f172acc}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-input::placeholder{color:#fff6}.error-message{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:#fca5a5;font-size:.875rem;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-button{margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-button:disabled:hover{transform:none;box-shadow:none}.spinner{animation:spin 1s linear infinite}.login-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.logout-button{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#fca5a5;font-weight:500;font-size:.875rem;transition:all .2s ease;cursor:pointer}.logout-button:hover{background:#ef444433;border-color:#ef444480;transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}.loading-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);z-index:9999}.loading-icon-container{position:relative;width:140px;height:140px;animation:loading-float 3s ease-in-out infinite}@keyframes loading-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loading-icon{width:100%;height:100%;filter:drop-shadow(0 0 30px rgba(129,140,248,.6))}.loading-pulse-ring{position:absolute;inset:-20px;border:2px solid rgba(129,140,248,.3);border-radius:50%;animation:loading-pulse 2s ease-out infinite}.loading-pulse-ring:nth-child(2){animation-delay:.5s}.loading-pulse-ring:nth-child(3){animation-delay:1s}@keyframes loading-pulse{0%{transform:scale(.8);opacity:.8}to{transform:scale(1.8);opacity:0}}.loading-drop-path{stroke-dasharray:200;animation:loading-drop-draw 3s ease-in-out infinite}@keyframes loading-drop-draw{0%{stroke-dashoffset:200}50%{stroke-dashoffset:50}to{stroke-dashoffset:200}}.loading-node{animation:loading-node-pulse 2s ease-in-out infinite}.loading-node-1{animation-delay:0s}.loading-node-2{animation-delay:.2s}.loading-node-3{animation-delay:.4s}.loading-node-4{animation-delay:.6s}.loading-node-5{animation-delay:.8s}.loading-node-6{animation-delay:1s}@keyframes loading-node-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.3);opacity:1}}.loading-connection{opacity:.5;animation:loading-connection-flash 1.5s ease-in-out infinite}.loading-connection-1{animation-delay:0s}.loading-connection-2{animation-delay:.1s}.loading-connection-3{animation-delay:.2s}.loading-connection-4{animation-delay:.3s}.loading-connection-5{animation-delay:.4s}.loading-connection-6{animation-delay:.5s}@keyframes loading-connection-flash{0%,to{opacity:.5}50%{opacity:1}}.loading-title{margin-top:2.5rem;font-size:2.5rem;font-weight:900;background:linear-gradient(135deg,#818cf8,#38bdf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.loading-subtitle{margin-top:.5rem;font-size:1rem;font-weight:600;color:#f8fafcb3;letter-spacing:.05em}.loading-glucose-wave-container{margin-top:2.5rem;width:200px;height:50px;position:relative;overflow:hidden}.loading-glucose-wave{position:absolute;width:400px;height:100%;animation:loading-glucose-flow 2s linear infinite}@keyframes loading-glucose-flow{0%{transform:translate(0)}to{transform:translate(-200px)}}.loading-dots{display:flex;gap:.5rem;margin-top:2rem}.loading-dot{width:10px;height:10px;background:linear-gradient(135deg,#818cf8,#c084fc);border-radius:50%;animation:loading-bounce 1.4s ease-in-out infinite both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}.loading-dot:nth-child(3){animation-delay:0s}@keyframes loading-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-message{margin-top:1.5rem;font-size:.875rem;color:#f8fafc80;text-align:center;max-width:280px;line-height:1.5}.loading-neural-bg{position:absolute;inset:0;overflow:hidden;opacity:.15;pointer-events:none}.loading-neural-node{position:absolute;width:6px;height:6px;background:#38bdf8;border-radius:50%;animation:loading-neural-pulse 3s ease-in-out infinite}@keyframes loading-neural-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.blood-drop-wrapper{display:flex;justify-content:center;align-items:center;padding:20px}.blood-drop{width:24px;height:24px;background:radial-gradient(circle at 35% 35%,#ff6b6b,#c0392b);border-radius:0 50% 50%;transform:rotate(45deg);box-shadow:2px 2px 10px #c0392b66;animation:blood-dance 1.5s infinite ease-in-out;position:relative}.blood-drop:after{content:"";position:absolute;top:15%;left:15%;width:6px;height:6px;background:#fff9;border-radius:50%;filter:blur(1px)}@keyframes blood-dance{0%{transform:rotate(45deg) translateY(0) scale(1);border-radius:0 50% 50%}20%{transform:rotate(45deg) translateY(-12px) scaleY(1.1) scaleX(.95);border-radius:5% 50% 50%}40%{transform:rotate(45deg) translateY(0) scaleY(.9) scaleX(1.1);border-radius:0 55% 55%}60%{transform:rotate(45deg) translateY(-6px) scaleY(1.05) scaleX(.98);border-radius:2% 50% 50%}80%{transform:rotate(45deg) translateY(0) scaleY(.95) scaleX(1.02);border-radius:0 52% 52%}to{transform:rotate(45deg) translateY(0) scale(1);border-radius:0 50% 50%}}.blood-drop-shadow{width:20px;height:4px;background:#0003;border-radius:50%;margin-top:20px;animation:shadow-pulse 1.5s infinite ease-in-out}@keyframes shadow-pulse{0%,to{transform:scale(1);opacity:.2}20%{transform:scale(.6);opacity:.1}40%{transform:scale(1.1);opacity:.3}60%{transform:scale(.8);opacity:.15}80%{transform:scale(1.05);opacity:.25}}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-secondary, #1a1a2e);border-radius:16px;width:95%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:#0003}.modal-header h2{margin:0;color:var(--text-primary, #fff);font-size:1.25rem;flex:1}.session-id{font-family:monospace;font-size:.85rem;color:var(--text-secondary, #888);background:#ffffff0d;padding:.25rem .5rem;border-radius:4px}.close-btn{background:transparent;border:none;color:var(--text-secondary, #888);font-size:2rem;cursor:pointer;line-height:1;padding:0;transition:color .2s}.close-btn:hover{color:var(--text-primary, #fff)}.events-timeline{padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.no-events{text-align:center;color:var(--text-secondary, #888);padding:3rem}.event-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.event-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.event-card.has-error,.event-card.error{border-color:#ef444480;background:#ef44441a}.event-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.05)}.event-icon{font-size:1rem}.event-type{font-weight:600;color:var(--text-primary, #fff);text-transform:capitalize;flex:1}.event-time{font-size:.85rem;color:var(--text-secondary, #888)}.event-body{padding:.5rem .75rem}.event-details p{margin:.25rem 0;color:var(--text-secondary, #ccc);font-size:.9rem}.user-agent{word-break:break-all;font-size:.85rem!important}.chat-message-content,.chat-response-content{display:flex;flex-direction:column;gap:.5rem}.message-bubble{padding:.5rem .75rem;border-radius:8px;max-width:100%;word-wrap:break-word;line-height:1.4;font-size:.9rem}.message-bubble.user{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.message-bubble.assistant{background:#4ade8026;border:1px solid rgba(74,222,128,.3);color:var(--text-primary, #fff);align-self:flex-start;border-bottom-left-radius:4px}.message-length{font-size:.75rem;color:var(--text-secondary, #888);align-self:flex-end}.truncated{color:var(--text-secondary, #888);font-style:italic}.metrics{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.metric{font-size:.85rem;color:var(--text-secondary, #aaa);background:#ffffff0d;padding:.25rem .75rem;border-radius:20px}.error-content{display:flex;flex-direction:column;gap:1rem}.error-info{color:#ef4444}.error-info p{margin:.5rem 0}.error-type strong,.error-message strong{color:#f87171}.stacktrace-container{background:#0000004d;border-radius:8px;overflow:hidden}.stacktrace-container summary{padding:.75rem 1rem;cursor:pointer;color:#f87171;font-weight:500;-webkit-user-select:none;user-select:none;transition:background .2s}.stacktrace-container summary:hover{background:#ef44441a}.stacktrace{margin:0;padding:1rem;background:#0006;color:#fca5a5;font-family:Fira Code,Monaco,monospace;font-size:.75rem;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-all}@media(max-width:640px){.modal-content{width:95%;max-height:90vh;margin:1rem}.modal-header{flex-wrap:wrap}.session-id{order:1;flex-basis:100%}.metrics{flex-direction:column;gap:.5rem}}.admin-container{background-color:var(--bg-color);min-height:100vh;color:var(--text-color)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-title{font-size:2rem;font-weight:700;color:var(--secondary-color);margin:0}.tab-buttons{display:flex;gap:.5rem}.tab-btn{padding:.75rem 1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:var(--text-color);cursor:pointer;font-size:.9rem;transition:all .2s}.tab-btn:hover{background:#ffffff1a}.tab-btn.active{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-color:transparent;color:#fff}.table-container{background-color:var(--card-bg);border-radius:12px;border:1px solid rgba(255,255,255,.1);overflow-x:auto;box-shadow:0 4px 20px #0003}.admin-table{width:100%;border-collapse:collapse;font-size:.95rem;text-align:left}.admin-table th{background-color:#0003;color:#ffffffb3;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.admin-table td{padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text-color)}.admin-table tr:hover{background-color:#ffffff08}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.role-badge.admin{background-color:#c084fc33;color:#e9d5ff}.role-badge.user{background-color:#38bdf833;color:#bae6fd}.role-badge.pending{background-color:#fbbf2433;color:#fde68a}.action-buttons{display:flex;gap:.5rem}.btn-action{padding:.4rem .8rem;font-size:.85rem;border-radius:6px;font-weight:500;cursor:pointer;background:transparent;border:1px solid transparent;transition:all .2s}.btn-approve{color:#34d399;border-color:#34d39933}.btn-approve:hover:not(:disabled){background-color:#34d3991a;transform:translateY(-1px)}.btn-suspend{color:#fbbf24;border-color:#fbbf2433}.btn-suspend:hover:not(:disabled){background-color:#fbbf241a;transform:translateY(-1px)}.btn-admin{color:#c084fc;border-color:#c084fc33}.btn-admin:hover{background-color:#c084fc1a;transform:translateY(-1px)}.btn-action:disabled{opacity:.3;cursor:not-allowed;transform:none}.activity-table .user-row{background:#ffffff05}.activity-table .user-row:hover{background:#ffffff0d}.activity-table .clickable{cursor:pointer}.activity-table .session-row{background:#0000001a}.activity-table .session-row:hover{background:#4f46e51a}.activity-table .session-row.has-errors{background:#ef44440d}.activity-table .session-row.has-errors:hover{background:#ef44441a}.user-email{font-weight:500;margin-right:.75rem}.stat-cell{white-space:nowrap}.stat-inline{display:inline-block;margin-right:1rem;color:#ffffffb3;font-size:.85rem}.stat-inline.error-stat{color:#ef4444}.indent-cell{padding-left:2rem!important;color:#ffffff80}.loading-cell,.empty-cell{text-align:center;color:#ffffff80;padding:1rem!important}.expand-icon{color:#ffffff80;font-size:.75rem}.btn-view{padding:.25rem .75rem;font-size:.8rem;border-radius:4px;background:#4f46e533;border:1px solid rgba(79,70,229,.4);color:#a5b4fc;cursor:pointer;transition:all .2s}.btn-view:hover{background:#4f46e566}.loading-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999}.loading-spinner{background:var(--card-bg);padding:2rem;border-radius:12px;color:var(--text-color)}@media(max-width:768px){.admin-header{flex-direction:column;align-items:flex-start}.stat-inline{display:block;margin-bottom:.25rem}}.settings-page{min-height:calc(100vh - 140px);padding:2rem;background:linear-gradient(135deg,#0f0f1a,#1a1a2e,#16213e)}.settings-container{max-width:700px;margin:0 auto}.settings-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#fff9;font-size:1.1rem}.settings-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.settings-header .settings-icon{color:#667eea}.settings-header h1{font-size:1.75rem;font-weight:600;color:#fff;margin:0}.settings-header p{color:#fff9;margin:.25rem 0 0;font-size:.95rem}.settings-sections{display:flex;flex-direction:column;gap:1.5rem}.settings-section{background:#ffffff08;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.08)}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.section-header svg{color:#667eea}.section-header h2{font-size:1.1rem;font-weight:600;color:#fff;margin:0}.section-description{color:#ffffff80;font-size:.9rem;margin:0 0 1rem}.setting-field{margin-bottom:1rem}.setting-field label{display:block;color:#fffc;font-size:.9rem;margin-bottom:.5rem}.setting-field select{width:100%;padding:.75rem 1rem;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:1rem;cursor:pointer;transition:border-color .2s,box-shadow .2s}.setting-field select:hover{border-color:#667eea80}.setting-field select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.setting-field select option{background:#1a1a2e;color:#fff}.preview-box{background:#667eea14;border-radius:8px;padding:.75rem 1rem;border:1px solid rgba(102,126,234,.15)}.preview-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.preview-row:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:.25rem;padding-bottom:.5rem}.preview-label{color:#ffffff80;font-size:.85rem}.preview-value{color:#667eea;font-weight:500;font-size:.95rem;font-family:SF Mono,Monaco,Inconsolata,monospace}.glucose-value{color:#10b981}.glucose-unit-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.glucose-unit-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#0003;border:2px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s}.glucose-unit-option:hover{border-color:#667eea66;background:#667eea0d}.glucose-unit-option.selected{border-color:#667eea;background:#667eea1a}.glucose-unit-option input[type=radio]{display:none}.glucose-unit-option .unit-content{display:flex;flex-direction:column;gap:.25rem}.glucose-unit-option .unit-label{color:#fff;font-weight:600;font-size:1rem}.glucose-unit-option .unit-description{color:#ffffff80;font-size:.85rem}.glucose-unit-option.selected .unit-label{color:#667eea}.settings-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.settings-error{color:#ef4444;font-size:.9rem;background:#ef44441a;padding:.5rem 1rem;border-radius:6px;width:100%;text-align:center}.save-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.save-button:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.save-button.disabled{opacity:.5;cursor:not-allowed}.save-button.saved{background:linear-gradient(135deg,#10b981,#059669)}.nightscout-url-input{width:100%;padding:.75rem 1rem;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:1rem;transition:border-color .2s,box-shadow .2s}.nightscout-url-input:hover{border-color:#667eea80}.nightscout-url-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.nightscout-url-input::placeholder{color:#ffffff4d}.field-hint{display:block;margin-top:.5rem;color:#fff6;font-size:.8rem}.nightscout-test-container{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.test-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.25rem;background:#667eea26;border:1px solid rgba(102,126,234,.4);border-radius:8px;color:#667eea;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;width:fit-content}.test-button:hover:not(:disabled){background:#667eea40;border-color:#667eea}.test-button:disabled{opacity:.5;cursor:not-allowed}.test-button.testing{pointer-events:none}.test-button .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.test-result{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-size:.95rem}.test-result.success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981}.test-result.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}@media(max-width:640px){.settings-page,.settings-section{padding:1rem}.settings-header{flex-direction:column;align-items:flex-start;gap:.75rem}.preview-row{flex-direction:column;align-items:flex-start;gap:.25rem}.settings-actions{align-items:stretch}.save-button{justify-content:center}}.navbar{position:sticky;top:0;z-index:1000;background:#0f172acc;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.navbar-container{max-width:1400px;margin:0 auto;padding:.875rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.navbar-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;transition:transform .2s ease;flex-shrink:0}.navbar-brand:hover{transform:translateY(-1px)}.navbar-brand-text{font-size:1.5rem;font-weight:900;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 50%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.navbar-links{display:flex;align-items:center;gap:.25rem;flex:1;justify-content:flex-end}.nav-link{display:flex;align-items:center;gap:.5rem;color:#ffffffb3;font-weight:500;font-size:.9375rem;padding:.625rem 1rem;border-radius:10px;transition:all .2s ease;text-decoration:none;position:relative;white-space:nowrap}.nav-link:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:2px;transition:width .3s ease}.nav-link:hover{background-color:#ffffff14;color:#fffffff2;transform:translateY(-1px)}.nav-link.active{color:#fffffff2;background-color:#818cf826}.nav-link.active:before{width:60%}.nav-link-text{transition:color .2s ease}.nav-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#818cf833,#c084fc33);border:1px solid rgba(255,255,255,.1);transition:all .2s ease;flex-shrink:0}.nav-link:hover .nav-icon{background:linear-gradient(135deg,#818cf84d,#c084fc4d);border-color:#fff3;transform:scale(1.05)}.nav-link.active .nav-icon{background:linear-gradient(135deg,#818cf84d,#c084fc4d);border-color:#818cf866}.nav-image-group{display:flex;margin-left:-4px;flex-shrink:0}.nav-image{width:24px;height:24px;border-radius:50%;object-fit:cover;border:2px solid rgba(15,23,42,.8);margin-left:-6px;transition:all .2s ease}.nav-link:hover .nav-image{transform:scale(1.1);border-color:#ffffff4d}.nav-image-single{width:28px;height:28px;border-radius:50%;object-fit:cover;object-position:center 20%;border:2px solid rgba(255,255,255,.15);transition:all .2s ease;flex-shrink:0}.nav-link:hover .nav-image-single{transform:scale(1.1);border-color:#ffffff4d;box-shadow:0 0 12px #818cf84d}.logout-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#fca5a5e6;font-weight:500;font-size:.9375rem;transition:all .2s ease;cursor:pointer;margin-left:.5rem;white-space:nowrap}.logout-button:hover{background:#ef444433;border-color:#ef444466;color:#fca5a5;transform:translateY(-1px);box-shadow:0 4px 12px #ef444433}.logout-text{transition:color .2s ease}.mobile-menu-button{display:none;background:none;border:none;color:#ffffffe6;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;flex-shrink:0}.mobile-menu-button:hover{background-color:#ffffff1a}.mobile-menu-button.active{background-color:#ffffff26}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#0f172afa;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 10px 25px -5px #00000080;max-height:0;overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out;opacity:0}.mobile-menu.open{display:block;max-height:600px;opacity:1}.mobile-menu-content{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.mobile-menu .nav-link{width:100%;padding:.875rem 1rem;justify-content:flex-start;border-radius:12px}.mobile-menu .nav-link:hover{background-color:#ffffff1a}.mobile-logout{width:100%;justify-content:center;margin-top:.5rem;margin-left:0}@media(max-width:1024px){.navbar-container{padding:.875rem 1.5rem}.nav-link{padding:.625rem .75rem;font-size:.875rem}.nav-link-text,.logout-text{display:none}}@media(max-width:768px){.navbar-container{padding:.75rem 1rem;gap:1rem}.navbar-brand-text{font-size:1.25rem}.navbar-links{display:none}.mobile-menu-button{display:block}.navbar-brand{gap:.5rem}}@media(max-width:480px){.navbar-container{padding:.625rem .75rem}.navbar-brand-text{font-size:1.125rem}.mobile-menu-content{padding:.75rem}}.app-footer{margin-top:auto;padding:.2rem 1rem;background-color:transparent;border-top:none}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:center;align-items:center}.footer-section{display:flex;gap:.8rem;align-items:center}.footer-item{display:flex;flex-direction:row;align-items:baseline;gap:.3rem}.footer-label{font-size:.5rem;font-weight:400;color:#fff3;text-transform:lowercase;letter-spacing:.02em}.footer-value{font-size:.6rem;font-weight:500;color:#ffffff4d;letter-spacing:.01em}@media(max-width:768px){.app-footer{padding:.15rem .5rem}.footer-section{gap:.6rem}.footer-label{font-size:.45rem}.footer-value{font-size:.55rem}}#root,.app-wrapper{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;display:flex;flex-direction:column}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
