/* Add registration to the original cabinet layout without importing the app. */
* { box-sizing:border-box; }
html { color-scheme:light; }
body { margin:0; color:#2c3e50; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.5; }
button,input { font:inherit; }
button,a,input { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
button:focus-visible,a:focus-visible { outline:3px solid #3498db; outline-offset:4px; }
.icon-definitions { position:absolute; width:0; height:0; overflow:hidden; }
.icon { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.login-page { position:relative; min-height:100svh; height:auto; padding:24px 0; overflow:visible; flex-direction:column; }
.preview-header,.preview-footer { width:min(90%,1200px); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.preview-header { margin-bottom:15px; font-size:13px; }
.back-link { display:inline-flex; align-items:center; gap:7px; text-decoration:none; color:#647585; }
.back-link:hover { color:#2980b9; }
.back-link .icon { width:16px; height:16px; }
.preview-badge { font-size:11px; letter-spacing:.025em; padding:4px 10px; background:#fff8; border:1px solid #dce2e9; border-radius:20px; color:#77838f; }
.login-container { height:auto; min-height:600px; flex-shrink:0; animation:none; }
.login-branding { padding:48px; min-width:0; }
.login-branding::before { animation:none; }
.branding-content { width:100%; max-width:370px; }
.logo-section,.brand-title,.brand-subtitle,.features-list,.form-wrapper { animation:none; }
.brand-logo { width:auto; max-width:100%; vertical-align:middle; }
.brand-title { letter-spacing:.01em; }
.brand-subtitle { font-size:16px; }
.feature-item { font-size:14px; padding:15px 16px; gap:16px; }
.feature-check { display:grid; place-items:center; width:20px; height:20px; flex:0 0 20px; border-radius:50%; background:#8cc152; color:#2c3e50!important; }
.feature-check .icon { width:15px; height:15px; stroke-width:2.5; }
.login-form-section { padding:36px 48px; min-width:0; }
.form-header { margin-bottom:25px; }
.form-title { font-size:30px; line-height:1.2; }
.form-subtitle { font-size:14px; margin-top:8px; }
.login-form { gap:16px; }
.form-group { gap:8px; }
.form-label { font-size:13px; line-height:1.5; }
.form-label .icon { color:#889697; width:15px; height:15px; }
.form-input { height:52px; padding:12px 17px; font-size:14px; font-weight:400; }
.password-field { position:relative; }
.password-field input { padding-right:54px; }
.password-toggle { position:absolute; right:10px; top:8px; width:36px; height:36px; border:0; border-radius:8px; display:grid; place-items:center; color:#85949c; background:transparent; cursor:pointer; }
.password-toggle:hover { background:#e9eef2; color:#2980b9; }
.forgot-link { align-self:flex-end; font-size:12px; color:#5d7b90; text-decoration:none; margin-top:-3px; }
.forgot-link:hover { text-decoration:underline; }
.btn-submit { padding:14px 20px; min-height:50px; font-size:15px; margin-top:0; box-shadow:0 4px 12px #3498db26; }
.signup-block { margin-top:23px; padding-top:21px; border-top:1px solid #e9ecef; text-align:center; }
.signup-title { margin:0 0 12px; color:#73838b; font-size:13px; }
.btn-register { width:100%; min-height:50px; padding:12px 18px; border:1.5px solid #3498db; border-radius:12px; background:#fff; font-size:15px; font-weight:600; color:#2980b9; cursor:pointer; transition:background .2s,border-color .2s; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.btn-register:hover { background:#f0f8fd; border-color:#2980b9; }
.signup-description { margin:13px 0 0; font-size:12px; line-height:1.7; color:#819097; }
.preview-footer { margin-top:16px; font-size:10px; color:#86929d; }
.preview-footer a { text-decoration:none; white-space:nowrap; }
.preview-footer a:hover { text-decoration:underline; }
.login-error { border:1px solid #fecaca; border-radius:10px; padding:11px 14px; margin:0; background:#fef2f2; color:#991b1b; font-size:13px; line-height:1.5; }
.registration-page .login-container { min-height:650px; }
.registration-page .form-header { margin-bottom:22px; text-align:left; }
.registration-form { display:flex; flex-direction:column; gap:13px; }
.registration-form .form-group { gap:5px; }
.registration-form .form-input { height:46px; }
.registration-form input[aria-invalid="true"] { border-color:#dc7777; }
.registration-consent { display:flex; align-items:flex-start; gap:10px; font-size:11px; color:#72848f; line-height:1.65; margin:3px 0; cursor:pointer; }
.registration-consent input { appearance:auto; accent-color:#3498db; width:16px; height:16px; flex:0 0 16px; margin:2px 0 0; }
.registration-consent a { color:#2980b9; text-underline-offset:3px; }
.registration-note { font-size:11px; color:#83939d; text-align:center; margin:0; line-height:1.65; }
.registration-login-link { font-size:12px; color:#7c8d97; text-align:center; margin:16px 0 0; }
.registration-login-link a { color:#2980b9; text-decoration:none; font-weight:600; margin-left:5px; }
.registration-login-link a:hover { text-decoration:underline; }
.registration-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.registration-success { outline:none; text-align:center; }
.success-icon { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 24px; color:#5a9340; background:#eff6eb; border-radius:50%; }
.success-icon .icon { width:34px; height:34px; stroke-width:2; }
.registration-success p { font-size:14px; color:#72848f; line-height:1.7; margin:20px 0 28px; }
.registration-success-back { display:inline-block; margin-top:22px; color:#688699; text-underline-offset:4px; font-size:13px; }
.registration-form .btn-submit:disabled { cursor:wait; opacity:.65; transform:none; }
[aria-busy="true"] { cursor:wait; }
[hidden] { display:none!important; }
@media(min-width:1440px) { .login-container,.preview-header,.preview-footer { max-width:1300px; } .login-container { min-height:650px; } .form-title { font-size:32px; } }
@media(max-width:1024px) { .login-branding { padding:36px 28px; } .login-form-section { padding:32px; } .brand-title { font-size:32px; } .brand-subtitle { font-size:15px; } .form-title { font-size:27px; } .login-container { min-height:580px; } }
@media(max-width:768px) {
  .registration-page .login-container { min-height:0; }
  .login-page { padding:18px 0; justify-content:flex-start; }
  .login-container { min-height:0; max-height:none; overflow:visible; }
  .preview-header { margin-bottom:12px; }
  .login-branding { padding:24px; border-radius:20px 20px 0 0; }
  .branding-content { max-width:none; display:grid; grid-template-columns:60px 1fr; column-gap:16px; text-align:left; align-items:center; }
  .logo-section { grid-row:1/3; margin:0; }
  .brand-logo { width:60px; height:auto; }
  .brand-title { font-size:22px; margin:0; }
  .brand-subtitle { font-size:11px; line-height:1.5; margin:4px 0 0; }
  .features-list { display:none; }
  .login-form-section { padding:30px 28px; border-radius:0 0 20px 20px; }
  .form-header { text-align:left; margin-bottom:24px; }
  .form-title { font-size:27px; }
  .form-subtitle { font-size:13px; }
  .form-input { font-size:16px; height:52px; }
  .signup-description { font-size:12px; }
  .preview-footer { align-items:flex-start; flex-direction:column; gap:8px; font-size:10px; line-height:1.6; }
}
@media(max-width:480px) {
  .login-page { padding:15px; }
  .login-container,.preview-header,.preview-footer { width:100%; }
  .login-branding { padding:22px; border-radius:16px 16px 0 0; }
  .login-form-section { padding:27px 23px; border-radius:0 0 16px 16px; }
  .branding-content { grid-template-columns:55px 1fr; column-gap:14px; }
  .brand-logo { width:55px; }
  .brand-title { font-size:20px; }
  .brand-subtitle { font-size:10px; }
  .form-title { font-size:26px; }
  .form-input { font-size:16px; }
  .preview-badge { font-size:10px; padding:4px 8px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
