/* ===== boss UI tweaks ===== */

/* (A) 메인 배너(메뉴바~무료슬롯 사이 큰 이미지) 높이/여백 줄이기 */
#main_banner_slider {
  max-height: 360px;
  overflow: hidden;
  border-radius: 12px;
}
#main_banner_slider img{
  width: 100% !important;
  height: 360px;
  object-fit: cover;     /* 위/아래 잘라서 높이 줄임 */
  object-position: center;
  display:block;
}

/* 배너 위/아래 간격 줄이기(테마마다 클래스가 달라서 다중 셀렉터) */
.main_content_wrap,
.main_content,
#container,
#wrap {
  /* 너무 과하면 숫자만 더 줄이면 됨 */
}
.main_content_wrap { margin-top: 10px !important; }
.section_title { margin-top: 12px !important; }

/* 모바일에서는 더 낮게 */
@media (max-width: 992px){
  #main_banner_slider { max-height: 260px; }
  #main_banner_slider img{ height: 260px; }
}

/* (B) 메뉴 hover 무지개 애니메이션(텍스트에 그라데이션) */
@keyframes boss_rainbow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 400% 50%; }
}

/* 최대한 안전하게: 흔한 메뉴 셀렉터들에만 적용 */
#gnb a:hover,
.gnb a:hover,
#top_menu a:hover,
#topmenu a:hover,
.nav a:hover,
.main_menu a:hover,
.menu a:hover {
  background-image: linear-gradient(90deg,
    #ff004c, #ff7a00, #ffd400, #00d084, #00c2ff, #6a5cff, #c400ff, #ff004c);
  background-size: 400% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  animation: boss_rainbow 1.2s linear infinite;
  text-shadow: 0 0 10px rgba(255,255,255,.15);
}

/* (C) 이벤트/포인트게임 더 예쁘게 강조(네온 링 + 샤인 + 뱃지) */
@keyframes boss_ring {
  0%   { background-position: 0% 50%; }
  100% { background-position: 400% 50%; }
}
@keyframes boss_shine {
  0%   { transform: translateX(-130%) skewX(-20deg); opacity: 0; }
  15%  { opacity: .55; }
  45%  { opacity: .15; }
  100% { transform: translateX(230%) skewX(-20deg); opacity: 0; }
}
@keyframes boss_pulse {
  0%,100% { box-shadow: 0 0 10px rgba(255,200,0,.20), 0 0 22px rgba(255,100,0,.18); }
  50%     { box-shadow: 0 0 14px rgba(255,220,0,.28), 0 0 30px rgba(255,80,0,.22); }
}

/* 공통: 강조 링크를 '네온 캡슐'로 */
#gnb a.boss_emph,
.gnb a.boss_emph,
#top_menu a.boss_emph,
.nav a.boss_emph,
.main_menu a.boss_emph,
.menu a.boss_emph {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px !important;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .2px;

  /* 내부 배경 */
  background: rgba(20,20,20,0.65);
  color: #fff !important;

  /* 무지개 링(테두리처럼 보이게) */
  border: 1px solid transparent;
  background-image:
    linear-gradient(rgba(20,20,20,0.70), rgba(20,20,20,0.70)),
    linear-gradient(90deg,#ff004c,#ff7a00,#ffd400,#00d084,#00c2ff,#6a5cff,#c400ff,#ff004c);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  background-size: auto, 400% 100%;
  animation: boss_ring 2.2s linear infinite;

  /* 네온감 */
  text-shadow: 0 0 10px rgba(255,255,255,.12);
  box-shadow: 0 0 12px rgba(255,200,0,.14);
  will-change: background-position, box-shadow;
}

/* 샤인(빛이 슥 지나감) */
#gnb a.boss_emph::before,
.gnb a.boss_emph::before,
#top_menu a.boss_emph::before,
.nav a.boss_emph::before,
.main_menu a.boss_emph::before,
.menu a.boss_emph::before {
  content:"";
  position:absolute;
  top:-2px; bottom:-2px;
  left:-10px; right:-10px;
  border-radius: 999px;
  pointer-events:none;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.35) 45%,
    rgba(255,255,255,0) 85%);
  opacity:0;
  animation: boss_shine 2.8s ease-in-out infinite;
}

/* hover 때 더 쨍하게 */
#gnb a.boss_emph:hover,
.gnb a.boss_emph:hover,
#top_menu a.boss_emph:hover,
.nav a.boss_emph:hover,
.main_menu a.boss_emph:hover,
.menu a.boss_emph:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 16px rgba(255,220,0,.20), 0 0 34px rgba(255,80,0,.18);
}

