:root{
    --purple-bg:#ffffff;
    --purple-dk:#ffffff;
    --btn-bg:#FDC512;
    --btn-bg-hov:#D9A90F;
    --border-light:#e9e9e9;
    --text-main:#111;
    --text-sub:#5f5f5f;
    --background-color: #f0f3f5;
    --background-color2: #ffffff;
    --background-color3: #F7F8FA;
  }
  *{box-sizing:border-box;font-family:'Noto Sans KR',sans-serif;margin:0;}
  body{
    /* 원래의 밝은 회색 배경으로 복구 */
    background: var(--background-color);
    min-height:100vh;
    display:flex;
    flex-direction:column;
  }
  @media(max-width:1180px){
  }
  .home-card-carousel-section {
    width: 97%;
    margin: 0 auto 28px;
    padding: 10px 0;
  }
  .home-card-carousel-section h2 {
    font-size: 1.2rem;
    font-weight: 900;
    margin-bottom: 16px;
    padding-left: 5px;
  }
  .home-cardSwiper {
    width: 100%;
    height: 230px;
    padding: 10px 2px !important;
  }
  .home-cardSwiper .swiper-slide {
    width: 320px;
  }
.home-cardSwiper .home-card {
  width: 100%;
  height: 180px;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 25px;
  cursor: pointer;
  text-align: left;
  position: relative;            /* 오버레이용 */
  overflow: hidden;

  background:
    linear-gradient(135deg, rgba(95,165,255,0.20) 0%,
                           rgba(150,200,255,0.16) 45%,
                           rgba(180,160,255,0.18) 100%);
  border: 1px solid rgba(255,255,255,0.32);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.18),
    0 6px 18px rgba(80,120,200,0.14);
  backdrop-filter: blur(10px) saturate(130%) brightness(1.08);
  -webkit-backdrop-filter: blur(10px) saturate(130%) brightness(1.08);
}

/* 상단 하이라이트(반짝임) */
.home-cardSwiper .home-card::before{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit; pointer-events:none;
  background:
    radial-gradient(140% 70% at 12% -18%, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 46%),
    linear-gradient(110deg, rgba(255,255,255,.10) 14%, rgba(255,255,255,0) 30%);
  opacity:.5;
}

.home-cardSwiper .home-card:hover{
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    0 10px 24px rgba(80,120,200,0.16);
  filter: brightness(1.01) saturate(1.02);
}

/* 글자 대비 소폭 업 */
.home-card h3{ color:#1a1f2a; font-weight:800; }
.home-card p.home-card-subtitle{ color: rgba(15,23,42,.78); }

  .home-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
  }
/* 아이콘만 입체(볼록) — 위치/레이아웃 변경 없음 */
.home-card-icon{
  font-size: 1.8rem;      /* 그대로 */
  color: #4a69ff;         /* 그대로 */
  margin-bottom: 20px;    /* 그대로 */

  /* 입체감 + 파란 글로우(요소 자체에만 적용) */
  -webkit-text-stroke: .35px rgba(255,255,255,.4);
  text-shadow:
    0 1px 0 rgba(255,255,255,.95),      /* 윗면 하이라이트 */
    0 2px 3px rgba(36,67,255,.30),      /* 가까운 그림자 */
    0 6px 12px rgba(36,67,255,.22),     /* 중간 그림자 */
    0 0 12px rgba(70,110,255,.35);      /* 파란 글로우(위치 어긋나지 않음) */
  filter:
    drop-shadow(0 2px 4px rgba(30,60,160,.15));
}

/* 위치 어긋남 방지를 위해 ::after 글로우 제거 */
.home-card-icon::after{ content:none !important; }

