/*!
 * Aninewing Member Skin — Aninewing-branded skin for the Rhymix member module.
 * Design tokens ported from modules/ncenterlite/skins/aninewing_ncenterlite_skin/ncenterlite.css
 * (blue brand accent, soft rounded cards, Pretendard type, no pill/999px shapes).
 * Self-contained: does not reference any other module's skin folder.
 *
 * Shared tab-menu class contract with modules/communication/skins/aninewing_communication_skin/communication.aninewing.css:
 *   .aw-tabs / .aw-tab / .aw-tab.is-active
 * Both files must keep these selectors visually identical.
 */

.aw-page {
	--aw-accent: #2f6bff;
	--aw-accent-2: #2562f0;
	--aw-bg: #f5f7fb;
	--aw-surface: #ffffff;
	--aw-border: #edf0f5;
	--aw-text: #222222;
	--aw-muted: #8a92a3;
	--aw-radius-lg: 20px;
	--aw-radius: 12px;
	--aw-ctl-h: 42px;
	color: var(--aw-text);
	font-size: 15px;
	line-height: 1.6;
}

.aw-page, .aw-page * {
	box-sizing: border-box;
}

.aw-page a {
	color: var(--aw-accent);
	text-decoration: none;
}

.aw-page a:hover {
	text-decoration: underline;
}

/* ---- Shared tab menu (must match communication.aninewing.css) ---- */
.aw-page .aw-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.aw-page .aw-tab {
	display: inline-block;
	color: var(--aw-text);
	background: var(--aw-surface);
	border: 1px solid var(--aw-border);
	border-radius: 12px;
	padding: 9px 16px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.02em;
	box-shadow: 0 4px 12px rgba(30, 50, 90, 0.07);
}

.aw-page .aw-tab:hover {
	color: var(--aw-accent);
	border-color: var(--aw-accent);
	text-decoration: none;
}

.aw-page .aw-tab.is-active {
	color: var(--aw-accent);
	background: #eef4ff;
	border-color: #b9d0ff;
	box-shadow: 0 6px 16px rgba(47, 107, 255, 0.12);
}

/* ---- Headings / messages ---- */
.aw-page h1,
.aw-page .aw-h {
	letter-spacing: -0.03em;
	color: var(--aw-text);
	margin: 4px 0 16px;
	font-size: 23px;
	font-weight: 800;
}

.aw-page .aw-sub {
	color: var(--aw-muted);
	margin: 0 0 18px;
	font-size: 14px;
}

.aw-page .message,
.aw-page .aw-msg {
	border-radius: var(--aw-radius);
	background: rgba(47, 107, 255, 0.08);
	border: 1px solid rgba(47, 107, 255, 0.3);
	margin: 0 0 16px;
	padding: 12px 16px;
	font-size: 13.5px;
	color: var(--aw-text);
}

.aw-page .message p,
.aw-page .aw-msg p {
	margin: 0;
}

.aw-page .message.error,
.aw-page .aw-msg.error {
	color: #ef4444;
	background: rgba(239, 68, 68, 0.12);
	border-color: rgba(239, 68, 68, 0.35);
}

/* ---- Cards / definition list (member_info.html) ---- */
.aw-card {
	border-radius: var(--aw-radius-lg);
	background: var(--aw-surface);
	border: 1px solid var(--aw-border);
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(17, 24, 39, 0.03);
	margin: 0 0 20px;
}

.aw-page dl.dl-horizontal {
	display: block;
	margin: 0;
	padding: 6px 20px;
}

.aw-page dl.dl-horizontal dt {
	color: var(--aw-muted);
	font-size: 12.5px;
	font-weight: 600;
	padding: 12px 0 2px;
}

.aw-page dl.dl-horizontal dt em {
	color: var(--aw-accent);
	font-style: normal;
	margin-right: 2px;
}

.aw-page dl.dl-horizontal dd {
	color: var(--aw-text);
	font-size: 14.5px;
	margin: 0 0 4px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--aw-border);
}

.aw-page dl.dl-horizontal dd:last-child {
	border-bottom: none;
}

/* ---- Buttons ---- */
.aw-page .btnArea {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 20px 0 0;
}

.aw-page .btn,
.aw-page button.btn,
.aw-page a.btn {
	min-height: var(--aw-ctl-h);
	cursor: pointer;
	color: var(--aw-text);
	background: var(--aw-surface);
	border: 1px solid rgba(34, 34, 34, 0.14);
	border-radius: 12px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.15s, border-color 0.15s, color 0.15s, filter 0.15s;
	box-shadow: 0 3px 12px rgba(17, 24, 39, 0.07);
}

