:root{--alp-red: #ee1c24;--alp-orange: #f78320;--alp-yellow: #feb914;--alp-dark-blue: #0073b4;--alp-blue: #009edd;--alp-light-blue: #6dcff6;--alp-lime: #acc32a;--alp-green: #00a54c;--alp-navy: #063a5c;--alp-navy-900: #04263b;--brand: var(--alp-dark-blue);--brand-600: #005b90;--bg: #f4f7fb;--surface: #ffffff;--text: #12283a;--text-muted: #5a6b7d;--border: #e2e9f0;--radius: 14px;--shadow: 0 12px 40px rgba(6, 58, 92, .12);--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.app-loading{min-height:100vh;display:grid;place-content:center;gap:14px;color:var(--text-muted);text-align:center}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-brand{position:relative;padding:64px 56px;color:#fff;background:radial-gradient(1200px 600px at 10% -10%,var(--brand) 0%,transparent 55%),linear-gradient(145deg,var(--alp-navy) 0%,var(--alp-navy-900) 100%);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.auth-brand:after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;background:var(--alp-red);opacity:.16}.auth-brand h1{font-size:3.2rem;margin:18px 0 12px;letter-spacing:-.02em}.auth-brand p{max-width:30ch;font-size:1.05rem;line-height:1.6;color:#ffffffd1}.brand-mark{font-weight:800;letter-spacing:.28em;text-transform:uppercase;font-size:.9rem;color:var(--alp-yellow)}.brand-logo{display:block;width:auto}.auth-brand .brand-logo{height:64px;margin-bottom:6px}.dash-brand .brand-logo{height:30px}.brand-footnote{position:absolute;bottom:28px;left:56px;font-size:.8rem;color:#ffffff8c}.auth-panel{display:grid;place-items:center;padding:32px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 34px}.auth-card h2{margin:20px 0 22px;font-size:1.5rem}.auth-tabs{display:flex;gap:6px;padding:5px;background:var(--bg);border-radius:10px}.auth-tabs button{flex:1;border:0;background:transparent;padding:9px 12px;border-radius:7px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.auth-tabs button.active{background:var(--surface);color:var(--alp-navy);box-shadow:0 2px 8px #0b21451a}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{display:flex;flex-direction:column;gap:7px;font-size:.88rem;font-weight:600;color:var(--text-muted)}.auth-form input{font:inherit;padding:12px 14px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.auth-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0073b429}.auth-error{margin:0;padding:10px 12px;font-size:.88rem;color:var(--alp-red);background:#ee1c2414;border-radius:8px}.btn-primary{font:inherit;font-weight:700;border:0;cursor:pointer;padding:13px 16px;border-radius:10px;color:#fff;background:var(--brand);transition:background .15s ease,transform .05s ease}.btn-primary:hover:not(:disabled){background:var(--brand-600)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{font:inherit;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:9px;color:var(--alp-navy);background:transparent;border:1px solid var(--border);transition:background .15s ease}.btn-ghost:hover{background:var(--bg)}.dash{min-height:100vh;display:flex;flex-direction:column}.dash-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:var(--alp-navy);color:#fff}.dash-brand{display:flex;align-items:center;gap:12px;font-size:1.15rem}.brand-mark.small{font-size:.72rem}.dash-user{display:flex;align-items:center;gap:14px;font-size:.92rem}.dash-user .btn-ghost{color:#fff;border-color:#ffffff4d}.dash-user .btn-ghost:hover{background:#ffffff1a}.dash-main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:36px 32px;display:flex;flex-direction:column;gap:24px}.hero-card{background:linear-gradient(135deg,var(--alp-blue) 0%,var(--alp-navy) 100%);color:#fff;border-radius:var(--radius);padding:34px 36px;box-shadow:var(--shadow)}.hero-card h1{margin:0 0 10px;font-size:2rem}.hero-card p{margin:0;max-width:60ch;line-height:1.6;color:#ffffffd9}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px}.info-card h3{margin:0 0 16px;font-size:1.05rem;color:var(--alp-navy)}.info-card dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0;font-size:.92rem}.info-card dt{color:var(--text-muted);font-weight:600}.info-card dd{margin:0;text-align:right}.info-card ul{margin:0;padding-left:18px;line-height:1.8;color:var(--text-muted);font-size:.92rem}.auth-muted{margin:0 0 18px;font-size:.92rem;color:var(--text-muted)}.invite-form{display:flex;flex-direction:column;gap:12px}.invite-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--text-muted)}.invite-form input[type=email],.invite-form input[type=text]{font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:#fff}.invite-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0073b429}.invite-checkbox{flex-direction:row;align-items:center;gap:8px;font-weight:500}.invite-checkbox input{width:16px;height:16px;accent-color:var(--brand)}.invite-ok{margin:0;padding:9px 12px;font-size:.86rem;color:var(--alp-green);background:#00a54c1a;border-radius:8px}.invite-list{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.invite-list li{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.invite-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:999px}.invite-badge.pending{color:var(--alp-orange);background:#f783201f}.invite-badge.ok{color:var(--alp-green);background:#00a54c1f}@media (max-width: 860px){.auth-layout{grid-template-columns:1fr}.auth-brand{padding:44px 32px}.auth-brand h1{font-size:2.4rem}.brand-footnote{position:static;margin-top:28px}}