/* SVG 아이콘도 또렷하게 */
.home-card-icon svg{ width:1em; height:1em; vertical-align:-0.06em; }
.home-card-icon svg path{
  fill: currentColor;
  stroke: rgba(255,255,255,.95);
  stroke-width: .8px;
  paint-order: stroke fill;
}


  .home-card h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: #1a1a1a;
    line-height: 1.4;
  }
  .home-card p.home-card-subtitle {
    margin: 0;
    font-size: 0.9rem;
    color: var(--text-sub);
    line-height: 1.5;
  }
  .home-card-caption {
    padding-top: 12px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #333;
    text-align: center;
  }
  .home-iframe-outer iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%) scale(0.9);
    border: none;
    background: transparent;
    display: block;
    min-width: 0;
    min-height: 0;
  }
  .home-modal-content img{max-width:100%;height:auto;border-radius:10px;}
  .home-modal-content p{margin-top:18px;font-size:1.05rem;line-height:1.6;}
  .home-modal-close:hover{color:#000;}
  .home-dashboard-body{
    display:flex;
    flex-direction: column;
    gap:50px;
    margin: 0 40px 80px; 
    padding-top: 70px; /* 여백을 50px에서 70px로 늘림 */
    border-top: 1px solid var(--border-light); 
  }
  .home-user-row{
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
  }
  .home-profile-card{
    width: 360px;
    flex-shrink: 0;
    background: var(--background-color2);
    border-radius: 22px;
    box-shadow: 8px 8px 16px #d0d3d5, -8px -8px 16px #ffffff;
    padding: 28px;
    position: relative;
    transition: min-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    align-self: flex-start;
  }
  .home-profile-main-collapsed {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .home-profile-main-collapsed img {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  }
  .home-profile-main-collapsed .home-info h3 {
    font-size: 1.15rem;
    font-weight: 900;
    color: var(--text-main);
  }
  .home-profile-main-expanded {
    display: none;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .home-profile-main-expanded img {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 16px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  }
  .home-profile-main-expanded h3 {
    font-size: 1.4rem;
    font-weight: 900;
    margin: 0;
  }
  .home-profile-plan {
    font-size: 0.9rem;
    color: var(--text-sub);
    margin-top: 4px;
  }
  .home-profile-toggle-btn {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    background: transparent;
    border: none;
    color: var(--text-sub);
    cursor: pointer;
    padding: 5px;
    font-size: 0.8rem;
  }
  .home-profile-toggle-btn i {
    transition: transform 0.4s ease;
  }
  .home-profile-details {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease, margin-top 0.4s ease, padding-top 0.4s ease;
  }
  .home-profile-card.home-expanded {
    min-height: 420px;
  }
  .home-profile-card.home-expanded .home-profile-main-collapsed {
    display: none;
  }
  .home-profile-card.home-expanded .home-profile-main-expanded {
    display: flex;
  }
  .home-profile-card.home-expanded .home-profile-toggle-btn i {
    transform: rotate(180deg);
  }
  .home-profile-card.home-expanded .home-profile-details {
    max-height: 300px;
    opacity: 1;
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid var(--border-light);
  }
  .home-profile-details .home-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
    padding: 14px 5px;
  }
  .home-profile-details .home-detail-item:not(:last-child) {
      border-bottom: 1px solid var(--border-light);
  }
  .home-profile-details .home-label {
    font-weight: 500;
    color: var(--text-sub);
  }
  .home-profile-details .home-value {
    font-weight: 500;
    color: var(--text-main);
  }
  .home-notice-card {
    width: 450px;
    height: 430px;
    flex-shrink: 0;
    
    /* ▼ 경계선이 더 명확해진 Frosted Glass 효과 ▼ */
    background: linear-gradient(
      160deg,
      rgba(250, 250, 250, 0.7) 0%, 
      rgba(245, 245, 245, 0.4) 70%,
      rgba(220, 237, 255, 0.3) 85%, 
      rgba(244, 224, 255, 0.3) 100% 
    );
    border-radius: 22px;
    border: 1px solid rgba(209, 213, 219, 0.7); /* 경계를 위해 옅은 회색 테두리로 변경 */
    box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.15); /* 그림자를 조금 더 진하게 하여 입체감 강화 */
    backdrop-filter: blur(8px); 
    -webkit-backdrop-filter: blur(8px);
    
    padding: 24px 15px;
    margin-left: auto;
  }
  .home-notice-card h2{
    font-size:1.0rem;
    font-weight:900;
    margin:0 0 10px 0;
  }
  .home-mysheet-board{
  flex:1 1 420px;
  padding:28px;
  min-height:420px;
  
  /* ▼ 유리 재질 효과 적용 ▼ */
  background: linear-gradient(
    160deg,
    rgba(250, 250, 250, 0.7) 0%, 
    rgba(245, 245, 245, 0.4) 70%,
    rgba(220, 237, 255, 0.3) 85%, 
    rgba(244, 224, 255, 0.3) 100% 
  );
  border-radius: 22px;
  border: 1px solid rgba(209, 213, 219, 0.7);
  box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(8px); 
  -webkit-backdrop-filter: blur(8px);
}
  .home-mysheet-board h2{font-size:1em; font-weight:900;margin-bottom:22px;}
  .home-notice-head{
    display:flex;align-items:center;justify-content:space-between;
    margin:-15px 0 10px 0;
  }
  .home-notice-list{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
/* 한 줄 정렬 + 간격 */
.home-notice-item{ display:flex; align-items:center; gap:6px; }
.notice-chip{ flex:0 0 auto; }  /* 배지 고정폭 */
.home-notice-title{ flex:1 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.home-notice-num {
  display: none;
}

/* --- [수정] 유광 '블랙' 알약 배지 --- */
.notice-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .02em;
  border-radius: 999px;
  position: relative;
  line-height: 1;
  user-select: none;

  /* ▼ 1. 검은색 유광 플라스틱 배경 */
  background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%);
  /* ▼ 2. 흰색 글씨 */
  color: #fff;
  /* ▼ 3. 텍스트에 입체감 */
  text-shadow: 0 1px 1px rgba(0, 0, 0, .5);
  /* ▼ 4. 플라스틱 테두리 */
  border: 1px solid #444;

  /* ▼ 5. 볼록한 입체 효과 (내/외부 그림자) */
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, .25), /* 윗면 내부 하이라이트 */
    inset 0 -8px 10px rgba(0, 0, 0, .3),   /* 아랫면 내부 그림자 (볼록효과) */
    0 5px 10px rgba(0, 0, 0, .25);             /* 바닥에 떨어지는 그림자 */
}
.notice-chip::after{ content:none; }


  /* 공지사항 패널 내부만 평평하게 */