.aw-page .btn:hover,
.aw-page button.btn:hover,
.aw-page a.btn:hover {
	color: var(--aw-accent);
	border-color: var(--aw-accent);
	text-decoration: none;
	transform: translateY(-1px);
}

.aw-page .btn-primary,
.aw-page .aw-btn-primary {
	color: #fff;
	background: linear-gradient(135deg, #2f6bff, #2562f0);
	border-color: transparent;
	box-shadow: 0 8px 20px rgba(47, 107, 255, 0.32);
}

.aw-page .btn-primary:hover,
.aw-page .aw-btn-primary:hover {
	color: #fff;
	filter: brightness(1.06);
}

.aw-page button.text {
	color: var(--aw-muted);
	background: none;
	border: none;
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	padding: 6px 10px;
}

.aw-page button.text:hover {
	color: #ef4444;
}

/* ---- Tables / lists (scrap, saved, document, comment, logins) ---- */
.aw-page table.table {
	border-collapse: collapse;
	width: 100%;
	margin: 6px 0 18px;
	font-size: 14px;
	background: var(--aw-surface);
	border: 1px solid var(--aw-border);
	border-radius: var(--aw-radius-lg);
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(17, 24, 39, 0.03);
}

.aw-page table.table caption {
	text-align: left;
	color: var(--aw-muted);
	font-size: 12.5px;
	padding: 12px 16px 0;
}

.aw-page table.table th,
.aw-page table.table td {
	border: 0;
	border-bottom: 1px solid var(--aw-border);
	text-align: left;
	vertical-align: middle;
	padding: 12px 16px;
}

.aw-page table.table thead th {
	color: var(--aw-muted);
	white-space: nowrap;
	font-size: 12.5px;
	font-weight: 600;
	background: var(--aw-bg);
}

.aw-page table.table tbody tr:last-child td {
	border-bottom: none;
}

.aw-page table.table tbody tr:hover {
	background: rgba(47, 107, 255, 0.05);
}

.aw-page table.table td.title a {
	color: var(--aw-text);
	font-weight: 600;
}

.aw-page table.table td.title a:hover {
	color: var(--aw-accent);
}

.aw-page .savedContent {
	margin-top: 8px;
	padding: 12px;
	border-radius: var(--aw-radius);
	background: var(--aw-bg);
	font-size: 13.5px;
	color: var(--aw-text);
}

/* ---- Form controls (search box, folder select) ---- */
.aw-page input[type="text"],
.aw-page input[type="email"],
.aw-page input[type="password"],
.aw-page select {
	min-height: var(--aw-ctl-h);
	border-radius: var(--aw-radius);
	border: 1px solid rgba(34, 34, 34, 0.16);
	padding: 8px 14px;
	background: var(--aw-surface);
	color: var(--aw-text);
	outline: none;
	font-size: 14px;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.aw-page input[type="text"]:focus,
.aw-page select:focus {
	border-color: var(--aw-accent);
	box-shadow: 0 0 0 3px rgba(47, 107, 255, 0.24);
}

.aw-page input[type="checkbox"] {
	width: auto;
	min-height: 0;
	accent-color: var(--aw-accent);
}

/* ---- Pagination (mirrors ncenterlite .lcm-pager) ---- */
.aw-page .pagination {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 20px 0;
}

.aw-page .pagination form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.aw-page .pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aw-page .pagination li {
	margin: 0;
}

.aw-page .pagination a {
	display: inline-flex;
	border-radius: 10px;
	min-width: 36px;
	height: 36px;
	color: var(--aw-text);
	justify-content: center;
	align-items: center;
	padding: 0 10px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.aw-page .pagination a:hover {
	background: rgba(47, 107, 255, 0.08);
	color: var(--aw-accent);
	text-decoration: none;
}

.aw-page .pagination li.active a {
	color: var(--aw-accent);
	background: #eef4ff;
	box-shadow: inset 0 0 0 1px #b9d0ff;
}

/* ---- Script-driven areas that keep clear:both markup working ---- */
.aw-page .btnArea::after {
	content: "";
	display: block;
	clear: both;
}

.aw-page .pagination::after {
	content: "";
	display: block;
	clear: both;
}

/* ---- Rhymix 공통 .btn / .btn-group 기본 스타일 보정 ----
 * common/css/rhymix.scss 의 .btn 은 padding/height/line-height 를 !important 로 고정하고,
 * .btn-group > .btn:first-child / :last-child 는 모서리를 4px 로 바꾸므로 여기서 되돌린다. */
.aw-page .btn,
.aw-page a.btn,
.aw-page button.btn,
.aw-page input.btn {
	height: auto !important;
	padding: 0 20px !important;
	line-height: 1.2 !important;
	text-shadow: none;
	background-image: none;
	vertical-align: middle;
}

.aw-page .btn-group {
	font-size: inherit;
}

.aw-page .btn-group > .btn,
.aw-page .btn-group > .btn + .btn,
.aw-page .btn-group > .btn:first-child,
.aw-page .btn-group > .btn:last-child {
	margin-left: 0;
	border-radius: 12px;
}

.aw-page .btn.btn-primary,
.aw-page a.btn.btn-primary,
.aw-page button.btn.btn-primary,
.aw-page input.btn.btn-primary {
	color: #fff;
	background: linear-gradient(135deg, #2f6bff, #2562f0);
	border-color: transparent;
	box-shadow: 0 8px 20px rgba(47, 107, 255, 0.32);
}

.aw-page .btn.btn-primary:hover,
.aw-page a.btn.btn-primary:hover,
.aw-page button.btn.btn-primary:hover,
.aw-page input.btn.btn-primary:hover {
	color: #fff;
	border-color: transparent;
	filter: brightness(1.06);
}

/* ---- 회원정보 보기 하단 버튼 가운데 정렬 ---- */
.aw-page .btnArea.aw-btn-center {
	display: flex;
	justify-content: center;
}

/* ---- 회원정보 보기 제일 하단 로그아웃 버튼 ---- */
.aw-page .btnArea.aw-logout {
	margin-top: 12px;
}

/* ---- 비밀번호 재확인 (회원정보 변경 전) : 가운데 카드, 입력칸 아래 확인 버튼 ---- */
.aw-page .aw-recheck {
	max-width: 420px;
	margin: 0 auto;
	text-align: center;
}

.aw-page .aw-recheck-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	text-align: left;
}

.aw-page .aw-recheck-form input[type="email"],
.aw-page .aw-recheck-form input[type="password"] {
	width: 100%;
}

.aw-page .aw-recheck-form input[readonly] {
	background: var(--aw-bg);
	color: var(--aw-muted);
}

.aw-page .aw-recheck-form .btn {
	width: 100%;
	margin-top: 4px;
}

/* ---- 비밀번호 변경 / 탈퇴 : 비밀번호 재확인과 같은 가운데 카드 ---- */
.aw-page .aw-recheck-form input[disabled] {
	background: var(--aw-bg);
	color: var(--aw-muted);
}

.aw-page .aw-recheck-form .help-inline {
	display: block;
	margin-top: 6px;
	color: var(--aw-muted);
	font-size: 12.5px;
	line-height: 1.5;
}

.aw-page .btn.aw-btn-danger,
.aw-page input.btn.aw-btn-danger {
	color: #ef4444;
	border-color: rgba(239, 68, 68, 0.45);
}

.aw-page .btn.aw-btn-danger:hover,
.aw-page input.btn.aw-btn-danger:hover {
	color: #fff;
	background: #ef4444;
	border-color: #ef4444;
}

/* ---- 회원정보 조회/수정 : 넓은 가운데 카드, 항목 이름 위 / 입력칸 아래 ---- */
.aw-page .aw-recheck.aw-edit {
	max-width: 640px;
}

.aw-page .aw-edit-form {
	padding: 6px 22px 22px;
	text-align: left;
}

.aw-page .aw-edit-form .control-group {
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--aw-border);
}

.aw-page .aw-edit-form .control-label {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 8px;
	padding: 0;
	text-align: left;
	color: var(--aw-muted);
	font-size: 12.5px;
	font-weight: 600;
}

.aw-page .aw-edit-form .control-label em {
	color: var(--aw-accent) !important;
	font-style: normal;
	margin-right: 2px;
}

.aw-page .aw-edit-form .controls {
	margin: 0;
	padding: 0;
}

.aw-page .aw-edit-form .controls input[type="text"],
.aw-page .aw-edit-form .controls input[type="email"],
.aw-page .aw-edit-form .controls input[type="password"],
.aw-page .aw-edit-form .controls input[type="url"],
.aw-page .aw-edit-form .controls input[type="tel"],
.aw-page .aw-edit-form .controls input[type="number"],
.aw-page .aw-edit-form .controls input[type="date"],
.aw-page .aw-edit-form .controls select,
.aw-page .aw-edit-form .controls textarea {
	width: 100%;
	max-width: 100%;
	min-height: var(--aw-ctl-h);
	border-radius: var(--aw-radius);
	border: 1px solid rgba(34, 34, 34, 0.16);
	padding: 8px 14px;
	background: var(--aw-surface);
	color: var(--aw-text);
	font-size: 14px;
	outline: none;
}

.aw-page .aw-edit-form .controls input:focus,
.aw-page .aw-edit-form .controls select:focus,
.aw-page .aw-edit-form .controls textarea:focus {
	border-color: var(--aw-accent);
	box-shadow: 0 0 0 3px rgba(47, 107, 255, 0.2);
}

.aw-page .aw-edit-form .controls input[readonly] {
	background: var(--aw-bg);
	color: var(--aw-muted);
}

.aw-page .aw-edit-form .controls .help-block,
.aw-page .aw-edit-form .controls .help-inline {
	display: block;
	margin: 6px 0 0;
	color: var(--aw-muted);
	font-size: 12.5px;
}

.aw-page .aw-edit-form .controls img {
	max-width: 100%;
	border-radius: 10px;
}

.aw-page .aw-edit-form .aw-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.aw-page .aw-edit-form .aw-choices label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 14px;
	color: var(--aw-text);
}

.aw-page .aw-edit-form input[type="radio"],
.aw-page .aw-edit-form input[type="checkbox"] {
	width: auto;
	min-height: 0;
	margin: 0;
	accent-color: var(--aw-accent);
}

.aw-page .aw-edit-form .btnArea {
	margin-top: 22px;
}

/* ---- 회원정보 수정 : 생일(날짜 입력칸 + 삭제 버튼) 한 줄 ---- */
.aw-page .aw-edit-form .controls:has(> .inputDate) {
	display: flex;
	align-items: center;
	gap: 8px;
}

.aw-page .aw-edit-form .controls > .inputDate {
	flex: 1;
	width: auto;
	min-width: 0;
}

.aw-page .aw-edit-form .controls > .dateRemover {
	flex: none;
}

/* ---- 회원정보 수정 : 프로필 사진 / 이미지 이름 / 이미지 마크 ----
 * Rhymix 가 만드는 구조: <span id="profile_imagetag"><img> <button>삭제</button></span><input type="file"><p class="help-block"> */
.aw-page .aw-edit-form .controls > span[id$="tag"] {
	display: flex;
	align-items: flex-end;
	gap: 12px;
	margin-bottom: 12px;
}

.aw-page .aw-edit-form .controls > span[id$="tag"] img {
	display: block;
	max-width: 100px;
	max-height: 100px;
	padding: 4px;
	border: 1px solid var(--aw-border);
	border-radius: 12px;
	background: var(--aw-bg);
}

.aw-page .aw-edit-form .controls > span[id$="tag"] button {
	height: 34px;
	padding: 0 14px;
	border: 1px solid rgba(239, 68, 68, 0.45);
	border-radius: 10px;
	background: var(--aw-surface);
	color: #ef4444;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s;
}

.aw-page .aw-edit-form .controls > span[id$="tag"] button:hover {
	background: #ef4444;
	color: #fff;
}

.aw-page .aw-edit-form .controls input[type="file"] {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border: 1px dashed rgba(34, 34, 34, 0.2);
	border-radius: var(--aw-radius);
	background: var(--aw-bg);
	color: var(--aw-muted);
	font-family: inherit;
	font-size: 13px;
	cursor: pointer;
}

.aw-page .aw-edit-form .controls input[type="file"]::file-selector-button {
	height: 34px;
	margin-right: 12px;
	padding: 0 14px;
	border: 1px solid rgba(34, 34, 34, 0.14);
	border-radius: 10px;
	background: var(--aw-surface);
	color: var(--aw-text);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(17, 24, 39, 0.07);
	transition: color 0.15s, border-color 0.15s;
}

.aw-page .aw-edit-form .controls input[type="file"]:hover::file-selector-button {
	color: var(--aw-accent);
	border-color: var(--aw-accent);
}

/* ---- 회원정보 수정 : 생일 입력칸 (텍스트 칸 + 달력 아이콘) ---- */
.aw-page .aw-edit-form .controls > input.inputDate,
.aw-page .aw-edit-form .controls > input.inputDate[readonly] {
	padding-right: 42px;
	background: var(--aw-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a92a3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat right 14px center / 18px;
	color: var(--aw-text);
	cursor: pointer;
}

/* ---- 생일 달력 (jQuery UI datepicker) ----
 * 달력은 body 바로 아래 #ui-datepicker-div 로 생성되어 .aw-page 밖에 있으므로 id 로 지정한다.
 * 이 CSS 는 회원 스킨 페이지에서만 로드되므로 다른 페이지 달력에는 영향이 없다. */
#ui-datepicker-div.ui-datepicker {
	width: 300px;
	margin-top: 6px;
	padding: 14px;
	border: 1px solid #edf0f5;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(47, 107, 255, 0.14), 0 2px 8px rgba(17, 24, 39, 0.06);
	font-family: inherit;
	font-size: 14px;
	color: #222;
}

#ui-datepicker-div .ui-datepicker-header {
	position: relative;
	margin: 0 0 6px;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid #edf0f5;
	border-radius: 0;
	background: none;
	color: #222;
	font-weight: 700;
}