/* 이벤트/포인트게임 뱃지(텍스트 기반) */
#gnb a.boss_emph[data-boss-badge]::after,
.gnb a.boss_emph[data-boss-badge]::after,
#top_menu a.boss_emph[data-boss-badge]::after,
.nav a.boss_emph[data-boss-badge]::after,
.main_menu a.boss_emph[data-boss-badge]::after,
.menu a.boss_emph[data-boss-badge]::after {
  content: attr(data-boss-badge);
  font-size: 11px;
  font-weight: 900;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 120, 0, .18);
  border: 1px solid rgba(255, 180, 0, .55);
  box-shadow: 0 0 12px rgba(255, 160, 0, .18);
  animation: boss_pulse 1.7s ease-in-out infinite;
  line-height: 1;
}


/* (D) 유저 패널 버튼 컬러 업그레이드 */
@keyframes boss_btn_glow {
  0%,100% { filter: brightness(1); }
  50%     { filter: brightness(1.08); }
}

.user_info_box a,
.user_info_box button,
.myinfo_box a,
.myinfo_box button,
.member_box a,
.member_box button,
.profile_box a,
.profile_box button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-weight: 800;
  letter-spacing: .2px;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  transition: transform .12s ease, box-shadow .12s ease;
}

.user_info_box a:hover,
.user_info_box button:hover,
.myinfo_box a:hover,
.myinfo_box button:hover,
.member_box a:hover,
.member_box button:hover,
.profile_box a:hover,
.profile_box button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(0,0,0,.32);
}

/* 버튼별 컬러(텍스트/아이콘 포함) — 텍스트로 매칭 */
.user_info_box a:has(span):not(:has(*)),
.user_info_box a,
.myinfo_box a,
.member_box a,
.profile_box a { color:#fff !important; }

/* '관리자' 느낌: 핑크/오렌지 */
.user_info_box a[href*="adm"],
.user_info_box a:contains("관리자") {
  background: linear-gradient(90deg, rgba(255,95,109,.95), rgba(255,195,113,.95)) !important;
}

/* 개인정보 수정: 블루/시안 */
.user_info_box a:contains("개인정보"),
.user_info_box a[href*="member_confirm"],
.user_info_box a[href*="register_form"] {
  background: linear-gradient(90deg, rgba(0,198,255,.92), rgba(0,114,255,.92)) !important;
}

/* 쪽지함: 퍼플 */
.user_info_box a:contains("쪽지"),
.user_info_box a[href*="memo"] {
  background: linear-gradient(90deg, rgba(168,85,247,.92), rgba(236,72,153,.88)) !important;
}

/* 로그아웃: 레드 */
.user_info_box a:contains("로그아웃"),
.user_info_box a[href*="logout"] {
  background: linear-gradient(90deg, rgba(255,65,108,.92), rgba(255,75,43,.92)) !important;
}

/* '내 포인트' 영역이나 작은 버튼들까지 너무 튀면 살짝 다운 */
.user_info_box .btn_small,
.user_info_box a.btn_small {
  border-radius: 10px !important;
  padding: 8px 10px !important;
  opacity: .92;
}

/* 배경 자체도 조금 밝히기(너무 다크하면) */
.user_info_box,
.myinfo_box,
.member_box,
.profile_box {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}

/* (D) 유저창 버튼 컬러(클래스 기반, 100% 적용) */
.boss_btn_admin,
.boss_btn_profile,
.boss_btn_memo,
.boss_btn_logout{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-weight: 900 !important;
  letter-spacing: .2px;
  color:#fff !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.boss_btn_admin:hover,
.boss_btn_profile:hover,
.boss_btn_memo:hover,
.boss_btn_logout:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
  filter: brightness(1.08);
}

/* 관리자: 핑크/오렌지 */
.boss_btn_admin{
  background: linear-gradient(90deg, rgba(255,95,109,.95), rgba(255,195,113,.95)) !important;
}

/* 개인정보: 블루/시안 */
.boss_btn_profile{
  background: linear-gradient(90deg, rgba(0,198,255,.92), rgba(0,114,255,.92)) !important;
}

/* 쪽지함: 퍼플 */
.boss_btn_memo{
  background: linear-gradient(90deg, rgba(168,85,247,.92), rgba(236,72,153,.88)) !important;
}

/* 로그아웃: 레드 */
.boss_btn_logout{
  background: linear-gradient(90deg, rgba(255,65,108,.92), rgba(255,75,43,.92)) !important;
}

/* (D2) 유저패널 전용 스코프: data-boss-userbtn="1" 붙은 버튼만 스타일 적용 */
[data-boss-userbtn="1"].boss_btn_admin,
[data-boss-userbtn="1"].boss_btn_profile,
[data-boss-userbtn="1"].boss_btn_memo,
[data-boss-userbtn="1"].boss_btn_logout{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-weight: 900 !important;
  letter-spacing: .2px;
  color:#fff !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
[data-boss-userbtn="1"].boss_btn_admin:hover,
[data-boss-userbtn="1"].boss_btn_profile:hover,
[data-boss-userbtn="1"].boss_btn_memo:hover,
[data-boss-userbtn="1"].boss_btn_logout:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
  filter: brightness(1.08);
}
[data-boss-userbtn="1"].boss_btn_admin{ background: linear-gradient(90deg, rgba(255,95,109,.95), rgba(255,195,113,.95)) !important; }
[data-boss-userbtn="1"].boss_btn_profile{ background: linear-gradient(90deg, rgba(0,198,255,.92), rgba(0,114,255,.92)) !important; }
[data-boss-userbtn="1"].boss_btn_memo{ background: linear-gradient(90deg, rgba(168,85,247,.92), rgba(236,72,153,.88)) !important; }
[data-boss-userbtn="1"].boss_btn_logout{ background: linear-gradient(90deg, rgba(255,65,108,.92), rgba(255,75,43,.92)) !important; }

/* 혹시 헤더에 잘못 붙은 클래스가 남아있어도(드물게) 스타일은 무력화 */
.boss_btn_admin:not([data-boss-userbtn="1"]),
.boss_btn_profile:not([data-boss-userbtn="1"]),
.boss_btn_memo:not([data-boss-userbtn="1"]),
.boss_btn_logout:not([data-boss-userbtn="1"]){
  background: initial !important;
  box-shadow: none !important;
  border: initial !important;
  padding: initial !important;
  border-radius: initial !important;
  color: inherit !important;
}

/* (E) /bbs/memo.php 쪽지함 UI 스킨 (그누보드 기본을 예쁘게 덮기) */
body[id*="memo"], body[class*="memo"] { background:#0b0f14; }

#bo_list, .memo, #memo, #memo_list, #memo_send, #memo_write, #memo_view {
  max-width: 1100px;
  margin: 28px auto !important;
  padding: 18px 18px 26px !important;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  box-shadow: 0 14px 36px rgba(0,0,0,.35);
}

/* 탭(받은쪽지/보낸쪽지/쪽지쓰기) 버튼화 */
#memo_menu, .memo_menu, #bo_cate, .bo_cate {
  display:flex;
  gap:10px;
  align-items:center;
  padding: 10px 8px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  margin-bottom: 14px;
}
#memo_menu a, .memo_menu a, #bo_cate a, .bo_cate a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 9px 14px;
  border-radius: 999px;
  font-weight: 900;
  color:#e8eef6;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  text-decoration:none !important;
}
#memo_menu a:hover, .memo_menu a:hover, #bo_cate a:hover, .bo_cate a:hover{
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.14);
}

