/* ===== ai.helpstore.shop 셸 (디자인 A: 클린 워크스페이스) =====
   격리 규칙
   - style.css 는 body{display:flex} 와 #container/#header/#menu/#contents/#footer 로 셸을 배치한다.
     이 셸은 그 id·클래스를 쓰지 않고 body.aiSite 의 display 하나만 되돌린다.
   - 모든 셸 클래스는 ais-* / aih-*, id 는 #aiShell* 만 사용(전역 제네릭 클래스 충돌 방지).
   - 기능 페이지 CSS 는 건드리지 않는다. 유일한 예외: #nicheKeyword 의 헤더 높이 변수(맨 아래). */

:root {
	--ais-canvas: #F6F7F9;
	--ais-ink: #111827;
	--ais-muted: #6B7280;
	--ais-accent: #2563EB;
	--ais-accent-hover: #1D4ED8;
	--ais-side-bg: #FFFFFF;
	--ais-line: #E5E7EB;
	--ais-side-ink: #1F2937;
	--ais-side-muted: #9CA3AF;
	--ais-side-icon: #6B7280;
	--ais-cur-bg: #EEF2FF;
	--ais-cur-ink: #1E40AF;
	--ais-lock-bg: #FEF3C7;
	--ais-lock-ink: #92400E;
	--ais-ok-bg: #DCFCE7;
	--ais-ok-ink: #166534;
	--ais-admin-bg: #F3F4F6;
	--ais-admin-ink: #4B5563;
	--ais-side-w: 240px;
	--ais-side-w-min: 64px;
	--ais-top-h: 60px;
	--ais-font: "Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", -apple-system, BlinkMacSystemFont, sans-serif;
}

/* style.css 의 body{display:flex; flex-direction:row} 되돌림 */
body.aiSite,
body.aiSite.mobileResponsive { display: block; width: auto; background: var(--ais-canvas); }

#aiShell { display: flex; flex-direction: row; align-items: stretch; min-height: 100vh; font-family: var(--ais-font); }