#ui-datepicker-div .ui-datepicker-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0 40px;
	line-height: 34px;
	font-size: 14px;
}

#ui-datepicker-div .ui-datepicker-title select {
	width: auto;
	height: 34px;
	margin: 0;
	padding: 0 8px;
	border: 1px solid rgba(34, 34, 34, 0.14);
	border-radius: 10px;
	background: #fff;
	color: #222;
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 700;
	outline: none;
	cursor: pointer;
}

#ui-datepicker-div .ui-datepicker-title select:focus {
	border-color: #2f6bff;
	box-shadow: 0 0 0 3px rgba(47, 107, 255, 0.2);
}

#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next,
#ui-datepicker-div .ui-datepicker-prev-hover,
#ui-datepicker-div .ui-datepicker-next-hover {
	top: 0;
	width: 34px;
	height: 34px;
	border: 1px solid #edf0f5;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
}

#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-prev-hover {
	left: 0;
}

#ui-datepicker-div .ui-datepicker-next,
#ui-datepicker-div .ui-datepicker-next-hover {
	right: 0;
}

#ui-datepicker-div .ui-datepicker-prev-hover,
#ui-datepicker-div .ui-datepicker-next-hover {
	border-color: #b9d0ff;
	background: #eef4ff;
}

#ui-datepicker-div .ui-datepicker-prev span,
#ui-datepicker-div .ui-datepicker-next span {
	display: none;
}