/* 활성 탭(현재 선택) */
#memo_menu .on a, .memo_menu .on a, #bo_cate .on a, .bo_cate .on a,
#memo_menu a.on, .memo_menu a.on, #bo_cate a.on, .bo_cate a.on {
  background-image: linear-gradient(90deg, rgba(0,198,255,.28), rgba(255,200,0,.18));
  border-color: rgba(0,198,255,.28);
  box-shadow: 0 0 18px rgba(0,198,255,.10);
}

/* 리스트/테이블 정돈 */
table { width:100%; border-collapse: collapse; }
th, td { padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,0.06); }
th { color:#cfe3ff; font-weight:900; background: rgba(255,255,255,0.03); }
td { color:#e9eef7; }
a { color: inherit; }

/* 페이징 정리 */
.pg, .pagination {
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top: 18px;
}
.pg a, .pg strong, .pagination a, .pagination strong {
  min-width: 34px;
  height: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 10px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  color:#e8eef6;
}
.pg strong, .pagination strong{
  background: rgba(255,195,113,0.18);
  border-color: rgba(255,195,113,0.35);
  font-weight: 900;
}

/* 메모 내용/폼 */
textarea, input[type="text"], input[type="password"]{
  width:100%;
  background: rgba(0,0,0,0.25);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 10px 12px;
  color:#f3f7ff;
}
.btn, button, input[type="submit"], input[type="button"]{
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color:#fff;
}
.btn:hover, button:hover, input[type="submit"]:hover, input[type="button"]:hover{
  filter: brightness(1.08);
}

/* (F) memo_form.php (쪽지 보내기) 팝업 화면 업그레이드 */
html.boss-memo #memo_write,
html.boss-memo #memo_send,
html.boss-memo #memo_form,
html.boss-memo .memo_write,
html.boss-memo .memo_send{
  position: relative;
  overflow: hidden;
}

/* 상단 타이틀 느낌 */
html.boss-memo h1, html.boss-memo h2, html.boss-memo .title, html.boss-memo #bo_title{
  font-weight: 1000;
  letter-spacing: .2px;
  margin: 0 0 14px !important;
  color: #f4f8ff;
}

/* 폼을 2열 느낌으로 정돈(모바일은 자동 1열) */
html.boss-memo form{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 900px){
  html.boss-memo form{
    grid-template-columns: 1fr 1fr;
  }
  /* textarea/캡차/버튼 영역은 2열 전체 폭 */
  html.boss-memo form textarea,
  html.boss-memo form .captcha,
  html.boss-memo form .btn_confirm,
  html.boss-memo form .btn_submit,
  html.boss-memo form .btn_area{
    grid-column: 1 / -1;
  }
}

/* 라벨/설명 텍스트 */
html.boss-memo label, html.boss-memo .sound_only + strong, html.boss-memo .frm_info{
  color: rgba(235,245,255,.85);
  font-weight: 800;
}

/* 인풋/텍스트영역 더 고급스럽게 */
html.boss-memo input[type="text"],
html.boss-memo input[type="password"],
html.boss-memo textarea{
  background: rgba(0,0,0,0.30) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
}
html.boss-memo input[type="text"]:focus,
html.boss-memo textarea:focus{
  border-color: rgba(0,198,255,0.55) !important;
  box-shadow: 0 0 0 3px rgba(0,198,255,0.14);
}

/* 버튼 영역: 보내기/취소를 오른쪽 정렬 + 컬러 버튼 */
html.boss-memo .btn_confirm,
html.boss-memo .btn_area{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
  margin-top: 8px;
}

/* 기본 버튼을 '그라데이션'으로 */
html.boss-memo .btn_confirm .btn,
html.boss-memo .btn_area .btn,
html.boss-memo button,
html.boss-memo input[type="submit"],
html.boss-memo input[type="button"]{
  background: linear-gradient(90deg, rgba(0,198,255,.28), rgba(255,195,113,.20)) !important;
  border-color: rgba(255,255,255,0.14) !important;
}

/* 강조: 보내기(Submit)는 더 강하게 */
html.boss-memo input[type="submit"],
html.boss-memo button[type="submit"]{
  background: linear-gradient(90deg, rgba(0,198,255,.45), rgba(255,195,113,.28)) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.28), 0 0 18px rgba(0,198,255,.10);
}

