/* EPC 수집 화면에서만 사용하는 추가 스타일 */

.epc-brand{
	font-size:18px;
	font-weight:700;
	letter-spacing:-.03em;
	color:var(--ink);
}

.epc-topbar__who{
	margin-right:4px;
	font-size:14px;
	font-weight:600;
	color:var(--text-sub);
}

/*
 * 액세스 키와 시크릿 키를 나란히 놓는 자리. 이름과 값, 단추가 한 줄을 이룬다.
 */
.epc-keys{
	display:flex;
	flex-direction:column;
	gap:12px;
}

/* 이름과 단추를 위에 두고 값을 아래에 둔다. 칸이 좁아도 배치가 흐트러지지 않는다. */
.epc-keys__row{
	display:flex;
	flex-direction:column;
	gap:6px;
}

.epc-keys__head{
	display:flex;
	align-items:center;
	gap:8px;
}

.epc-keys__label{
	font-size:13px;
	font-weight:600;
	color:var(--text-sub);
}

.epc-keys__act{
	display:inline-flex;
	gap:6px;
	margin-left:auto;
}

.epc-keys .epc-key{
	width:100%;
	min-width:0;
	max-width:none;
}

/* 키는 길어서 줄바꿈하여 표시한다. */
.epc-key{
	display:inline-block;
	/* 다른 칸이 넓어져도 주소와 키가 한 글자씩 분리되지 않을 만큼의 공간을 유지한다. */
	min-width:150px;
	max-width:360px;
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size:13px;
	color:var(--ink-2);
	word-break:break-all;
	line-height:1.5;
	vertical-align:middle;
}

/* 기록 본문은 길어서 접어 둔다. */
.epc-raw{
	margin:0 0 8px;
	/* 좁은 칸에서도 본문을 읽을 수 있도록 최소 너비를 지정한다. */
	min-width:240px;
	max-height:220px;
	overflow:auto;
	padding:12px 14px;
	background:var(--line-soft);
	border-radius:0;
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size:12px;
	line-height:1.6;
	color:var(--ink-2);
	white-space:pre-wrap;
	word-break:break-all;
	text-align:left;
}

/* ---------- 로그인 ---------- */

.epc-login{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:100vh;
	padding:40px 20px;
}

.epc-login__panel{
	width:100%;
	max-width:400px;
	padding:36px 32px 32px;
	background:var(--surface);
	border-radius:0;
	box-shadow:0 4px 24px rgba(25,31,40,.06);
}

.epc-login__title{
	margin:0 0 28px;
	font-size:24px;
	text-align:center;
}

.epc-login__field{
	margin-bottom:16px;
}

.epc-login__field label{
	display:block;
	margin-bottom:8px;
	font-size:14px;
	font-weight:600;
	color:var(--ink-2);
}

.epc-login__field .input{
	width:100%;
	height:56px;
	border-radius:0;
	font-size:16px;
}

.epc-login__error{
	margin:0 0 16px;
	padding:14px 16px;
	border-radius:0;
	background:var(--red-soft);
	font-size:14px;
	color:var(--red);
}

.epc-login__submit{
	width:100%;
	height:var(--control-h-lg);
	margin-top:12px;
	border-radius:0;
	font-size:17px;
}

/* ---------- 설치 ---------- */

.epc-install{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:100vh;
	padding:48px 20px;
}

.epc-install__panel{
	width:100%;
	max-width:600px;
	padding:36px 32px 32px;
	background:var(--surface);
	border-radius:0;
	box-shadow:0 4px 24px rgba(25,31,40,.06);
}

.epc-install__title{
	margin:0 0 24px;
	font-size:24px;
	text-align:center;
}

.epc-install__lead{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin:0 0 28px;
	padding:16px 18px;
	border-radius:0;
	font-size:15px;
	font-weight:600;
	line-height:1.6;
}

.epc-install__lead i{
	margin-top:3px;
}

.epc-install__lead--ok{
	background:var(--green-soft);
	color:#0b8f6c;
}

.epc-install__lead--bad{
	background:var(--red-soft);
	color:var(--red);
}

.epc-install__sub{
	margin:0 0 10px;
	font-size:14px;
	color:var(--text-sub);
}

.epc-install__list{
	margin:0 0 24px;
	padding:0;
	list-style:none;
}

.epc-install__list li{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
	padding:16px 2px;
	font-size:15px;
	border-bottom:1px solid var(--line);
}

.epc-install__list li:first-child{
	border-top:1px solid var(--line);
}

.epc-install__list li.is-ok i{ color:var(--green) }
.epc-install__list li.is-bad i{ color:var(--red) }

.epc-install__list li span{
	flex:1;
	min-width:0;
	color:var(--ink-2);
	word-break:break-all;
}

.epc-install__list li b{
	font-size:13px;
	font-weight:600;
	color:var(--muted);
}

.epc-install__list li em{
	flex:none;
	width:100%;
	padding-left:26px;
	font-size:13px;
	font-style:normal;
	color:var(--red);
	word-break:break-all;
}

.epc-install__note{
	margin:0 0 20px;
	font-size:14px;
	line-height:1.7;
	color:var(--text-sub);
}

.epc-install__note b{
	color:var(--ink-2);
}

.epc-install__note code{
	display:block;
	margin-top:10px;
	padding:12px 14px;
	background:var(--line-soft);
	border-radius:0;
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size:13px;
	color:var(--ink-2);
	word-break:break-all;
}

.epc-install__go{
	width:100%;
	height:var(--control-h-lg);
	border-radius:0;
	font-size:17px;
}


/* ---------- EPC 수집 화면 전용 ---------- */

/* 처리 결과의 여러 줄 사유를 줄 단위로 표시한다. */
[data-epc-alert-message]{
	white-space:pre-line;
}

.epc-password{
	display:inline-flex;
	align-items:center;
	gap:6px;
}

/* 배송 추적 공통 스타일에 없는 열 너비 */
.admin-col-w80{ width:80px }
.admin-col-w100{ width:100px }
.admin-col-w120{ width:120px }
.admin-col-w130{ width:130px }
.admin-col-w220{ width:220px }
.admin-col-w230{ width:230px }

.input--w-sm{
	width:120px;
	max-width:100%;
}

.sheet__empty{
	color:var(--muted);
}

.admin-modal__panel--wide{
	max-width:1080px;
}

.admin-cell-link{
	color:inherit;
	text-decoration:none;
}

.admin-cell-link:hover,
.admin-cell-link:focus-visible{
	color:var(--blue);
	text-decoration:underline;
}

/* EPC 구분별 검색어 탭 */
.admin-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:16px;
}

.admin-tabs__item{
	display:inline-flex;
	align-items:center;
	gap:6px;
	height:var(--control-h-sm);
	padding:0 14px;
	background:var(--surface);
	border:1px solid var(--line);
	font-size:14px;
	font-weight:600;
	color:var(--text);
	text-decoration:none;
}

.admin-tabs__item:hover{
	color:var(--ink);
}

.admin-tabs__item.is-active{
	background:var(--blue);
	border-color:var(--blue);
	color:#fff;
}

.admin-tabs__count{
	font-size:12px;
	font-weight:500;
	opacity:.8;
}