#ui-datepicker-div .ui-datepicker-prev:before,
#ui-datepicker-div .ui-datepicker-next:after {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #222;
	font-size: 20px;
	line-height: 1;
}

#ui-datepicker-div .ui-datepicker-prev:before {
	content: "‹";
}

#ui-datepicker-div .ui-datepicker-next:after {
	content: "›";
}

#ui-datepicker-div .ui-datepicker-prev.ui-state-disabled,
#ui-datepicker-div .ui-datepicker-next.ui-state-disabled {
	opacity: 0.35;
	cursor: default;
}

#ui-datepicker-div table.ui-datepicker-calendar {
	width: 100%;
	margin: 0;
	border-collapse: separate;
	border-spacing: 2px;
	font-size: 13.5px;
}

#ui-datepicker-div .ui-datepicker-calendar th {
	padding: 6px 0;
	border: 0;
	color: #8a92a3;
	font-size: 12px;
	font-weight: 600;
}

#ui-datepicker-div .ui-datepicker-calendar th:first-child {
	color: #ef4444;
}

#ui-datepicker-div .ui-datepicker-calendar th:last-child {
	color: #2f6bff;
}

#ui-datepicker-div .ui-datepicker-calendar td {
	padding: 0;
	border: 0;
}

#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default,
#ui-datepicker-div .ui-datepicker-calendar td span.ui-state-default {
	display: block;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: none;
	color: #222;
	font-weight: 500;
	line-height: 34px;
	text-align: center;
	text-decoration: none;
}