.home-notice-card .notice-chip {
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, .25), /* 윗면 내부 하이라이트 (유지) */
    inset 0 -8px 10px rgba(0, 0, 0, .3) !important; /* 아랫면 내부 그림자 (유지) */
    /* 바닥 그림자(outer shadow)는 여기서 제거됨 */
}
  .home-notice-item:hover{background:#f5faf8;}
  .home-recent-files-row{
    width:100%;
    display:flex;
    gap:20px;
    align-items: stretch;
  }
.home-uploads-card {
  flex: 1.2;
  min-width: 280px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  position: relative;
  height: 810px;   /* ↑ 높이 키움: 커버리지 위젯 안 짤림 */

  /* ▼ 유리 재질 효과 적용 ▼ */
  background: linear-gradient(
    160deg,
    rgba(250, 250, 250, 0.7) 0%, 
    rgba(245, 245, 245, 0.4) 70%,
    rgba(220, 237, 255, 0.3) 85%, 
    rgba(244, 224, 255, 0.3) 100% 
  );
  border-radius: 22px;
  border: 1px solid rgba(209, 213, 219, 0.7);
  box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(8px); 
  -webkit-backdrop-filter: blur(8px);
}
  .home-uploads-card .home-rf-header {
      flex-shrink: 0;
  }


  
  .home-rf-table-wrap{
  flex:1;
  max-height: 175px; /* 5개 항목 높이에 맞춰 스크롤 생성 */
  overflow-y:auto;
}
.home-new-panel-ready {
  width: 360px;
  height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px;
  min-height: 290px; 
  
  /* ▼ 유리 재질 효과 적용 ▼ */
  background: linear-gradient(
    160deg,
    rgba(250, 250, 250, 0.7) 0%, 
    rgba(245, 245, 245, 0.4) 70%,
    rgba(220, 237, 255, 0.3) 85%, 
    rgba(244, 224, 255, 0.3) 100% 
  );
  border-radius: 22px;
  border: 1px solid rgba(209, 213, 219, 0.7);
  box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(8px); 
  -webkit-backdrop-filter: blur(8px);
}
  .home-user-stats-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 10px;
  }
  .home-stat-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 1rem;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 15px;
  }
  .home-stat-item:last-child {
    border-bottom: none;
  }
  .home-user-stats-list .home-stat-label {
    color: var(--text-sub);
    font-weight: 500;
  }
  .home-user-stats-list .home-stat-value {
    font-size: 1.6rem;
    font-weight: 900;
    color: var(--text-main);
  }
  .home-reviews-link {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #81D4FA; /* << 옅은 하늘색으로 변경 */
    text-decoration: none;
    transition: color 0.2s;
  }

  .home-reviews-link:hover {
    color: #4FC3F7; /* << 마우스를 올렸을 때 조금 더 진한 하늘색으로 변경 */
  }
  .home-downloads-card{flex:1.2;}
  .home-rf-table-wrap{
    flex:1;
    max-height: 245px; /* <<<< 높이 수정 */
    overflow-y:auto;
  }
  .home-uploads-card .home-rf-table {
      min-width: auto; /* << '최근 업로드' 테이블의 최소 너비 제한을 해제합니다. */
    }
  .home-rf-table thead{position:sticky;top:0;background:#f7f7f7;z-index:1;}
  .home-rf-table thead th { color:#555; }
  .home-rf-table th,.home-rf-table td{
    padding:10px 14px;font-size:.7rem;border-bottom:1px solid #eee;
    text-align:left;
  }
  .home-rf-table tbody tr:nth-child(even){background:#fafafa;}
  .home-rf-table td.home-title {
      max-width: 210px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      display: inline-block;
      vertical-align: middle;
    }
  .home-rf-table td.home-title:hover{text-decoration:underline;}
  .home-rf-table-wrap::-webkit-scrollbar{width:6px;}
  .home-rf-table-wrap::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:4px;}
  .home-rf-table-wrap::-webkit-scrollbar-track{background:transparent;}
  .home-rf-table td:not(.home-title){ text-align:center; }
  @media(max-width:900px){
    .home-recent-files-row{flex-direction:column;}
    .home-downloads-card,.home-uploads-card{flex:initial;}
  }
  .home-notice-list {
    position: relative;
    transition: transform .7s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }
  .home-notice-card,
  .home-uploads-card {
    position: relative;
  }
  .home-btn-plus {
    position: absolute;
    top: 4px;
    right: 8px;
    background: none;
    border: none;
    padding: 6px 12px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.18s;
    z-index: 10;
  }
  .home-btn-plus i {
    color: #3B82F6; /* 파란색 아이콘으로 변경 */
    font-size: 1.1rem;
    transition: color 0.18s;
  }
  .home-btn-plus:hover i,
  .home-btn-plus:focus i {
    color: #2563EB; /* 더 진한 파란색 */
  }
  .home-mysheet-split {
    display: flex; gap: 24px; margin-top:10px;
  }
  .home-mysheet-left { flex:1; }
  .home-rf-header, .home-mysheet-requests-header {
    font-size: 1.0rem;
    font-weight: 900;
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0; /* 18px에서 0으로 수정 */
    position: relative;
  }
  .home-mysheet-table td.status-working { color: #FDC512; }
  .home-mysheet-table td.status-producing { color: #00C273; }
  .home-mysheet-table td.status-completed { color: #1ECBE1; }
  .home-mysheet-table td.status-rejected { color: #dc3545; font-weight:700; }
  .home-rf-table, .home-mysheet-table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      min-width: 0;
  }
  .home-rf-table thead, .home-mysheet-table thead {
    position:sticky;top:0;background:#f7f7f7;z-index:1;
  }
  .home-rf-table, .home-mysheet-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 0;
  }
  .home-rf-table thead th, .home-mysheet-table thead th {
      padding: 12px 16px;
      font-size: 0.8rem;
      font-weight: 700;
      text-align: center;
      color: #333;
      background-color: transparent;
      vertical-align: middle;
      white-space: nowrap;
  }
  .home-rf-table tbody, .home-mysheet-table tbody {
      background-color: transparent;
  }
  .home-rf-table tbody tr:nth-child(even), .home-mysheet-table tbody tr:nth-child(even) {
      background: transparent;
  }
  .home-rf-table td, .home-mysheet-table td {
      padding: 14px 16px;
      font-size: .85rem;
      border-bottom: 1px solid #f0f0f0;
      text-align: left;
      vertical-align: middle;
  }
  .home-rf-table tr:last-child td, .home-mysheet-table tr:last-child td {
      border-bottom: none;
  }
  .home-rf-table td:not(.home-title), .home-mysheet-table td:not(.home-title) {
      text-align: center;
  }
  .home-rf-table td.home-title, .home-mysheet-table .home-title {
      max-width: 280px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      display: inline-block;
      vertical-align: middle;
      text-align: left;
  }
  .home-rf-table tbody tr:hover, .home-mysheet-table tbody tr:hover {
    background-color: #f9f9f9;
    transition: background-color 0.2s;
  }
  .home-mysheet-scroll-wrap {
    max-height: 360px;
    overflow-y: auto;
    overflow-x: hidden;
    border-radius: 10px;
  }
  .home-mysheet-scroll-wrap::-webkit-scrollbar {
    width: 6px;
  }
  .home-mysheet-scroll-wrap::-webkit-scrollbar-thumb {
    background: #eee;
    border-radius: 5px;
  }
  .fa-hourglass-half.ani-wave {
    animation: hourglass-shake 0.9s infinite alternate cubic-bezier(.22,.61,.36,1);
  }
  @keyframes hourglass-shake {
    0%   { transform: rotate(-12deg) scale(1); }
    35%  { transform: rotate(10deg)  scale(1.08);}
    75%  { transform: rotate(-8deg) scale(0.96);}
    100% { transform: rotate(0deg)  scale(1);}
  }
  .home-mysheet-right, .home-downloads-card {
  height: 550px;
  flex: 1.1;
  min-width: 280px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  
  /* ▼ 유리 재질 효과 적용 ▼ */
  background: linear-gradient(
    160deg,
    rgba(250, 250, 250, 0.7) 0%, 
    rgba(245, 245, 245, 0.4) 70%,
    rgba(220, 237, 255, 0.3) 85%, 
    rgba(244, 224, 255, 0.3) 100% 
  );
  border-radius: 22px;
  border: 1px solid rgba(209, 213, 219, 0.7);
  box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(8px); 
  -webkit-backdrop-filter: blur(8px);
}
.home-uploads-card .home-rf-table td.home-title {
  display: block;
  width: 100%;             /* 컬럼 가용 폭을 전부 사용 */
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
  /* max-width 제거 */
}
  .home-mysheet-mybox {
    background: #faf7ff;
    border: 2px dashed #c6b8f6;
    border-radius: 18px;
    min-height: 260px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    box-shadow: 0 2px 8px rgba(160,140,255,0.07);
  }
  .home-mybox-title {
    font-size: 1.0em;
    font-weight: 800;
    color: #7956e8;
    margin-bottom: 26px;
    margin-top: 6px;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .home-mybox-ready {
    font-size: 1.9em;
    font-weight: 900;
    color: #b9b4cb;
    text-align: center;
    letter-spacing: 2px;
    margin-top: 20px;
    margin-bottom: 6px;
    user-select: none;
  }
  .home-carousel-notice-wrapper {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    width: 97%;
    margin: 20px auto 28px;
  }
  .home-card-carousel-section {
    flex: 1;
    min-width: 0;
  }
  .home-slider-tabs {
    position: relative;
    display: flex;
    gap: 10px;
    margin-bottom: 24px;
    padding-left: 5px;
  }
  .home-tab-indicator {
    position: absolute;
    height: 100%;
    background-color: #007BFF;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2);
    border-radius: 999px;
    transition: left 0.4s cubic-bezier(0.22, 1, 0.36, 1), width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 1;
  }
  .home-tab-btn {
    position: relative;
    z-index: 2;
    padding: 10px 20px;
    font-size: 0.95rem;
    font-weight: 700;
    border: none;
    background-color: transparent;
    color: var(--text-sub);
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.3s, box-shadow 0.3s;
    box-shadow: 4px 4px 8px #d0d3d5, -4px -4px 8px #ffffff;
  }
  .home-tab-btn.home-active {
    color: #ffffff; /* 흰색으로 변경 */
    box-shadow: inset 2px 2px 4px #d0d3d5, inset -2px -2px 4px #ffffff;
  }
  .home-tab-btn:not(.home-active):hover {
    color: var(--text-main);
  }
  .home-youtube-thumbnail {
      display: block;
      width: 100%;
      height: 180px;
      border-radius: 18px;
      overflow: hidden;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.07), 0 5px 10px rgba(0, 0, 0, 0.03);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .home-youtube-thumbnail:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.09), 0 6px 12px rgba(0, 0, 0, 0.05);
  }
  .home-youtube-thumbnail img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease;
  }
  .home-youtube-thumbnail:hover img {
      transform: scale(1.05);
  }
  .home-stats-container {
    display: flex;
    justify-content: space-around;
    text-align: center;
    padding: 0 0 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-light);
  }
  .home-stat-card {
    position: relative;
    padding: 0 20px;
  }
  .home-stat-separator {
    display: none; /* 구분선을 보이지 않게 처리 */
  }
  .home-stats-container .home-stat-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-sub);
    margin-bottom: 8px;
  }
  .home-stats-container .home-stat-value {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--text-main);
  }

