:root{--p: #1A9693;--p-hover: #158785;--p-active: #117370;--p-light: #E8FAFA;--txt: #1a1a1a;--txt2: #666;--txt3: #4b5563;--plc: #c7c7cc;--bg: #faf9f7;--card: #fff;--border: #d9d6d0;--border-light: #ece9e3;--danger: #c0392b;--danger-tint: #fdedec;--f: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--fh: var(--f)}*{box-sizing: border-box;margin: 0;padding: 0}html,body{height: 100%}body{font-family: var(--f);background: var(--bg);min-height: 100vh;min-height: 100dvh;display: flex;align-items: center;justify-content: center;padding: 24px;color: var(--txt);position: relative;overflow-x: hidden;-webkit-font-smoothing: antialiased}.bg-glow,.bg-grid,.bg-facet{position: fixed;pointer-events: none;z-index: 0}.bg-glow-top{top: -190px;left: 50%;transform: translateX(-50%);width: 720px;height: 560px;border-radius: 50%;background: radial-gradient(closest-side,rgba(26,150,147,0.15),transparent 72%)}.bg-glow-btm{bottom: -160px;right: -60px;width: 420px;height: 420px;border-radius: 50%;background: radial-gradient(closest-side,rgba(95,212,207,0.12),transparent 70%)}.bg-grid{inset: 0;background-image: radial-gradient(rgba(13,35,33,0.04) 1px,transparent 1px);background-size: 28px 28px;opacity: 0.55}.bg-facet{top: 0;width: 1px;height: 100%;background: linear-gradient(to bottom,transparent,rgba(26,150,147,0.06),transparent)}.bg-facet.l{left: 38%}.bg-facet.r{left: 62%}@media (max-width: 600px){.bg-facet,.bg-glow-btm{display: none}}.card{position: relative;z-index: 2;width: 100%;max-width: 440px;background: var(--card);border-radius: 24px;padding: 46px 42px 34px;box-shadow: 0 40px 90px rgba(13,35,33,0.14),0 2px 10px rgba(13,35,33,0.05),0 0 0 1px rgba(13,35,33,0.03)}@media (max-width: 440px){body{padding: 16px}.card{padding: 38px 24px 28px;border-radius: 20px}}.logo{display: flex;flex-direction: column;align-items: center;gap: 14px}.logo-img{width: 64px;height: 64px;display: block;filter: drop-shadow(0 10px 22px rgba(26,150,147,0.30))}.logo-text{font-family: var(--fh);font-size: 23px;font-weight: 800;letter-spacing: -0.03em;color: var(--txt)}.logo-text span{color: var(--p)}.greeting-row{display: flex;align-items: center;gap: 12px;margin: 22px 0 20px}.greeting-row .rule{flex: 1;height: 1px}.greeting-row .rule.l{background: linear-gradient(to right,transparent,var(--border-light))}.greeting-row .rule.r{background: linear-gradient(to left,transparent,var(--border-light))}.greeting{display: inline-flex;align-items: center;gap: 7px;flex-shrink: 0;white-space: nowrap;font-size: 13px;font-weight: 600;color: var(--p-active);background: var(--p-light);padding: 6px 14px;border-radius: 99px}h1{font-family: var(--fh);font-size: 27px;font-weight: 800;letter-spacing: -0.02em;text-align: center;color: var(--txt);margin-bottom: 5px}p.lead{text-align: center;font-size: 14px;color: var(--txt2);margin-bottom: 28px}.input-group{margin-bottom: 16px}.input-label{display: block;font-size: 13px;font-weight: 500;color: var(--txt2);margin-bottom: 7px}.input-wrap{position: relative}.input-field{width: 100%;height: 50px;padding: 0 44px;background: var(--card);border: 1.5px solid var(--border);border-radius: 10px;font-family: var(--f);font-size: 15px;color: var(--txt);outline: none;transition: border-color .15s,box-shadow .15s}.input-field:focus{border-color: var(--p);box-shadow: 0 0 0 4px rgba(26,150,147,0.15)}.input-field.is-invalid{border-color: var(--danger);background: var(--danger-tint)}.input-field::placeholder{color: var(--plc)}.input-icon{position: absolute;left: 15px;top: 50%;transform: translateY(-50%);width: 18px;height: 18px;color: var(--txt3);opacity: 0.5;pointer-events: none}.input-toggle{position: absolute;right: 12px;top: 50%;transform: translateY(-50%);width: 34px;height: 34px;border-radius: 8px;display: flex;align-items: center;justify-content: center;background: transparent;border: none;color: var(--txt3);opacity: 0.55;cursor: pointer}.input-toggle:hover{background: rgba(0,0,0,0.04)}.invalid-feedback{display: block;font-size: 12px;color: var(--danger);margin-top: 6px;font-weight: 500}.form-row{display: flex;justify-content: space-between;align-items: center;margin: 4px 0 24px;flex-wrap: wrap;gap: 10px}.remember{display: flex;align-items: center;gap: 8px;font-size: 13px;color: var(--txt2);cursor: pointer;user-select: none}.remember input{width: 18px;height: 18px;border-radius: 5px;accent-color: var(--p);cursor: pointer}.forgot-link{font-size: 13px;color: var(--p-active);text-decoration: none;font-weight: 600}.forgot-link:hover{text-decoration: underline}.btn-login{width: 100%;height: 52px;background: var(--p);color: #fff;border: none;border-radius: 12px;font-family: var(--f);font-size: 15px;font-weight: 700;display: flex;align-items: center;justify-content: center;gap: 9px;cursor: pointer;transition: background .15s,box-shadow .15s,transform .1s;box-shadow: 0 8px 22px rgba(26,150,147,0.32)}.btn-login:hover{background: var(--p-hover);box-shadow: 0 10px 28px rgba(26,150,147,0.4)}.btn-login:active{transform: scale(0.985)}.form-footer{text-align: center;margin-top: 24px}.form-footer .signup{font-size: 13px;color: var(--txt3);margin-bottom: 8px}.form-footer .signup a{color: var(--p-active);font-weight: 700;text-decoration: none}.form-footer .signup a:hover{text-decoration: underline}.form-footer .copy{font-size: 12px;color: var(--plc)}.form-footer .copy a{color: var(--plc);text-decoration: none}.form-footer .copy a:hover{color: var(--p-active)}