#ui-datepicker-div .ui-datepicker-calendar td:first-child a.ui-state-default {
	color: #ef4444;
}

#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default.ui-state-hover {
	background: #eef4ff;
	color: #2f6bff;
}

#ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a.ui-state-default {
	box-shadow: inset 0 0 0 1px #b9d0ff;
	color: #2f6bff;
	font-weight: 700;
}

#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default.ui-state-active,
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default.ui-state-active:hover,
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default.ui-state-active.ui-state-hover {
	background: linear-gradient(135deg, #2f6bff, #2562f0);
	box-shadow: 0 4px 12px rgba(47, 107, 255, 0.3);
	color: #fff;
	font-weight: 700;
}

#ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled {
	opacity: 0.35;
}

/* ---- 로그인 : 가운데 카드 (비밀번호 재확인과 같은 틀) ---- */
.aw-page .aw-login .aw-recheck-form input[type="text"] {
	width: 100%;
}

.aw-page .aw-login .aw-keep {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 2px 0 0;
	color: var(--aw-text);
	font-size: 14px;
	cursor: pointer;
}

.aw-page .aw-login .aw-keep-warning {
	padding: 10px 12px;
	border-radius: var(--aw-radius);
	background: rgba(47, 107, 255, 0.08);
	border: 1px solid rgba(47, 107, 255, 0.25);
	font-size: 12.5px;
	line-height: 1.5;
}

