@import url('styles/foundation.css');
@import url('styles/groups.css');
@import url('styles/account.css');
@import url('styles/auth.css');
@import url('styles/me.css');
@import url('styles/workspace.css');
@import url('styles/responsive.css');
@import url('styles/contest-screen.css');

/* === Inline-style extraction classes (CSP style-src safety) === */
.is-opacity-05 {
  opacity: 0.5;
}
.is-pointer-events-none {
  pointer-events: none;
}
.is-text-center {
  text-align: center;
}
.is-width-auto {
  width: auto;
}
.is-mb-6 {
  margin-bottom: 6px;
}
.is-padding-24 {
  padding: 24px;
}
.is-admin-title-flex {
  display:flex;align-items:center;gap:8px;padding-bottom:10px;
}
.is-align-end-mb-12 {
  align-items:flex-end;margin-bottom:12px;
}
.is-align-items-flex-end {
  align-items:flex-end;
}
.is-avatar-84 {
  width:84px;height:84px;border-radius:12px;object-fit:cover;
}
.is-avatar-86 {
  width:86px;height:86px;border-radius:12px;object-fit:cover;
}
.is-captcha-error {
  color:#999;font-size:12px;
}
.is-color-muted {
  color:var(--text-weak);
}
.is-desc-fullscreen-textarea {
  flex:1;min-height:0;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:14px;line-height:1.6;resize:none;
}
.is-empty-frozen {
  padding:40px 20px;text-align:center;
}
.is-flex-between-center-gap10 {
  display:flex;justify-content:space-between;gap:10px;align-items:center;
}
.is-flex-between-start-gap8 {
  display:flex;justify-content:space-between;gap:8px;align-items:flex-start;
}
.is-flex-center-gap10 {
  display:flex;align-items:center;gap:10px;
}
.is-flex-center-gap12 {
  display:flex;align-items:center;gap:12px;
}
.is-flex-center-gap8 {
  display:flex;align-items:center;gap:8px;
}
.is-flex-gap10 {
  display:flex;gap:10px;
}
.is-flex-gap6-center {
  display:flex;gap:6px;align-items:center;
}
.is-flex-gap8 {
  display:flex;gap:8px;
}
.is-flex1-mb0 {
  flex:1;margin-bottom:0;
}
.is-flex1-search {
  flex:1;display:flex;gap:8px;
}
.is-flex1-search .field {
  flex:1;
}
.is-form-actions-divider {
  margin-top:18px;border-top:1px solid #edf1f8;padding-top:14px;
}
.is-form-hint-tertiary {
  margin-top:4px;color:var(--text-weak,#767676);font-size:12px;
}
.is-frozen-title {
  font-size:16px;margin-bottom:8px;
}
.is-group-header {
  margin-bottom:12px;display:flex;align-items:center;gap:14px;
}
.is-group-title-36 {
  margin-bottom:6px;font-size:36px;
}
.is-h4-18 {
  margin:0 0 10px;font-size:18px;
}
.is-h4-24 {
  margin:0 0 10px;font-size:24px;
}
.is-hidden {
  display:none;
}
.is-cursor-pointer {
  cursor:pointer;
}
.is-inline-flex-center-gap6 {
  display:inline-flex;align-items:center;gap:6px;
}
.is-inline-flex-center-gap6-mr14 {
  display:inline-flex;align-items:center;gap:6px;margin-right:14px;
}
.is-justify-end {
  justify-content:flex-end;
}
.is-margin-0 {
  margin:0;
}
.is-margin-0-0-10 {
  margin:0 0 10px;
}
.is-max-width-520 {
  max-width:520px;
}
.is-max-width-560 {
  max-width:560px;
}
.is-mb-0 {
  margin-bottom:0;
}
.is-flex-shrink-0 {
  flex-shrink:0;
}
.is-font-weight-600 {
  font-weight:600;
}
.is-min-w-12 {
  min-width:12px;
}
.is-mb-10 {
  margin-bottom:10px;
}
.is-mb-12 {
  margin-bottom:12px;
}
.is-mb-2 {
  margin-bottom:2px;
}
.is-mb-4 {
  margin-bottom:4px;
}
.is-mb-8 {
  margin-bottom:8px;
}
.is-min-width-1280 {
  min-width:1280px;
}
.is-mix-ratio-hint {
  margin-top:6px;font-size:12px;line-height:20px;color:#8b93a3;
}
.is-modal-desc-fullscreen {
  width:min(960px,calc(100vw - 48px));height:calc(100vh - 72px);display:flex;flex-direction:column;overflow:hidden;
}
.is-modal-ranking-rows {
  width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 72px);display:flex;flex-direction:column;overflow:hidden;
}
.is-mt-10 {
  margin-top:10px;
}
.is-mt-12 {
  margin-top:12px;
}
.is-mt-12-justify-end {
  margin-top:12px;justify-content:flex-end;
}
.is-mt-16 {
  margin-top:16px;
}
.is-mt-18 {
  margin-top:18px;
}
.is-mt-2 {
  margin-top:2px;
}
.is-mt-4 {
  margin-top:4px;
}
.is-mt-8 {
  margin-top:8px;
}
.is-nowrap {
  white-space:nowrap;
}
.is-overflow-auto {
  overflow:auto;
}
.is-privilege-modal {
  display:none;position:fixed;right:380px;top:300px;z-index:30;width:260px;
}
@media (max-width: 720px) {
  .is-privilege-modal {
    right:50%;top:50%;transform:translate(50%,-50%);width:calc(100vw - 32px);max-width:300px;
  }
}
.is-rotate-90 {
  display:inline-block;transform:rotate(90deg);
}
.is-section-title-24-12 {
  font-size:24px;margin-bottom:12px;
}
.is-section-title-24-14 {
  font-size:24px;margin-bottom:14px;
}
.is-select-version {
  width:auto;min-width:180px;
}
.is-w-420 {
  width:420px;
}
.is-w-full {
  width:100%;
}
.is-ml-auto-self-center {
  margin-left:auto;align-self:center;
}
.is-link-inherit-underline {
  color:inherit;text-decoration:underline;
}