/* 캡차 박스 정돈(그누보드 자동등록방지) */
html.boss-memo .captcha,
html.boss-memo #captcha,
html.boss-memo .captcha_box{
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 14px;
}

/* 팝업 느낌: 상단 네온 라인 */
html.boss-memo #bo_list::before,
html.boss-memo #memo::before,
html.boss-memo #memo_list::before,
html.boss-memo #memo_send::before,
html.boss-memo #memo_write::before,
html.boss-memo #memo_view::before,
html.boss-memo form::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:2px;
  background: linear-gradient(90deg,#00c2ff,#ffd400,#ff004c,#00d084,#6a5cff);
  opacity:.75;
}

/* =========================================================
   BOSS MEMO POPUP SKIN (memo.php / memo_form.php)
   적용 조건: html.boss-memo
   ========================================================= */
html.boss-memo body{
  background: radial-gradient(1200px 600px at 20% 0%, rgba(0,198,255,.10), transparent 55%),
              radial-gradient(900px 500px at 90% 10%, rgba(255,0,120,.08), transparent 55%),
              #0b0f14 !important;
  color: rgba(240,248,255,.92);
}

/* 컨텐츠 폭 + 가운데 정렬 */
html.boss-memo #wrapper,
html.boss-memo #container,
html.boss-memo .container,
html.boss-memo .content,
html.boss-memo #memo,
html.boss-memo #memo_list,
html.boss-memo #memo_write,
html.boss-memo #memo_send,
html.boss-memo #memo_form{
  max-width: 1100px;
  margin: 0 auto !important;
}

/* 상단 여백 + 카드 배경 */
html.boss-memo #memo,
html.boss-memo #memo_list,
html.boss-memo #memo_write,
html.boss-memo #memo_send,
html.boss-memo #memo_form{
  padding: 18px 16px 20px !important;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  position: relative;
  overflow: hidden;
}

/* 네온 라인 */
html.boss-memo #memo::before,
html.boss-memo #memo_list::before,
html.boss-memo #memo_write::before,
html.boss-memo #memo_send::before,
html.boss-memo #memo_form::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:2px;
  background: linear-gradient(90deg,#00c2ff,#ffd400,#ff004c,#00d084,#6a5cff);
  opacity:.85;
}