.aw-page .aw-login .aw-keep-warning p {
	margin: 0;
}

.aw-page .aw-login .captcha {
	max-width: 100%;
	overflow: hidden;
}

.aw-page .aw-login-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 16px 0 0;
	color: var(--aw-muted);
	font-size: 13.5px;
}

.aw-page .aw-login-links a {
	color: var(--aw-muted);
	font-weight: 600;
}

.aw-page .aw-login-links a:hover {
	color: var(--aw-accent);
	text-decoration: none;
}

/* ---- 아이디/비밀번호 찾기 : 두 번째 카드(인증 메일 재발송) 간격 ---- */
.aw-page .aw-find-resend {
	margin-top: 36px;
}

.aw-page .aw-recheck-form .captcha,
.aw-page .aw-edit-form .captcha {
	max-width: 100%;
	overflow: hidden;
}

/* ---- 회원가입 : 약관 동의 ---- */
.aw-page .aw-edit-form .agreement {
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--aw-border);
}

.aw-page .aw-edit-form .agreement .title {
	margin: 0 0 8px;
	color: var(--aw-text);
	font-size: 14px;
	font-weight: 700;
}

.aw-page .aw-edit-form .agreement .text {
	max-height: 180px;
	overflow-y: auto;
	padding: 12px 14px;
	border: 1px solid var(--aw-border);
	border-radius: var(--aw-radius);
	background: var(--aw-bg);
	color: #444;
	font-size: 13px;
	line-height: 1.6;
}

.aw-page .aw-edit-form .agreement .confirm {
	margin-top: 10px;
}

.aw-page .aw-edit-form .agreement .confirm label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--aw-text);
	font-size: 13.5px;
	cursor: pointer;
}

/* ---- 스크랩 보기 : 폴더 도구줄 (오른쪽 정렬) ---- */
.aw-page .aw-scrap-tools {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
}

.aw-page .aw-scrap-group {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.aw-page .aw-scrap-tools select,
.aw-page .aw-scrap-tools input.folder_name {
	height: 36px;
	min-height: 36px;
	padding: 0 12px;
	border-radius: 10px;
	font-size: 13.5px;
}

.aw-page .aw-scrap-tools input.folder_name {
	width: 160px;
}

/* 폴더 도구 버튼 (탭 버튼과 구분되도록 낮고 그림자 없는 모양) */
.aw-page .aw-tool-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid rgba(34, 34, 34, 0.14);
	border-radius: 10px;
	background: var(--aw-surface);
	color: var(--aw-text);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.15s, border-color 0.15s, background-color 0.15s;
}

.aw-page .aw-tool-btn:hover {
	color: var(--aw-accent);
	border-color: var(--aw-accent);
}

.aw-page .aw-tool-btn.aw-tool-danger {
	color: #ef4444;
}

.aw-page .aw-tool-btn.aw-tool-danger:hover {
	color: #fff;
	background: #ef4444;
	border-color: #ef4444;
}

/* 폴더 추가 : 점선 테두리 + "+" 아이콘 */
.aw-page .aw-tool-btn.aw-tool-add {
	border: 1px dashed #9dbbff;
	background: #f5f8ff;
	color: var(--aw-accent);
}

.aw-page .aw-tool-btn.aw-tool-add:before {
	content: "+";
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
}

.aw-page .aw-tool-btn.aw-tool-add:hover {
	border-style: solid;
	border-color: var(--aw-accent);
	background: #eef4ff;
}

/* ---- 목록 표 : 날짜·숫자 칸 줄바꿈 금지 (긴 제목 때문에 "2026-" / "09-10" 으로 나뉘는 문제) ---- */
.aw-page table.table td.aw-nowrap {
	white-space: nowrap;
}

/* 작성 글 보기, 작성 댓글 보기, 저장함 보기 : 제목이 짧으면 남는 폭이 다른 칸으로 벌어지므로 제목/내용 칸이 남는 폭을 모두 차지하게 한다 */
.aw-page table.table.aw-fit-title th.title {
	width: 100%;
}