#statPending   { color: #FFC107; }   /* 세련된 옐로우 */
#statProducing { color: #2FD4B3; }   /* 중등 배지 민트 */
#statCompleted { color: #2C3D70; }   /* 고등 배지 네이비 */
#statRejected  { color: #8A1538; }   /* 버건디 레드 */

/* ===== 작업 현황 '배지(Badge)' 스타일 (수정 후) ===== */
.home-mysheet-table .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 600;
  flex-shrink: 0;
}

.home-mysheet-table .status-badge i {
  font-size: 0.75rem;
}

/* --- 상태별 배지 색상 (세련된 톤으로 변경) --- */

/* 확인중: 차분한 연회색톤 */
.home-mysheet-table .status-badge.pending{
  /* 세련된 노랑 톤 */
  background: #FFF7D1;   /* 옅은 바탕 */
  color: #7A5E00;        /* 가독성 있는 텍스트 */
}

.home-mysheet-table .status-badge.producing{
    /* 중등 배지(민트) */
  background: linear-gradient(145deg, #8fffd1, #54e6b9);
  color: #04382a;
  border: 1px solid rgba(100,255,220,0.6);
}

.home-mysheet-table .status-badge.completed{
    /* 고등 배지(네이비) */
  background: linear-gradient(145deg, #1e2b50, #2c3d70);
  color: #EAF2FF;
  border: 1px solid rgba(90,150,255,0.35);
}

.home-mysheet-table .status-badge.rejected{
  /* 버건디 레드 */
  background: linear-gradient(145deg, #8A1538, #5C0A1F);
  color: #FFFFFF;
  border: 1px solid rgba(138,21,56,0.5);
}

.home-notice-card {
  margin-left: auto;
}

/* '최근 업로드' 패널 내부 컨텐츠를 가로로 배치하는 컨테이너 */
.home-uploads-content-row {
  display: flex;
  flex: 1;
  gap: 24px;
  align-items: stretch;
  margin-top: 0; /* 18px에서 0으로 수정 */
}

/* '최근 업로드' 패널 내부 '헤더'를 가로로 배치하는 컨테이너 */
.home-uploads-header-row {
  display: flex;
  gap: 24px; /* 컨텐츠 row와 동일한 간격 */
  align-items: stretch;
  margin-bottom: 18px; /* 헤더 영역과 컨텐츠 영역 사이의 간격 */
}

.home-rf-table-wrap {
  max-height: 580px;
  overflow-y: auto;
  flex: 1;
}

/* 2. '최근 다운로드' 테이블에만 독립적으로 적용될 스타일을 새로 추가합니다. */
.home-downloads-card .home-rf-table-wrap {
  max-height: 360px; /* << '최근 다운로드' 테이블 높이만 300px로 설정 */
}

/* '준비중' 영역이 2/3를 차지하도록 설정 */
.home-preparing-box {
  flex: 2;
  background: transparent;   /* 배경 제거 */
  border: none;               /* 점선 테두리 제거 */
  border-radius: 18px;
  display: flex;
  align-items: stretch;       /* 위젯이 꽉 차도록 */
  justify-content: stretch;
  height: 100%;
  box-shadow: none;           /* 잔광 제거 */
  padding: 0;                 /* 여백 제거(선택) */
}

.mobile-date {
  display: none;
}

/* ▼▼▼ 모바일 화면에서 광고 배너 숨기기 (추가) ▼▼▼ */
@media (max-width: 768px) {
  .home-promo-banner {
    /* display: none; 코드를 삭제하고 아래 스타일로 교체합니다. */
    width: auto;      /* 좌우 여백을 고려하여 너비를 자동으로 설정 */
    height: 150px;    /* 모바일에서 배너 높이를 줄임 */
    margin: 16px;     /* 상하좌우 여백을 16px로 조정 */
    border-radius: 12px;
  }
  /* 1. 구분선 위로 올리기 (전체적인 상단 여백 및 간격 조정) */
  .home-dashboard-body {
    padding-top: 24px;
    margin: 0 16px 60px;
    gap: 24px;
  }
  
  /* 2. 프로필 패널과 사용자 통계 패널을 가로로 배치하기 위한 설정 */
  .home-user-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    /* [핵심 수정 1] 각 패널이 자신의 내용만큼만 높이를 갖도록 변경 */
    align-items: flex-start; 
  }

   /* 3. 프로필 패널 재디자인 (펼치기 기능 제거 및 크기 축소) */
  .home-profile-card {
    flex: 0.8;
    /* [핵심 수정 2] 위아래 여백 최소화 및 내용물 세로 중앙 정렬 */
    padding: 40px 10px; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
  }
  .home-profile-main-collapsed {
    flex-direction: column;
    text-align: center;
    gap: 6px;
  }
  /* 1. 펼치기 버튼 숨기기 */
  .home-profile-toggle-btn {
    display: none;
  }

  /* 2. 펼쳐졌을 때의 높이 증가 방지 */
  .home-profile-card.home-expanded {
    min-height: unset;
  }

  /* 3. 펼쳐졌을 때 나타나는 큰 프로필과 상세 정보 항상 숨기기 */
  .home-profile-main-expanded,
  .home-profile-details {
    display: none !important;
  }

  /* 4. 펼쳐지더라도 작은 프로필은 계속 보이도록 강제 */
  .home-profile-card.home-expanded .home-profile-main-collapsed {
    display: flex;
  }

  .home-profile-main-collapsed img {
    width: 43px;
    height: 43px;
    margin-bottom: 4px;
  }
  .home-profile-main-collapsed .home-info h3 {
    font-size: 0.7rem;
  }
  .home-profile-main-collapsed .home-info div {
    font-size: 0.6rem; 
  }

  /* 4. 사용자 통계 패널 배치 및 내부 스타일 조정 */
  .home-new-panel-ready {
    flex: 1.2;
    padding: 10px 10px;
    justify-content: center;
    height: auto;
    min-height: unset; /* ✨ [핵심 수정] PC의 최소 높이 제한을 제거합니다. */
  }
  .home-new-panel-ready .home-stat-item {
    padding-bottom: 4px; /* 항목 간 여백 최소화 */
  }
  .home-new-panel-ready .home-stat-label {
    font-size: 0.6rem;
  }
  .home-new-panel-ready .home-stat-value {
    font-size: 0.9rem;
  }
  .home-new-panel-ready .home-reviews-link {
    margin-top: 4px; /* 하단 링크 여백 최소화 */
    font-size: 0.6rem;
  }

  /* 5. 모바일에서는 공지사항 패널을 숨겨서 레이아웃 단순화 */
  .home-notice-card {
    display: none;
  }

    /* 1. 상단 통계 섹션 (확인중, 제작중 등) */
  .home-mysheet-right .home-stats-container {
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
  .home-mysheet-right .home-stat-label {
    font-size: 0.7rem; /* 라벨 글자 크기 축소 */
    margin-bottom: 6px;
  }
  .home-mysheet-right .home-stat-value {
    font-size: 1.3rem; /* 숫자 크기 축소 */
  }

  /* 2. 하단 표(테이블) 섹션 */
  .home-mysheet-table .home-title {
    /* 파일명이 길어지면 ...으로 생략되도록 설정 */
    display: inline-block;
    max-width: 210px; /* 모바일 화면에 맞는 최대 너비 지정 */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle; /* 세로 정렬을 위해 추가 */
  }
  
  .home-mysheet-table .status-badge i {
    display: none; /* 아이콘 숨기기 */
  }

  .home-mysheet-table .status-badge {
    font-size: 0.75rem; /* 글자 크기 축소 */
    padding: 4px 8px;   /* 패딩을 줄여 줄바꿈 방지 */
    gap: 0;
  }

    /* ▼▼▼ 최근 다운로드 패널 모바일 스타일 (이 블록을 추가하세요) ▼▼▼ */

  /* 1. 상단 통계 부분 (글자/숫자 크기 축소) */
  .home-downloads-card .home-stats-container {
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
  .home-downloads-card .home-stat-label {
    font-size: 0.7rem; /* 라벨 글자 크기 축소 */
  }
  .home-downloads-card .home-stat-value {
    font-size: 1.3rem; /* 숫자 크기 축소 */
  }

  /* 2. 하단 표(테이블) 부분 */
  .home-downloads-card .home-rf-table .home-title {
    /* 파일명이 길어지면 ...으로 생략되도록 설정 */
    display: inline-block;
    max-width: 170px; /* 모바일 화면에 맞는 최대 너비 지정 */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
  }
  
  /* 2-1. 날짜 표시 방법 변경 */
  .home-downloads-card .pc-date {
    display: none; /* PC용 날짜(년도포함) 숨기기 */
  }
  .home-downloads-card .mobile-date {
    display: inline; /* 모바일용 날짜(월.일) 보여주기 */
  }

  /* 2-2. 다운로드 아이콘 줄바꿈 방지 */
  .home-downloads-card .home-download-icons-cell {
    white-space: nowrap;
  }

  /* ▲▲▲ 여기까지 추가 ▲▲▲ */

  /* ▼▼▼ 최근 업로드 패널 모바일 스타일 (이 블록을 추가하세요) ▼▼▼ */

  /* 1. 패널의 고정 높이를 제거하여 내용물(테이블)에 맞게 조절되도록 변경 */
  /* ▼▼▼ 최근 업로드 패널 모바일 스타일 (이 블록으로 교체하세요) ▼▼▼ */

  /* 1. 패널 높이를 내용물에 맞게 자동 조절 */
  .home-uploads-card {
    height: auto;
    min-height: 200px;
  }
  .home-uploads-card .home-preparing-box {
    display: none;
  }
  .home-uploads-card .home-rf-table-wrap {
    flex-basis: 100%;
  }

  /* 2. 테이블 레이아웃 고정 */
  .home-uploads-card .home-rf-table {
    table-layout: fixed;
    width: 100%;
  }
  
  /* 3. 파일명 칸(td) 너비 지정 */
  .home-uploads-card .home-rf-table td:first-child {
    width: 65%;
  }

  /* 4. 파일명을 감싸는 div에 생략 스타일 적용 */
  .home-uploads-card .home-rf-table .home-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 5. 업로드일 칸(td) 너비 및 스타일 지정 */
  .home-uploads-card .home-rf-table td:last-child {
    width: 35%;
    font-size: 0.75rem;
    white-space: nowrap;
  }

}

/* === [최근 업로드] 고등/중등 배지 === */
.level-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  margin-right: 8px;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px rgba(255,255,255,0.6);
  box-shadow:
    inset 2px 2px 6px rgba(255,255,255,0.6),
    inset -2px -2px 6px rgba(0,0,0,0.15),
    0 4px 10px rgba(0,0,0,0.2);
  backdrop-filter: blur(3px);
}

/* 🟩 중등: 민트/라이트그린 형광 유광 */
.level-badge.middle {
  background: linear-gradient(145deg, #8fffd1, #54e6b9);
  color: #04382a;
  border: 1px solid rgba(100,255,220,0.8);
}

/* 🔵 고등: 네이비/버건디/딥그린 중 택1 (조화된 형광 느낌) */
.level-badge.high {
  background: linear-gradient(145deg, #1e2b50, #2c3d70);
  color: #d1f1ff;
  border: 1px solid rgba(90,150,255,0.4);
  box-shadow:
    inset 2px 2px 6px rgba(255,255,255,0.25),
    inset -2px -2px 8px rgba(0,0,0,0.3),
    0 3px 12px rgba(30,60,150,0.45);
}

/* hover 시 반짝이는 효과 */
.level-badge:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 1px 1px 3px rgba(255,255,255,0.8),
    inset -1px -1px 3px rgba(0,0,0,0.2),
    0 0 12px rgba(255,255,255,0.5);
  transition: all 0.25s ease;
}

/* [Fix] 공지사항 패널: 숫자/배지 뒤 유광 레이어 전부 제거 (::before, ::after 모두) */
.home-notice-card .home-notice-num::after,
.home-notice-card .notice-chip::after,
.home-notice-card .home-notice-num::before,
.home-notice-card .notice-chip::before {
  content: none !important;
  background: none !important;
  mix-blend-mode: normal !important;
  display: none !important; /* 확실한 제거를 위해 display: none 추가 */
}

/* (옵션) 섞임 효과 자체를 끊고 싶다면 각 행에 격리 */
.home-notice-card .home-notice-item { isolation: isolate; }

/* 최근 업로드 표: 클릭 가능한 행 */
.home-uploads-card .home-rf-table tr.rf-clickable { cursor: pointer; }
.home-uploads-card .home-rf-table tr.rf-clickable:hover { background-color: #f5f5f5; }
