/* ==========================================================================
   tokens.css — IITMS 디자인 토큰 (단일 진실 소스)
   --------------------------------------------------------------------------
   색·형태·타이포 변수만 담는다(컴포넌트 규칙 없음) — 어떤 셸·페이지에서 로드해도
   무해(inert)하므로 두 셸 + 자체 문서(로그인·인쇄 등) 어디에나 안전하게 링크한다.

   색 교체 = 이 파일 [PALETTE] 블록 + 아래 다크모드 재선언 블록만 수정하면 전역 반영.
   포인트색은 진회색 #334155 단일색(표 헤더·주요 버튼·활성 탭·링크 공통, 사용자 확정).
   ========================================================================== */
/* 웹폰트(Noto Sans KR) 로드 제거 — display=swap 때문에 폴백→Noto 교체 시 글자 폭이 변해
   헤더/로고가 튀는 현상(FOUT)이 있었다. 홈(iitms-white.css)은 웹폰트 없이 시스템 폰트만 써서
   튐이 없었고, 그 차이가 홈↔서브 불일치의 원인이었다. → 아래 --ui-font 를 홈과 동일한
   시스템 스택으로 통일해 즉시 렌더 + 양쪽 완전 일치. (요청: 2026-07-17) */

:root {
    /* [PALETTE] 엔터프라이즈 딥 슬레이트 & 인디고 포인트 컬러 */
    --ui-primary: #1e293b;
    --ui-primary-hover: #0f172a;
    --ui-primary-active: #020617;
    --ui-primary-soft: rgba(30, 41, 59, 0.08);
    --ui-primary-glow: rgba(30, 41, 59, 0.22);
    --ui-focus-ring: 0 0 0 3px rgba(37, 99, 235, 0.25);
    --ui-accent-blue: #2563eb;
    --ui-accent-blue-hover: #1d4ed8;

    /* 의미색 — 상태표시 전용(뱃지·경고·삭제 등) */
    --ui-success: #059669;
    --ui-success-hover: #047857;
    --ui-success-soft: rgba(5, 150, 105, 0.12);
    --ui-success-ink: #065f46;

    --ui-warning: #d97706;
    --ui-warning-hover: #b45309;
    --ui-warning-soft: rgba(217, 119, 6, 0.12);
    --ui-warning-ink: #92400e;

    --ui-danger: #dc2626;
    --ui-danger-hover: #b91c1c;
    --ui-danger-soft: rgba(220, 38, 38, 0.12);
    --ui-danger-ink: #991b1b;

    --ui-info: #2563eb;
    --ui-info-hover: #1d4ed8;
    --ui-info-soft: rgba(37, 99, 235, 0.12);
    --ui-info-ink: #1e40af;

    /* 중립 — 가독성 및 가시성 극대화를 위한 소프트 백그라운드 & 고대비 텍스트 */
    --ui-bg: #f8fafc;
    --ui-surface: #ffffff;
    --ui-card-bg: #ffffff;
    --ui-border: #cbd5e1;
    --ui-border-strong: #94a3b8;
    --ui-divider: #e2e8f0;
    --ui-ink: #0f172a;
    --ui-text: #1e293b;
    --ui-text-sub: #475569;
    --ui-muted: #64748b;

    /* 회색조 스케일 */
    --ui-slate-50: #f8fafc;
    --ui-slate-100: #f1f5f9;
    --ui-slate-200: #e2e8f0;
    --ui-slate-300: #cbd5e1;
    --ui-slate-400: #94a3b8;
    --ui-slate-500: #64748b;
    --ui-slate-600: #475569;
    --ui-slate-700: #334155;
    --ui-slate-800: #1e293b;
    --ui-slate-900: #0f172a;

    /* 버튼 중립 */
    --ui-btn-neutral-bg: #f1f5f9;
    --ui-btn-neutral-hover: #e2e8f0;
    --ui-btn-neutral-border: #cbd5e1;
    --ui-btn-neutral-ink: #1e293b;

    /* 형태 & 섀도우 극대화 */
    --ui-radius-card: 14px;
    --ui-radius-md: 10px;
    --ui-radius-ctl: 8px;
    --ui-radius-sm: 6px;
    --ui-radius-xs: 4px;
    --ui-shadow-card: 0 4px 20px -2px rgba(15, 23, 42, 0.08), 0 2px 6px -1px rgba(15, 23, 42, 0.04);
    --ui-shadow-btn: 0 1px 3px 0 rgba(15, 23, 42, 0.08);
    --ui-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
    --ui-shadow-md: 0 10px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.06);
    --ui-shadow-input-focus: 0 0 0 3px rgba(37, 99, 235, 0.18), 0 1px 2px rgba(15, 23, 42, 0.05);
    --ui-blur-card: blur(16px);

    /* 표 헤더 */
    --ui-th-bg: #1d4a88;
    --ui-th-text: #ffffff;
    --ui-zebra: #f5f8fc;
    --ui-row-hover: #e7eef8;

    /* 여백 스케일 */
    --ui-space-xs: 0.5rem;
    --ui-space-sm: 1rem;
    --ui-space-md: 1.5rem;
    --ui-touch-min: 44px;

    /* 타이포 */
    /* 홈(iitms-white.css 의 --font)과 100% 동일한 스택 — 웹폰트 없음 → 즉시 렌더, 튐 없음, 홈↔서브 일치.
       윈도우에서는 Pretendard 미설치 시 '맑은 고딕'으로 귀결(홈이 이미 그렇게 렌더되던 폰트). */
    --ui-font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif;
    --ui-page-title-size: clamp(1.4rem, 1.2vw + 0.8rem, 1.7rem);
    --ui-page-subtitle-size: 0.92rem;
    --ui-card-title-size: 16px;

    /* 네비게이션 */
    --ui-nav-grad-a: #0f172a;
    --ui-nav-grad-b: #1e293b;
    --ui-nav-tint: rgba(15, 23, 42, 0.95);

    color-scheme: only light;
}