/* 작성 글 보기, 작성 댓글 보기, 닉네임 변경 기록, 스크랩 보기 : 머리글(번호·제목·날짜·조회 수·추천 수)만 가운데 정렬 (목록 값은 왼쪽 정렬 유지) */
.aw-page table.table.aw-head-center thead th {
	text-align: center;
}

/* 작성 글 보기 : 조회 수·추천 수 값 가운데 정렬 */
.aw-page table.table td.aw-center {
	text-align: center;
}

/* ---- 검색창 (작성 글 보기, 작성 댓글 보기, 쪽지함 보기) : 선택·입력·버튼이 하나로 이어진 검색창 ---- */
.aw-page form.aw-searchbar {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	width: 100%;
	max-width: 520px;
	height: 46px;
	margin: 0 auto;
	padding: 4px;
	border: 1px solid rgba(34, 34, 34, 0.14);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 3px 12px rgba(17, 24, 39, 0.06);
	transition: border-color 0.15s, box-shadow 0.15s;
}

.aw-page form.aw-searchbar:focus-within {
	border-color: #2f6bff;
	box-shadow: 0 0 0 3px rgba(47, 107, 255, 0.18);
}

.aw-page form.aw-searchbar select {
	flex: none;
	width: auto;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0 28px 0 12px;
	border: 0;
	border-right: 1px solid #edf0f5;
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a92a3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center / 14px;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
	outline: none;
	color: #222;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
}

.aw-page form.aw-searchbar input[type="text"],
.aw-page form.aw-searchbar input[type="search"] {
	flex: 1;
	width: auto;
	min-width: 0;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0 12px 0 36px;
	border: 0;
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a92a3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center / 16px;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
	outline: none;
	color: #222;
	font-size: 14px;
}

.aw-page form.aw-searchbar button {
	flex: none;
	height: 36px !important;
	min-height: 0;
	margin: 0;
	padding: 0 16px !important;
	border: 0;
	border-radius: 10px;
	background: #eef4ff;
	box-shadow: none;
	color: #2f6bff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1 !important;
	text-shadow: none;
	transform: none;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s;
}

.aw-page form.aw-searchbar button:hover {
	background: #2f6bff;
	color: #fff;
	transform: none;
}
/* 스크랩 보기 : Total 을 폴더 도구줄 왼쪽에 (다른 목록의 표 caption Total 과 같은 모양) */
.aw-page .aw-scrap-tools .aw-scrap-total {
	align-self: flex-end;
	line-height: 1.4;
	margin-right: auto;
	padding-left: 16px;
	color: var(--aw-muted);
	font-size: 12.5px;
}

.aw-page .aw-scrap-tools + table.table {
	margin-top: 0;
}

/* 저장함 보기 : 글을 쓰던 게시판이 없어 이어 쓰기 링크를 걸 수 없는 제목 (링크 제목과 같은 모양) */
.aw-page table.table td.title .aw-saved-title {
	color: var(--aw-text);
	font-weight: 600;
}

/* 자동 로그인 관리 : 브라우저·OS, 날짜·IP 를 한 줄로 (보조 정보는 흐린 색) */
.aw-page table.table td .aw-sub {
	margin-left: 4px;
	color: var(--aw-muted);
}

/* ---- 닉네임 변경 기록 : 날짜 | 변경 전 → 변경 후 한 칸, 모바일 스킨과 같은 모양 (날짜 흐리게, 이전 닉네임 취소선 →, 변경 닉네임 파란 굵은 글씨) ---- */
.aw-page table.aw-nick-table td {
	color: var(--aw-muted);
}

.aw-page table.aw-nick-table .before-color {
	color: var(--aw-muted);
	text-decoration: line-through;
}

.aw-page table.aw-nick-table .before-color:after {
	content: "→";
	display: inline-block;
	margin: 0 8px;
	text-decoration: none;
}

.aw-page table.aw-nick-table .after-color {
	color: var(--aw-accent);
	font-weight: 700;
}

/* ==== 마이페이지 PC 레이아웃 : 탭을 왼쪽 세로 메뉴로 (회원·쪽지·알림 스킨 공통, 세 파일의 값을 똑같이 유지할 것) ====
 * PC 레이아웃은 폭이 고정이라 창 크기와 상관없이 항상 적용한다. 모바일 기기는 m.skins 를 쓰므로 영향 없음. */
