.login-loading-overlay{position:fixed;inset:0;background:#fffffffa;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:0;z-index:2147483646;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);will-change:transform;transform:translateZ(0);backface-visibility:hidden}.login-loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.login-loading-text{font-size:14px;font-weight:500;color:#374151;text-align:center;margin-bottom:8px}.login-loading-subtitle{font-size:12px;color:#6b7280;text-align:center}.login-button-loading{display:flex!important;align-items:center!important;gap:8px!important}.login-button-spinner{width:16px!important;height:16px!important;border:2px solid transparent!important;border-top:2px solid white!important;border-radius:50%!important;animation:spin 1s linear infinite!important}.login-form-disabled{opacity:.7;cursor:not-allowed}.login-form-loading input:disabled,.login-form-loading button:disabled{opacity:.7;cursor:not-allowed}body.login-loading .card,body.login-loading .btn,body.login-loading .input{transform:none!important;transition:none!important;animation:none!important}@media (max-width: 768px){.login-loading-overlay{backdrop-filter:blur(.5px);-webkit-backdrop-filter:blur(.5px)}.login-loading-spinner{width:32px;height:32px}.login-loading-text{font-size:13px}}.polls-container{max-width:100%;margin:0 auto}.polls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;max-width:1000px;margin:0 auto}@media (max-width: 768px){.polls-grid{grid-template-columns:1fr;gap:1rem}.poll-card-modern{padding:1.25rem;margin:0 .5rem}.poll-input-container{margin-top:1rem;overflow:hidden}}.polls-loading{display:flex;justify-content:center;align-items:center;padding:3rem;font-size:1.1rem;color:#6b7280;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:16px;border:2px dashed #cbd5e1}.no-polls-container{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#fef7ff,#f3e8ff);border-radius:20px;border:2px dashed #d8b4fe;max-width:500px;margin:0 auto}.no-polls-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.no-polls{font-size:1.2rem;font-weight:600;color:#6b46c1;margin-bottom:.5rem}.no-polls-subtitle{color:#8b5cf6;font-size:.95rem}.poll-card-modern{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden}.poll-card-modern:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px #00000026;background:#ffffffe6}.poll-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.75rem}.poll-question{font-size:1.1rem;font-weight:700;color:#1e293b;line-height:1.4;margin:0;flex:1}.poll-type-badge{background:linear-gradient(135deg,#ddd6fe,#c7d2fe);color:#5b21b6;padding:.375rem .75rem;border-radius:10px;font-size:.8rem;font-weight:600;white-space:nowrap;border:1px solid #e0e7ff}.poll-content{margin-top:1rem}.poll-options{display:flex;flex-direction:column;gap:.5rem}.poll-btn{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fff,#f1f5f9);color:#334155;border:2px solid #e2e8f0;padding:.75rem 1rem;border-radius:12px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.poll-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.poll-btn:hover:before{left:100%}.poll-btn-0{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.poll-btn-1{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.poll-btn-2{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a)}.poll-btn-3{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca)}.poll-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.poll-btn-text{flex:1;text-align:left}.poll-btn-icon{font-size:1.2rem;opacity:.6;transition:all .3s ease}.poll-btn:hover .poll-btn-icon{opacity:1;transform:translate(4px)}.poll-input-container{margin-top:1rem}.poll-input{display:flex;gap:.75rem;align-items:stretch}@media (max-width: 480px){.poll-input{flex-direction:column;gap:.75rem}}.poll-text-input{flex:1;border:2px solid #e2e8f0;border-radius:14px;padding:1rem 1.25rem;font-size:1rem;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .3s ease;outline:none}.poll-text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.send-btn{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:14px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.send-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 8px 25px #10b9814d}.send-icon{font-size:1.1rem;transition:transform .3s ease}.send-btn:hover .send-icon{transform:rotate(12deg) scale(1.1)}@media (max-width: 480px){.send-btn{width:100%;justify-content:center;padding:1rem 1.25rem;font-size:1rem}}.poll-results,.poll-results-text{margin-top:1rem}.poll-submitted-badge{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;color:#166534;padding:1rem 1.25rem;border-radius:14px;font-weight:600;margin-bottom:1.5rem}.submitted-icon{font-size:1.3rem}.results-section,.responses-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;padding:1.5rem;border:1px solid #e2e8f0}.results-title,.responses-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:1.25rem}.results-icon,.responses-icon{font-size:1.3rem}.results-list{display:flex;flex-direction:column;gap:1rem}.result-row{background:#fff;border-radius:12px;padding:1rem;border:1px solid #e2e8f0;transition:all .3s ease}.result-row:hover{box-shadow:0 4px 12px #00000014}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.result-option{font-weight:600;color:#374151}.result-percentage{font-weight:700;color:#1e293b;font-size:1.1rem}.poll-result-bar{height:12px;border-radius:8px;background:#e5e7eb;overflow:hidden;margin-bottom:.5rem;position:relative}.poll-result-fill{height:100%;border-radius:8px;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.result-fill-0{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.result-fill-1{background:linear-gradient(90deg,#10b981,#34d399)}.result-fill-2{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.result-fill-3{background:linear-gradient(90deg,#ef4444,#f87171)}.result-count{font-size:.85rem;color:#6b7280;font-weight:500}.poll-footer{display:flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb;font-weight:600;color:#374151}.total-icon{font-size:1.1rem}.responses-list{display:flex;flex-direction:column;gap:.75rem}.response-item{display:flex;align-items:flex-start;gap:1rem;background:#fff;padding:1rem;border-radius:12px;border:1px solid #e2e8f0;transition:all .3s ease}.response-item:hover{box-shadow:0 4px 12px #00000014}.response-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.more-responses .response-avatar{background:linear-gradient(135deg,#6b7280,#9ca3af)}.response-text{flex:1;color:#374151;line-height:1.5;font-size:.95rem}.more-responses .response-text{color:#6b7280;font-style:italic}@keyframes grow{0%{width:0%}to{width:var(--target-width)}}.animate-bar{animation:grow 1.2s cubic-bezier(.4,0,.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.poll-card-modern{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1)}.loading-results{text-align:center;padding:2rem;color:#6b7280;font-style:italic;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:2px dashed #cbd5e1}.banner-container{max-width:100%;margin:0 auto}.no-banners-container{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:20px;border:2px dashed #7dd3fc;max-width:500px;margin:0 auto}.no-banners-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.no-banners{font-size:1.2rem;font-weight:600;color:#0369a1;margin-bottom:.5rem}.no-banners-subtitle{color:#0284c7;font-size:.95rem}.banner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;max-width:1000px;margin:0 auto}@media (max-width: 768px){.banner-grid{grid-template-columns:1fr;gap:1rem}}.banner-card-modern{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px #0000001a;overflow:hidden;border:1px solid rgba(255,255,255,.3);transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative;animation:slideInUp .6s cubic-bezier(.4,0,.2,1) both}.banner-card-modern:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 25px 50px #00000026;background:#ffffffe6}.banner-warning{border-top:4px solid #f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.banner-warning:hover{box-shadow:0 20px 40px #f59e0b33}.banner-success{border-top:4px solid #10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.banner-success:hover{box-shadow:0 20px 40px #10b98133}.banner-info{border-top:4px solid #3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.banner-info:hover{box-shadow:0 20px 40px #3b82f633}.banner-type-indicator{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem .5rem;font-size:.85rem;font-weight:600}.banner-warning .banner-type-indicator{color:#92400e}.banner-success .banner-type-indicator{color:#065f46}.banner-info .banner-type-indicator{color:#1e40af}.banner-type-icon{font-size:1.1rem}.banner-type-text{text-transform:uppercase;letter-spacing:.05em}.banner-image-wrapper{position:relative;width:100%;overflow:hidden;height:160px}.banner-image-modern{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.banner-card-modern:hover .banner-image-modern{transform:scale(1.08)}.banner-image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000,#0000001a);opacity:0;transition:opacity .3s ease}.banner-card-modern:hover .banner-image-overlay{opacity:1}.banner-body{padding:1rem;flex:1;display:flex;flex-direction:column;gap:.75rem}.banner-title-modern{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0;line-height:1.4}.banner-text-modern{font-size:1rem;color:#475569;line-height:1.6;margin:0;flex:1}.banner-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e2e8f0;margin-top:auto}.banner-timestamp{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.timestamp-icon{font-size:1rem}.banner-priority{font-size:.8rem;font-weight:600}.priority-high{color:#dc2626;background:#fee2e2;padding:.25rem .75rem;border-radius:12px;border:1px solid #fecaca}.priority-medium{color:#059669;background:#d1fae5;padding:.25rem .75rem;border-radius:12px;border:1px solid #a7f3d0}.priority-low{color:#2563eb;background:#dbeafe;padding:.25rem .75rem;border-radius:12px;border:1px solid #bfdbfe}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.banner-body{padding:1rem}.banner-title-modern{font-size:1.1rem}.banner-text-modern{font-size:.95rem}.banner-footer{flex-direction:column;align-items:flex-start;gap:.75rem}.banner-image-wrapper{height:160px}}.banner-card-modern:not(:has(.banner-image-wrapper)) .banner-body{padding-top:1.5rem}.banner-card-modern:not(:has(.banner-image-wrapper)){min-height:200px}.input-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:1.25rem;margin-bottom:1.5rem}@media (max-width: 768px){.calculator-card{padding:1.75rem;border-radius:20px}.title{font-size:2rem}.subtitle{font-size:.95rem}.input-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,auto);gap:1.25rem}.actions{flex-direction:column;gap:1rem}.calculate-button,.reset-button{width:100%;padding:1rem}.component-title span{font-size:.9rem}.result-value{font-size:2.5rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.calculator-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background-color:#f5f7ff;background-image:linear-gradient(135deg,#f5f7ff,#e0e7ff);margin-top:calc(2rem + env(safe-area-inset-top,0px))}.calculator-card{width:100%;background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 10px 25px #6366f126,0 5px 10px #0000000d;padding:2rem;overflow:hidden;transition:all .3s ease;animation:fadeIn .6s ease-out;border:1px solid rgba(255,255,255,.8);position:relative}.calculator-card:hover{box-shadow:0 15px 30px #6366f133,0 8px 15px #00000014;transform:translateY(-5px)}.header{text-align:center;margin-bottom:2rem;margin-top:1rem}.title{font-size:2.5rem;font-weight:800;color:#6366f1;margin-bottom:.75rem;background:linear-gradient(45deg,#6366f1,#8b5cf6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(99,102,241,.2);letter-spacing:-.5px}.subtitle{font-size:1.2rem;color:#6b7280;font-weight:500}.form-section{margin-bottom:2rem}.input{width:100%;padding:1rem 1.25rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#f8fafccc;box-shadow:0 2px 4px #00000005;box-sizing:border-box}.input:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f11a}.input::-moz-placeholder{color:#94a3b8}.input::placeholder{color:#94a3b8}.component-card{background:#f8fafccc;border:1px solid #e2e8f0;border-radius:16px;padding:1.25rem;transition:all .3s ease;box-shadow:0 4px 6px #00000005;overflow:hidden;box-sizing:border-box;width:100%}.component-card:hover{border-color:#cbd5e1;box-shadow:0 8px 16px #0000000d;transform:translateY(-2px)}.component-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;width:100%;box-sizing:border-box}.component-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#1e293b;font-size:1rem}.actions{display:flex;gap:1rem;align-items:center;margin-top:1.5rem}.calculate-button{flex:1;padding:1.1rem 2rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:14px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 16px #6366f14d;position:relative;overflow:hidden}.calculate-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.calculate-button:hover{transform:translateY(-3px);box-shadow:0 12px 20px #6366f166}.calculate-button:hover:before{left:100%}.calculate-button:active{transform:translateY(-1px)}.reset-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.1rem 1.75rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:14px;font-weight:600;font-size:1.05rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #00000005}.reset-button:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 12px #0000000d}.back-button{position:absolute;top:1.5rem;left:1.5rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fffc;border:1px solid rgba(99,102,241,.2);border-radius:12px;color:#6366f1;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #6366f11a;z-index:10}.back-button:hover{background:#6366f11a;border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 4px 12px #6366f133}.back-button:active{transform:translateY(0)}.back-icon{font-size:1.2rem;font-weight:700;transition:transform .3s ease}.back-button:hover .back-icon{transform:translate(-2px)}.back-text{font-weight:600}@media (max-width: 768px){.back-button{top:1rem;left:1rem;padding:.6rem .8rem;font-size:.85rem}.back-text{display:none}.back-icon{font-size:1.1rem}}.calculator-card{position:relative}@keyframes calculatorFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calculator-fade-in{animation:calculatorFadeIn .6s ease-out}.calculator-card-hover:hover{transform:translateY(-5px);box-shadow:0 15px 30px #6366f133,0 8px 15px #00000014}.calculator-primary-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 16px #6366f14d;position:relative;overflow:hidden}.calculator-primary-button:hover{transform:translateY(-3px);box-shadow:0 12px 20px #6366f166}.calculator-primary-button:active{transform:translateY(-1px)}.calculator-secondary-button{background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #00000005}.calculator-secondary-button:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 12px #0000000d}.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:100%;gap:.75rem;margin-bottom:1.5rem;align-items:start;align-content:start;grid-auto-rows:minmax(0,auto)}@media (min-width: 600px){.input-grid{grid-template-columns:repeat(2,1fr);max-width:600px;margin-left:auto;margin-right:auto}}.missed-badge{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#dc2626}.projected-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.tutorial-badge{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.skill-badge{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#9a3412}.result-card{margin-top:2rem;padding:2.5rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:16px;text-align:center;box-shadow:0 10px 25px #0759851a;animation:fadeIn .5s ease-out;max-width:600px;margin-left:auto;margin-right:auto}@media (max-width: 768px){.calculator-card{padding:1.75rem;border-radius:20px}.title{font-size:2rem}.subtitle{font-size:.95rem}.input-grid{grid-template-columns:1fr;gap:.5rem;max-width:100%;margin-left:0;margin-right:0}.actions{flex-direction:column;gap:1rem}.calculate-button,.reset-button{width:100%;padding:1rem}.component-title span{font-size:.9rem}.result-value{font-size:2.5rem}}.calculator-card{max-width:900px}@media (min-width: 768px){.form-section{margin-bottom:.75rem}.actions{margin-top:.5rem}}.label{display:block;font-size:.95rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.component-card .input{width:calc(100% + -0px);margin:0;display:block}.input-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem;align-items:start;align-content:start;grid-auto-rows:minmax(0,auto)}@media (min-width: 768px){.input-grid{grid-template-columns:repeat(2,1fr)}}.component-card{padding:1rem}.icon{flex-shrink:0}.percentage-badge{padding:.35rem .85rem;border-radius:20px;font-size:.85rem;font-weight:600;flex-shrink:0;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease}.percentage-badge:hover{transform:scale(1.05)}.total-badge{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.attended-badge{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.lecture-badge{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.practical-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.result-card{margin-top:2rem;padding:2.5rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:16px;text-align:center;box-shadow:0 10px 25px #0759851a;animation:fadeIn .5s ease-out;max-width:500px;margin-left:auto;margin-right:auto}@media (min-width: 1024px){.calculator-container{align-items:flex-start;padding-top:3rem;padding-bottom:3rem;min-height:auto}}.result-title{font-size:1.25rem;font-weight:700;color:#0c4a6e;margin-bottom:1.25rem;letter-spacing:-.01em}.result-value{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,#0ea5e9,#06b6d4);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;text-shadow:0 2px 10px rgba(6,182,212,.2);animation:pulse 2s infinite}@media (max-width: 768px){.calculator-card{padding:1.75rem;border-radius:20px}.title{font-size:2rem}.subtitle{font-size:.95rem}.input-grid{grid-template-columns:1fr;gap:.5rem}.actions{flex-direction:column;gap:1rem}.calculate-button,.reset-button{width:100%;padding:1rem}.component-title span{font-size:.9rem}.result-value{font-size:2.5rem}}@media (max-width: 480px){.calculator-container{padding:1rem .5rem}.calculator-card{padding:1.25rem}.title{font-size:1.5rem}}.calculator-card{max-width:800px}.input-grid{display:grid;grid-template-columns:1fr;margin-bottom:.5rem}.actions{margin-top:0rem!important}.form-section{margin-bottom:0rem!important}.formula-info{margin-top:.5rem!important;margin-bottom:.5rem!important}.info-button{background:#6366f11a;color:#6366f1;border:1px solid rgba(99,102,241,.2);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:14px;margin-left:auto}.info-button:hover{background:#6366f133;border-color:#6366f14d;transform:scale(1.1)}.component-header{display:flex;align-items:center;gap:.75rem}.result-value{font-size:2.5rem;font-weight:700;color:#6366f1;margin:1rem 0}.converter-container{display:flex;flex-direction:column;gap:2rem;align-items:center;margin-bottom:2rem}.input-group{display:flex;flex-direction:column;width:100%;max-width:300px}.input-label{font-size:1rem;font-weight:600;color:#374151;margin-bottom:.75rem;text-align:center}.input-error{border-color:#ef4444!important;box-shadow:0 0 0 4px #ef44441a!important}.error-message{color:#ef4444;font-size:.875rem;margin-top:.5rem;text-align:center;font-weight:500}.conversion-arrow{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0}.arrow-symbol{font-size:2rem;color:#6366f1;font-weight:700;animation:pulse 2s infinite}.conversion-text{font-size:.875rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.formula-info{background:#6366f10d;border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:1.5rem;margin-top:2rem}.formula-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1rem;text-align:center}.formula-grid{display:grid;grid-template-columns:1fr;gap:1rem}.formula-item{background:#fffc;border-radius:12px;padding:1rem;transition:all .3s ease}.formula-item:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.formula-label{font-size:.9rem;color:#6366f1;font-weight:600;margin-bottom:.5rem}.formula-text{font-size:1rem;color:#1e293b;font-weight:500;font-family:Courier New,monospace;background:#6366f11a;padding:.5rem;border-radius:6px}.result-display{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.conversion-equals{font-size:1.5rem;font-weight:700;color:#6366f1}@media (max-width: 768px){.converter-container{gap:1.5rem}.input-group{max-width:100%}.arrow-symbol{font-size:1.5rem}.formula-grid{gap:.75rem}.result-display{flex-direction:column;gap:1rem}.conversion-equals{transform:rotate(90deg)}}@media (max-width: 480px){.formula-info{padding:1rem}.formula-text{font-size:.875rem}}/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.min-h-screen{min-height:100vh}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.text-center{text-align:center}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}}:root{--color-primary:#3b82f6;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--card-bg:#fff;--card-bg-dark:#111827;--text-muted:#6b7280}html,body{color:#111827;background:#f3f4f6;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.dark html,.dark body{color:#e5e7eb;background:#0b0f19}.card{background:var(--card-bg);border:1px solid #e5e7eb;border-radius:16px;padding:20px;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 6px 18px #0000000d}.card-dark{background:var(--card-bg-dark);border:1px solid #ffffff0f;border-radius:16px;padding:20px;box-shadow:0 8px 24px #0003}.card:hover{border-color:#0206170f;transform:translateY(-6px);box-shadow:0 18px 40px #0206171f}body.modal-open :not(.session-modal):not(.session-modal *){pointer-events:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.session-modal-overlay,.session-modal,.session-modal *{pointer-events:auto!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}body.modal-open .card,body.modal-open .btn,body.modal-open .input,body.modal-open .tabbar a,body.modal-open .topnav,body.modal-open .grid *{transition:none!important;transform:none!important}.badge{color:#374151;background:#3741510f;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.good{color:var(--color-success);background:#10b9811a;border:2px solid #10b98159}.badge.warn{color:var(--color-warning);background:#f59e0b1a;border:2px dashed #f59e0b73}.badge.crit{color:var(--color-danger);background:#ef44441a;border:2px dotted #ef44448c}.tabbar{padding:8px 4px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:2147483647;background:#fff;border-top:1px solid #e5e7eb;grid-template-columns:repeat(5,1fr);height:64px;display:grid;box-shadow:0 -6px 18px #0000000f;box-sizing:border-box!important;touch-action:manipulation!important;pointer-events:auto!important;isolation:isolate!important;width:100vw!important;max-width:100%!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;transform:none!important}.tabbar a{color:#6b7280;flex-direction:column;align-items:center;gap:4px;font-size:11px;text-decoration:none;display:flex}.tabbar a.active{color:var(--color-primary);font-weight:700}@media (min-width:768px){.tabbar{display:none}}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{filter:brightness(.95)}.btn-secondary{color:#fff;background:#374151}.btn-secondary:hover{filter:brightness(1.05)}.btn-warning{color:#111827;background:#f59e0b}.input,.select{background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:100%;padding:10px 12px}.input{transition:box-shadow .16s,border-color .16s,transform .16s}.input:focus,.select:focus{border-color:var(--color-primary);outline:none;transform:translateY(-1px);box-shadow:0 6px 18px #3b82f614}.label{color:#111827;font-weight:600}.muted{color:var(--text-muted)}.container-narrow{max-width:720px;margin:0 auto}.content{padding:76px 16px 16px;padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}.session-modal-overlay{z-index:900;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.session-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:calc(100vh - 120px);overflow:auto}.grid{gap:16px;display:grid}.grid-2,.grid-3{grid-template-columns:1fr}@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}.topnav{z-index:40;background:var(--color-primary);color:#fff;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #00000026}.topnav .inner{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.brand{font-size:18px;font-weight:800}.nav-links{gap:20px;font-weight:600;display:none}.nav-links a{color:#eef2ff;text-decoration:none}.nav-links a:hover{text-decoration:underline}.hamburger{color:#fff;cursor:pointer;background:0 0;border:0;font-size:22px}.mobile-menu{background:#2563eb;padding:12px 16px;display:none}.mobile-menu a{color:#fff;padding:6px 0;text-decoration:none;display:block}@media (min-width:768px){.nav-links{display:inline-flex}}.modal-card{width:100%;max-width:520px}.session-modal-overlay{-webkit-overflow-scrolling:touch;will-change:opacity;backface-visibility:hidden;z-index:2147483647!important;background:#00000073!important;justify-content:center!important;align-items:center!important;padding:16px!important;display:flex!important;position:fixed!important;inset:0!important}.session-modal{background:var(--card-bg)!important;color:inherit!important;box-sizing:border-box!important;border-radius:12px!important;width:100%!important;max-width:720px!important;max-height:calc(100vh - 120px)!important;padding:18px!important;overflow:auto!important;box-shadow:0 12px 40px #0000002e!important}.session-modal h2{margin:0 0 6px}.session-modal .muted{margin-bottom:12px}.session-modal .actions{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:640px){.session-modal .actions{grid-template-columns:1fr 1fr}}.mobile-spacer{height:calc(64px + env(safe-area-inset-bottom,0px))}@media (min-width:768px){.mobile-spacer{display:none}}.line-clamp-1{-webkit-line-clamp:1;line-clamp:1;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{margin:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