/* ----- 사이드바 ----- */
.ais-side {
	width: var(--ais-side-w); flex: 0 0 var(--ais-side-w);
	position: sticky; top: 0; height: 100vh; overflow-y: auto; overflow-x: hidden;
	background: var(--ais-side-bg); border-right: 1px solid var(--ais-line);
	display: flex; flex-direction: column; z-index: 120;
	transition: width .18s ease, flex-basis .18s ease;
}
.ais-brand { height: var(--ais-top-h); flex: 0 0 var(--ais-top-h); display: flex; align-items: center; justify-content: space-between; padding: 0 12px 0 18px; border-bottom: 1px solid var(--ais-line); }
.ais-logo { display: flex; align-items: center; gap: 10px; color: var(--ais-side-ink); font-weight: 700; font-size: 17px; letter-spacing: -0.01em; text-decoration: none; white-space: nowrap; }
.ais-logo em, .ais-top-logo em { font-style: normal; color: var(--ais-accent); }
.ais-mark { width: 26px; height: 26px; flex: 0 0 26px; border-radius: 8px; background: var(--ais-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.ais-collapse { width: 32px; height: 32px; border: 0; background: transparent; color: var(--ais-side-muted); border-radius: 8px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.ais-collapse:hover { background: var(--ais-canvas); color: var(--ais-side-ink); }

.ais-nav { display: flex; flex-direction: column; padding: 10px 0 8px; }
.ais-gtitle { font-size: 11px; font-weight: 600; letter-spacing: .08em; color: var(--ais-side-muted); padding: 18px 20px 6px; white-space: nowrap; }
.ais-item {
	display: flex; align-items: center; gap: 12px; height: 44px; margin: 0 10px; padding: 0 12px;
	border-radius: 8px; color: var(--ais-side-ink); font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap;
}
.ais-item:hover { background: var(--ais-canvas); color: var(--ais-side-ink); }
.ais-ic { color: var(--ais-side-icon); display: inline-flex; flex: 0 0 20px; }
.ais-item.ais-current { background: var(--ais-cur-bg); color: var(--ais-cur-ink); font-weight: 600; }
.ais-item.ais-current .ais-ic { color: var(--ais-cur-ink); }
.ais-item.ais-locked { color: var(--ais-side-muted); }
.ais-item.ais-locked .ais-ic { color: var(--ais-side-muted); }
.ais-lockb { margin-left: auto; display: inline-flex; align-items: center; font-size: 11px; font-weight: 600; color: var(--ais-lock-ink); background: var(--ais-lock-bg); border-radius: 999px; padding: 3px 8px; }
.ais-label { overflow: hidden; text-overflow: ellipsis; }

.ais-ucard { margin-top: auto; padding: 14px 16px 16px; border-top: 1px solid var(--ais-line); display: flex; align-items: center; gap: 12px; color: var(--ais-side-ink); }
.ais-ucard-link { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1 1 auto; color: var(--ais-side-ink); text-decoration: none; border-radius: 8px; margin: -6px -8px; padding: 6px 8px; }
.ais-ucard-link:hover { background: var(--ais-canvas); color: var(--ais-side-ink); }
.ais-avatar { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: var(--ais-line); color: var(--ais-admin-ink); display: inline-flex; align-items: center; justify-content: center; }
.ais-uinfo { min-width: 0; }
.ais-uname { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ais-uplan { font-size: 12px; color: var(--ais-side-muted); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ais-login { display: flex; align-items: center; justify-content: center; width: 100%; height: 40px; border-radius: 8px; background: var(--ais-accent); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.ais-login:hover { background: var(--ais-accent-hover); color: #fff; }

/* 접힘 상태 (데스크톱) */
body.aiSite.ais-collapsed .ais-side { width: var(--ais-side-w-min); flex-basis: var(--ais-side-w-min); }
body.aiSite.ais-collapsed .ais-logo-text,
body.aiSite.ais-collapsed .ais-label,
body.aiSite.ais-collapsed .ais-lockb,
body.aiSite.ais-collapsed .ais-gtitle,
body.aiSite.ais-collapsed .ais-uinfo,
body.aiSite.ais-collapsed .ais-login { display: none; }
body.aiSite.ais-collapsed .ais-brand { padding: 0; justify-content: center; }
body.aiSite.ais-collapsed .ais-logo { display: none; }
body.aiSite.ais-collapsed .ais-collapse { transform: rotate(180deg); }
body.aiSite.ais-collapsed .ais-item { justify-content: center; padding: 0; margin: 0 12px; }
body.aiSite.ais-collapsed .ais-nav { padding-top: 14px; }
body.aiSite.ais-collapsed .ais-ucard { justify-content: center; padding: 14px 0 16px; }

/* ----- 메인 컬럼 ----- */
#aiShellMain { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; min-height: 100vh; }
.ais-top {
	position: sticky; top: 0; z-index: 110; height: var(--ais-top-h); flex: 0 0 var(--ais-top-h);
	background: #fff; border-bottom: 1px solid var(--ais-line);
	display: flex; align-items: center; gap: 12px; padding: 0 24px;
}
.ais-hamburger { display: none; width: 44px; height: 44px; margin-left: -12px; border: 0; background: transparent; color: var(--ais-ink); border-radius: 8px; cursor: pointer; align-items: center; justify-content: center; padding: 0; }
.ais-top-logo { display: none; align-items: center; gap: 8px; font-weight: 700; font-size: 16px; color: var(--ais-ink); text-decoration: none; white-space: nowrap; }
.ais-top-logo .ais-mark { width: 22px; height: 22px; flex-basis: 22px; border-radius: 6px; }
.ais-crumb { font-size: 14px; font-weight: 600; color: var(--ais-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ais-top-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.ais-tok { display: inline-flex; text-decoration: none; cursor: pointer; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 8px; background: var(--ais-admin-bg); border: 1px solid var(--ais-line); color: var(--ais-ink); font-size: 13px; font-weight: 600; white-space: nowrap; }
.ais-tok small { font-weight: 500; color: var(--ais-muted); font-size: 12px; }
.ais-tok:hover { background: var(--ais-line); color: var(--ais-ink); }
.ais-tlink { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--ais-line); background: #fff; color: var(--ais-ink); font-size: 13px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.ais-tlink:hover { background: var(--ais-canvas); color: var(--ais-ink); }
.ais-tlink-quiet { border-color: transparent; color: var(--ais-muted); }
.ais-tlink-primary { background: var(--ais-accent); border-color: var(--ais-accent); color: #fff; font-weight: 600; }
.ais-tlink-primary:hover { background: var(--ais-accent-hover); color: #fff; }

#aiShellBody { flex: 1 1 auto; min-width: 0; }
.ais-foot { padding: 18px 24px; font-size: 12px; color: var(--ais-muted); display: flex; flex-wrap: wrap; gap: 20px; border-top: 1px solid var(--ais-line); }
.ais-foot a { color: var(--ais-muted); text-decoration: none; }
.ais-foot a:hover { color: var(--ais-ink); }

.ais-backdrop { display: none; position: fixed; inset: 0; background: rgba(17, 24, 39, .45); z-index: 115; }

/* ----- AI 홈 (aiHome.jsp) ----- */
#aiHome { padding: 36px 40px 48px; max-width: 1280px; font-family: var(--ais-font); }
.aih-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.aih-h1 { margin: 0; font-size: 26px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; color: var(--ais-ink); }
.aih-sub { margin: 10px 0 0; font-size: 15px; color: var(--ais-muted); }
.aih-cta { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 8px; background: var(--ais-accent); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.aih-cta:hover { background: var(--ais-accent-hover); color: #fff; }
.aih-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.aih-card { background: #fff; border: 1px solid var(--ais-line); border-radius: 12px; padding: 20px; min-height: 172px; display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: var(--ais-ink); transition: box-shadow .15s ease, border-color .15s ease; }
.aih-card:hover { border-color: #C7D2FE; box-shadow: 0 4px 16px rgba(37, 99, 235, .08); color: var(--ais-ink); }
.aih-card.ais-locked { opacity: .72; }
.aih-card-top { display: flex; align-items: center; justify-content: space-between; }
.aih-ic { width: 40px; height: 40px; border-radius: 10px; background: #EFF6FF; color: var(--ais-accent); display: inline-flex; align-items: center; justify-content: center; }
.aih-group { font-size: 11px; font-weight: 600; letter-spacing: .06em; color: var(--ais-muted); }
.aih-card h3 { margin: 0; font-size: 16px; font-weight: 600; color: var(--ais-ink); }
.aih-card p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--ais-muted); flex: 1; }
.aih-chip { align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; border-radius: 999px; padding: 4px 9px; }
.aih-chip-open { background: var(--ais-ok-bg); color: var(--ais-ok-ink); }
.aih-chip-ai { background: var(--ais-lock-bg); color: var(--ais-lock-ink); }
.aih-chip-admin { background: var(--ais-admin-bg); color: var(--ais-admin-ink); }

@media (max-width: 1100px) {
	.aih-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ----- 모바일: 사이드바를 드로어로 ----- */
@media (max-width: 768px) {
	.ais-side { position: fixed; top: 0; left: 0; height: 100vh; width: 300px; flex-basis: 300px; transform: translateX(-100%); transition: transform .2s ease; box-shadow: none; z-index: 130; }
	body.aiSite.ais-drawer-open .ais-side { transform: translateX(0); box-shadow: 8px 0 32px rgba(0, 0, 0, .18); }
	body.aiSite.ais-drawer-open .ais-backdrop { display: block; }
	body.aiSite.ais-collapsed .ais-side { width: 300px; flex-basis: 300px; }
	body.aiSite.ais-collapsed .ais-logo-text, body.aiSite.ais-collapsed .ais-label, body.aiSite.ais-collapsed .ais-lockb,
	body.aiSite.ais-collapsed .ais-gtitle, body.aiSite.ais-collapsed .ais-uinfo, body.aiSite.ais-collapsed .ais-login, body.aiSite.ais-collapsed .ais-logo { display: flex; }
	body.aiSite.ais-collapsed .ais-gtitle { display: block; }
	body.aiSite.ais-collapsed .ais-item { justify-content: flex-start; padding: 0 12px; margin: 0 10px; }
	.ais-collapse { display: none; }
	.ais-hamburger { display: inline-flex; }
	.ais-top-logo { display: inline-flex; }
	.ais-crumb { display: none; }
	.ais-top { height: 56px; flex-basis: 56px; padding: 0 12px; }
	.ais-tlink:not(.ais-tlink-primary) span, .ais-tok small { display: none; }
	.ais-tlink { padding: 0 10px; }
	.ais-tlink-main, .ais-tlink-quiet { display: none; }
	#aiHome { padding: 20px 16px 32px; }
	.aih-hero { flex-direction: column; align-items: flex-start; gap: 16px; }
	.aih-h1 { font-size: 22px; }
	.aih-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.aih-card { padding: 16px; min-height: 0; }
	.aih-card p { display: none; }
	.ais-foot { padding: 16px; gap: 12px; }
}

/* ----- 기능 페이지와의 결합 1건: NICHE 가 상단 헤더 높이를 변수로 참조 ----- */
body.aiSite #nicheKeyword { --nk-header: var(--ais-top-h); }

/* =====================================================================
   도구 화면 레이아웃 통일 (2026-09-15) — 데스크톱 전용, body.aiSite 한정
   기능 JSP 는 건드리지 않고 여기서만 덮어쓴다(helpstore.shop 무영향).
   규격: 콘텐츠 영역 흰색 + padding 28px 32px 48px / 래퍼 max-width 1280px 가운데 배치(정렬은 각 페이지 원본) /
         제목 22px·700 / 부제 13px 회색 / 페이지 안 sticky 패널은 상단바(60px) 아래에 걸림.
   ===================================================================== */
@media (min-width: 769px) {
	body.aiSite #aiShellBody { background: #fff; padding: 28px 32px 48px; }
	body.aiSite.ais-home #aiShellBody { background: var(--ais-canvas); }
	body.aiSite #aiHome { padding: 0; max-width: 1280px; margin: 0 auto; }

	/* --- 제목·부제 공통 규격 --- */
	body.aiSite #geoPage h1,
	body.aiSite #adaPage h1,
	body.aiSite #nicheKeyword .nk-hero h1,
	body.aiSite #nicheKeyword .nk-result-title,
	body.aiSite .calc-app-wrapper .hero h1,
	body.aiSite .adv-header h1,
	body.aiSite #contents .sthTitle,
	body.aiSite #contents .stpTitle,
	body.aiSite #contents .stmTitle,
	body.aiSite #contents .sttTitle,
	body.aiSite #contents .dtpTitle,
	body.aiSite .cpg-page .cpg-title,
	body.aiSite #ckaPage .cka-header h1 {
		font-size: 22px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; color: var(--ais-ink); margin: 0 0 6px;
	}
	body.aiSite #nicheKeyword .nk-result-title { margin: 0; }
	body.aiSite #geoPage .geo-desc,
	body.aiSite #adaPage .ada-desc,
	body.aiSite #nicheKeyword .nk-hero p,
	body.aiSite .calc-app-wrapper .hero p,
	body.aiSite #contents .sthSub,
	body.aiSite #contents .stpSub,
	body.aiSite #contents .stmSub,
	body.aiSite #contents .sttSub,
	body.aiSite #contents .dtpSub,
	body.aiSite .cpg-page .cpg-title-sub,
	body.aiSite #ckaPage .cka-desc {
		font-size: 13px; color: var(--ais-muted); line-height: 1.6; margin: 0 0 20px; padding: 0;
	}

	/* --- AEO/GEO, AI 광고분석 --- */
	body.aiSite #geoPage, body.aiSite #adaPage { max-width: 1280px; margin: 0 auto; padding: 0; }
	body.aiSite #adaPage .ada-head { margin-bottom: 0; }

	/* --- NICHE: 회색 바탕 → 흰색, 히어로 왼쪽 정렬 (폭 920/1080 은 유지) --- */
	body.aiSite #nicheKeyword { background: transparent; min-height: auto; }
	body.aiSite #nicheKeyword .nk-inner, body.aiSite #nicheKeyword .nk-inner-wide { margin: 0 auto; }
	body.aiSite #nicheKeyword .nk-hero { padding: 0 0 8px; }
	body.aiSite #nicheKeyword .nk-result-bar { padding-top: 0; }

	/* --- 소싱 마진계산기 --- */
	body.aiSite .calc-app-wrapper { min-height: auto; background: transparent; }
	body.aiSite .calc-app-wrapper .hero { max-width: 1280px; margin: 0 auto; padding: 0 0 12px; }
	body.aiSite .calc-app-wrapper .layout-row { max-width: 1280px; margin: 0 auto; padding: 0 0 40px; }
	body.aiSite .calc-app-wrapper .side-panel { top: calc(var(--ais-top-h) + 16px); }
	body.aiSite .calc-app-wrapper .batch-bar { top: var(--ais-top-h); }
	body.aiSite .calc-app-wrapper .hero-add-btn { top: 0; right: 0; }

	/* --- 소싱 어드바이저: 폭(1380)·좌우 여백은 원본 그대로, 상단 여백만 셸 규격으로 --- */
	body.aiSite .adv-header { padding-top: 0; }
	body.aiSite .adv-side-panel { top: calc(var(--ais-top-h) + 16px); }

	/* --- 스튜디오 5종 (허브/제품사진/모델/썸네일/상품기획·상세페이지=detailPage) --- */
	body.aiSite #contents { min-width: 0; min-height: auto; padding: 0; }
	body.aiSite #contents .sthLayout, body.aiSite #contents .stpLayout,
	body.aiSite #contents .stmLayout, body.aiSite #contents .sttLayout, body.aiSite #contents .dtpLayout { max-width: 1280px; margin: 0 auto; }
	body.aiSite #contents .sthSide, body.aiSite #contents .stpSide,
	body.aiSite #contents .stmSide, body.aiSite #contents .sttSide, body.aiSite #contents .dtpSide { top: calc(var(--ais-top-h) + 16px); }
	/* 그리드 위로 올린 제목 블록(허브/어드바이저 돌아가기 링크·제목·부제)은 본문 그리드와 같은 폭(1280)으로 맞춰 왼쪽 끝이 본문과 일치하게 */
	body.aiSite #contents .stpHubLink, body.aiSite #contents .stmHubLink, body.aiSite #contents .sttHubLink, body.aiSite #contents .dtpHubLink,
	body.aiSite #contents .sthTitle, body.aiSite #contents .stpTitle, body.aiSite #contents .stmTitle, body.aiSite #contents .sttTitle, body.aiSite #contents .dtpTitle,
	body.aiSite #contents .sthSub, body.aiSite #contents .stpSub, body.aiSite #contents .stmSub, body.aiSite #contents .sttSub, body.aiSite #contents .dtpSub { max-width: 1280px; margin-left: auto; margin-right: auto; }

	/* --- 매출 마진계산기 --- */
	body.aiSite .cpg-page { padding: 0; min-height: auto; background: transparent; }
	body.aiSite .cpg-page .cpg-container { max-width: 1280px; margin: 0 auto; }
	body.aiSite .cpg-page .cpg-header { margin-bottom: 0; }
	body.aiSite .cpg-page .cpg-title-sub { margin-top: 0; }

	/* --- 키워드 인사이트 --- */
	body.aiSite #ckaPage .cka-header, body.aiSite #ckaPage .cka-desc { max-width: 1280px; margin: 0 auto; padding: 0; }
	body.aiSite #ckaPage .cka-header { padding-bottom: 6px; }
	body.aiSite #ckaPage .cka-layout-row { max-width: 1280px; margin: 0 auto; padding: 0 0 60px; }
	body.aiSite #ckaPage .cka-side-panel { top: calc(var(--ais-top-h) + 16px); }
}

/* ----- AI 홈 대시보드 (2026-09-16) ----- */
.aih-dash { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; margin-bottom: 28px; }
.aih-tile { background: #fff; border: 1px solid var(--ais-line); border-radius: 12px; padding: 18px 20px; min-width: 0; }
.aih-tile-token { grid-column: span 3; }
.aih-tile-pipe { grid-column: span 4; }
.aih-tile-recent { grid-column: span 5; }
.aih-tile-sales { grid-column: span 6; }
.aih-tile-ad { grid-column: span 6; }
.aih-tile-head { display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 600; color: var(--ais-muted); margin-bottom: 12px; }
.aih-tile-head a { font-size: 12px; font-weight: 500; color: var(--ais-accent); text-decoration: none; }
.aih-tile-head a:hover { text-decoration: underline; }
.aih-tile-big { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; color: var(--ais-ink); line-height: 1.2; }
.aih-gauge { height: 6px; border-radius: 999px; background: var(--ais-admin-bg); margin: 12px 0 8px; overflow: hidden; }
.aih-gauge i { display: block; height: 100%; background: var(--ais-accent); border-radius: 999px; transition: width .3s ease; }
.aih-tile-sub { font-size: 12px; color: var(--ais-muted); line-height: 1.5; }
.aih-pipe { display: flex; align-items: center; gap: 6px; }
.aih-pipe-step { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 6px; border-radius: 10px; background: var(--ais-canvas); text-decoration: none; color: var(--ais-ink); }
.aih-pipe-step:hover { background: var(--ais-cur-bg); color: var(--ais-cur-ink); }
.aih-pipe-step b { font-size: 22px; font-weight: 700; line-height: 1.1; }
.aih-pipe-step span { font-size: 12px; color: var(--ais-muted); white-space: nowrap; }
.aih-pipe-arrow { color: var(--ais-side-muted); font-size: 18px; }
.aih-tile-pipe .aih-tile-sub { margin-top: 10px; }
.aih-list { display: flex; flex-direction: column; }
.aih-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--ais-line); text-decoration: none; color: var(--ais-ink); font-size: 13px; }
.aih-row:first-child { border-top: 0; }
.aih-row:hover .aih-row-name { color: var(--ais-accent); }
.aih-kind { font-size: 11px; font-weight: 600; border-radius: 999px; padding: 2px 8px; background: var(--ais-admin-bg); color: var(--ais-admin-ink); white-space: nowrap; }
.aih-kind-어드바이저 { background: #EEF2FF; color: #1E40AF; }
.aih-kind-스튜디오 { background: #F3E8FF; color: #6B21A8; }
.aih-kind-마진 { background: var(--ais-ok-bg); color: var(--ais-ok-ink); }
.aih-kind-광고 { background: var(--ais-lock-bg); color: var(--ais-lock-ink); }
.aih-row-name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aih-row-meta { font-size: 12px; color: var(--ais-muted); white-space: nowrap; }
.aih-row-date { font-size: 12px; color: var(--ais-side-muted); white-space: nowrap; }
.aih-empty { font-size: 13px; color: var(--ais-muted); padding: 6px 0; line-height: 1.5; }
.aih-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.aih-stat { background: var(--ais-canvas); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.aih-stat-l { font-size: 12px; color: var(--ais-muted); }
.aih-stat-v { font-size: 16px; font-weight: 700; color: var(--ais-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aih-stat-note { grid-column: 1 / -1; font-size: 12px; color: var(--ais-lock-ink); }
.aih-section-title { font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--ais-muted); margin: 0 0 12px; }
@media (max-width: 1100px) {
	.aih-tile-token, .aih-tile-pipe { grid-column: span 6; }
	.aih-tile-recent, .aih-tile-sales, .aih-tile-ad { grid-column: span 12; }
}
@media (max-width: 768px) {
	.aih-dash { gap: 12px; margin-bottom: 20px; }
	.aih-tile-token, .aih-tile-pipe, .aih-tile-recent, .aih-tile-sales, .aih-tile-ad { grid-column: span 12; }
	.aih-tile { padding: 14px 16px; }
	.aih-row { grid-template-columns: auto minmax(0, 1fr); }
	.aih-row-meta, .aih-row-date { display: none; }
	.aih-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* BETA 배지 (사이드바·홈 카드·대시보드 타일) */
.ais-beta { display: inline-block; font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .06em; line-height: 1; padding: 3px 6px; border-radius: 999px; background: #F3E8FF; color: #6B21A8; vertical-align: middle; margin-left: 6px; }
.ais-item .ais-beta { margin-left: 6px; }
.aih-stat-note-muted { color: var(--ais-muted); }
body.aiSite.ais-collapsed .ais-beta { display: none; }
