/* Premium Board Styles matching the main theme */
    
    .board-container {
      display: grid;
      grid-template-columns: 240px 1fr;
      gap: 30px;
      margin-top: 30px;
      margin-bottom: 80px;
    }
    
    @media (max-width: 880px) {
      .board-container {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 20px;
      }
    }
    
    /* Sidebar / Profile Box Styles */
    .sidebar-panel {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
    
    .profile-card {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
      padding: 24px 20px;
      box-shadow: 0 10px 30px rgba(20, 33, 61, 0.02);
      text-align: center;
    }
    
    .profile-avatar {
      width: 60px;
      height: 60px;
      border: 2px solid var(--primary);
      border-radius: 50%;
      background: rgb(240, 240, 241);
      color: var(--primary);
      font-size: 20px;
      font-weight: 800;
      display: grid;
      place-items: center;
      margin: 0 auto 12px;
    }
    
    .profile-name {
      font-size: 16px;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 4px;
    }
    
    .profile-role {
      font-size: 12px;
      font-weight: 700;
      color: var(--primary-soft);
      background: #f2efe7;
      padding: 3px 10px;
      border-radius: 999px;
      display: inline-block;
      margin-bottom: 16px;
    }
    
    .profile-actions {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    
    .profile-btn {
      width: 100%;
      min-height: 38px;
      font-size: 13px;
      padding: 0 12px;
      border-radius: var(--radius-sm);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      cursor: pointer;
    }
    
    /* Menu Styles (Naver Cafe Sidebar Style) */
    .board-menu {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
      padding: 14px 0;
      box-shadow: 0 10px 30px rgba(20, 33, 61, 0.02);
    }
    
    .board-menu-title {
      font-size: 11.5px;
      color: var(--primary-soft);
      padding: 12px 20px 6px;
      font-weight: 800;
      border-top: 1px solid var(--line);
      margin-top: 6px;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    
    .board-menu-title:first-of-type {
      border-top: none;
      margin-top: 0;
      padding-top: 6px;
    }
    
    .board-menu-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 7px 20px 7px 30px;
      font-size: 13.5px;
      font-weight: 500;
      color: var(--text);
      border-left: 3px solid transparent;
      cursor: pointer;
      transition: all 0.2s;
    }
    
    .board-menu-item.top-item {
      padding: 10px 20px;
      font-size: 14px;
      font-weight: 700;
      border-left: 3px solid transparent;
    }
    
    .board-menu-item.top-item i {
      font-size: 13px;
    }
    
    .board-menu-item:hover, .board-menu-item.active {
      color: var(--primary);
      background: var(--surface-soft);
      border-left-color: var(--primary);
    }
    
    .board-menu-item i {
      width: 14px;
      font-size: 10px;
      color: var(--muted);
      text-align: center;
    }
    
    .board-menu-item:hover i, .board-menu-item.active i {
      color: var(--primary);
    }
    
    /* Main Board Panel */
    .board-main {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
      padding: 35px;
      box-shadow: 0 18px 45px rgba(20, 33, 61, 0.03);
      min-height: 600px;
      display: flex;
      flex-direction: column;
    }
    
    @media (max-width: 560px) {
      .board-main {
        padding: 20px 16px;
      }
    }
    
    .board-title-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 2px solid var(--primary);
      padding-bottom: 15px;
      margin-bottom: 20px;
    }
    
    .board-title-row h2 {
      margin: 0;
      font-size: 20px;
      color: var(--primary);
      letter-spacing: -0.04em;
    }
    
    /* Admin Mode Status Banner with dynamic multiple download buttons */
    .connection-banner {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
      padding: 14px 20px;
      border-radius: var(--radius-sm);
      font-size: 13.5px;
      margin-bottom: 20px;
      font-weight: 600;
      background-color: #f0fdf4;
      border: 1px solid #bbf7d0;
      color: #15803d;
    }
    
    .connection-banner button {
      background: #15803d;
      color: #ffffff;
      border: none;
      padding: 6px 12px;
      border-radius: 4px;
      font-weight: 700;
      cursor: pointer;
      font-size: 12px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      box-shadow: 0 2px 4px rgba(21,128,61,0.2);
      transition: all 0.2s;
    }
    
    .connection-banner button:hover {
      background: #166534;
      transform: translateY(-1px);
    }
    
    /* Table Styles (Naver Cafe Style) */
    .board-meta-summary {
      font-size: 13px;
      color: var(--muted);
      margin-bottom: 12px;
    }
    
    .cafe-table-wrapper {
      width: 100%;
      overflow-x: auto;
    }
    
    .cafe-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 14px;
      text-align: left;
    }
    
    .cafe-table th {
      background: #f8f8f7;
      color: var(--primary);
      font-weight: 700;
      padding: 14px 10px;
      border-bottom: 1px solid var(--line);
      border-top: 1px solid var(--line);
    }
    
    .cafe-table td {
      padding: 14px 10px;
      border-bottom: 1px solid var(--line);
      color: #333333;
    }
    
    .cafe-table tbody tr {
      transition: background 0.15s;
    }
    
    .cafe-table tbody tr:hover {
      background: #fafafa;
      cursor: pointer;
    }
    
    .cafe-table tr.notice-row {
      background: #faf8f5;
    }
    
    .cafe-table tr.notice-row td {
      font-weight: 600;
    }
    
    .badge-notice {
      background: rgb(256,0,0);
      color: #ffffff;
      font-size: 11px;
      padding: 2px 6px;
      border-radius: 4px;
      font-weight: 700;
      margin-right: 6px;
      display: inline-block;
      vertical-align: middle;
    }
    
    .file-icon-badge {
      color: var(--muted);
      margin-left: 6px;
      font-size: 12px;
      display: inline-block;
    }
    
    /* Columns widths */
    .col-num { width: 65px; text-align: center; color: var(--muted); }
    .col-title { /* fluid */ }
    .col-writer { width: 130px; }
    .col-date { width: 95px; text-align: center; color: var(--muted); }
    .col-views { width: 75px; text-align: center; color: var(--muted); }
    
    .cafe-table td.col-num, 
    .cafe-table td.col-date, 
    .cafe-table td.col-views {
      font-size: 13px;
    }
    
    /* Empty State */
    .empty-state {
      padding: 60px 0;
      text-align: center;
      color: var(--muted);
    }
    
    .empty-state i {
      font-size: 40px;
      margin-bottom: 15px;
      color: var(--line);
    }
    
    /* Pagination */
    .pagination-bar {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 6px;
      margin-top: 30px;
      margin-bottom: 20px;
    }
    
    .page-btn {
      min-width: 32px;
      height: 32px;
      border-radius: 4px;
      border: 1px solid var(--line);
      background: #ffffff;
      color: var(--text);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s;
    }
    
    .page-btn:hover, .page-btn.active {
      background: var(--primary);
      color: #ffffff;
      border-color: var(--primary);
    }
    
    .page-btn:disabled {
      opacity: 0.4;
      cursor: not-allowed;
    }
    
    /* Search Bar */
    .board-search-bar {
      display: flex;
      justify-content: center;
      gap: 6px;
      margin-top: auto;
      padding-top: 20px;
      border-top: 1px solid var(--line);
    }
    
    .search-select {
      height: 36px;
      padding: 0 10px;
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      font-size: 13px;
      outline: none;
      background: #ffffff;
    }
    
    .search-input {
      width: 240px;
      height: 36px;
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      font-size: 13px;
      outline: none;
    }
    
    .search-btn {
      height: 36px;
      padding: 0 16px;
      background: var(--primary-soft);
      color: #ffffff;
      border: none;
      border-radius: var(--radius-sm);
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
    }
    
    /* Detail View Styles */
    .detail-header {
      padding-bottom: 20px;
      border-bottom: 1px solid var(--line);
      margin-bottom: 24px;
    }
    
    .detail-category {
      font-size: 12px;
      color: var(--primary-soft);
      font-weight: 700;
      margin-bottom: 6px;
    }
    
    .detail-title {
      font-size: 22px;
      font-weight: 700;
      color: var(--primary);
      margin: 0 0 12px;
      line-height: 1.35;
    }
    
    .detail-meta {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      font-size: 13px;
      color: var(--muted);
    }
    
    .detail-meta-left {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    
    .detail-writer {
      font-weight: 700;
      color: var(--text);
    }
    
    /* Attachment Area */
    .detail-attachments {
      background: #fbfbfa;
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      padding: 16px 20px;
      margin-bottom: 24px;
    }
    
    .attachment-title {
      font-size: 13px;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    
    .attachment-list {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    
    .attachment-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 13px;
      padding: 4px 0;
      border-bottom: 1px dashed rgba(0,0,0,0.05);
    }
    
    .attachment-item:last-child {
      border-bottom: none;
    }
    
    .attachment-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--primary-soft);
      font-weight: 600;
    }
    
    .attachment-link:hover {
      text-decoration: underline;
    }
    
    .attachment-size {
      color: var(--muted);
      font-size: 12px;
    }
    
    /* Detail Body Content & Headings formatting */
    .detail-content {
      font-size: 15.5px;
      line-height: 1.85;
      color: #333333;
      min-height: 250px;
      word-break: break-all;
      margin-bottom: 40px;
    }
    
    .detail-content h1, .form-textarea-editor h1 { font-size: 28px; margin: 18px 0 10px; color: var(--primary); font-weight: 800; }
    .detail-content h2, .form-textarea-editor h2 { font-size: 24px; margin: 18px 0 10px; color: var(--primary); font-weight: 800; }
    .detail-content h3, .form-textarea-editor h3 { font-size: 20px; margin: 16px 0 8px; color: var(--primary); font-weight: 700; }
    .detail-content h4, .form-textarea-editor h4 { font-size: 18px; margin: 16px 0 8px; color: var(--primary); font-weight: 700; }
    .detail-content h5, .form-textarea-editor h5 { font-size: 16px; margin: 14px 0 6px; color: var(--primary-soft); font-weight: 700; }
    .detail-content h6, .form-textarea-editor h6 { font-size: 14.5px; margin: 14px 0 6px; color: var(--primary-soft); font-weight: 700; }
    .detail-content p, .form-textarea-editor p { margin: 0 0 12px; }
    .detail-content ol, .form-textarea-editor ol,
    .detail-content ul, .form-textarea-editor ul {
      margin: 8px 0 16px;
      padding-left: 24px;
    }
    .detail-content li, .form-textarea-editor li {
      margin-bottom: 4px;
    }
    
    .detail-actions {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 1px solid var(--line);
      padding-top: 20px;
      margin-top: auto;
    }
    
    .action-btn-group {
      display: flex;
      gap: 8px;
    }
    
    /* Write Form Styles */
    .write-form {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
    
    .form-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
      position: relative;
    }
    
    .form-row {
      display: flex;
      gap: 15px;
    }
    
    @media (max-width: 560px) {
      .form-row {
        flex-direction: column;
        gap: 20px;
      }
    }
    
    .form-label {
      font-size: 14px;
      font-weight: 700;
      color: var(--primary);
    }
    
    .form-input {
      height: 42px;
      padding: 0 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      font-size: 14px;
      outline: none;
      width: 100%;
    }
    
    .form-input:focus {
      border-color: var(--primary);
    }
    
    /* Editor styling & Toolbar */
    .editor-toolbar {
      background: #f8f8f7;
      border: 1px solid var(--line);
      border-bottom: none;
      border-radius: var(--radius-sm) var(--radius-sm) 0 0;
      padding: 8px 16px;
      display: flex;
      gap: 20px;
      align-items: center;
      flex-wrap: wrap;
    }
    
    .toolbar-group {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    
    .toolbar-label {
      font-size: 12px;
      font-weight: 700;
      color: var(--primary);
      display: flex;
      align-items: center;
      gap: 4px;
    }
    
    .toolbar-select {
      height: 28px;
      padding: 0 6px;
      border: 1px solid var(--line);
      border-radius: 4px;
      font-size: 12px;
      outline: none;
      background: #ffffff;
      cursor: pointer;
    }
    
    .toolbar-btn {
      height: 28px;
      padding: 0 10px;
      border: 1px solid var(--line);
      border-radius: 4px;
      background: #ffffff;
      font-size: 12px;
      font-weight: 700;
      color: var(--primary);
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 4px;
      transition: all 0.2s;
    }
    
    .toolbar-btn:hover {
      background: var(--surface-soft);
      border-color: var(--primary-soft);
    }
    
    /* Direct 4 Color Buttons Styles */
    .color-btn-group {
      display: flex;
      gap: 6px;
      align-items: center;
    }
    
    .color-btn {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      border: 1px solid rgba(0,0,0,0.2);
      cursor: pointer;
      padding: 0;
      transition: transform 0.15s;
    }
    
    .color-btn:hover {
      transform: scale(1.22);
      box-shadow: 0 2px 5px rgba(0,0,0,0.18);
    }
    
    .form-textarea-editor {
      min-height: 380px;
      max-height: 600px;
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: 0 0 var(--radius-sm) var(--radius-sm);
      font-size: 15px;
      outline: none;
      overflow-y: auto;
      background: #ffffff;
      line-height: 1.7;
    }
    
    .form-textarea-editor:focus {
      border-color: var(--primary);
    }
    
    .form-textarea-editor[placeholder]:empty:before {
      content: attr(placeholder);
      color: var(--muted);
      cursor: text;
    }
    
    /* Upload Drag & Drop */
    .upload-zone {
      border: 2px dashed var(--line);
      border-radius: var(--radius-md);
      padding: 24px;
      text-align: center;
      background: #fafafa;
      cursor: pointer;
      transition: all 0.2s;
    }
    
    .upload-zone:hover {
      border-color: var(--primary);
      background: #f4f5f7;
    }
    
    .upload-zone-icon {
      font-size: 30px;
      color: var(--muted);
      margin-bottom: 6px;
    }
    
    .upload-zone-text {
      font-size: 13px;
      color: var(--muted);
      font-weight: 600;
    }
    
    .upload-file-list {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 12px;
    }
    
    .upload-file-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 8px 14px;
      background: #f3f3f2;
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      font-size: 13px;
    }
    
    .btn-remove-file {
      background: none;
      border: none;
      color: #e63946;
      cursor: pointer;
      font-size: 14px;
    }
    
    /* Modal Styles */
    .modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(20, 33, 61, 0.4);
      backdrop-filter: blur(4px);
      z-index: 10000;
      display: none;
      place-items: center;
      padding: 20px;
    }
    
    .modal-overlay.active {
      display: grid;
    }
    
    .modal-box {
      background: #ffffff;
      border-radius: var(--radius-lg);
      border: 1px solid var(--line);
      width: 100%;
      max-width: 500px;
      box-shadow: 0 24px 60px rgba(0,0,0,0.15);
      overflow: hidden;
      animation: modalFadeIn 0.25s ease-out;
    }
    
    @keyframes modalFadeIn {
      from { transform: translateY(15px); opacity: 0; }
      to { transform: translateY(0); opacity: 1; }
    }
    
    .modal-header {
      background: var(--primary);
      color: #ffffff;
      padding: 20px 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    
    .modal-header h3 {
      margin: 0;
      font-size: 18px;
    }
    
    .modal-close {
      background: none;
      border: none;
      color: #ffffff;
      opacity: 0.8;
      cursor: pointer;
      font-size: 18px;
    }
    
    .modal-close:hover {
      opacity: 1;
    }
    
    .modal-body {
      padding: 24px;
    }
    
    .modal-footer {
      padding: 16px 24px;
      border-top: 1px solid var(--line);
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      background: #fafafa;
    }

    /* Bulk Modal Styles */
    .bulk-step-section {
      background: #ffffff;
    }
    .bulk-status-badge {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 700;
    }
    .bulk-status-badge.success {
      background: #def7ec;
      color: #03543f;
    }
    .bulk-status-badge.warning {
      background: #fdf2f2;
      color: #9b1c1c;
    }
    .bulk-status-badge.info {
      background: #e1effe;
      color: #1e429f;
    }