/* 탭(받은쪽지/보낸쪽지/쪽지쓰기) */
html.boss-memo .memo_tab,
html.boss-memo .memo_category,
html.boss-memo #memo .memo_tab,
html.boss-memo #memo .tab,
html.boss-memo ul.tabs,
html.boss-memo ul.tab{
  display:flex !important;
  gap:10px;
  flex-wrap:wrap;
  margin: 0 0 14px !important;
  padding: 0 !important;
  list-style:none !important;
}
html.boss-memo .memo_tab a,
html.boss-memo ul.tabs a,
html.boss-memo ul.tab a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(240,248,255,.92) !important;
  font-weight: 900;
  text-decoration:none !important;
}
html.boss-memo .memo_tab a:hover,
html.boss-memo ul.tabs a:hover,
html.boss-memo ul.tab a:hover{
  background: rgba(255,255,255,0.10);
  border-color: rgba(0,198,255,0.35);
  box-shadow: 0 0 0 3px rgba(0,198,255,0.14);
}
html.boss-memo .memo_tab .active a,
html.boss-memo ul.tabs .active a,
html.boss-memo ul.tab .active a,
html.boss-memo .memo_tab a.on{
  background: linear-gradient(90deg, rgba(0,198,255,.35), rgba(255,195,113,.22)) !important;
  border-color: rgba(255,255,255,0.16) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
}

/* 리스트 테이블/리스트 라인 */
html.boss-memo table{
  width:100% !important;
  border-collapse: collapse !important;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  overflow:hidden;
}
html.boss-memo thead th{
  background: rgba(255,255,255,0.06);
  color: rgba(240,248,255,.92);
  font-weight: 1000;
  padding: 12px 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
html.boss-memo tbody td{
  padding: 12px 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  color: rgba(235,245,255,.88);
}
html.boss-memo tbody tr:hover td{
  background: rgba(255,255,255,0.04);
}

/* 페이지네이션 */
html.boss-memo .pg_wrap,
html.boss-memo .pagination{
  display:flex;
  justify-content:center;
  margin-top: 14px !important;
}
html.boss-memo .pg_wrap a,
html.boss-memo .pg_wrap strong{
  min-width: 34px;
  height: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin: 0 4px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: rgba(240,248,255,.92) !important;
  text-decoration:none !important;
  font-weight: 900;
}
html.boss-memo .pg_wrap strong{
  background: linear-gradient(90deg, rgba(0,198,255,.35), rgba(255,195,113,.22)) !important;
}

/* 폼: 인풋/텍스트영역 */
html.boss-memo input[type="text"],
html.boss-memo input[type="password"],
html.boss-memo textarea{
  width:100% !important;
  background: rgba(0,0,0,0.30) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 12px !important;
  padding: 12px 12px !important;
  color: rgba(240,248,255,.94) !important;
}
html.boss-memo textarea{
  min-height: 220px;
}
html.boss-memo input[type="text"]:focus,
html.boss-memo textarea:focus{
  outline: none !important;
  border-color: rgba(0,198,255,0.55) !important;
  box-shadow: 0 0 0 3px rgba(0,198,255,0.14);
}

/* 캡차 */
html.boss-memo #captcha,
html.boss-memo .captcha,
html.boss-memo .captcha_box{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  padding: 14px;
}

/* 버튼 */
html.boss-memo .btn_confirm,
html.boss-memo .btn_area{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
  margin-top: 10px !important;
}
html.boss-memo button,
html.boss-memo input[type="submit"],
html.boss-memo input[type="button"],
html.boss-memo a.btn{
  border-radius: 12px !important;
  padding: 10px 14px !important;
  font-weight: 1000 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: rgba(255,255,255,0.06) !important;
  color: rgba(240,248,255,.92) !important;
  text-decoration:none !important;
}
html.boss-memo input[type="submit"],
html.boss-memo button[type="submit"]{
  background: linear-gradient(90deg, rgba(0,198,255,.45), rgba(255,195,113,.28)) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.28), 0 0 18px rgba(0,198,255,.10);
}

/* 모바일 최적화 */
@media (max-width: 520px){
  html.boss-memo #memo,
  html.boss-memo #memo_list,
  html.boss-memo #memo_write,
  html.boss-memo #memo_send,
  html.boss-memo #memo_form{
    padding: 14px 12px 16px !important;
    border-radius: 14px;
  }
  html.boss-memo thead{ display:none; }
  html.boss-memo table, html.boss-memo tbody, html.boss-memo tr, html.boss-memo td{
    display:block !important;
    width:100% !important;
  }
  html.boss-memo tbody td{
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: 10px 10px !important;
  }
}

/* =========================================================
   BOSS MEMO FINISH PATCH (1+2+3)
   ========================================================= */

