html,body,#root{height:100%;width:100%;margin:0;padding:0;box-sizing:border-box;background:none}*,*:before,*:after{box-sizing:inherit}body{min-height:100vh;min-width:100vw;font-family:Inter,Arial,sans-serif;background:none;color:#1a237e;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;min-width:100vw;width:100vw;height:100vh;margin:0;padding:0;display:flex;flex-direction:column;align-items:stretch;background:none}.a7-footer{text-align:center;color:#64748b;font-size:1rem;padding:0 0 .3rem;background:none;width:100%;box-sizing:border-box;border-top:2px solid #e0e7ef;position:relative;z-index:2}.section-spacing-footer{margin-top:0;margin-bottom:3rem}.a7-main{width:100vw;display:flex;flex-direction:column;align-items:stretch;background:linear-gradient(135deg,#f8fafc,#e0e7ef)}.a7-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem 3rem;background:#fff;box-shadow:0 2px 12px #0000000a;border-radius:0 0 2rem 2rem;width:100%;box-sizing:border-box;gap:1.5rem}.a7-logo{width:140px;margin-bottom:.5rem}.a7-subtitle{font-size:1.25rem;color:#374151;margin:0 0 1.5rem;max-width:520px;text-align:center}.a7-cta{margin-top:1.5rem;background:linear-gradient(90deg,#1a237e 60%,#3b82f6);color:#fff;padding:.75rem 2rem;border-radius:32px;font-weight:600;font-size:1.1rem;text-decoration:none;box-shadow:0 2px 8px #1e40af14;transition:background .2s;display:inline-block}.a7-cta:hover{background:linear-gradient(90deg,#3b82f6 60%,#1a237e)}.a7-about{width:100%;max-width:1100px;margin:0 auto;background:#fffffff7;border-radius:24px;box-shadow:0 2px 16px #1e40af0f;padding:3rem 2.5rem;display:flex;flex-wrap:wrap;gap:2.5rem;align-items:flex-start;justify-content:space-between;box-sizing:border-box}.a7-about-text{flex:2;min-width:260px;margin-bottom:0}.a7-about-text p{color:#374151;font-size:1.08rem;line-height:1.7;margin-bottom:0}.a7-section-title{color:#1a237e;font-weight:700;font-size:2rem;margin-bottom:1.5rem}.a7-services{flex:1.2;min-width:220px;list-style:none;padding:2.2rem 1.5rem 2.2rem 2rem;margin:0;color:#1a237e;font-weight:500;font-size:1.08rem;background:#f7fafd;border-radius:16px;box-shadow:0 2px 8px #1e40af0a;display:flex;flex-direction:column;gap:1.1rem;border-left:4px solid #3b82f6;transition:box-shadow .2s}.a7-services li{margin-bottom:0;padding-left:.5rem;position:relative;font-size:1.08rem;color:#223;letter-spacing:.01em;line-height:1.6;background:none;display:flex;align-items:flex-start}.a7-services li:before{content:"";display:inline-block;width:7px;height:7px;background:#3b82f6;border-radius:50%;margin-right:12px;margin-top:.6em;flex-shrink:0}.a7-why{width:100%;max-width:900px;margin:3.5rem auto 0;background:#fff;border-radius:24px;box-shadow:0 2px 16px #1e40af0a;padding:3rem 2.5rem;text-align:center;box-sizing:border-box}.a7-why-text{color:#374151;font-size:1.1rem;line-height:1.7;max-width:700px;margin:1.5rem auto 0}.section-spacing{margin-top:3rem;margin-bottom:3rem}.a7-main>section:last-child{margin-bottom:2rem}.loginContainer{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(120deg,#f7fafc,#e3e8ee);animation:fadeIn .8s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.logoBox{margin-bottom:2rem;display:flex;justify-content:center;animation:logoPop .7s cubic-bezier(.68,-.55,.27,1.55)}@keyframes logoPop{0%{transform:scale(.7);opacity:0}80%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}.logo{width:120px;height:auto;filter:drop-shadow(0 2px 8px rgba(49,130,206,.12))}.form{background:#fff;padding:2.5rem 2rem;border-radius:16px;box-shadow:0 4px 24px #00000017;min-width:320px;max-width:370px;width:100%;display:flex;flex-direction:column;gap:1.7rem;animation:fadeIn 1.2s .2s backwards}.title{text-align:center;color:#2563eb;font-size:1.6rem;font-weight:700;margin-bottom:1rem;letter-spacing:.01em}.inputGroup{display:flex;flex-direction:column;gap:.5rem}.inputGroup label{font-size:1rem;color:#4a5568;font-weight:500}.inputGroup input{padding:.8rem 1rem;border:1px solid #cbd5e0;border-radius:8px;font-size:1rem;background:#f7fafc;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 4px #3182ce0a}.inputGroup input:focus{border-color:#2563eb;outline:none;box-shadow:0 2px 8px #3182ce1f}.loginButton{background:linear-gradient(90deg,#2563eb 60%,#3b82f6);color:#fff;padding:.85rem 1.2rem;border:none;border-radius:8px;font-size:1.15rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 8px #2563eb1a;margin-top:.5rem}.loginButton:hover{background:linear-gradient(90deg,#3b82f6 60%,#2563eb);box-shadow:0 4px 16px #2563eb29;transform:translateY(-2px) scale(1.03)}.loginError{display:flex;align-items:center;justify-content:center;gap:.7rem;background:linear-gradient(90deg,#ffe5e5 60%,#fff);color:#d32f2f;border:1px solid #ffcdd2;border-radius:8px;padding:.7rem 1.2rem;margin-bottom:1.2rem;font-size:1.08rem;font-weight:500;box-shadow:0 2px 8px #d32f2f12;animation:shakeError .3s;transition:box-shadow .2s,background .2s}.loginErrorIcon{font-size:1.3rem;margin-right:.2rem;filter:drop-shadow(0 2px 4px rgba(211,47,47,.15))}.loginErrorText{flex:1;font-weight:600;letter-spacing:.01em}@keyframes shakeError{0%{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}to{transform:translate(0)}}@media (max-width: 600px){.form{min-width:0;max-width:98vw;padding:1.2rem .5rem}.logo{width:90px}}.dashboard-container{min-height:100vh;background:linear-gradient(135deg,#e3eafc,#f3f6fa);display:flex;flex-direction:column}.dashboard-top-menu{background:linear-gradient(90deg,#adcdfd 60%,#b9dcf6);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:.4rem 2rem;box-shadow:0 2px 16px #1a237e1a;border-bottom:1px solid #e3eafc;min-height:44px}.dashboard-logo img{height:32px;vertical-align:middle;filter:drop-shadow(0 2px 8px #2332)}.dashboard-top-links{display:flex;gap:1.2rem;list-style:none;font-family:Montserrat,sans-serif}.dashboard-top-links li{cursor:pointer;font-size:.95rem;font-weight:500;padding:.15rem .5rem;border-radius:6px;transition:background .2s,color .2s}.dashboard-top-links li:hover{background:#e3eafc;color:#1565c0}.dashboard-user{font-size:.95rem;font-weight:500;background:#90caf9;color:#1a237e;padding:.15rem .75rem;border-radius:16px;box-shadow:0 1px 4px #2332}.dashboard-user-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;background:#e3eafc;box-shadow:0 2px 8px #2332;display:flex;align-items:center;justify-content:center;position:relative}.dashboard-user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.dashboard-avatar-menu{position:absolute;top:40px;right:0;background:#fff;border-radius:10px;box-shadow:0 4px 16px #2332;padding:.5rem 0;min-width:140px;z-index:1000;display:flex;flex-direction:column;gap:.25rem;border:1px solid #e3eafc}.dashboard-avatar-menu button{background:none;border:none;color:#1a237e;font-size:1rem;padding:.5rem 1rem;text-align:left;cursor:pointer;border-radius:6px;transition:background .2s}.dashboard-avatar-menu button:hover{background:#e3eafc}.dashboard-user-avatar:after{content:"▼";position:absolute;right:-18px;top:50%;transform:translateY(-50%);color:#1a237e;font-size:1rem;pointer-events:none}.dashboard-secondary-menu{background:linear-gradient(90deg,#e3eafc 60%,#f3f6fa);color:#374151;padding:.15rem 2rem;box-shadow:0 1px 8px #00000008;border-bottom:1px solid #b0bec5;min-height:30px}.dashboard-secondary-links{display:flex;gap:.8rem;list-style:none;font-family:Montserrat,sans-serif}.dashboard-secondary-links li{cursor:pointer;font-size:.9rem;font-weight:500;padding:.1rem .5rem;border-radius:6px;transition:background .2s,color .2s}.dashboard-secondary-links li:hover{background:#bbdefb;color:#1565c0}.dashboard-main{flex:1;padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.dashboard-main h1{font-family:Montserrat,sans-serif;font-size:2.2rem;font-weight:700;color:#1a237e;margin-bottom:1rem;text-shadow:0 2px 8px #2332}.dashboard-main p{font-size:1.15rem;color:#374151;max-width:480px;text-align:center;background:#fff;padding:1rem 2rem;border-radius:12px;box-shadow:0 2px 12px #2331}
