@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";:root{--bg: #f7f8fa;--bg-elevated: #ffffff;--bg-row-hover: #eef3fb;--ink: #0b1220;--ink-soft: #4a5568;--ink-faint: #94a0b0;--line: #dde3ec;--line-soft: #eaeef4;--accent: #2076ff;--accent-soft: #5b95ff;--danger: #e03a3a;--warn: #d98e1b;--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-pill: 100px;--shadow-sm: 0 1px 2px rgba(11, 18, 32, .04);--shadow-md: 0 4px 12px rgba(11, 18, 32, .06);--shadow-lg: 0 8px 24px rgba(11, 18, 32, .1)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:inherit;text-decoration:none}input,textarea,select{font-family:inherit}.ontol-logo{display:flex;align-items:center;-webkit-user-select:none;user-select:none;transition:opacity .2s}.ontol-logo:hover{opacity:.85}.ontol-logo .logo-text{display:flex;flex-direction:column;gap:2px}.ontol-logo .logo-brand{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink, #202124);line-height:1}.ontol-logo .logo-accent{color:var(--ink, #202124)}.ontol-logo .logo-subtitle{font-size:11px;color:var(--ink-faint, #9aa0a6);letter-spacing:.04em;text-transform:uppercase;line-height:1}.ontol-logo.small .logo-brand{font-size:18px}.ontol-logo.small .logo-subtitle{font-size:10px}.ontol-logo.compact .logo-text{gap:0}.ontol-logo.compact .logo-subtitle{display:none}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);padding:16px}.login-container{width:100%;max-width:400px;background:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 16px #00000014;padding:48px 32px}.login-header{text-align:center;margin-bottom:40px}.login-header h1{font-size:28px;font-weight:700;color:var(--ink);margin:0 0 8px}.login-header p{font-size:14px;color:#5a6376;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:var(--ink)}.form-input,.role-select{padding:10px 12px;border:1px solid #d0d6de;border-radius:var(--radius-md);font-size:14px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .2s}.form-input:focus,.role-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2076ff1a}.form-input::placeholder{color:#8a92a8}.role-select{cursor:pointer}.role-form{display:flex;flex-direction:column;gap:16px}.btn-primary,.btn-secondary{padding:10px 16px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#1a5fd6;box-shadow:0 4px 12px #2076ff4d}.btn-primary:active{background:#1552bf}.btn-primary:disabled{background:#d0d6de;cursor:not-allowed}.btn-secondary{background:#f0f2f6;color:var(--ink)}.btn-secondary:hover{background:#e4e7f0}.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:10px 12px;font-size:13px;color:#b91c1c}.form-hint{background:#f7f9fc;border:1px solid #e4e7f0;border-radius:var(--radius-md);padding:12px;font-size:12px;color:#5a6376}.form-hint p{margin:0}.form-hint code{background:#e8ecf6;color:var(--accent);padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-weight:600}@media (max-width: 480px){.login-container{padding:32px 24px}.login-header h1{font-size:24px}.form-input,.role-select{font-size:16px}}.login-apply-link{margin-top:24px;text-align:center;padding-top:20px;border-top:1px solid var(--border, #e5e7eb)}.login-apply-link a{color:var(--text-muted, #6b7280);font-size:14px;text-decoration:none;transition:color .15s}.login-apply-link a:hover{color:var(--primary, #2563eb);text-decoration:underline}.hospital-banner{display:flex;align-items:baseline;gap:10px;padding:12px 14px;background:var(--surface-2, #f3f4f6);border:1px solid var(--border, #e5e7eb);border-radius:var(--radius-lg);margin-bottom:16px}.hospital-banner-label{font-size:11px;font-weight:600;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em}.hospital-banner-name{font-size:14px;font-weight:700;color:var(--text, #111827)}