@media (prefers-color-scheme: dark) {
    :root {
        --ui-primary: #1e293b;
        --ui-primary-hover: #0f172a;
        --ui-bg: #f8fafc;
        --ui-surface: #ffffff;
        --ui-card-bg: #ffffff;
        --ui-border: #cbd5e1;
        --ui-ink: #0f172a;
        --ui-text: #1e293b;
        --ui-text-sub: #475569;
        --ui-th-bg: #1d4a88;
        --ui-th-text: #ffffff;
        color-scheme: only light;
    }
}

/* ==========================================================================
   색 프리셋 (data-preset) — 사용자가 고르는 4세트.
   표머리·포인트·강조·네비·줄무늬 색만 교체하고, 중립(회색/배경)·의미색(성공/경고/삭제)·
   도교육청 지정 용도색(하드코딩)은 절대 건드리지 않는다 → 통일감·가독성 유지.
   ========================================================================== */
/* 표 너비 토글 버튼(#inetTableWidthToggle) 활성(넓게 모드) 표시 */
.inet-hdr-btn.is-active { background: rgba(255,255,255,.24); box-shadow: inset 0 0 0 1px rgba(255,255,255,.42); }

/* ==========================================================================
   스크롤바 — "있는듯 없는듯" 옅게. (기본 브라우저 회색이 너무 진하다는 피드백)
   Chrome/Edge/Safari: ::-webkit-scrollbar / Firefox: scrollbar-* . 트랙 투명, 썸은 옅은 슬레이트.
   ========================================================================== */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background-color: rgba(148, 163, 184, 0.28);   /* slate-400 28% — 아주 옅게 */
    border-radius: 8px;
    border: 3px solid transparent;                 /* 투명 테두리로 썸을 더 가늘게 */
    background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background-color: rgba(100, 116, 139, 0.55); }  /* 호버 시 또렷 */
::-webkit-scrollbar-corner { background: transparent; }
:root[data-theme="dark"] ::-webkit-scrollbar-thumb { background-color: rgba(148, 163, 184, 0.30); }
* { scrollbar-width: thin; scrollbar-color: rgba(148, 163, 184, 0.4) transparent; }  /* Firefox */

:root[data-preset="navy"] {   /* 네이비 (파랑) — 기본 */
    --ui-th-bg: #1d4a88; --ui-primary: #1d4a88; --ui-primary-hover: #163a6c; --ui-primary-active: #102a4f;
    --ui-primary-soft: rgba(29, 74, 136, 0.08); --ui-primary-glow: rgba(29, 74, 136, 0.22);
    --ui-accent-blue: #2563eb; --ui-accent-blue-hover: #1d4ed8;
    --ui-zebra: #f5f8fc; --ui-row-hover: #e7eef8; --ui-focus-ring: 0 0 0 3px rgba(37, 99, 235, 0.25);
    --ui-nav-grad-a: #102a4f; --ui-nav-grad-b: #1d4a88; --ui-nav-tint: rgba(16, 42, 79, 0.95);
}
:root[data-preset="teal"] {   /* 틸 (청록/초록) */
    --ui-th-bg: #0f766e; --ui-primary: #0f766e; --ui-primary-hover: #0c5f58; --ui-primary-active: #0a4a44;
    --ui-primary-soft: rgba(15, 118, 110, 0.10); --ui-primary-glow: rgba(15, 118, 110, 0.22);
    --ui-accent-blue: #0d9488; --ui-accent-blue-hover: #0f766e;
    --ui-zebra: #f0fbf9; --ui-row-hover: #d9f1ee; --ui-focus-ring: 0 0 0 3px rgba(13, 148, 136, 0.28);
    --ui-nav-grad-a: #0a4a44; --ui-nav-grad-b: #0f766e; --ui-nav-tint: rgba(15, 118, 110, 0.95);
}
:root[data-preset="amber"] {  /* 앰버 (주황) */
    --ui-th-bg: #b45309; --ui-primary: #b45309; --ui-primary-hover: #963f06; --ui-primary-active: #7a3305;
    --ui-primary-soft: rgba(180, 83, 9, 0.10); --ui-primary-glow: rgba(180, 83, 9, 0.22);
    --ui-accent-blue: #ea580c; --ui-accent-blue-hover: #c2410c;
    --ui-zebra: #fdf6ec; --ui-row-hover: #fbecd3; --ui-focus-ring: 0 0 0 3px rgba(180, 83, 9, 0.28);
    --ui-nav-grad-a: #7a3305; --ui-nav-grad-b: #b45309; --ui-nav-tint: rgba(180, 83, 9, 0.95);
}
:root[data-preset="purple"] { /* 바이올렛 (보라) */
    --ui-th-bg: #6b21a8; --ui-primary: #6b21a8; --ui-primary-hover: #58198c; --ui-primary-active: #461270;
    --ui-primary-soft: rgba(107, 33, 168, 0.09); --ui-primary-glow: rgba(107, 33, 168, 0.22);
    --ui-accent-blue: #9333ea; --ui-accent-blue-hover: #7e22ce;
    --ui-zebra: #f9f4fd; --ui-row-hover: #f0e3fb; --ui-focus-ring: 0 0 0 3px rgba(107, 33, 168, 0.28);
    --ui-nav-grad-a: #461270; --ui-nav-grad-b: #6b21a8; --ui-nav-tint: rgba(107, 33, 168, 0.95);
}