/* (2) 탭: 무지개 라인 애니 + 글로우 */
@keyframes bossRainbow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
html.boss-memo .memo_tab a,
html.boss-memo ul.tabs a,
html.boss-memo ul.tab a{
  position: relative;
  overflow: hidden;
}
html.boss-memo .memo_tab a::after,
html.boss-memo ul.tabs a::after,
html.boss-memo ul.tab a::after{
  content:"";
  position:absolute;
  left:-40%;
  top:-2px;
  width:180%;
  height:2px;
  background: linear-gradient(90deg,#00c2ff,#ffd400,#ff004c,#00d084,#6a5cff,#00c2ff);
  background-size: 200% 100%;
  opacity:.0;
  transition: opacity .18s ease;
}
html.boss-memo .memo_tab a:hover::after,
html.boss-memo ul.tabs a:hover::after,
html.boss-memo ul.tab a:hover::after{
  opacity:.9;
  animation: bossRainbow 1.4s linear infinite;
}
html.boss-memo .memo_tab .active a,
html.boss-memo ul.tabs .active a,
html.boss-memo ul.tab .active a,
html.boss-memo .memo_tab a.on{
  text-shadow: 0 0 16px rgba(0,198,255,.35);
}
html.boss-memo .memo_tab .active a::after,
html.boss-memo ul.tabs .active a::after,
html.boss-memo ul.tab .active a::after,
html.boss-memo .memo_tab a.on::after{
  opacity:.95;
  animation: bossRainbow 1.2s linear infinite;
}

/* (1) 빈 상태(쪽지 없음) → 중앙 카드 */
html.boss-memo .empty_table,
html.boss-memo .no_data,
html.boss-memo .empty_list,
html.boss-memo .empty,
html.boss-memo .tbl_head01 .empty_table{
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 16px !important;
  padding: 22px 16px !important;
  margin: 18px auto !important;
  text-align: center !important;
  color: rgba(235,245,255,.88) !important;
  max-width: 760px;
  box-shadow: 0 14px 30px rgba(0,0,0,.30);
}
html.boss-memo .empty_table::before,
html.boss-memo .no_data::before,
html.boss-memo .empty_list::before,
html.boss-memo .empty::before{
  content:"📩";
  display:block;
  font-size: 26px;
  margin-bottom: 10px;
  opacity:.9;
}

/* (3) 캡차/버튼 정렬: 캡차는 한 줄, 버튼은 오른쪽 */
html.boss-memo #captcha,
html.boss-memo .captcha,
html.boss-memo .captcha_box{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
}
html.boss-memo #captcha img,
html.boss-memo .captcha img{
  max-width: 180px;
  height:auto;
  border-radius: 10px;
}
html.boss-memo #captcha input[type="text"],
html.boss-memo .captcha input[type="text"]{
  max-width: 260px;
}
@media (max-width: 520px){
  html.boss-memo #captcha,
  html.boss-memo .captcha,
  html.boss-memo .captcha_box{
    flex-direction: column;
    align-items: stretch;
  }
  html.boss-memo #captcha input[type="text"],
  html.boss-memo .captcha input[type="text"]{
    max-width: 100%;
  }
}

/* 버튼 더 “클릭감” */
html.boss-memo button:hover,
html.boss-memo input[type="submit"]:hover,
html.boss-memo input[type="button"]:hover,
html.boss-memo a.btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.08);
}
html.boss-memo button:active,
html.boss-memo input[type="submit"]:active,
html.boss-memo input[type="button"]:active,
html.boss-memo a.btn:active{
  transform: translateY(0px);
  filter: brightness(0.98);
}

/* =========================================================
   BOSS USER BOX (main_right / side_card / #ol_after)
   ========================================================= */
.main_right .side_card{
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.45) !important;
  overflow: hidden;
}

/* 상단 헤더 라인 + 여백 */
.main_right .side_card #ol_after{
  padding: 14px 14px 16px !important;
  position: relative;
}
.main_right .side_card #ol_after::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:2px;
  background: linear-gradient(90deg,#00c2ff,#ffd400,#ff004c,#00d084,#6a5cff);
  opacity:.90;
}

/* 닉네임/멤버 텍스트 */
.main_right .side_card #ol_after .ol_after_hd{
  text-align:center;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
}
.main_right .side_card #ol_after .ol_after_hd .nick_name{
  font-weight: 1000;
  color: rgba(240,248,255,.95) !important;
  text-shadow: 0 0 14px rgba(0,198,255,.18);
}

/* 포인트 카드(밝게 + 글로우) */
.main_right .side_card #ol_after .premium_point_card{
  background: radial-gradient(700px 260px at 20% 0%, rgba(0,198,255,.18), transparent 55%),
              radial-gradient(700px 260px at 80% 20%, rgba(255,0,120,.12), transparent 55%),
              rgba(0,0,0,0.20) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.30) !important;
}
.main_right .side_card #ol_after .premium_point_card *{
  color: rgba(240,248,255,.92) !important;
}

/* 버튼 영역 정리 */
.main_right .side_card #ol_after .ol_after_btn{
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px !important;
}

