.staff-permission-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.staff-permission-actions button{min-height:38px;padding:8px 12px;font-size:13px}.permission-preset-result,.code-result{color:var(--jj-gray-600);font-size:13px;line-height:1.6}.permission-preset-result:empty,.code-result:empty{display:none}.attendance-code-card{padding:18px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-sheet);background:var(--jj-gray-50);margin:14px 0;max-width:480px}.attendance-code-label{display:flex;align-items:center;gap:10px}.attendance-code-label svg,.attendance-code-card button svg{width:22px;height:22px;flex-shrink:0;color:var(--jj-primary)}.attendance-code-card button svg{color:inherit}.attendance-code-label strong,.attendance-code-label small{display:block}.attendance-code-label strong{font-size:14px}.attendance-code-label small{margin-top:4px;font-size:12px;color:var(--jj-gray-600)}.attendance-code-number{font-size:32px;font-weight:700;letter-spacing:.2em;font-variant-numeric:tabular-nums;color:var(--jj-primary-hover);margin:14px 0}.attendance-code-card form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.attendance-code-card form label{display:grid;gap:7px;font-size:12px;width:150px}.attendance-code-card form input{width:100%;min-height:44px;font-size:18px;letter-spacing:.15em}.attendance-code-card form button{display:flex;align-items:center;gap:8px;min-height:44px}.attendance-code-card .code-result{flex-basis:100%;margin:4px 0 0}.member-account-page{width:min(100% - 32px,620px);margin:24px auto;padding-bottom:90px}.member-account-page>h1{font-size:24px;margin-bottom:20px}.member-account-page .ops-account-editor{max-width:none}.member-account-page .ops-account-editor form+h2{margin-top:28px;padding-top:24px;border-top:1px solid var(--jj-divider)}.staff-code input[name=code]{max-width:180px;letter-spacing:.12em;font-variant-numeric:tabular-nums}.staff-code .staff-form-result:not(:empty){padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--jj-gray-100);margin-top:12px;font-size:13px}.member-account-page>.button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;margin-top:14px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:#fff;color:var(--jj-gray-800);text-decoration:none;font-size:14px;font-weight:600}.member-account-page>.button svg{width:18px;height:18px}.member-account-page #own-attendance-codes>*{max-width:none}.auth-page{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,1fr);background:#fff;color:var(--jj-gray-900);word-break:keep-all}.auth-brand{background:var(--jj-primary-50);display:flex;flex-direction:column;padding:42px clamp(32px,5vw,80px) 28px;overflow:hidden}.auth-logo{width:174px;height:38px;object-fit:contain;object-position:left}.auth-brand-story{margin:auto;padding-top:54px;width:min(100%,460px)}.auth-eyebrow{margin:0 0 16px;color:var(--jj-gray-700);font-size:13px;font-weight:600;letter-spacing:.02em}.auth-brand h2{margin:0;font-size:clamp(29px,2.8vw,40px);font-weight:700;letter-spacing:-.055em;line-height:1.38}.auth-brand-copy{margin:20px 0 0;color:var(--jj-gray-700);font-size:15px;line-height:1.85;letter-spacing:-.02em}.auth-illustration{display:block;width:min(100%,348px);height:auto;margin:8px auto 6px;mix-blend-mode:multiply}.auth-brand-footer{margin:auto 0 0;padding-top:18px;color:var(--jj-gray-600);font-size:10px;font-weight:600;letter-spacing:.14em}.auth-panel{position:relative;padding:72px 48px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow-y:auto}.auth-content{width:100%;max-width:390px}.auth-content h1{margin:0;font-size:28px;line-height:1.4;font-weight:700;letter-spacing:-.045em;text-wrap:balance}.auth-description{margin:14px 0 30px;color:var(--jj-gray-600);font-size:15px;line-height:1.75;letter-spacing:-.02em}.auth-providers{display:grid;gap:12px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--jj-gray-500);font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--jj-gray-200)}.auth-provider{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:52px;min-height:52px;border-radius:var(--jj-radius-card);text-decoration:none;font-size:15px;font-weight:500;transition:box-shadow .15s;padding:0 20px}.auth-provider:hover{box-shadow:0 2px 7px #16294b1a}.auth-provider:focus-visible,.auth-page a:focus-visible,.auth-page summary:focus-visible{outline:3px solid var(--jj-primary);outline-offset:4px}.auth-kakao,.auth-kakao:disabled{background:#fee500;border:1px solid #fee500;color:var(--jj-gray-950)}.auth-provider.auth-google{background:#fff;border:1px solid var(--jj-gray-600);color:var(--jj-gray-900)}.auth-google>img{position:absolute;left:20px;object-fit:contain}.auth-kakao-label{width:300px;max-width:100%;height:45px;object-fit:contain}.auth-provider:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.auth-provider small{position:absolute;right:10px;font-size:10px}.auth-switch{display:flex;justify-content:center;gap:10px;margin:26px 0 0;font-size:14px;color:var(--jj-gray-600)}.auth-switch a{color:var(--jj-primary);font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-guidance{border-top:1px solid var(--jj-gray-200);margin-top:30px;padding-top:22px;font-size:12px;line-height:1.75;color:var(--jj-gray-600);text-align:center}.auth-guidance p{margin:0 0 5px}.auth-steps{padding:0;margin:0 0 26px;list-style:none;display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--jj-gray-600)}.auth-steps li{display:flex;align-items:center;gap:6px}.auth-steps span{width:22px;height:22px;border-radius:50%;background:var(--jj-gray-150);display:grid;place-items:center;font-size:11px}.auth-steps [aria-current]{color:var(--jj-primary);font-weight:700}.auth-steps [aria-current] span{background:var(--jj-primary);color:#fff}.auth-page label{display:grid;gap:8px;margin:18px 0;font-size:13px;font-weight:600}.auth-page input,.auth-page textarea{width:100%;min-width:0;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-control);padding:12px;background:#fff;color:var(--jj-gray-900);font-size:15px}.auth-page textarea{min-height:88px;resize:vertical;line-height:1.6}.auth-page input:focus,.auth-page textarea:focus{outline:2px solid var(--jj-primary);outline-offset:2px}.auth-page form>button,.auth-wide{width:100%;min-height:46px}.auth-page details{margin:22px 0;font-size:13px;color:var(--jj-gray-700)}.auth-page summary{cursor:pointer;padding:6px 0}.auth-page .auth-local{margin:0;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-card);background:#fff;color:var(--jj-gray-900)}.auth-page .auth-local>summary{min-height:52px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;font-weight:600;list-style:none}.auth-page .auth-local>summary::-webkit-details-marker{display:none}.auth-local-icon{color:var(--jj-primary);width:20px;height:20px}.auth-local-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-page .auth-local[open]>summary{border-bottom:1px solid var(--jj-gray-200)}.auth-page .auth-local form{padding:4px 18px 18px}.auth-page .auth-local label{margin:14px 0}.auth-page .auth-local form>button{margin-top:4px}.auth-field-hint{margin:4px 0 12px;color:var(--jj-gray-600);font-size:12px;line-height:1.6}.auth-page .access-pending{background:var(--jj-gray-50);border:0;border-left:3px solid var(--jj-primary);padding:20px;border-radius:0 8px 8px 0;font-size:14px;line-height:1.6}.auth-page .access-pending p{color:var(--jj-gray-700);white-space:pre-wrap}.auth-page .access-pending small{color:var(--jj-gray-600);font-size:11px}.auth-page .access-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-page .access-actions button{min-height:44px;font-size:13px}.auth-notice{background:var(--jj-gray-100);padding:14px;border-radius:var(--jj-radius-control);font-size:13px;line-height:1.7;color:var(--jj-gray-700)}.auth-error,.auth-page .ops-form-message{color:var(--jj-danger);font-size:13px;line-height:1.65}.auth-page .ops-form-message:empty{display:none}.auth-setup{border-top:1px solid var(--jj-gray-200);padding-top:14px}@media(min-width:1600px){.auth-brand{padding-left:max(80px,calc((100vw - 1320px)/2))}.auth-panel{padding-right:max(80px,calc((100vw - 1320px)/2))}}@media(max-width:900px){.auth-page{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}.auth-brand{padding:32px}.auth-panel{padding:56px 28px 72px}.auth-brand h2{font-size:29px}}@media(max-width:680px){.auth-page{display:flex;flex-direction:column}.auth-brand{padding:22px 24px 12px;background:#fff}.auth-logo{width:145px;height:32px}.auth-brand-story,.auth-brand-footer{display:none}.auth-panel{flex:1;padding:38px 24px 70px;justify-content:flex-start}.auth-content{max-width:380px}.auth-content h1{font-size:26px}}@media(max-width:360px){.auth-brand,.auth-panel{padding-inline:20px}.auth-steps{font-size:11px;gap:4px}.auth-steps li{gap:4px}.auth-switch{font-size:13px}}main.auth-page{padding:0;max-width:none;margin:0}.auth-logo{width:240px;height:41px}.auth-illustration{mix-blend-mode:normal;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}.auth-kakao{padding-inline:0}@media(max-width:680px){.auth-logo{width:205px;height:35px}}.auth-provider.auth-kakao{border:1px solid #e2cc00}.auth-recovery-link{display:block;text-align:center;margin:18px 0;font-size:13px;color:var(--jj-gray-700)}.auth-tablet-link{display:flex;align-items:center;justify-content:center;gap:6px;margin:12px 0 10px;color:var(--jj-gray-600);font-size:13px;text-decoration:none}.auth-tablet-link:hover{text-decoration:underline}.auth-tablet-link svg{width:15px;height:15px}#account-recovery-form{display:grid;gap:16px}#account-recovery-form label{display:grid;gap:8px;font-size:14px;font-weight:600}#account-recovery-form input{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--jj-radius-control)}#account-recovery-form [data-recovery-fields]:not([hidden]){display:grid;gap:16px}#account-recovery-form .primary{width:100%;min-height:46px}.email-verification{min-width:0;margin:0 0 20px;padding:16px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card)}.email-verification legend{padding:0 6px;font-weight:600;font-size:14px}.email-verification [data-email-code-fields]{margin-top:12px}.email-verification button{min-height:44px}.email-verification [data-email-status]{overflow-wrap:anywhere;margin-bottom:0}.email-verification [hidden]{display:none!important}.auth-recent{margin:20px 0;padding:16px 18px;border:1px solid var(--jj-primary-100);border-radius:var(--jj-radius-card);background:var(--jj-gray-50)}.auth-recent p{margin:0 0 9px;font-size:13px;line-height:1.6;color:var(--jj-gray-700)}.auth-recent-link{display:flex;align-items:center;min-height:44px;color:var(--jj-primary);font-size:15px;font-weight:700;text-decoration:none}.auth-provider{position:relative}.auth-provider .auth-recent-badge{position:absolute;right:10px;top:-10px}.auth-recent-badge{display:inline-flex;align-items:center;margin-left:6px;padding:4px 8px;border:1px solid var(--jj-primary-100);border-radius:var(--jj-radius-sheet);background:#fff;color:var(--jj-primary);font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap}.auth-local summary{flex-wrap:wrap}.auth-recovery-link.jj-action-link{display:flex;text-decoration:none;margin:14px 0 0;font-size:13px;color:var(--jj-gray-600);background:var(--jj-gray-50);border-color:var(--jj-gray-150)}.auth-recovery-link.jj-action-link svg{width:17px;height:17px}.auth-recovery-link.jj-action-link svg:last-child{margin-left:auto}.auth-page .access-invite>summary{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:68px;list-style:none;cursor:pointer}.auth-page .access-invite>summary::marker{content:""}.auth-page .access-invite>summary::-webkit-details-marker{display:none}.access-invite summary img{flex-shrink:0;object-fit:contain;border-radius:var(--jj-radius-card)}.access-invite summary>span{flex:1;min-width:0}.access-invite summary strong{display:block;font-size:14px}.access-invite summary small{display:block;margin-top:4px;font-size:12px;color:var(--jj-gray-600);font-weight:400}.access-invite summary>svg{width:18px;height:18px;flex-shrink:0}.access-invite[open] summary>svg{transform:rotate(180deg)}.access-pending .access-mascot{display:block;margin:0 auto 12px;object-fit:contain}.auth-page .auth-panel{padding-bottom:32px}.staff-invite-card{max-width:760px;padding:22px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-sheet);background:#fff}.staff-invite-card header{display:flex;gap:14px;align-items:center;margin-bottom:20px}.staff-invite-card header img{object-fit:contain;flex-shrink:0}.staff-invite-card h2{font-size:20px;margin:0 0 6px}.staff-invite-card header p{font-size:13px;color:var(--jj-gray-600);margin:0;line-height:1.6}.staff-invite-card form{display:grid;gap:14px}.staff-invite-card label{display:grid;gap:7px;font-size:13px}.staff-invite-card input,.staff-invite-card select{min-width:0;width:100%;min-height:44px}.staff-invite-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.staff-invite-card button,.staff-invite-card>a{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px}.staff-invite-card svg{width:18px;height:18px;flex-shrink:0}.staff-invite-code{background:var(--jj-primary-50);border-radius:var(--jj-radius-card);padding:16px;display:grid;gap:12px}.staff-invite-code>span{display:flex;align-items:center;gap:8px;color:var(--jj-primary-hover);font-weight:600}.staff-invite-code small,.staff-invite-list small{color:var(--jj-gray-600);font-size:12px}.staff-invite-list{margin:22px 0}.staff-invite-list h3{font-size:15px}.staff-invite-list article{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--jj-gray-150)}.staff-invite-list article>span{flex:1;min-width:0}.staff-invite-list strong,.staff-invite-list small{display:block}.staff-invite-list strong{font-size:14px;overflow-wrap:anywhere}.staff-invite-list small{margin-top:5px}.staff-invite-list em{font-size:12px;font-style:normal;color:var(--jj-gray-600)}.individual-invitations{margin-top:18px}@media(max-width:480px){.staff-invite-card{padding:16px}.staff-invite-card h2{font-size:18px}}.auth-page .access-pending{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 14px;align-items:center}.auth-page .access-pending .access-mascot{grid-column:1;grid-row:1 / span 3;margin:0;mix-blend-mode:multiply}.auth-page .access-pending>:not(img){grid-column:2;margin:0}.staff-invite-card>a.button{padding:10px 14px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);text-decoration:none;color:var(--jj-gray-800);font-weight:600;font-size:13px}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.auth-label-row small{font-size:12px;font-weight:500;color:var(--jj-gray-600)}.access-age{display:flex;flex-wrap:wrap;gap:8px 16px;margin:4px 0 0;padding:0;border:0}.access-age legend{width:100%;margin-bottom:4px;font-weight:600}.access-age label,.access-consent{display:flex;align-items:flex-start;gap:8px;font-weight:500}.access-age input,.access-consent input{width:18px;height:18px;min-height:0;margin:3px 0 0;flex:none}.access-guardian{display:grid;gap:8px;padding:12px;border-radius:var(--jj-radius-card);background:var(--jj-warning-bg)}.access-guardian p{display:flex;gap:6px;margin:0;color:#92400e;font-size:13px}.access-guardian p svg{width:16px;height:16px;flex:none}.access-consent{margin:8px 0;font-size:14px}:is(#access-request-form,#access-invite-form) .access-age label,:is(#access-request-form,#access-invite-form) .access-consent{display:flex;flex-direction:row;align-items:flex-start;gap:8px}:is(#access-request-form,#access-invite-form) .access-age input,:is(#access-request-form,#access-invite-form) .access-consent input{width:18px;height:18px;min-height:0;padding:0;margin:3px 0 0;flex:none}.auth-demo{display:grid;gap:10px;margin:18px 0 6px}.auth-demo-note{order:1;margin:4px 2px 0;color:var(--jj-text-tertiary);font-size:12px;line-height:18px}body:has(.auth-page) .jj-demo-badge{display:none}.auth-demo-pill{display:inline-flex;align-items:center;gap:6px;height:26px;margin:0 0 16px;padding:0 10px;border:1px solid var(--jj-warning-bg);border-radius:var(--jj-radius-pill);background:var(--jj-warning-bg);color:var(--jj-warning-fg);font-size:12px;font-weight:600;line-height:16px;white-space:nowrap}.auth-demo-pill span{width:6px;height:6px;border-radius:50%;background:currentColor}.auth-demo-pill small{font-size:inherit;font-weight:500;opacity:.85}.auth-page .auth-demo-choice{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;width:100%;padding:14px 16px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:#fff;color:var(--jj-gray-900);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.auth-page .auth-demo-choice:hover,.auth-page .auth-demo-choice:focus-visible{border-color:var(--jj-primary);box-shadow:0 6px 18px #3458e824;transform:translateY(-1px)}.auth-demo-choice strong{font-size:15px}.auth-demo-choice small{grid-column:1;color:var(--jj-gray-600);font-size:12.5px}.auth-demo-choice svg{grid-column:2;grid-row:1 / span 2;width:18px;height:18px;color:var(--jj-primary)}.auth-demo-link.jj-action-link{display:flex;text-decoration:none;margin:10px 0 0;font-size:13px;color:var(--jj-primary);background:var(--jj-gray-50);border-color:var(--jj-primary-100)}.auth-demo-link.jj-action-link svg{width:17px;height:17px}.auth-demo-link.jj-action-link svg:last-child{margin-left:auto}.auth-provider.auth-apple{background:#000;border:1px solid #000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,var(--jj-font, sans-serif);font-size:16px;font-weight:600;cursor:pointer}.auth-apple .auth-apple-logo{position:absolute;left:20px}.auth-apple:disabled{opacity:.6}.auth-page [data-apple-message]{margin:10px 0 0}.auth-page .auth-remember{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:12px 0 2px;padding:10px 12px;border-radius:12px;background:var(--jj-gray-50);color:var(--jj-gray-800);font-weight:500;cursor:pointer}.auth-page .auth-remember input{flex:none;width:20px;height:20px;margin:1px 0 0}.auth-remember span{display:grid;gap:2px}.auth-remember b{font-size:14px;color:var(--jj-gray-900)}.auth-remember small{color:var(--jj-gray-600);font-size:12px;line-height:17px}
