:root{--primary-orange:#ff8142;--primary-orange-light:#ff9c6a;--primary-orange-dark:#e6703b;--secondary-blue:#00334e;--secondary-blue-light:#57aad6;--secondary-blue-lighter:#bae7ff;--gradient-primary:linear-gradient(135deg,#ff8142,#ff9c6a);--gradient-secondary:linear-gradient(135deg,#00334e,#57aad6);--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);--shadow-lg:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);--shadow-xl:0 20px 25px rgba(0,0,0,.1),0 8px 10px rgba(0,0,0,.04);--shadow-orange:0 4px 14px rgba(255,129,66,.3);--shadow-orange-lg:0 6px 20px rgba(255,129,66,.4);--font-family-primary:"Nunito";--font-sans:var(--font-family-primary),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:.375rem;--radius:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.3s cubic-bezier(.4,0,.2,1);--transition-slow:.5s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--gray-50);color:var(--gray-700);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bg-gradient-primary{background:var(--gradient-primary)}.bg-gradient-secondary{background:var(--gradient-secondary)}.text-primary{color:var(--primary-orange)}.text-secondary{color:var(--secondary-blue)}.bg-primary{background-color:var(--primary-orange)}.bg-secondary{background-color:var(--secondary-blue)}.btn{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;line-height:1.5;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-normal)}.btn-primary{background:var(--gradient-primary);box-shadow:var(--shadow-orange);color:#fff}.btn-primary:hover{box-shadow:var(--shadow-orange-lg);transform:translateY(-2px)}.btn-secondary{background:var(--secondary-blue);box-shadow:var(--shadow-md);color:#fff}.btn-secondary:hover{background:var(--secondary-blue-light);transform:translateY(-1px)}.btn-ghost{background:transparent;border:1px solid var(--gray-300);color:var(--gray-600)}.btn-ghost:hover{background:var(--gray-50);border-color:var(--gray-400)}.card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.card-body{padding:var(--space-8)}.form-group{margin-bottom:var(--space-6)}.form-label{color:var(--gray-700);display:block;font-weight:500;margin-bottom:var(--space-2)}.form-input{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:1rem;padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);width:100%}.form-input:focus{border-color:var(--primary-orange);box-shadow:0 0 0 3px #ff81421a;outline:none}.form-input::-moz-placeholder{color:var(--gray-400)}.form-input::placeholder{color:var(--gray-400)}@media (max-width:640px){.card-body{padding:var(--space-6)}.btn{font-size:.9rem;padding:var(--space-3) var(--space-5)}}.auth-page,.login-page,.register-page{background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-6)}.auth-container,.login-container,.register-container{max-width:450px;width:100%}.register-container{max-width:500px}.back-button{align-items:center;background:none;border:none;border-radius:var(--radius);color:var(--gray-600);cursor:pointer;display:flex;font-size:.9rem;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.back-button:hover{background:#fffc;color:var(--primary-orange);transform:translate(-2px)}.back-icon{font-size:1.2rem;transition:transform var(--transition-fast)}.back-button:hover .back-icon{transform:translate(-2px)}.auth-card,.login-card,.register-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-10)}.card-header{margin-bottom:var(--space-10);text-align:center}.header-icon{font-size:3rem;margin-bottom:var(--space-4)}.card-title{color:var(--gray-800);font-size:2rem;font-weight:700;margin-bottom:var(--space-3)}.card-subtitle{color:var(--gray-600);line-height:1.6}.auth-form,.login-form,.register-form{margin-bottom:var(--space-8)}.password-input-wrapper{position:relative}.password-toggle{background:none;border:none;cursor:pointer;font-size:1.2rem;opacity:.6;position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);transition:opacity var(--transition-fast)}.password-toggle:hover{opacity:1}.form-extras{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-6)}.checkbox-container{align-items:center;color:var(--gray-600);cursor:pointer;display:flex;font-size:.9rem}.checkbox-container input[type=checkbox]{display:none}.checkmark{border:2px solid var(--gray-300);border-radius:var(--radius-sm);height:16px;margin-right:var(--space-2);position:relative;transition:all var(--transition-fast);width:16px}.checkbox-container input[type=checkbox]:checked+.checkmark{background:var(--primary-orange);border-color:var(--primary-orange)}.checkbox-container input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:1px;position:absolute;top:-2px}.forgot-link{color:var(--primary-orange);font-size:.9rem;font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.forgot-link:hover{color:var(--primary-orange-dark)}.submit-btn{margin-bottom:var(--space-6);position:relative;width:100%}.btn-loading{cursor:not-allowed;opacity:.8}.spinner{animation:spin 1s linear infinite;border:2px solid transparent;border-radius:50%;border-top-color:#fff;height:16px;margin-right:var(--space-2);width:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.input-error{border-color:var(--error)!important;box-shadow:0 0 0 3px #ef44441a!important}.field-error{color:var(--error);font-size:.875rem;margin-top:var(--space-2)}.form-error{background:#ef44441a;border-radius:var(--radius);color:var(--error);font-size:.9rem;margin-bottom:var(--space-4);padding:var(--space-4);text-align:center}.divider{margin:var(--space-8) 0;position:relative;text-align:center}.divider:before{background:var(--gray-200);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider-text{background:#fff;color:var(--gray-400);font-size:.875rem;padding:0 var(--space-4);position:relative}.social-login{display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;margin-bottom:var(--space-8)}.social-btn{align-items:center;display:flex;gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4)}.social-icon{font-size:1.2rem}.form-footer{text-align:center}.login-text,.signup-text{color:var(--gray-600);font-size:.9rem}.login-link,.signup-link{color:var(--primary-orange);font-weight:600;text-decoration:none;transition:color var(--transition-fast)}.login-link:hover,.signup-link:hover{color:var(--primary-orange-dark)}.password-strength{margin-top:var(--space-3)}.strength-bar{display:flex;gap:var(--space-1);margin-bottom:var(--space-2)}.strength-segment{background:var(--gray-200);border-radius:2px;flex:1;height:4px;transition:background-color var(--transition-fast)}.strength-segment.active{background:var(--primary-orange)}.strength-segment.weak{background:var(--error)}.strength-segment.medium{background:var(--warning)}.strength-segment.strong{background:var(--success)}.strength-text{color:var(--gray-500);font-size:.8rem;text-align:center}@media (max-width:480px){.auth-container,.login-container,.register-container{padding:var(--space-4)}.auth-card,.login-card,.register-card{padding:var(--space-8) var(--space-6)}.card-title{font-size:1.75rem}.social-login{grid-template-columns:1fr}.form-extras{align-items:flex-start;flex-direction:column;gap:var(--space-4)}}@media (max-width:768px){.register-container{max-width:450px}}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:300;src:url(./Nunito-normal-300-cyrillic-ext.D4X5GqEv.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:300;src:url(./Nunito-normal-300-cyrillic.FdJpG9jw.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:300;src:url(./Nunito-normal-300-vietnamese.U01xdrZh.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:300;src:url(./Nunito-normal-300-latin-ext.ClTydo4B.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Nunito;font-style:normal;font-weight:300;src:url(./Nunito-normal-300-latin.DYSs2pW_.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(./Nunito-normal-300-cyrillic-ext.D4X5GqEv.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(./Nunito-normal-300-cyrillic.FdJpG9jw.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(./Nunito-normal-300-vietnamese.U01xdrZh.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(./Nunito-normal-300-latin-ext.ClTydo4B.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(./Nunito-normal-300-latin.DYSs2pW_.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:500;src:url(./Nunito-normal-300-cyrillic-ext.D4X5GqEv.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:500;src:url(./Nunito-normal-300-cyrillic.FdJpG9jw.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:500;src:url(./Nunito-normal-300-vietnamese.U01xdrZh.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:500;src:url(./Nunito-normal-300-latin-ext.ClTydo4B.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Nunito;font-style:normal;font-weight:500;src:url(./Nunito-normal-300-latin.DYSs2pW_.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(./Nunito-normal-300-cyrillic-ext.D4X5GqEv.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(./Nunito-normal-300-cyrillic.FdJpG9jw.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(./Nunito-normal-300-vietnamese.U01xdrZh.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(./Nunito-normal-300-latin-ext.ClTydo4B.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(./Nunito-normal-300-latin.DYSs2pW_.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(./Nunito-normal-300-cyrillic-ext.D4X5GqEv.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(./Nunito-normal-300-cyrillic.FdJpG9jw.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(./Nunito-normal-300-vietnamese.U01xdrZh.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(./Nunito-normal-300-latin-ext.ClTydo4B.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(./Nunito-normal-300-latin.DYSs2pW_.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(./Nunito-normal-300-cyrillic-ext.D4X5GqEv.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(./Nunito-normal-300-cyrillic.FdJpG9jw.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(./Nunito-normal-300-vietnamese.U01xdrZh.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(./Nunito-normal-300-latin-ext.ClTydo4B.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(./Nunito-normal-300-latin.DYSs2pW_.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(./Nunito-normal-300-cyrillic-ext.D4X5GqEv.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(./Nunito-normal-300-cyrillic.FdJpG9jw.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(./Nunito-normal-300-vietnamese.U01xdrZh.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(./Nunito-normal-300-latin-ext.ClTydo4B.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(./Nunito-normal-300-latin.DYSs2pW_.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