/* 버튼 공통 */
.main_right .side_card #ol_after .ol_after_btn a,
.main_right .side_card #ol_after .ol_after_btn button,
.main_right .side_card #ol_after .ol_after_btn input[type="button"],
.main_right .side_card #ol_after .ol_after_btn input[type="submit"]{
  display:flex !important;
  align-items:center;
  justify-content:center;
  border-radius: 12px !important;
  padding: 11px 12px !important;
  font-weight: 1000 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: rgba(255,255,255,0.06) !important;
  color: rgba(240,248,255,.92) !important;
  text-decoration:none !important;
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.main_right .side_card #ol_after .ol_after_btn a:hover,
.main_right .side_card #ol_after .ol_after_btn button:hover,
.main_right .side_card #ol_after .ol_after_btn input[type="button"]:hover,
.main_right .side_card #ol_after .ol_after_btn input[type="submit"]:hover{
  transform: translateY(-1px);
  filter: brightness(1.08);
  box-shadow: 0 10px 22px rgba(0,0,0,.28), 0 0 18px rgba(0,198,255,.10);
}

/* 첫 번째/강조 버튼(관리자/메인 버튼 느낌) */
.main_right .side_card #ol_after .ol_after_btn a:first-child{
  background: linear-gradient(90deg, rgba(0,198,255,.50), rgba(255,195,113,.28)) !important;
  border-color: rgba(255,255,255,0.18) !important;
}

/* 모바일: 버튼 1열 */
@media (max-width: 520px){
  .main_right .side_card #ol_after .ol_after_btn{
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   USER BOX: GOLD LINE + MOBILE FIX
   ========================================================= */

/* 무지개 라인 -> 골드 라인(유저창만) */
.main_right .side_card #ol_after::before{
  height: 2px !important;
  opacity: .95 !important;
  background: linear-gradient(90deg,
    #7a5a12 0%,
    #d4af37 18%,
    #ffe08a 40%,
    #d4af37 62%,
    #b8860b 82%,
    #7a5a12 100%) !important;
}

/* 모바일/태블릿에서 유저창이 어색하게 붙는 문제 완화 */
@media (max-width: 920px){
  /* 오른쪽 박스가 너무 좁거나 삐져나오면 중앙 정렬 */
  .main_right{
    width: 100% !important;
    max-width: 560px !important;
    margin: 14px auto !important;
    float: none !important;
  }
  .main_right .side_card{
    margin: 0 auto !important;
  }
}

/* 더 작은 모바일 */
@media (max-width: 520px){
  .main_right{
    max-width: 100% !important;
    padding: 0 10px !important;
  }

  .main_right .side_card #ol_after{
    padding: 12px 12px 14px !important;
  }

  /* 포인트 카드 글자 줄바꿈/가독성 */
  .main_right .side_card #ol_after .premium_point_card{
    padding: 12px !important;
  }
  .main_right .side_card #ol_after .premium_point_card *{
    font-size: 13px !important;
  }

  /* 버튼: 모바일은 1열이 안정적 */
  .main_right .side_card #ol_after .ol_after_btn{
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .main_right .side_card #ol_after .ol_after_btn a,
  .main_right .side_card #ol_after .ol_after_btn button,
  .main_right .side_card #ol_after .ol_after_btn input[type="button"],
  .main_right .side_card #ol_after .ol_after_btn input[type="submit"]{
    min-height: 48px !important;
    font-size: 14px !important;
  }
}


/* ===== boss override: user box gold border + mobile fix (2026-02) ===== */

/* 유저창(오른쪽) 라인: 골드 고정 + 무지개 애니메이션/가상요소 끄기 */
#ol_after,
#ol_after_hd,
.side_card #ol_after {
  border: 1px solid rgba(212,175,55,.95) !important; /* gold */
  box-shadow: 0 0 0 1px rgba(212,175,55,.25), 0 12px 28px rgba(0,0,0,.45) !important;
}

#ol_after::before, #ol_after::after,
.side_card::before, .side_card::after,
#ol_after_hd::before, #ol_after_hd::after {
  animation: none !important;
  background: none !important;
  content: none !important;
}

/* 모바일에서 유저창 버튼/레이아웃 깨짐 방지 */
@media (max-width: 768px) {
  html, body { overflow-x: hidden; }
  .main_content_wrap { flex-direction: column !important; }
  .main_left, .main_right { width: 100% !important; max-width: 100% !important; }

  .side_card { width: 100% !important; max-width: 100% !important; }
  #ol_after { width: 100% !important; box-sizing: border-box !important; }

  /* 유저창 내부 버튼류: 2열 그리드로 정리(넘침 방지) */
  #ol_after .ol_after_btn,
  #ol_after .btn_area,
  #ol_after .my_btn,
  #ol_after .btn_group {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  #ol_after a, #ol_after button, #ol_after input {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =========================
   boss: user box gold frame + mobile fix
   ========================= */

/* 무지개/애니메이션류 있으면 전부 끄기 */
.side_card, #ol_after, .ol_after, .user_info_box, .myinfo_box, .member_box, .profile_box, .user_box, .my_box {
  animation: none !important;
}

