/* Online platform / role / release management extension */
.online-account-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.online-user-chip{padding:7px 10px;border:1px solid rgba(232,196,108,.42);border-radius:8px;background:rgba(20,16,12,.82);font-size:12px}.online-role-admin{color:#ffd66b}.online-role-user{color:#b7d8ff}.match-mode-grid,.booster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.match-card,.booster-card,.online-panel{border:1px solid rgba(232,196,108,.35);background:rgba(19,15,12,.88);border-radius:12px;padding:14px}.match-card h3,.booster-card h3{margin:0 0 8px}.match-status{margin-top:10px;padding:10px;border-radius:8px;background:rgba(0,0,0,.26);min-height:42px}.admin-only[hidden],.user-only[hidden]{display:none!important}.release-badge{display:inline-flex;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;margin-left:4px}.release-released{background:#285d3b;color:#d7ffe2}.release-upcoming{background:#644f1f;color:#fff0af}.release-test{background:#493568;color:#eadcff}.online-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.online-form-grid label{display:grid;gap:5px;font-size:12px}.online-form-grid input,.online-form-grid select,.online-form-grid textarea{width:100%;box-sizing:border-box}.online-form-grid .full{grid-column:1/-1}.online-notice{font-size:12px;line-height:1.5;color:#d5c9b4}.booster-card .pack-art{font-size:44px;text-align:center;padding:12px}.mobile-online-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.opponent-human{outline:2px solid rgba(110,190,255,.55)}
@media(max-width:700px){.online-form-grid{grid-template-columns:1fr}.online-account-bar{font-size:11px}.match-mode-grid,.booster-grid{grid-template-columns:1fr}}
.visibility-badge{display:inline-flex;align-items:center;margin-left:5px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700}
.visibility-public{background:#dff6e7;color:#176b37;border:1px solid #82c99b}
.visibility-private{background:#ececef;color:#555;border:1px solid #aaa}
.checkbox-line{display:flex!important;align-items:center;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:8px}
.checkbox-line input{width:auto!important;margin:0}
.wide-online-modal{width:min(1180px,96vw);max-width:none}.online-toolbar{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:12px 0}.online-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:12px}.online-table-wrap{max-height:62vh;overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:10px}.online-admin-table{width:100%;border-collapse:collapse;font-size:12px}.online-admin-table th,.online-admin-table td{padding:7px;border-bottom:1px solid rgba(255,255,255,.1);text-align:center;white-space:nowrap}.online-admin-table th{position:sticky;top:0;background:#171b25;z-index:2}.online-admin-table input,.online-admin-table select{min-width:58px;max-width:100px;padding:5px}.online-admin-table .name-cell{min-width:120px;text-align:left}.online-footer-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}@media(max-width:760px){.online-toolbar{grid-template-columns:1fr 1fr}.wide-online-modal{width:98vw}.online-admin-table{min-width:900px}}

/* v149 Firebase account UI */
.auth-modalbox{width:min(720px,94vw);max-width:720px}
.auth-sections{display:grid;gap:14px;margin-top:12px}
.auth-section{padding:15px;border:1px solid rgba(232,196,108,.32);border-radius:12px;background:rgba(10,12,18,.44)}
.auth-section h3{margin:0 0 12px;font-size:16px;color:#f1d792}
.auth-reset-section{background:rgba(18,24,36,.55)}
.auth-actions{display:flex;gap:8px;justify-content:flex-end}
.auth-actions .btn{min-width:150px}
@media(max-width:700px){.auth-actions{justify-content:stretch}.auth-actions .btn{width:100%}}

/* v152 관리자 전용 카드관리 · 능력치 편집 이미지 등록 상태 */
html:not(.is-card-admin) #cardManagerBtn,
html:not(.is-card-admin) #mobileCardManagerBtn,
html:not(.is-card-admin) .admin-only{display:none!important}
.quick-stats-toolbar{grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(220px,auto)}
.quick-stats-image-summary{align-self:end;min-height:34px;display:flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:rgba(0,0,0,.22);font-size:11px;white-space:nowrap}
.quick-stats-image-summary .registered-count{color:#8fe0a1}.quick-stats-image-summary .missing-count{color:#ffadad}
.quick-stats-table th:first-child,.quick-stats-table td:first-child{width:34px;min-width:34px;padding:3px}
.quick-stats-table th:nth-child(2),.quick-stats-table td:nth-child(2){width:56px;min-width:56px;padding-left:4px;padding-right:4px}
.qs-image-thumb{width:22px;height:30px;margin:auto;border:1px solid rgba(255,255,255,.28);border-radius:3px;overflow:hidden;background:rgba(255,255,255,.05);display:grid;place-items:center}
.qs-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.qs-image-empty{font-size:13px;line-height:1;color:#ff9f9f;opacity:.8}
.qs-image-status{display:inline-flex;align-items:center;gap:3px;font-size:9px;padding:2px 5px;border-radius:999px;font-weight:700}
.qs-image-status i{display:block;width:5px;height:5px;border-radius:50%}
.qs-image-status.registered{color:#c9f7d2;background:rgba(45,130,67,.26);border:1px solid rgba(94,195,116,.42)}
.qs-image-status.registered i{background:#63db7c;box-shadow:0 0 5px rgba(99,219,124,.7)}
.qs-image-status.missing{color:#ffd0d0;background:rgba(150,55,55,.24);border:1px solid rgba(226,103,103,.4)}
.qs-image-status.missing i{background:#ef7272}
.quick-stats-table tr.qs-image-missing td:first-child,.quick-stats-table tr.qs-image-missing td:nth-child(2){background:rgba(121,32,32,.10)}
@media(max-width:760px){.quick-stats-toolbar{grid-template-columns:1fr 1fr}.quick-stats-image-summary{grid-column:1/-1}.quick-stats-table{min-width:980px}}

/* v153: 실시간 사람 대전 대기 알림 */
.match-waiting-notice{
  width:calc(100% - 12px);margin:2px 6px 7px;padding:8px 10px;
  border:1px solid rgba(255,190,61,.78);border-radius:8px;
  background:linear-gradient(180deg,rgba(69,45,8,.96),rgba(34,23,7,.96));
  color:#ffe7a2;font-weight:800;font-size:12px;line-height:1.35;text-align:left;
  cursor:pointer;box-shadow:0 0 0 1px rgba(255,205,89,.08) inset,0 3px 12px rgba(0,0,0,.25)
}
.match-waiting-notice:hover{filter:brightness(1.12);border-color:#ffd46d}
.match-waiting-notice[hidden]{display:none!important}
.match-waiting-dot{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#ffbf34;box-shadow:0 0 0 0 rgba(255,191,52,.65);animation:matchWaitingPulse 1.45s infinite;vertical-align:1px}
.match-waiting-notice strong{color:#fff3c8}
@keyframes matchWaitingPulse{0%{box-shadow:0 0 0 0 rgba(255,191,52,.62)}70%{box-shadow:0 0 0 7px rgba(255,191,52,0)}100%{box-shadow:0 0 0 0 rgba(255,191,52,0)}}
.mobile-advanced-setup .match-waiting-notice{grid-column:1/-1;width:100%;margin:3px 0 0}
body.ui-mode-mobile-preview #mobileMatchWaitingNotice{display:block}
.mobile-header-match-notice{width:calc(100% - 16px);margin:4px 8px 6px;position:relative;z-index:2}
