@font-face{font-family:Paperlogy;src:url('/reserve-assets/Paperlogy-4Regular.woff2');font-weight:400;font-display:swap}@font-face{font-family:Paperlogy;src:url('/reserve-assets/Paperlogy-6SemiBold.woff2');font-weight:600;font-display:swap}*{box-sizing:border-box}body{margin:0;background:#faf9f6;color:#1f2a44;font:16px/1.65 Paperlogy,sans-serif;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.prelive{background:#1f2a44;color:#fff;text-align:center;font-size:12px;padding:8px 14px}.login-shell{flex:1;display:grid;place-items:center;padding:36px 20px}.login-card{width:100%;max-width:420px;text-align:center}.login-card>img{width:124px;height:auto;max-height:100px;object-fit:contain;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#77788f}h1{font-size:28px;line-height:1.4;margin:10px 0}p{color:#68748b}form{text-align:left;margin:28px 0 18px}label{display:block;font-size:14px;margin:16px 0}input{display:block;width:100%;font:inherit;min-height:50px;padding:12px;border:1px solid #d9dce3;border-radius:8px;background:white}input[readonly]{background:#f1f2f5}button,a{touch-action:manipulation}button{display:block;width:100%;min-height:50px;border:0;border-radius:8px;color:white;background:#1f2a44;font:600 16px Paperlogy,sans-serif;cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:#585990;display:inline-flex;align-items:center;min-height:48px}.fine{font-size:12px;margin-top:24px}footer{display:flex;justify-content:center;align-items:center;gap:12px;padding:22px}footer span{font-size:10px;letter-spacing:.16em;color:#68748b}footer img{width:104px;height:auto}#login-message,#reset-message{font-size:14px;color:#9a3b27;overflow-wrap:anywhere}#login-message[data-tone=info]{color:#68748b}[hidden]{display:none!important}:focus-visible{outline:3px solid #585990;outline-offset:3px}@media(max-height:500px)and(orientation:landscape){.login-shell{padding:20px}.login-card{display:grid;grid-template-columns:160px minmax(0,340px);gap:0 24px;max-width:550px}.login-card>img,.login-card>.eyebrow,.login-card>h1,.login-card>p:first-of-type{grid-column:1}.login-card>img{margin:0 auto}.login-card h1{font-size:20px}.login-card form{grid-column:2;grid-row:1/6;margin:0}.login-card .fine,#owner-preview,#login-message{grid-column:1/-1}footer{padding:12px}}

.account-help{display:flex;gap:8px;margin-top:18px}.account-help button,#auth-initialize{font-size:13px;background:#f0f2f5;color:#263348}#consultation-shortcut{display:block;border:1px solid #c9cdd4;border-radius:8px;margin:14px 0;padding:13px;text-align:center;text-decoration:none}#recovery-note{font-size:13px;line-height:1.7;color:#8b522c}.embedded .prelive,.embedded footer{display:none}.embedded .login-shell{min-height:0;padding:16px}.embedded .login-card{box-shadow:none;padding:20px}.embedded #agency-logo{height:52px;width:auto}button,a{min-height:44px}[hidden]{display:none!important}

#staff-signout.secondary{background:white;color:#263348;border:1px solid #c9cdd4;margin-top:10px}

@media(max-height:500px)and(orientation:landscape){#reset-message,#return-login,#reset-intro,#recovery-note,.account-help{grid-column:1/-1}#reset-form{grid-row:auto;grid-column:1/-1}}

/* Branded first-entry presentation; authentication still uses the existing server flow. */
#brand-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#faf9f6}#brand-intro .intro-hotel-logo{width:min(250px,58vw);height:auto;object-fit:contain;animation:brand-arrive .35s ease-out both}.intro-powered{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;animation:brand-arrive .3s .5s ease-out forwards}.intro-powered span{font-size:10px;letter-spacing:.14em;color:#68748b}.intro-powered img{width:98px;height:auto}.entry-pending>.login-shell{visibility:hidden}.entry-brand-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px}.entry-brand-header>img{width:125px;height:88px;object-fit:contain}.entry-brand-header>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.entry-brand-header button{width:auto;padding:9px 25px}.entry-brand-header a{font-size:14px}.entry-ready>.login-shell{display:none}.brand-login-modal{width:min(500px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:1px solid #e1e2e7;border-radius:16px;padding:12px 22px 24px;color:#1f2a44;background:#faf9f6;overflow:auto;overscroll-behavior:contain}.brand-login-modal::backdrop{background:#18233d66}.brand-login-modal .login-shell{padding:10px 0;display:block}.brand-login-modal .login-card{margin:auto}.brand-login-modal #close-brand-login{position:sticky;top:0;z-index:5;display:block;width:auto;min-width:44px;min-height:36px;margin-left:auto;padding:6px 14px;background:#ececf5;color:#263348;font-size:13px;box-shadow:0 1px 4px #0000001a}.embedded #brand-intro,.embedded .entry-brand-header{display:none!important}.embedded.entry-pending>.login-shell{visibility:visible}@keyframes brand-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#brand-intro .intro-hotel-logo,.intro-powered{animation:none;opacity:1;transform:none}}@media(max-height:500px){.entry-brand-header{padding:10px 18px}.entry-brand-header>img{height:52px;width:90px}#brand-intro .intro-hotel-logo{width:170px}.intro-powered{bottom:14px}.brand-login-modal{width:min(670px,calc(100vw - 20px));max-height:calc(100dvh - 16px);padding:8px 18px}.brand-login-modal .login-card{max-width:570px}.brand-login-modal .login-shell{padding:0}}

html.embedded-entry #brand-intro,html.embedded-entry .entry-brand-header{display:none!important}html.embedded-entry .login-shell{visibility:visible!important}#brand-intro{background:#fff}

/* Entry content remains visible when the login dialog is closed. */
.entry-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 24px;min-height:380px}.entry-welcome h1{font-size:36px;margin:12px 0}.entry-welcome>p{max-width:620px;margin:12px 0}.entry-welcome-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin:24px 0}.entry-welcome-actions button{width:auto;min-width:220px;padding:12px 28px}.entry-welcome-actions a{padding:12px 22px;border:1px solid #c9cdd4;border-radius:8px;text-decoration:none}.entry-welcome-note{font-size:13px}.entry-pending>.entry-welcome{visibility:hidden}.embedded-entry .entry-welcome{display:none}@media(max-width:540px){.entry-welcome{padding:40px 20px;min-height:340px}.entry-welcome h1{font-size:28px}.entry-welcome-actions{width:100%;flex-direction:column}.entry-welcome-actions button,.entry-welcome-actions a{width:100%}}

/* Avoid painting a hotel logo while an explicit operator entry resolves. */
html.operator-entry:not(.entry-brand-resolved) #brand-intro .intro-hotel-logo,html.operator-entry:not(.entry-brand-resolved) .entry-brand-header>img{visibility:hidden}
html.operator-entry #brand-intro .intro-powered[hidden]{display:none}
/* 0039: 컴팩트 표준(제목 약 18px·본문 13px·줄간격 1.6). 휴대폰 글자 확대 자동 보정 끔, 로그인 창이 한 화면에 들어오게 (보스 지시 2026-10-11) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:13px;line-height:1.6}
p{margin:6px 0}
.login-card>img{width:96px;max-height:72px;margin-bottom:10px}
.eyebrow{font-size:10px;margin:0}
h1,.login-card h1{font-size:18px;line-height:1.4;margin:4px 0 6px}
.login-card>p:not(.eyebrow){font-size:12px}
form{margin:14px 0 10px}
label{font-size:12px;margin:8px 0}
label input{margin-top:4px}
input{min-height:42px;padding:8px 10px;font-size:16px}
button{min-height:42px;font-size:14px}
a{min-height:40px}
#login-message,#reset-message{font-size:12px;margin:8px 0}
#recovery-note,.fine{font-size:11px;line-height:1.6}
.fine{margin-top:12px}
.account-help{margin-top:10px}
.account-help button,#auth-initialize{font-size:12px}
#consultation-shortcut{margin:10px 0;padding:9px;font-size:13px}
.brand-login-modal{padding:8px 16px 16px}
.brand-login-modal .login-shell{padding:4px 0}
.brand-login-modal #close-brand-login{min-height:32px;font-size:12px;padding:4px 12px}
.entry-brand-header{padding:12px 16px}
.entry-brand-header>img{width:96px;height:60px}
.entry-brand-header button{padding:7px 18px}
.entry-brand-header a{font-size:13px}
.entry-welcome h1{font-size:22px}
.entry-welcome>p{font-size:13px}
.entry-welcome-actions{gap:10px;margin:16px 0}
.entry-welcome-note{font-size:12px}
.prelive{font-size:11px;padding:6px 12px}
@media(max-width:540px){.entry-welcome{padding:24px 16px;min-height:0}.entry-welcome h1{font-size:20px}.brand-login-modal{width:calc(100vw - 16px)}}

