.auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.auth-panel{background-color:#fff;position:relative;overflow:hidden;display:flex;align-items:stretch;transition:background-image .6s ease}.auth-bg-0{background-image:radial-gradient(circle at 15% 20%,rgba(74,124,89,.28) 0,rgba(74,124,89,0) 22%),radial-gradient(circle at 80% 15%,rgba(74,124,89,.22) 0,rgba(74,124,89,0) 18%),radial-gradient(circle at 70% 75%,rgba(74,124,89,.26) 0,rgba(74,124,89,0) 24%),radial-gradient(circle at 25% 80%,rgba(74,124,89,.2) 0,rgba(74,124,89,0) 20%)}.auth-bg-1{background-image:radial-gradient(circle at 20% 30%,rgba(147,51,234,.24) 0,rgba(147,51,234,0) 20%),radial-gradient(circle at 78% 25%,rgba(147,51,234,.2) 0,rgba(147,51,234,0) 18%),radial-gradient(circle at 55% 70%,rgba(147,51,234,.22) 0,rgba(147,51,234,0) 22%),repeating-linear-gradient(60deg,transparent,transparent 38px,rgba(147,51,234,.06) 0,rgba(147,51,234,.06) 39px)}.auth-bg-2{background-image:repeating-linear-gradient(90deg,transparent,transparent 44px,rgba(212,175,55,.08) 0,rgba(212,175,55,.08) 45px),repeating-linear-gradient(180deg,transparent,transparent 44px,rgba(212,175,55,.08) 0,rgba(212,175,55,.08) 45px),radial-gradient(circle at 75% 20%,rgba(212,175,55,.18) 0,rgba(212,175,55,0) 24%)}.auth-bg-3{background-image:radial-gradient(circle at 50% 40%,transparent 60px,rgba(70,130,180,.16) 62px,transparent 64px),radial-gradient(circle at 50% 40%,transparent 100px,rgba(70,130,180,.12) 102px,transparent 104px),radial-gradient(circle at 20% 75%,rgba(70,130,180,.2) 0,rgba(70,130,180,0) 18%)}.auth-bg-4{background-image:repeating-linear-gradient(90deg,transparent,transparent 30px,rgba(56,189,248,.07) 0,rgba(56,189,248,.07) 31px),repeating-linear-gradient(0deg,transparent,transparent 30px,rgba(56,189,248,.07) 0,rgba(56,189,248,.07) 31px),radial-gradient(circle at 30% 25%,rgba(56,189,248,.2) 0,rgba(56,189,248,0) 20%)}.auth-bg-5{background-image:radial-gradient(ellipse at 25% 30%,rgba(225,29,72,.18) 0,rgba(225,29,72,0) 30%),radial-gradient(ellipse at 75% 70%,rgba(225,29,72,.16) 0,rgba(225,29,72,0) 28%)}.auth-bg-6{background-image:repeating-linear-gradient(180deg,transparent,transparent 26px,rgba(16,185,129,.08) 0,rgba(16,185,129,.08) 27px),radial-gradient(circle at 80% 30%,rgba(16,185,129,.18) 0,rgba(16,185,129,0) 22%)}.auth-bg-7{background-image:radial-gradient(circle at 18% 22%,rgba(139,92,246,.22) 0,rgba(139,92,246,0) 16%),radial-gradient(circle at 60% 15%,rgba(139,92,246,.18) 0,rgba(139,92,246,0) 14%),radial-gradient(circle at 40% 60%,rgba(139,92,246,.16) 0,rgba(139,92,246,0) 16%),radial-gradient(circle at 85% 75%,rgba(139,92,246,.2) 0,rgba(139,92,246,0) 18%)}.auth-bg-8{background-image:linear-gradient(20deg,transparent 48%,rgba(132,204,22,.14) 49%,rgba(132,204,22,.14) 50%,transparent 51%),linear-gradient(20deg,transparent 68%,rgba(132,204,22,.1) 69%,rgba(132,204,22,.1) 70%,transparent 71%)}.auth-bg-9{background-image:radial-gradient(circle at 50% 50%,transparent 40px,rgba(249,115,22,.1) 42px,transparent 44px),radial-gradient(circle at 50% 50%,transparent 70px,rgba(249,115,22,.08) 72px,transparent 74px),radial-gradient(circle at 50% 50%,transparent 100px,rgba(249,115,22,.06) 102px,transparent 104px)}.auth-panel:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(180deg,transparent,transparent 35px,rgba(17,34,63,.04) 0,rgba(17,34,63,.04) 36px);pointer-events:none}.auth-panel-inner{position:relative;z-index:2;display:flex;flex-direction:column;padding:48px 52px;width:100%;gap:0}.auth-logo{display:flex;align-items:center;gap:14px;text-decoration:none;margin-bottom:auto}.auth-logo-name{font-size:18px;font-weight:700;color:#11223f;letter-spacing:-.01em;line-height:1.2}.auth-logo-tagline{font-size:12px;color:#5a6a88;margin-top:2px}.auth-fact-card{background:#11223f;border:none;border-radius:14px;padding:28px;margin:auto 0;box-shadow:0 16px 40px rgba(17,34,63,.18)}.auth-fact-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.auth-fact-subject{font-size:13px;font-weight:700;color:#d4af37;letter-spacing:.02em}.auth-fact-level{font-size:11px;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.55);padding:3px 10px;border-radius:20px;font-weight:500}.auth-fact-text{font-size:15px;line-height:1.7;color:hsla(0,0%,100%,.85);font-style:italic;margin-bottom:16px}.auth-fact-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.3)}.auth-panel-footer{font-size:12px;color:#9a9080;margin-top:32px}.auth-form-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:48px 24px}.auth-form-inner{width:100%;max-width:400px}.auth-heading{font-size:26px;font-weight:800;color:#11223f;letter-spacing:-.02em;margin-bottom:6px}.auth-subheading{font-size:15px;color:#5a6a88;margin-bottom:32px;line-height:1.5}.auth-subheading a{color:#11223f;font-weight:600;text-decoration:none;border-bottom:1.5px solid #d4af37}.auth-subheading a:hover{color:#d4af37}.auth-form{gap:18px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-label{font-size:13px;font-weight:600;color:#11223f}.auth-input{width:100%;padding:12px 14px;border:1.5px solid #e2ddd5;border-radius:9px;font-size:15px;color:#11223f;font-family:inherit;outline:none;background:#fff;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:#9a9080}.auth-input:focus{border-color:#4682b4;box-shadow:0 0 0 3px rgba(70,130,180,.12)}.auth-input.error{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.08)}.auth-password-wrap{position:relative}.auth-password-wrap .auth-input{padding-right:44px}.auth-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#7a8ea8;display:flex;align-items:center;padding:4px;transition:color .15s}.auth-password-toggle:hover{color:#11223f}.auth-field-error{font-size:12px;color:#dc2626;margin-top:2px}.auth-role-label{font-size:13px;font-weight:600;color:#11223f;margin-bottom:8px;display:block}.auth-role-group{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.auth-role-option{position:relative}.auth-role-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.auth-role-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1.5px solid #e2ddd5;border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.auth-role-card:hover{border-color:#11223f;background:#f3ede2}.auth-role-option input:checked+.auth-role-card{border-color:#4682b4;background:#4682b4}.auth-role-icon{font-size:20px}.auth-role-name{font-size:13px;font-weight:600;color:#11223f;transition:color .15s}.auth-role-option input:checked+.auth-role-card .auth-role-name{color:#fff}.auth-role-desc{font-size:10px;color:#7a8ea8;line-height:1.4;transition:color .15s}.auth-role-option input:checked+.auth-role-card .auth-role-desc{color:hsla(0,0%,100%,.6)}.auth-forgot{font-size:13px;color:#5a6a88;text-decoration:none;text-align:right;display:block;margin-top:-8px;transition:color .15s}.auth-forgot:hover{color:#11223f}.auth-submit{width:100%;background:#4a7c59;color:#fff;font-size:15px;font-weight:700;padding:14px;border:none;border-radius:10px;cursor:pointer;box-shadow:0 2px 6px rgba(74,124,89,.2),0 6px 18px rgba(74,124,89,.16);transition:background .15s,transform .15s ease,box-shadow .15s ease;margin-top:4px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.auth-submit:hover{background:#3d6849;transform:translateY(-2px);box-shadow:0 4px 10px rgba(74,124,89,.24),0 10px 24px rgba(74,124,89,.2)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-submit:focus-visible{outline:2px solid #d4af37;outline-offset:2px}.auth-spinner{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.auth-divider-line{flex:1;height:1px;background:#e2ddd5}.auth-divider-text{font-size:12px;color:#9a9080;white-space:nowrap}.auth-alert{padding:12px 16px;border-radius:9px;font-size:14px;line-height:1.5}.auth-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.auth-alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.auth-terms{font-size:12px;color:#9a9080;text-align:center;line-height:1.6}.auth-terms a{color:#5a6a88;text-decoration:underline}@media (max-width:768px){.auth-shell{grid-template-columns:1fr}.auth-panel{display:none}.auth-form-panel{padding:32px 20px;min-height:100vh}.auth-form-inner{max-width:100%}}