@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--surface: #141414;--surface2: #1e1e1e;--surface3: #282828;--border: #2a2a2a;--border2: #3a3a3a;--border3: #484848;--text: #e8e8e8;--text2: #9a9a9a;--text3: #585858;--yellow: #e8c547;--yellow-dim: #b89c2e;--yellow-bg: rgba(232, 197, 71, .07);--blue: #4a9eff;--green: #3ecf6e;--red: #ff5e5e;--red-bg: rgba(255, 94, 94, .08);--orange: #ff8c42;--purple: #a78bfa;--font-mono: "IBM Plex Mono", monospace;--font-sans: "IBM Plex Sans", sans-serif;--r: 4px;--r2: 6px}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border3)}.login-body{min-height:100vh;display:flex;overflow:hidden;position:relative}.login-bg{position:fixed;inset:0;background:var(--bg);z-index:0}.login-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(232,197,71,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(232,197,71,.03) 1px,transparent 1px);background-size:40px 40px}.login-wrap{position:relative;z-index:1;display:flex;width:100%;min-height:100vh}.login-brand{width:44%;min-height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:48px;position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;top:-120px;left:-120px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(232,197,71,.06) 0%,transparent 70%);pointer-events:none}.brand-inner{max-width:340px}.brand-logo{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--yellow);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.brand-code{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--yellow);letter-spacing:.12em;text-transform:uppercase}.brand-hospital{font-size:28px;font-weight:300;color:var(--text);line-height:1.2;margin-bottom:12px;letter-spacing:-.01em}.brand-sub{font-size:12px;color:var(--text3);font-family:var(--font-mono);line-height:1.6;margin-bottom:32px}.brand-divider{width:40px;height:1px;background:var(--border2);margin-bottom:24px}.brand-roles{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}.role-tag{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text2);font-family:var(--font-mono)}.role-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.brand-form-ref{font-family:var(--font-mono);font-size:9px;color:var(--text3);letter-spacing:.08em;border:1px solid var(--border);display:inline-block;padding:4px 10px;border-radius:var(--r)}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:48px}.login-form-inner{width:100%;max-width:380px}.form-header{margin-bottom:28px}.form-header-label{font-family:var(--font-mono);font-size:9px;color:var(--yellow);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.form-title{font-size:22px;font-weight:400;color:var(--text);margin-bottom:8px}.form-sub{font-size:12px;color:var(--text3);font-family:var(--font-mono);line-height:1.5}.alert-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--red-bg);border:1px solid rgba(255,94,94,.35);border-radius:var(--r);font-size:12px;color:var(--red);font-family:var(--font-mono);margin-bottom:20px}.alert-icon{flex-shrink:0}.field-group{margin-bottom:18px}.field-label{display:block;font-size:9px;font-weight:500;color:var(--text3);letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-mono);margin-bottom:6px}.field-wrap{position:relative;display:flex;align-items:center}.field-icon{position:absolute;left:12px;color:var(--text3);display:flex;align-items:center;pointer-events:none}.field-input{width:100%;background:var(--surface2);border:1px solid var(--border2);color:var(--text);padding:10px 12px 10px 38px;border-radius:var(--r);font-size:13px;font-family:var(--font-sans);outline:none;transition:border-color .15s,background .15s}.field-input:focus{border-color:var(--yellow);background:var(--surface3)}.field-input.is-error{border-color:var(--red)}.field-input::placeholder{color:var(--text3)}.toggle-pw{position:absolute;right:10px;background:none;border:none;color:var(--text3);cursor:pointer;display:flex;align-items:center;padding:4px;transition:color .12s}.toggle-pw:hover{color:var(--text)}.remember-row{margin-bottom:22px}.checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.checkbox-input{display:none}.checkbox-custom{width:15px;height:15px;border:1px solid var(--border2);border-radius:3px;background:var(--surface2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s}.checkbox-input:checked+.checkbox-custom{background:var(--yellow);border-color:var(--yellow)}.checkbox-input:checked+.checkbox-custom:after{content:"✓";font-size:9px;color:#0a0a0a;font-weight:700}.checkbox-text{font-size:12px;color:var(--text2);font-family:var(--font-mono)}.btn-login{width:100%;padding:11px;background:var(--yellow);color:#0a0a0a;border:none;border-radius:var(--r);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,opacity .15s;margin-bottom:20px}.btn-login:hover{background:var(--yellow-dim)}.btn-login:active{opacity:.85}.btn-login:disabled{opacity:.5;cursor:not-allowed}.btn-login-loader.hidden{display:none}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text3);font-family:var(--font-mono);text-align:center}.hidden{display:none!important}@media(max-width:768px){.login-brand{display:none}.login-form-panel{padding:32px 24px}}
