:root{--login-bg: #0f1115;--login-surface: #161a21;--login-surface-2: #1c2129;--login-border: #2a3038;--login-text: #f4f5f7;--login-muted: #8b939e;--login-accent: #a67b5b;--login-accent-hover: #8f6649;--login-accent-soft: #d4b59f;--login-accent-deep: #4d3a2a;--login-accent-rgb: 166, 123, 91;--login-accent-fg: #fffaf6;--login-danger: #ef4444;--login-success: #22c55e;--login-radius: 14px;--login-radius-sm: 10px;--login-cta-gradient: linear-gradient( 142deg, var(--login-accent-soft) 0%, var(--login-accent) 42%, var(--login-accent-deep) 100% );--login-coral: #e84c65;--login-coral-rgb: 232, 76, 101}*{box-sizing:border-box}html{height:100%}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;margin:0;min-height:100%;min-height:100dvh;background:var(--login-bg);color:var(--login-text)}.erp-spin{animation:erpAuthSpin .85s linear infinite}@keyframes erpAuthSpin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,32px);background:radial-gradient(ellipse 80% 60% at 10% 0%,rgba(var(--login-accent-rgb),.12) 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 100% 100%,rgba(var(--login-coral-rgb),.08) 0%,transparent 50%),var(--login-bg)}.login-shell{display:flex;width:100%;max-width:1040px;min-height:min(640px,calc(100dvh - 48px));border-radius:calc(var(--login-radius) + 6px);border:none;background:var(--login-surface);box-shadow:0 24px 80px #0000008c;overflow:hidden}.login-brand{position:relative;flex:1 1 48%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:clamp(1.75rem,4vw,2.75rem);text-align:center;color:var(--login-text);background:linear-gradient(155deg,#141820 0%,var(--login-bg) 55%,#12151c 100%);overflow:hidden;isolation:isolate}.login-brand__mesh,.login-brand__grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.login-brand__mesh{background:radial-gradient(ellipse 90% 70% at 20% 90%,rgba(var(--login-coral-rgb),.2) 0%,transparent 55%),radial-gradient(ellipse 70% 55% at 85% 15%,rgba(var(--login-accent-rgb),.22) 0%,transparent 50%);opacity:.9}.login-brand__grid{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 85%)}.login-brand__glow{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0}.login-brand__glow--a{width:200px;height:200px;top:-40px;right:-30px;background:rgba(var(--login-accent-rgb),.35)}.login-brand__glow--b{width:160px;height:160px;bottom:10%;left:-20px;background:rgba(var(--login-coral-rgb),.25)}.login-brand__content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:360px;margin:0 auto;text-align:center;animation:loginFadeUp .7s cubic-bezier(.22,1,.36,1) forwards}.login-brand__kicker{margin:0 0 1.25rem;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--login-muted)}.login-brand__logo{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;background:linear-gradient(145deg,#ff9a7b 0%,var(--login-coral) 48%,#c43d52 100%);box-shadow:0 12px 32px rgba(var(--login-coral-rgb),.4),inset 0 1px #ffffff40}.login-brand-mark{font-size:2rem;font-weight:800;line-height:1;letter-spacing:-.06em;color:#0a0a0a;-webkit-user-select:none;user-select:none}.login-brand__title{margin:0 0 .75rem;font-size:clamp(1.85rem,4vw,2.35rem);font-weight:700;letter-spacing:-.03em;line-height:1.1}.login-brand__tagline{margin:0 auto 1.75rem;max-width:320px;font-size:.9rem;line-height:1.65;color:var(--login-muted)}.login-brand__features{list-style:none;margin:0 auto;padding:0;display:flex;flex-direction:column;align-items:center;gap:.65rem;width:100%;max-width:260px}.login-brand__features li{display:flex;align-items:center;justify-content:center;gap:.65rem;font-size:.85rem;font-weight:500;color:#f4f5f7eb}.login-brand__feature-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--login-radius-sm);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--login-accent-soft);flex-shrink:0}.login-brand__footer{position:relative;z-index:1;width:100%;margin:0;padding-top:2rem;text-align:center;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--login-muted);animation:loginFadeUp .7s cubic-bezier(.22,1,.36,1) .15s forwards;opacity:0}.login-form-panel{flex:1 1 52%;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,2.5rem);background:var(--login-surface-2);border-left:none}.login-form-card{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:400px;margin:0 auto;width:100%}.login-form-panel__main{animation:loginFadeIn .65s cubic-bezier(.22,1,.36,1) .2s forwards;opacity:0}.login-form-eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--login-accent)}.login-form-title{margin:0 0 1.5rem;font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:var(--login-text)}.login-form-hint{font-size:.875rem;color:var(--login-muted);margin:-.75rem 0 1.25rem;line-height:1.55}.login-form{display:flex;flex-direction:column;gap:0}.field-line{margin-bottom:1.15rem}.field-line label{display:block;font-size:.8rem;font-weight:500;color:var(--login-muted);margin-bottom:.45rem}.field-line-input{position:relative;display:flex;align-items:center}.field-line-input input{width:100%;padding:12px 14px;font-size:.95rem;color:var(--login-text);background:var(--login-surface);border:1px solid var(--login-border);border-radius:var(--login-radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.field-line-input input::placeholder{color:var(--login-muted);opacity:.65}.field-line-input input:focus{outline:none;border-color:var(--login-accent);box-shadow:0 0 0 3px rgba(var(--login-accent-rgb),.2)}.field-line--invalid .field-line-input input,.field-line-input input.is-invalid{border-color:var(--login-danger);box-shadow:0 0 0 3px #ef444426}.field-line-error{display:block;margin-top:.4rem;font-size:.8rem;color:var(--login-danger)}.field-line-input .password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:transparent;color:var(--login-muted);cursor:pointer;border-radius:6px;transition:color .15s ease}.field-line-input .password-toggle:hover{color:var(--login-accent-soft)}.field-line-input.has-password-toggle input{padding-right:2.75rem}.remember-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.25rem 0 1.35rem}.form-check{display:flex;align-items:center;margin:0;padding:0}.form-check-input{width:17px;height:17px;margin:0 .5rem 0 0;cursor:pointer;border:1px solid var(--login-border);border-radius:4px;background:var(--login-surface);accent-color:var(--login-accent);flex-shrink:0}.form-check-label{font-size:.82rem;color:var(--login-muted);cursor:pointer;margin:0}.forgot-password-link{font-size:.82rem;font-weight:500;color:var(--login-accent-soft);text-decoration:none;transition:color .15s ease}.forgot-password-link:hover{color:var(--login-accent);text-decoration:underline}.login-actions{margin-top:.25rem}.btn-signin-primary{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--login-radius-sm);padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;color:var(--login-accent-fg);background:var(--login-cta-gradient);box-shadow:0 8px 24px rgba(var(--login-accent-rgb),.35);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn-signin-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px rgba(var(--login-accent-rgb),.45);filter:brightness(1.05)}.btn-signin-primary:disabled{opacity:.75;cursor:not-allowed;transform:none}.btn-signin-secondary{width:100%;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--login-radius-sm);padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;color:var(--login-muted);background:transparent;border:1px solid var(--login-border);text-decoration:none;transition:border-color .15s ease,color .15s ease}.btn-signin-secondary:hover{border-color:var(--login-accent);color:var(--login-text)}.alert{border-radius:var(--login-radius-sm);padding:.85rem 1rem;margin-bottom:1.15rem;font-size:.875rem;line-height:1.45}.alert-danger{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.alert-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#86efac}.login-page-footer{margin:1.5rem auto 0;max-width:400px;width:100%;text-align:center;font-size:.75rem;color:var(--login-muted);line-height:1.5}@keyframes loginFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes loginFadeIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.login-brand__content,.login-brand__footer,.login-form-panel__main{animation:none!important;opacity:1!important;transform:none!important}}@media (max-width: 860px){.login-shell{flex-direction:column;min-height:auto;max-width:480px}.login-brand{flex:none;padding-bottom:1.5rem}.login-brand__tagline{max-width:none}.login-brand__features{display:none}.login-form-panel{border-left:none;border-top:none}}.company-selection-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--login-bg)}.company-selection-wrapper{width:100%;max-width:1200px;margin:0 auto}.header-section{text-align:center;margin-bottom:50px}.header-section .welcome-icon{width:80px;height:80px;background:var(--login-cta-gradient);border-radius:20px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:0 10px 30px rgba(var(--login-accent-rgb),.35);color:var(--login-accent-fg)}.header-section h2{font-size:32px;font-weight:700;color:var(--login-text);margin-bottom:10px}.header-section p{font-size:16px;color:var(--login-muted);margin:0}.companies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-bottom:40px}.company-card{background:var(--login-surface);border:1px solid var(--login-border);border-radius:16px;padding:30px;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden;text-align:center;width:100%;color:var(--login-text)}.company-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--login-cta-gradient);transform:scaleX(0);transition:transform .25s ease}.company-card:hover{border-color:var(--login-accent);transform:translateY(-4px);box-shadow:0 16px 40px #00000059}.company-card:hover:before,.company-card.selected:before{transform:scaleX(1)}.company-card.selected{border-color:var(--login-accent);background:var(--login-surface-2);box-shadow:0 12px 32px rgba(var(--login-accent-rgb),.2)}.company-icon{width:70px;height:70px;background:var(--login-surface-2);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--login-accent-soft);transition:all .25s ease}.company-card.selected .company-icon{background:var(--login-cta-gradient);color:var(--login-accent-fg)}.company-name{font-size:20px;font-weight:600;margin:0 0 8px}.company-address{font-size:14px;color:var(--login-muted);line-height:1.5;margin:0}.company-check{position:absolute;top:15px;right:15px;width:24px;height:24px;background:var(--login-accent);border-radius:50%;display:none;align-items:center;justify-content:center;color:var(--login-accent-fg)}.company-card.selected .company-check{display:flex}.submit-section{text-align:center}.btn-continue{background:var(--login-cta-gradient);border:none;color:var(--login-accent-fg);font-size:16px;font-weight:600;padding:14px 50px;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 24px rgba(var(--login-accent-rgb),.35);min-width:200px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-continue:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px rgba(var(--login-accent-rgb),.45)}.btn-continue:disabled{background:var(--login-border);color:var(--login-muted);cursor:not-allowed;box-shadow:none}.alert-section{margin-bottom:30px}.footer-text{text-align:center;margin-top:40px;padding-top:30px;border-top:1px solid var(--login-border);color:var(--login-muted);font-size:14px}.company-selection-loading{text-align:center;color:var(--login-muted);padding:2rem}@media (max-width: 768px){.companies-grid{grid-template-columns:1fr}.header-section h2{font-size:24px}}