@media screen {
	.aw-page.aw-has-side {
		display: grid;
		grid-template-columns: 196px minmax(0, 1fr);
		column-gap: 32px;
		align-items: start;
	}

	.aw-page.aw-has-side > .aw-tabs {
		position: sticky;
		top: 20px;
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 2px;
		margin: 4px 0 0;
		padding: 12px 10px;
		background: #fff;
		border: 1px solid #edf0f5;
		border-radius: 16px;
		box-shadow: 0 8px 24px rgba(17, 24, 39, 0.04);
	}

	.aw-page.aw-has-side > .aw-tabs:before {
		content: "마이페이지";
		display: block;
		margin: 2px 8px 8px;
		padding: 0 0 10px;
		border-bottom: 1px solid #edf0f5;
		color: #222;
		font-size: 15px;
		font-weight: 800;
		letter-spacing: -0.02em;
	}

	.aw-page.aw-has-side > .aw-tabs .aw-tab {
		display: flex;
		align-items: center;
		height: 40px;
		margin: 0;
		padding: 0 12px;
		border: 0;
		border-radius: 10px;
		background: none;
		box-shadow: none;
		color: #4b5363;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: -0.02em;
		white-space: nowrap;
		text-decoration: none;
		transition: background-color 0.15s, color 0.15s;
	}

	.aw-page.aw-has-side > .aw-tabs .aw-tab:hover {
		background: #f5f7fb;
		color: #222;
		text-decoration: none;
	}

	.aw-page.aw-has-side > .aw-tabs .aw-tab.is-active {
		position: relative;
		background: #eef4ff;
		color: #2f6bff;
		font-weight: 700;
		box-shadow: none;
	}

	.aw-page.aw-has-side > .aw-tabs .aw-tab.is-active:before {
		content: "";
		position: absolute;
		top: 11px;
		bottom: 11px;
		left: 0;
		width: 3px;
		border-radius: 0 3px 3px 0;
		background: #2f6bff;
	}

	.aw-page.aw-has-side > .aw-main {
		min-width: 0;
	}

	.aw-page.aw-has-side > .aw-main > .aw-h:first-child,
	.aw-page.aw-has-side > .aw-main > form:first-child > .aw-h {
		margin-top: 4px;
	}
}

/* 마이페이지 PC 레이아웃 : 본문 폭이 좁아지므로 자동 로그인 관리 표의 괄호 정보(OS, IP)는 흐린 글씨로 한 줄 아래에 */
@media screen {
	.aw-page.aw-has-side table.table td .aw-sub {
		display: block;
		margin-left: 0;
		font-size: 12.5px;
	}

	.aw-page.aw-has-side table.table button.delete_autologin,
	.aw-page.aw-has-side table.table button.delete_device {
		white-space: nowrap;
	}
}

/* 스크랩 보기 : 제목 아래 글쓴이 · 날짜 한 줄 */
.aw-page table.table td.title .aw-title-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
	color: var(--aw-muted);
	font-size: 12.5px;
	line-height: 1.5;
}

.aw-page table.table td.title .aw-title-meta a {
	color: var(--aw-muted);
	font-weight: 500;
	white-space: nowrap;
}

.aw-page table.table td.title .aw-title-meta a:hover {
	color: var(--aw-accent);
}

.aw-page table.table td.title .aw-title-meta a img {
	margin-right: 3px !important;
	vertical-align: -2px !important;
}

.aw-page table.table td.title .aw-title-date:before {
	content: "·";
	margin-right: 6px;
}

/* 스크랩 보기 : 폴더 도구 2줄 (1줄 폴더 보기 · 2줄 Total + 폴더 추가) */
.aw-page .aw-scrap-tools {
	margin-bottom: 8px;
}

.aw-page .aw-scrap-tools.aw-scrap-tools-2 {
	flex-wrap: nowrap;
	margin-bottom: 12px;
}

/* 스크랩 보기 : 이름 변경·삭제는 "옵션" 버튼을 눌렀을 때만 보임 */
.aw-page .aw-scrap-opts {
	display: none;
}

.aw-page .aw-scrap-opts.is-on {
	display: inline-flex;
}

.aw-page .aw-tool-btn.aw-scrap-opt-toggle.is-on {
	border-color: #b9d0ff;
	background: #eef4ff;
	color: var(--aw-accent);
}

/* 스크랩 보기 : 옵션 버튼(톱니바퀴 아이콘) - 정사각형 */
.aw-page .aw-tool-btn.aw-icon-btn {
	justify-content: center;
	width: 36px;
	padding: 0;
}
