/* 공산지 sign-in, sign-up, account, first-admin and staff pages (G-16), plus the header account menu on /new. */
@font-face{font-family:"Pretendard";font-style:normal;font-weight:100 450;font-display:swap;src:url("/fonts/pretendard-400.woff2") format("woff2")}@font-face{font-family:"Pretendard";font-style:normal;font-weight:451 749;font-display:swap;src:url("/fonts/pretendard-600.woff2") format("woff2")}@font-face{font-family:"Pretendard";font-style:normal;font-weight:750 1000;font-display:swap;src:url("/fonts/pretendard-800.woff2") format("woff2")}
:root{--ink:#14203a;--muted:#66728a;--line:#e3e8f0;--blue:#2563eb;--navy:#172d59;--navy-2:#21407d;--bad:#b42318;--good:#1f6b3a;--field:#f7f9fc}
*{box-sizing:border-box}
[hidden]{display:none!important}
.auth-page{margin:0;min-height:100vh;color:var(--ink);font:15px/1.6 "Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;background:#eef2f8;-webkit-font-smoothing:antialiased}
/* Split layout: brand on the left, form on the right; stacked on phones. */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,44%) 1fr}
.auth-side{position:relative;overflow:hidden;color:#fff;padding:56px 56px 40px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(155deg,var(--navy) 0%,var(--navy-2) 62%,#2b56a8 100%)}
.auth-side::after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#ffffff1f 0%,#ffffff00 70%)}
.auth-side .side-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px;letter-spacing:-.2px}
.auth-side .side-brand .mark{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#ffffff1f;border:1px solid #ffffff38;font-size:15px;letter-spacing:-1px}
.auth-side h2{margin:0 0 14px;font-size:clamp(28px,3.2vw,40px);line-height:1.25;letter-spacing:-1px;font-weight:800}
.auth-side p{margin:0;max-width:380px;color:#d9e3f6;font-size:15px}
.auth-side ul{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:10px;color:#e8eefb;font-size:14px}
.auth-side li{display:flex;gap:10px;align-items:center}.auth-side li::before{content:"";width:6px;height:6px;border-radius:50%;background:#8fb2ff;flex:none}
.auth-side small{position:relative;z-index:1;color:#b9c8e6;font-size:12px}
.auth-main{display:flex;align-items:center;justify-content:center;padding:48px 24px}
.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px 32px;box-shadow:0 24px 60px #14233e17}
.auth-page:not(.split){display:flex;align-items:flex-start;justify-content:center;padding:7vh 16px 40px}
.auth-card.wide{max-width:980px}
.auth-brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}
.auth-brand .mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--navy);color:#fff;font-size:15px;letter-spacing:-1px;font-weight:700}
.auth-brand strong{display:block;font-size:17px;letter-spacing:-.3px}.auth-brand small{display:block;color:var(--muted);font-size:12px}
.split .auth-brand{display:none}
.auth-card h1{font-size:26px;margin:0 0 6px;letter-spacing:-.8px;font-weight:800}
.auth-card h2{font-size:17px;margin:28px 0 10px;letter-spacing:-.3px}
.auth-lead{margin:0 0 22px;color:var(--muted);font-size:14px}
.auth-card form{display:grid;gap:16px}
.auth-card label{display:grid;gap:7px;font-size:14px;font-weight:600;color:#3d4a62}
.auth-card input:not([type=checkbox]),.auth-card select{width:100%;height:52px;padding:0 14px;border:1px solid #d6dde8;border-radius:11px;font:inherit;font-size:16px;color:var(--ink);background:var(--field);transition:border-color .15s,box-shadow .15s,background .15s}
.auth-card input:not([type=checkbox]):focus,.auth-card select:focus{outline:none;background:#fff;border-color:#4f7df0;box-shadow:0 0 0 4px #2563eb1f}
.auth-card input::placeholder{color:#9aa4b5}
.password-field{position:relative}.password-field input{padding-right:64px}
.password-field .reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:38px;min-height:0;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#4a5874;font-size:13px;font-weight:600}
.password-field .reveal:hover{background:#eef2f8}
.auth-card .auth-check{display:flex;gap:10px;align-items:center;font-weight:500;color:#3d4a62;font-size:14px;cursor:pointer}
.auth-check input{width:20px;height:20px;accent-color:var(--blue)}
.auth-card button{height:52px;padding:0 18px;border-radius:11px;border:1px solid #d6dde8;background:#fff;font:inherit;font-size:16px;font-weight:700;color:#334155;cursor:pointer;transition:filter .15s,background .15s}
.auth-card button.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 8px 20px #2563eb33}
.auth-card button.primary:hover{filter:brightness(1.06)}
.auth-card button:disabled{opacity:.55;cursor:default;box-shadow:none}
.auth-status{margin:0;min-height:1.4em;font-size:14px;color:var(--bad)}.auth-status.ok{color:var(--good)}
.auth-divider{display:flex;align-items:center;gap:12px;margin:2px 0 18px;color:#98a2b3;font-size:12px}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-links{display:flex;gap:18px;justify-content:center;margin:22px 0 0;font-size:14px;color:var(--muted)}.auth-links a{color:var(--blue);font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}
.auth-note{margin:12px 0 0;color:var(--muted);font-size:12.5px;text-align:center}
.auth-links.left{justify-content:flex-start;margin:0 0 6px}.auth-note.left{text-align:left}
.auth-secret{font:600 22px/1.4 ui-monospace,Consolas,monospace;letter-spacing:1.5px;background:#f6f9fd;border:1px dashed #b9c8e2;border-radius:10px;padding:12px 14px;user-select:all;word-break:break-all}
/* fingerprint, face or device-PIN sign-in */
.auth-card .passkey-button{width:100%;margin:4px 0 18px;background:var(--navy);border-color:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px}
.auth-card .passkey-button::before{content:"";width:22px;height:22px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 11c0 3.5-1 6.5-2.5 8.5M15.5 12.5c0 2.6-.5 5-1.4 7M8.5 10.5a3.5 3.5 0 0 1 7 0M6 13c0-1.1 0-2.2.3-3.2M18 11c0-3.3-2.7-6-6-6-1.6 0-3 .6-4.1 1.6M18.4 15.5c-.2 1.3-.5 2.5-.9 3.6'/%3E%3C/svg%3E")}
.passkey-offer{margin:4px 0 20px;padding:16px;border:1px solid #cfe0fb;border-radius:14px;background:#f4f8ff;font-size:14px}.passkey-offer p{margin:0 0 12px}
.passkey-actions{display:flex;gap:8px}.passkey-actions button{flex:1}
.passkey-section{margin-top:28px;padding-top:6px;border-top:1px solid var(--line)}
/* staff page */
.staff-list{display:grid;gap:10px}
.staff-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.staff-row strong{font-size:15px}.staff-row small{display:block;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
.staff-row .badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:6px;font-size:11px;background:#eef1f5;color:#56637a;vertical-align:1px}
.staff-row .badge.pending{background:#fff4e0;color:#8a5209}.staff-row .badge.admin{background:#e8effd;color:#1f4fae}.staff-row .badge.disabled{background:#fbeaea;color:var(--bad)}
.staff-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.auth-card .staff-actions button{height:38px;font-size:13px;padding:0 12px;box-shadow:none}
.staff-add{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end}
@media(max-width:860px){
  .auth-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .auth-side{padding:28px 22px 26px}.auth-side h2{font-size:24px;margin:22px 0 8px}.auth-side ul,.auth-side small{display:none}.auth-side::after{width:260px;height:260px}
  .auth-main{align-items:flex-start;padding:0 14px 32px;margin-top:-14px}
  .auth-card{padding:28px 20px;border-radius:16px}
}
@media(max-width:720px){.staff-add{grid-template-columns:1fr}.staff-row{grid-template-columns:1fr}.staff-actions{justify-content:flex-start}}
/* header account menu on /new */
.account-menu{position:relative;margin-left:10px;font:13px/1.4 -apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.account-menu summary{list-style:none;cursor:pointer;padding:7px 12px;border:1px solid #d8dee8;border-radius:8px;background:#fff;font-weight:600;color:#334155;white-space:nowrap}
.account-menu summary::-webkit-details-marker{display:none}
.account-menu .account-items{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;background:#fff;border:1px solid #dfe5ee;border-radius:10px;box-shadow:0 12px 32px #14233e24;padding:6px;display:grid}
.account-menu .account-items a,.account-menu .account-items button{display:block;text-align:left;padding:10px;border:0;border-radius:7px;background:none;font:inherit;color:#334155;text-decoration:none;cursor:pointer}
.account-menu .account-items a:hover,.account-menu .account-items button:hover{background:#f2f5fa}
.account-menu .account-who{padding:8px 10px;color:var(--muted);font-size:12px;border-bottom:1px solid #eef1f5;margin-bottom:4px}
.account-company{padding:8px 10px;font-size:14px;font-weight:700;overflow-wrap:anywhere}
#account-company{margin:20px 0 28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
#account-company .auth-lead{margin:0;font-size:14px;overflow-wrap:anywhere}
#account-company input,#account-company button{min-height:44px}
/* 새 버전 알림 (G-17): bottom card on wide screens, full-width bar on phones. */
.app-update{position:fixed;z-index:60;right:20px;bottom:20px;width:min(420px,calc(100vw - 40px));display:grid;gap:12px;padding:16px 18px;background:#172d59;color:#fff;border-radius:14px;box-shadow:0 18px 50px #0b1a3359;font:15px/1.5 -apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.app-update-text strong{display:block;font-size:17px}.app-update-text span{display:block;color:#d9e3f6;font-size:14px;margin-top:2px}
.app-update details{margin-top:8px;font-size:14px}.app-update summary{cursor:pointer;color:#bcd0f7;font-weight:600}.app-update ul{margin:8px 0 0;padding-left:18px;color:#e8eefb}.app-update li{margin:4px 0}
.app-update-actions{display:flex;gap:8px}.app-update-actions button{flex:1;min-height:48px;border-radius:10px;border:1px solid #ffffff55;background:transparent;color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}.app-update-actions button.primary{background:#fff;color:#172d59;border-color:#fff}
@media(max-width:640px){.app-update{left:0;right:0;bottom:0;width:auto;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}}