.user-agreement-page {
  max-width: 1040px;
  margin: 0 auto;
}
.user-agreement-card {
  padding: 36px 48px;
}
.user-agreement-title {
  margin: 0 0 28px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5e7eb;
  color: var(--text, #1f2329);
  font-size: 28px;
  line-height: 1.35;
  text-align: center;
}
.user-agreement-content {
  color: var(--text, #1f2329);
  font-size: 15px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.user-agreement-content img,
.user-agreement-content table {
  max-width: 100%;
}
.user-agreement-content table {
  border-collapse: collapse;
}
.user-agreement-content td,
.user-agreement-content th {
  padding: 8px 10px;
  border: 1px solid #d9dde5;
}
.user-agreement-error {
  padding: 48px 20px;
  color: var(--muted, #667085);
  text-align: center;
}
.user-agreement-error .btn {
  margin-top: 12px;
}
@media (max-width: 720px) {
  .user-agreement-card {
    padding: 24px 18px;
  }
  .user-agreement-title {
    font-size: 23px;
  }
}

/* === Shared utility classes (used by super-admin & group-admin pages) === */
.is-required {
  color: var(--danger-strong);
}
.is-muted {
  color: var(--text-weak);
}
.is-error-text {
  color: var(--danger-strong);
}
.is-hint-text {
  color: var(--text-medium);
  font-size: 12px;
}
.is-small {
  font-size: 12px;
}
.is-flex-center-gap16 {
  display: flex;
  align-items: center;
  gap: 16px;
}
.is-flex-center-gap20 {
  display: flex;
  align-items: center;
  gap: 20px;
}
.is-w-60 { width: 60px; }
.is-w-24 { width: 24px; }
.is-flex-wrap { flex-wrap: wrap; }
.is-flex-1 { flex: 1; }
.is-flex-basis-120 { flex: 0 0 120px; }
.is-flex-basis-100 { flex: 0 0 100px; }
.is-flex-basis-160 { flex: 0 0 160px; }
.is-flex-basis-200 { flex: 0 0 200px; }
.is-flex-col-gap6 { display: flex; flex-direction: column; gap: 6px; }
.is-flex-center-gap6 { display: flex; align-items: center; gap: 6px; }
.is-flex-1-ellipsis { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.is-bank-scroll-list { max-height: 50vh; overflow-y: auto; }
.is-individual-scroll-list { max-height: 30vh; overflow-y: auto; }
.is-confirm-dialog { max-width: 400px; margin: auto; padding: 24px; }
.is-confirm-dialog-title { margin: 0 0 16px; font-size: 16px; }
.is-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; }
.is-archive-dialog { background: var(--bg-card); border-radius: 8px; padding: 24px; min-width: 360px; max-width: 480px; box-shadow: 0 4px 16px rgba(0,0,0,0.2); }
.is-archive-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.is-w-full { width: 100%; }
.is-w-36 { width: 36px; }
.is-w-full-max-300 { width: 100%; max-width: 300px; }

@media (max-width: 768px) {
  .is-flex-center-gap10 { flex-wrap: wrap; gap: 8px; }
  .is-flex-center-gap16 { flex-wrap: wrap; gap: 8px; }
  .is-flex-center-gap20 { flex-wrap: wrap; gap: 8px; }
  .is-flex-basis-120 { flex: 0 0 80px; }
  .is-flex-basis-100 { flex: 0 0 70px; }
  .is-flex-basis-160 { flex: 0 0 100px; }
  .is-flex-basis-200 { flex: 0 0 120px; }
  .is-bank-scroll-list { max-height: 40vh; }
  .is-individual-scroll-list { max-height: 24vh; }
}
