.platform-auth{min-height:100dvh;display:grid;place-items:center;padding:28px;background:var(--soft)}.platform-auth-card{width:min(460px,100%);border:1px solid var(--line);border-radius:16px;background:var(--white);padding:32px;box-shadow:0 10px 40px #2026310a}.platform-auth h1{font-size:1.45rem;margin:0 0 24px}.platform-auth h2{font-size:1.1rem;margin:0 0 10px}.platform-auth p,.platform-auth small{font-size:.78rem;line-height:1.7;color:var(--muted)}.platform-auth small{display:block;margin-top:20px}.platform-auth form>.btn{width:100%;margin-top:12px}.platform-auth label,.platform-page form>label,.platform-inline>label,.platform-password label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:600;margin:14px 0}.platform-auth input:not([type=checkbox]),.platform-page input:not([type=checkbox]),.platform-page select,.platform-password input{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:var(--white);color:var(--ink);font:inherit;font-size:.8rem}.platform-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px!important;font-size:.72rem!important;font-weight:400!important;line-height:1.65}.platform-check input{width:16px;height:16px;flex-shrink:0;margin-top:4px}.platform-error{color:#b02337!important;font-size:.8rem;line-height:1.6}.platform-error:empty{display:none}.platform-success{font-size:.8rem;line-height:1.6;color:#2c6843;padding:10px 12px;background:#edf7ef;border-radius:6px}.platform-page{max-width:1280px;padding:30px;margin:auto}.platform-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.platform-page h1{font-size:1.6rem;margin:0}.platform-page h2{font-size:1.05rem;margin:0 0 12px}.platform-page p,.platform-page small{font-size:.74rem;color:var(--muted);line-height:1.7}.platform-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.platform-summary>div{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--white)}.platform-summary span{display:block;color:var(--muted);font-size:.75rem}.platform-summary strong{display:block;font-size:1.35rem;margin-top:10px;font-variant-numeric:tabular-nums}.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.platform-card{border:1px solid var(--line);border-radius:10px;background:var(--white);padding:20px;margin-bottom:18px;min-width:0}.platform-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.platform-actions+small{display:block;margin-top:12px}.platform-table-scroll{overflow-x:auto;overscroll-behavior:contain}.platform-page table{white-space:normal}.platform-page td,.platform-page th{padding:10px 12px;font-size:.75rem;vertical-align:middle}.platform-page td small{display:block;font-size:.66rem}.platform-page td>.btn{margin:5px 5px 0 0;font-size:.68rem}.platform-inline{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.platform-inline>label{flex:1;min-width:130px}.platform-inline>.btn{margin-bottom:14px}.platform-request{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(150px,1fr) minmax(240px,1.3fr);gap:20px;font-size:.8rem}.platform-request:last-child{border-bottom:0}.platform-request small{display:block}.platform-request form>label:first-child{margin-top:0}.platform-notice{padding:16px 20px;background:var(--soft);border:1px solid var(--line);border-radius:9px;font-size:.8rem;margin-bottom:20px}.platform-debit{color:#a73547}.platform-credit{color:#2d6844}.platform-balance-link{width:100%;text-align:left}.platform-password{width:min(440px,calc(100vw - 32px));background:var(--white);color:var(--ink)}.platform-password h2{font-size:1.15rem;margin:0}.platform-password .btn{float:none}#account-sync-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:min(640px,calc(100vw - 32px));padding:14px 18px;background:#fff3dd;color:#684a17;border:1px solid #e8d8b4;border-radius:8px;z-index:200;font-size:14px;line-height:1.6}.platform-page .btn,.platform-auth .btn,.platform-password .btn{transition:background-color .15s,translate .1s}.platform-page .btn:active,.platform-auth .btn:active,.platform-password .btn:active{translate:0 1px}@media(max-width:750px){.platform-page{padding:22px 16px}.platform-grid{grid-template-columns:1fr}.platform-summary{gap:8px}.platform-summary>div{padding:14px 10px}.platform-summary strong{font-size:1.05rem}.platform-summary span{font-size:.65rem}.platform-request{grid-template-columns:1fr;gap:10px}.platform-page-heading{flex-wrap:wrap}.platform-card{padding:16px}.platform-auth{padding:18px}.platform-auth-card{padding:24px}}@media(prefers-reduced-motion:reduce){.platform-page .btn,.platform-auth .btn,.platform-password .btn{transition:none}.platform-page .btn:active,.platform-auth .btn:active,.platform-password .btn:active{translate:none}}
.platform-google-login{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.platform-google-login .google-login-button{display:grid;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;min-height:50px;padding:12px 16px;border:1px solid #747775;border-radius:10px;background:#fff;color:#1f1f1f;font-size:.84rem;font-weight:500;line-height:1.5;box-shadow:0 2px 5px #20212408;transition:background-color .16s,border-color .16s,box-shadow .16s,translate .1s}
.platform-google-login .google-login-button:hover:not(:disabled){background:#f8faff;border-color:#4285f4;box-shadow:0 3px 10px #4285f418}
.platform-google-login .google-login-button:focus-visible{outline:3px solid #a8c7fa;outline-offset:3px}
.platform-google-login .google-login-button:active:not(:disabled){background:#eef3fc;box-shadow:0 1px 2px #20212412}
.google-login-logo{display:block;width:20px;height:20px;object-fit:contain;background:#fff}
.google-login-label{min-width:0;overflow-wrap:anywhere;text-align:center}
.google-login-status{width:16px;height:16px;justify-self:center}
.google-login-button[aria-busy=true] .google-login-status{border:2px solid #d3e3fd;border-top-color:#4285f4;border-radius:50%;animation:google-login-spin .8s linear infinite}
.platform-google-login .google-login-button[aria-busy=true]{opacity:1;cursor:wait;background:#f8faff}
@keyframes google-login-spin{to{transform:rotate(360deg)}}
.platform-google-login .google-login-button:disabled{opacity:.6;cursor:not-allowed}
#platform-google-form fieldset{margin:0;padding:0;border:0;min-width:0}
#platform-google-form legend{font-size:.78rem;color:var(--muted)}
#platform-google-form fieldset>label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:600;margin:14px 0}
#platform-google-form input[readonly]{background:var(--soft);font-size:.72rem}
@media(prefers-reduced-motion:reduce){.platform-google-login .google-login-button{transition:none}.google-login-button[aria-busy=true] .google-login-status{animation:none}}
.platform-manual-setup{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.platform-manual-setup summary{font-size:.78rem;color:var(--muted);cursor:pointer;padding:6px 0}
.platform-auth-card>.platform-google-login{border-top:0;margin-top:16px;padding-top:0}

/* Designer login has social providers only; administrator access stays separate. */
.designer-login-card{text-align:center;width:min(460px,100%);padding:40px 32px}
.designer-login-brand{font-size:1rem;font-weight:650;margin-bottom:26px;color:var(--ink)}
.designer-login-eyebrow{display:block;font-size:.72rem;color:var(--muted);margin-bottom:10px}
.designer-login-card h1{font-size:1.5rem;line-height:1.4;letter-spacing:-.04em;margin:0 0 10px}
.designer-social-buttons{display:flex;flex-direction:column;gap:12px;margin:30px 0 22px}
.designer-social-button{display:flex;align-items:center;justify-content:center;position:relative;gap:10px;width:100%;min-height:54px;padding:12px 16px;border:1px solid #747775;border-radius:9px;background:#fff;color:#1f1f1f;font:inherit;font-size:.84rem;font-weight:600;transition:filter .15s,translate .1s,box-shadow .15s}
.designer-social-button svg,.designer-social-button img{flex:0 0 20px;width:20px;height:20px;object-fit:contain}
.designer-social-button.kakao{background:#fee500;border-color:#fee500;color:#191919}
.designer-social-button.apple{background:#000;border-color:#000;color:#fff}
.designer-social-button:hover:not(:disabled){filter:brightness(.96);box-shadow:0 3px 12px #20212418}
.designer-social-button:active:not(:disabled){translate:0 1px}
.designer-social-button:focus-visible{outline:3px solid #8f87b7;outline-offset:3px}
.platform-auth .designer-social-button small{display:inline;margin:0;color:inherit;font-size:.61rem;font-weight:400;opacity:.85}
.designer-social-button:disabled{cursor:not-allowed;opacity:.68}
.designer-login-note{font-size:.72rem!important;line-height:1.8!important;margin-bottom:22px}
.designer-admin-link{font-size:.72rem;color:var(--muted);text-underline-offset:4px}
@media(max-width:480px){.designer-login-card{padding:30px 22px}.designer-social-button{flex-wrap:wrap}.designer-social-button small{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.designer-social-button{transition:none}.designer-social-button:active:not(:disabled){translate:none}}

.social-provider-config{border-top:1px solid var(--line);padding:14px 0;margin-top:10px}.social-provider-config summary{font-size:.83rem;font-weight:600;cursor:pointer}.social-provider-config form{margin-top:14px}.social-provider-config textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--white);color:var(--ink);font:inherit;font-size:.78rem;resize:vertical}

.platform-role-owner{display:inline-block;color:var(--accent);font-weight:600}.platform-table-scroll td:last-child .btn{margin:3px;transition:background .15s,transform .12s}.platform-table-scroll td:last-child .btn:active:not(:disabled){transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.platform-table-scroll td:last-child .btn{transition:none}.platform-table-scroll td:last-child .btn:active:not(:disabled){transform:none}}