/* 골드 라인 프레임 */
.side_card, #ol_after, .ol_after {
  border: 2px solid rgba(212,175,55,0.95) !important; /* gold */
  box-shadow:
    0 0 0 1px rgba(255,210,90,0.25) inset,
    0 0 18px rgba(212,175,55,0.18) !important;
  border-radius: 14px !important;
}

/* 혹시 :before/:after로 레인보우 프레임 뿌리는 경우 차단 */
.side_card::before, .side_card::after,
#ol_after::before, #ol_after::after,
.ol_after::before, .ol_after::after {
  content: none !important;
  animation: none !important;
}

/* 모바일에서 유저박스/버튼 깨짐 방지 */
@media (max-width: 768px) {
  .side_card, #ol_after, .ol_after {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  /* 박스 내부 요소가 넘치며 좌우 흔들리는 것 방지 */
  .side_card * , #ol_after * , .ol_after * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 버튼류가 한 줄에 우겨넣다가 깨지는 것 방지 */
  .side_card a, .side_card button,
  #ol_after a, #ol_after button,
  .ol_after a, .ol_after button {
    white-space: normal !important;
    word-break: keep-all !important;
  }
}

/* =========================
   boss: mobile userbox layout fix (no overlap)
   ========================= */
@media (max-width: 768px) {

  /* 유저박스 자체 */
  #ol_after, .ol_after, .side_card {
    padding: 14px !important;
  }

  /* 헤더(프로필/닉네임/설정) 정렬 */
  #ol_after .ol_after_hd,
  .ol_after .ol_after_hd {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  /* 프로필 이미지 영역 */
  #ol_after .pf_img,
  .ol_after .pf_img {
    flex: 0 0 auto !important;
  }

  /* 닉네임 */
  #ol_after .nick_name,
  .ol_after .nick_name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 15px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* 🔥 겹침의 핵심: 로그아웃/버튼류 떠있는거 강제 해제 */
  #ol_after a[href*="logout"],
  #ol_after .btn_logout,
  #ol_after .logout,
  .ol_after a[href*="logout"],
  .ol_after .btn_logout,
  .ol_after .logout {
    position: static !important;
    float: none !important;
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
    z-index: 1 !important;
  }

  /* 포인트 카드: 전체폭 */
  #ol_after .premium_point_card,
  .ol_after .premium_point_card {
    width: 100% !important;
    margin-top: 12px !important;
  }

  /* 쪽지/스크랩/기타 버튼 영역: 2열 그리드 */
  #ol_after .ol_after_info,
  .ol_after .ol_after_info {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  #ol_after .ol_after_info a,
  .ol_after .ol_after_info a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 10px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
  }

  /* 내부 요소 폭 튀는거 방지 */
  #ol_after *, .ol_after * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =========================
   boss: userbox border = GOLD (no rainbow)
   ========================= */

/* 유저박스(로그인 박스) 컨테이너들 - 골드 테두리 강제 */
#ol_after, .ol_after,
.user_info_box, .myinfo_box, .member_box, .profile_box, .user_box, .my_box {
  border: 1px solid rgba(212,175,55,.95) !important; /* gold */
  box-shadow: 0 0 0 1px rgba(212,175,55,.25), 0 10px 30px rgba(0,0,0,.45) !important;
  border-image: none !important;
  background-clip: padding-box !important;
}

/* 유저박스에 붙는 무지개/네온 pseudo 효과가 있으면 전부 무력화 */
#ol_after::before, #ol_after::after,
.ol_after::before, .ol_after::after,
.user_info_box::before, .user_info_box::after,
.myinfo_box::before, .myinfo_box::after,
.member_box::before, .member_box::after,
.profile_box::before, .profile_box::after,
.user_box::before, .user_box::after,
.my_box::before, .my_box::after {
  content: none !important;
  animation: none !important;
  background: none !important;
}

/* =========================
   boss: mobile outlogin layout (logout overlap fix - 확정판)
   ========================= */
@media (max-width: 768px) {

  /* 로그아웃 링크: basic(outlogin) = .btn_info_edit / shop_basic = #ol_after_logout */
  #ol_after a[href*="/logout.php"],
  #ol_after_logout,
  #s_ol_after_logout,
  #ol_after .btn_info_edit,
  #ol_after .boss_btn_logout,
  .ol_after a[href*="/logout.php"],
  .ol_after .btn_info_edit,
  .ol_after .boss_btn_logout {
    position: static !important;
    float: none !important;
    transform: none !important;
    margin: 10px 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
  }

  /* “헤더”에서 겹침 방지: 한 줄 정렬 + 줄바꿈 허용 */
  #ol_after .ol_after_hd,
  .ol_after .ol_after_hd {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  /* 버튼/정보 영역이 한 덩어리로 겹치면 2열 그리드로 정리 */
  #ol_after .ol_after_info,
  .ol_after .ol_after_info {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  #ol_after .ol_after_info a,
  .ol_after .ol_after_info a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 10px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
  }
}
