/* ===== EDEN UNION BOARD v109 ===== */
html.union-guest-mode body { align-items: stretch; overflow: hidden; }
html.union-guest-mode #mainGlow,
html.union-guest-mode #loginBox,
html.union-guest-mode #registerBox,
html.union-guest-mode #accountRecoveryBox,
html.union-guest-mode .login-site-footer,
html.union-guest-mode #loadingScreen { display:none !important; }
html.union-guest-mode #edenMain { display:flex !important; }
html.union-guest-mode .eden-header { display:none !important; }
html.union-guest-mode .app-site-footer { display:block; }
html.union-guest-mode .eden-content { padding-top:0; }

#nav-union { position:relative; }

.union-shell { width:min(1180px, 100%); margin:0 auto; padding:0 0 36px; box-sizing:border-box; }
.union-public-topbar { display:none; align-items:center; justify-content:space-between; gap:16px; min-height:68px; padding:0 22px; margin-bottom:22px; border-bottom:1px solid rgba(0,212,255,.18); background:rgba(8,8,10,.96); position:sticky; top:0; z-index:20; }
html.union-guest-mode .union-public-topbar { display:flex; }
.union-public-brand { min-width:0; }
.union-public-brand strong { display:block; color:#00d4ff; letter-spacing:2px; font-size:.94rem; }
.union-public-brand span { display:block; margin-top:3px; color:#7e8b94; font-size:.72rem; letter-spacing:.8px; }
.union-login-btn { width:auto; min-width:92px; margin:0; padding:9px 15px; border:1px solid rgba(0,212,255,.55); background:rgba(0,212,255,.08); color:#8eeeff; }
.union-login-btn:hover { background:rgba(0,212,255,.16); }

.union-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:16px; }
.union-heading h2 { margin:0; color:#f3f6f7; font-size:1.45rem; letter-spacing:1px; }
.union-heading p { margin:5px 0 0; color:#7f8d96; font-size:.78rem; }
.union-heading-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.union-count { color:#00d4ff; font-size:.82rem; white-space:nowrap; }
.union-admin-open-btn { width:auto; margin:0; padding:8px 12px; border:1px solid rgba(255,196,70,.46); background:rgba(255,196,70,.08); color:#f5ca68; font-size:.72rem; font-weight:900; }
.union-admin-open-btn:hover { background:rgba(255,196,70,.16); border-color:rgba(255,196,70,.72); }

.union-panel { border:1px solid rgba(0,212,255,.18); border-radius:12px; background:rgba(13,17,20,.84); padding:16px; margin-bottom:16px; box-sizing:border-box; }
.union-panel.admin { border-color:rgba(255,196,70,.34); background:rgba(33,27,14,.36); }
.union-panel-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.union-panel-title strong { color:#dfe8ec; font-size:.95rem; }
.union-panel-title span { color:#74838d; font-size:.72rem; }

.union-filter-grid { display:grid; grid-template-columns:max-content 150px 180px minmax(0,1fr) auto; gap:8px; align-items:end; }
.union-field { min-width:0; }
.union-field label { display:block; color:#8b9aa4; font-size:.7rem; margin-bottom:5px; }
.union-field input,
.union-field select,
.union-field textarea { width:100%; margin:0; border:1px solid #35414a; border-radius:7px; background:#0a0f13; color:#e7eef2; box-sizing:border-box; padding:10px; font-family:inherit; }
.union-field textarea { min-height:180px; resize:vertical; line-height:1.55; }
.union-field input:focus,
.union-field select:focus,
.union-field textarea:focus { outline:none; border-color:#00d4ff; box-shadow:0 0 0 2px rgba(0,212,255,.08); }
.union-filter-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.union-filter-actions button { width:auto; margin:0; padding:8px 14px; }
.union-server-filter { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.union-server-filter button { width:auto; min-width:54px; margin:0; padding:9px 12px; border:1px solid #35414a; border-radius:7px; background:#0a0f13; color:#8f9da5; font-size:.72rem; font-weight:900; transition:.15s ease; }
.union-server-filter button:hover { border-color:#58707e; color:#c6d2d8; }
.union-server-filter button.active { border-color:#00d4ff; background:rgba(0,212,255,.11); color:#76eaff; box-shadow:0 0 0 1px rgba(0,212,255,.08) inset; }

.union-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.union-card { border:1px solid #27333c; border-radius:11px; background:#0c1115; padding:15px; min-width:0; }
.union-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.union-card-name { color:#fff; font-size:1rem; font-weight:900; word-break:break-word; }
.union-card-server { display:inline-flex; align-items:center; justify-content:center; min-width:38px; padding:4px 7px; border:1px solid rgba(0,212,255,.34); border-radius:999px; color:#74e8ff; font-size:.68rem; font-weight:900; }
/* EDEN lobby server identity colors */
.union-card-server[data-area-id="83"] { background:rgba(217,47,69,.16); border-color:rgba(255,106,126,.58); color:#ff9aaa; box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 8px rgba(255,64,86,.12); }
.union-card-server[data-area-id="81"] { background:rgba(47,125,255,.16); border-color:rgba(104,158,255,.58); color:#9fc0ff; box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 8px rgba(47,125,255,.12); }
.union-card-server[data-area-id="84"] { background:rgba(24,169,107,.16); border-color:rgba(72,211,145,.58); color:#8be2b8; box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 8px rgba(24,169,107,.12); }
#unionFilterServerButtons button[data-area-id="83"].active { background:rgba(217,47,69,.16); border-color:rgba(255,106,126,.58); color:#ff9aaa; box-shadow:0 0 0 1px rgba(255,64,86,.06) inset,0 0 8px rgba(255,64,86,.10); }
#unionFilterServerButtons button[data-area-id="81"].active { background:rgba(47,125,255,.16); border-color:rgba(104,158,255,.58); color:#9fc0ff; box-shadow:0 0 0 1px rgba(47,125,255,.06) inset,0 0 8px rgba(47,125,255,.10); }
#unionFilterServerButtons button[data-area-id="84"].active { background:rgba(24,169,107,.16); border-color:rgba(72,211,145,.58); color:#8be2b8; box-shadow:0 0 0 1px rgba(24,169,107,.06) inset,0 0 8px rgba(24,169,107,.10); }
.union-card-capacity { color:#e7eef2; font-size:.92rem; font-weight:900; white-space:nowrap; }
.union-card-capacity.recruiting { color:#5ce1a7; }
.union-card-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.union-tag { border:1px solid #33434e; border-radius:999px; padding:5px 8px; color:#b9c6cd; background:#121a20; font-size:.68rem; }
.union-tag.goal { border-color:rgba(255,198,73,.38); color:#ffd276; }
.union-tag.sync { border-color:rgba(117,170,255,.36); color:#9bc0ff; }
.union-card-status { margin-top:11px; color:#82919a; font-size:.72rem; }
.union-card-actions { display:flex; gap:8px; margin-top:13px; }
.union-card-actions button,
.union-card-actions a { flex:1; display:flex; align-items:center; justify-content:center; min-height:38px; box-sizing:border-box; border-radius:7px; font-size:.75rem; font-weight:900; text-decoration:none; }
.union-card-actions button { margin:0; }
.union-card-actions .union-detail-btn { border:1px solid #394650; background:#141b20; color:#c7d2d8; }
.union-card-actions .union-detail-btn:not(:disabled):hover { border-color:#00d4ff; color:#7be9ff; }
.union-card-actions .union-recruit-link { border:1px solid rgba(0,212,255,.55); background:rgba(0,212,255,.1); color:#72e8ff; }
.union-empty { grid-column:1/-1; padding:42px 12px; text-align:center; color:#71808a; border:1px dashed #2d3942; border-radius:10px; }

.union-admin-modal { position:fixed; inset:0; z-index:12000; align-items:center; justify-content:center; padding:20px; box-sizing:border-box; }
.union-admin-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(3px); }
.union-admin-dialog { position:relative; z-index:1; width:min(920px,100%); max-height:min(780px,calc(100vh - 40px)); overflow:auto; border:1px solid rgba(255,196,70,.42); border-radius:13px; background:#111417; box-shadow:0 22px 70px rgba(0,0,0,.58); padding:18px; box-sizing:border-box; }
#unionAdminModal .union-admin-dialog { height:min(720px,calc(100vh - 40px)); max-height:min(720px,calc(100vh - 40px)); overflow:hidden; display:flex; flex-direction:column; }
#unionAdminModal .union-admin-dialog-head,
#unionAdminModal .union-admin-toolbar { flex:0 0 auto; }
#unionAdminModal .union-whitelist-list { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; align-content:start; padding-right:4px; margin-bottom:0; }
.union-admin-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:13px; margin-bottom:14px; border-bottom:1px solid #34312a; }
.union-admin-dialog-head strong { display:block; color:#f0d28a; font-size:1rem; }
.union-admin-dialog-head span { display:block; margin-top:4px; color:#7f8585; font-size:.7rem; }
.union-admin-close-btn { width:34px; height:34px; min-width:34px; margin:0; padding:0; border:1px solid #3d4143; border-radius:7px; background:#202427; color:#c9d0d3; font-size:1.25rem; line-height:1; }
.union-admin-close-btn:hover { border-color:#777; color:#fff; }
html.union-admin-modal-open body { overflow:hidden !important; }

.union-admin-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.union-admin-search { display:flex; align-items:center; gap:10px; flex:1; min-width:0; }
.union-admin-search input { width:min(360px,100%); height:38px; margin:0; border:1px solid #35414a; border-radius:7px; background:#0a0f13; color:#e7eef2; box-sizing:border-box; padding:8px 10px; font-family:inherit; }
.union-admin-search input:focus { outline:none; border-color:#f0c765; box-shadow:0 0 0 2px rgba(240,199,101,.08); }
.union-admin-server-filters,
.union-admin-entry-server-filters { display:flex; align-items:center; gap:5px; flex:none; }
.union-admin-server-filters button,
.union-admin-entry-server-filters button { width:auto; min-width:54px; height:36px; margin:0; padding:0 11px; border:1px solid #3d464c; border-radius:7px; background:#151a1d; color:#8f999e; font-size:.72rem; font-weight:900; box-shadow:none; }
.union-admin-server-filters button:hover,
.union-admin-entry-server-filters button:hover { border-color:#68757c; color:#dce4e8; }
.union-admin-server-filters button.active,
.union-admin-entry-server-filters button.active { border-color:rgba(255,196,70,.68); background:rgba(255,196,70,.12); color:#f4ca69; box-shadow:0 0 0 1px rgba(255,196,70,.08) inset; }
.union-admin-add-btn { flex:none; width:auto; min-width:76px; margin:0; padding:9px 15px; border:1px solid rgba(255,196,70,.5); background:rgba(255,196,70,.1); color:#f6cf76; font-weight:900; }
.union-admin-add-btn:hover { background:rgba(255,196,70,.18); border-color:rgba(255,196,70,.78); }
.union-whitelist-list { margin-top:12px; display:grid; gap:6px; }
.union-whitelist-row { display:grid; grid-template-columns:58px minmax(0,1fr) minmax(170px,.8fr) 132px; gap:8px; align-items:center; padding:8px 10px; border:1px solid #3a3426; border-radius:7px; background:rgba(11,13,14,.46); font-size:.74rem; }
.union-whitelist-row .server { color:#f4c865; font-weight:900; }
.union-whitelist-row .name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#dce3e6; font-weight:800; }
.union-whitelist-row .uid { color:#87949c; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.union-whitelist-actions { display:flex; justify-content:flex-end; gap:6px; }
.union-whitelist-row button { width:auto; margin:0; padding:6px 9px; font-size:.7rem; }
.union-whitelist-edit-btn { border:1px solid #43515a; background:#171d21; color:#cbd4d9; }
.union-whitelist-edit-btn:hover { border-color:#00d4ff; color:#79eaff; }
.union-whitelist-delete-btn { border:1px solid rgba(255,84,84,.58); background:rgba(255,56,56,.09); color:#ff8585; }
.union-whitelist-delete-btn:hover { border-color:#ff6262; background:rgba(255,56,56,.17); color:#ffabab; }
.union-admin-entry-modal { z-index:12100; }
.union-admin-entry-dialog { width:min(610px,100%); overflow:hidden; }
.union-admin-entry-server-filters { margin-bottom:13px; }
.union-admin-entry-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:end; }
.union-admin-entry-form .union-field { min-width:0; }
.union-admin-entry-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; padding-top:13px; border-top:1px solid #34312a; }
.union-admin-entry-actions button { width:auto; min-width:78px; margin:0; padding:9px 16px; }
.union-admin-entry-cancel { border:1px solid #3d454a; background:#1b2023; color:#abb6bb; }
.union-admin-entry-save { border:1px solid rgba(255,196,70,.5); background:rgba(255,196,70,.1); color:#f6cf76; }

.union-editor-head { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:12px; }
.union-editor-head select { width:min(380px,100%); margin:0; }
.union-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.union-setting-box { border:1px solid #2d3942; border-radius:9px; padding:11px; min-width:0; }
.union-setting-title { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#d3dde2; font-size:.78rem; font-weight:900; margin-bottom:8px; }
.union-switch { display:inline-flex; align-items:center; gap:7px; color:#8d9aa2; font-size:.7rem; cursor:pointer; user-select:none; }
.union-switch input { width:auto; margin:0; accent-color:#00d4ff; }
.union-inline { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.union-inline.single { grid-template-columns:1fr; }
.union-help { color:#687782; font-size:.67rem; line-height:1.45; margin-top:6px; }
.union-save-row { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:12px; }
.union-save-row button { width:auto; margin:0; padding:10px 18px; }
.union-editor-status { margin-right:auto; color:#87959e; font-size:.72rem; }

.union-subadmin-panel { margin-top:12px; padding-top:12px; border-top:1px solid #2d3942; }
.union-subadmin-add { display:flex; gap:8px; align-items:center; }
.union-subadmin-add input { margin:0; }
.union-subadmin-add button { width:auto; min-width:90px; margin:0; }
.union-subadmin-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.union-subadmin-chip { display:inline-flex; align-items:center; gap:7px; border:1px solid #3c4650; border-radius:999px; padding:5px 6px 5px 9px; color:#aebac1; font-size:.68rem; }
.union-subadmin-chip button { width:20px; height:20px; min-width:20px; margin:0; padding:0; border-radius:50%; background:#2a3035; color:#e28d8d; font-size:.72rem; }

.union-detail-wrap { max-width:900px; margin:0 auto; }
.union-back-btn { width:auto; margin:0 0 12px; padding:8px 13px; background:#192127; color:#c6d1d7; border:1px solid #33414a; }
.union-detail-card { border:1px solid #2d3942; border-radius:12px; background:#0d1216; padding:20px; }
.union-detail-title { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:14px; border-bottom:1px solid #27323a; }
.union-detail-title h3 { margin:0; font-size:1.35rem; color:#f5f7f8; }
.union-detail-body { margin-top:18px; white-space:pre-wrap; word-break:break-word; color:#c3cdd2; line-height:1.75; font-size:.9rem; }
.union-detail-no-content { color:#707f88; }
.union-detail-footer { display:flex; justify-content:flex-end; margin-top:18px; }
.union-detail-footer a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 18px; border:1px solid rgba(0,212,255,.5); border-radius:7px; background:rgba(0,212,255,.08); color:#7beaff; font-weight:900; font-size:.78rem; text-decoration:none; }

html.eden-theme-light .union-public-topbar { background:#eef2ef; border-color:#bfcac4; }
html.eden-theme-light .union-panel,
html.eden-theme-light .union-card,
html.eden-theme-light .union-detail-card { background:#f7f9f8; border-color:#c9d2cd; color:#233029; }
html.eden-theme-light .union-heading h2,
html.eden-theme-light .union-card-name,
html.eden-theme-light .union-detail-title h3 { color:#233029; }
html.eden-theme-light .union-field input,
html.eden-theme-light .union-field select,
html.eden-theme-light .union-field textarea { background:#fff; border-color:#aebbb4; color:#233029; }
html.eden-theme-light .union-tag { background:#eef2ef; border-color:#c6d0cb; color:#526159; }
html.eden-theme-light .union-card-actions .union-detail-btn { background:#eef2ef; color:#425149; border-color:#bcc8c2; }
html.eden-theme-light .union-detail-body { color:#3f4d46; }
html.eden-theme-light .union-admin-dialog { background:#f7f9f8; border-color:#c7ae70; }
html.eden-theme-light .union-admin-dialog-head { border-color:#d8d3c8; }
html.eden-theme-light .union-admin-search input { background:#fff; border-color:#b8b6aa; color:#26302b; }
html.eden-theme-light .union-whitelist-row { background:#fff; border-color:#d6ccb5; }
html.eden-theme-light .union-whitelist-row .name { color:#2e3732; }
html.eden-theme-light .union-admin-entry-actions { border-color:#d8d3c8; }
html.eden-theme-light .union-server-filter button { background:#fff; border-color:#aebbb4; color:#56635d; }
html.eden-theme-light .union-server-filter button.active { background:#e8f7fa; border-color:#00a8c8; color:#007c95; }

@media (max-width:900px) {
    .union-shell { padding:0 10px 28px; }
    html.union-guest-mode .union-shell { padding-left:0; padding-right:0; }
    html.union-guest-mode .union-shell > :not(.union-public-topbar) { margin-left:10px; margin-right:10px; }
    .union-filter-grid { grid-template-columns:max-content 140px 165px 1fr auto; }
    .union-list { grid-template-columns:1fr; }
    .union-admin-search { gap:8px; }
    .union-admin-search input { width:min(300px,100%); }
    .union-editor-grid { grid-template-columns:1fr; }
}

@media (max-width:600px) {
    .union-public-topbar { min-height:60px; padding:0 13px; margin-bottom:14px; }
    .union-public-brand strong { font-size:.82rem; }
    .union-public-brand span { font-size:.64rem; }
    .union-login-btn { min-width:82px; padding:8px 10px; font-size:.72rem; }
    .union-heading { align-items:flex-start; flex-direction:column; gap:8px; }
    .union-heading-actions { width:100%; justify-content:space-between; }
    .union-heading h2 { font-size:1.2rem; }
    .union-panel { padding:12px; border-radius:9px; }
    .union-admin-modal { padding:10px; align-items:flex-start; }
    .union-admin-dialog { max-height:calc(100vh - 20px); padding:13px; margin-top:0; }
    .union-server-filter { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
    .union-server-filter button { width:100%; min-width:0; padding:9px 5px; }
    .union-filter-grid,
    .union-inline { grid-template-columns:1fr; }
    .union-admin-toolbar { align-items:stretch; }
    .union-admin-search { flex-wrap:wrap; }
    .union-admin-search input { width:100%; }
    .union-admin-add-btn { min-width:64px; padding-left:10px; padding-right:10px; }
    .union-whitelist-row { grid-template-columns:52px minmax(0,1fr) 112px; }
    .union-whitelist-row .uid { grid-column:1 / 3; grid-row:2; }
    .union-whitelist-actions { grid-column:3; grid-row:1 / 3; flex-direction:column; align-self:stretch; }
    .union-whitelist-actions button { flex:1; }
    .union-admin-entry-form { grid-template-columns:1fr; }
    .union-admin-entry-server-filters { flex-wrap:wrap; }
    .union-card-actions { flex-direction:column; }
    .union-editor-head { align-items:stretch; flex-direction:column; }
    .union-editor-head select { width:100%; }
    .union-subadmin-add { flex-direction:column; align-items:stretch; }
    .union-subadmin-add button { width:100%; }
}


/* ===== v103: fixed union cards + notice editor modal ===== */
.union-notice-edit-btn { width:auto; margin:0; padding:8px 12px; border:1px solid rgba(0,212,255,.5); background:rgba(0,212,255,.08); color:#78e9ff; font-size:.72rem; font-weight:900; }
.union-notice-edit-btn:hover { background:rgba(0,212,255,.16); border-color:rgba(0,212,255,.76); }

.union-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.union-card { min-height:132px; padding:12px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.union-card.inactive { filter:saturate(.48); background:#101315; border-color:#292f33; }
.union-card.inactive .union-card-name,
.union-card.inactive .union-card-rank,
.union-card.inactive .union-card-capacity,
.union-card.inactive .union-tag { color:#777f84; }
.union-card.inactive .union-card-server { color:#70828a; border-color:#38464d; }
.union-card.unposted { opacity:.7; }
.union-card-head { align-items:center; gap:8px; }
.union-card-title-line { min-width:0; flex:1 1 auto; display:flex; align-items:center; gap:7px; flex-wrap:nowrap; white-space:nowrap; overflow:hidden; }
.union-card-title-line .union-card-server { flex:0 0 auto; }
.union-card-name { min-width:0; flex:0 1 auto; font-size:.9rem; line-height:1.25; white-space:nowrap; word-break:normal; }
.union-card-rank { flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; min-height:24px; padding:0; border:0; border-radius:0; color:#c8d2d7; background:transparent; font-size:.68rem; font-weight:900; white-space:nowrap; }
.union-card-rank-icon { width:26px; height:26px; object-fit:contain; flex:0 0 26px; display:block; }
.union-card-rank.no-icon { color:#8d989e; }
.union-card-capacity { margin-left:auto; font-size:.82rem; }
.union-card-meta { margin-top:8px; gap:5px; }
.union-tag { padding:4px 7px; font-size:.64rem; }
.union-tag.status { border-color:#344037; color:#8ca096; }
.union-tag.status.recruiting { border-color:rgba(92,225,167,.58); background:rgba(36,143,98,.12); color:#84f0b8; font-weight:900; }
.union-card-actions { margin-top:auto; padding-top:6px; gap:7px; }
.union-card-actions button,
.union-card-actions a { min-height:35px; font-size:.7rem; }
.union-card-actions button:disabled,
.union-card-actions .union-recruit-link:disabled { cursor:not-allowed; opacity:.42; border-color:#343b40 !important; background:#171b1e !important; color:#747d82 !important; }

.union-notice-select-dialog { width:min(560px,100%); }
.union-notice-select-list { display:grid; gap:8px; }
.union-notice-choice { width:100%; margin:0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 12px; border:1px solid #303b42; border-radius:9px; background:#0d1317; color:#e5ecef; text-align:left; }
.union-notice-choice:hover { border-color:#00bedd; background:#111b20; }
.union-notice-choice strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.union-notice-choice small { color:#7f8d95; font-size:.67rem; white-space:nowrap; }

.union-editor-dialog { width:min(1080px,100%); }
.union-editor-settings-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.union-setting-box.compact { padding:9px; }
.union-setting-box.compact .union-setting-title { margin-bottom:7px; }
.union-setting-box.compact .union-field input,
.union-setting-box.compact .union-field select { min-height:38px; padding:8px 9px; font-size:.74rem; }
.union-setting-title { min-height:24px; margin-bottom:8px; }
.union-main-only-note { font-weight:400; color:#687782; font-size:.65rem; }

.union-toggle { display:inline-flex; align-items:center; gap:6px; cursor:pointer; user-select:none; color:#7f8d95; font-size:.64rem; font-weight:800; }
.union-toggle-prefix { color:#aebbc2; font-size:.66rem; white-space:nowrap; }
.union-toggle input { position:absolute; opacity:0; pointer-events:none; }
.union-toggle-track { position:relative; width:34px; height:18px; flex:0 0 34px; border-radius:999px; background:#323a3f; border:1px solid #49545b; transition:.16s ease; box-sizing:border-box; }
.union-toggle-track::after { content:''; position:absolute; top:2px; left:2px; width:12px; height:12px; border-radius:50%; background:#8d989e; transition:.16s ease; }
.union-toggle input:checked + .union-toggle-track { background:rgba(0,212,255,.22); border-color:#00bedf; }
.union-toggle input:checked + .union-toggle-track::after { left:18px; background:#62e5ff; }
.union-toggle:focus-within .union-toggle-track { box-shadow:0 0 0 2px rgba(0,212,255,.12); }

.union-detail-setting-box { margin-top:10px; }
.union-detail-setting-box textarea { min-height:190px; height:190px; }
.union-detail-setting-box textarea.union-detail-disabled { opacity:.58; background:#0d1114; color:#6e797f; cursor:not-allowed; }
.union-editor-bottom-row { display:grid; grid-template-columns:1.15fr .85fr; gap:10px; margin-top:10px; }
.union-subadmin-panel { margin-top:0; padding-top:0; border-top:0; }
.union-subadmin-add { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.union-subadmin-add button { min-width:64px; padding:8px 12px; }
.union-subadmin-list { min-height:28px; align-items:flex-start; }
.union-save-row { padding-top:11px; border-top:1px solid #263139; }

.union-field input:disabled,
.union-field textarea:disabled { border-color:#2b3338; background:#0d1114; color:#6e797f; opacity:.68; }

.union-detail-card.inactive { filter:saturate(.55); }
.union-detail-footer button { min-height:40px; padding:0 18px; border:1px solid #343d42; border-radius:7px; background:#171c1f; color:#717c82; font-weight:900; font-size:.78rem; }

html.eden-theme-light .union-notice-choice { background:#fff; border-color:#c3cec8; color:#26322c; }
html.eden-theme-light .union-toggle-track { background:#d3dbd7; border-color:#aebbb4; }
html.eden-theme-light .union-setting-box { border-color:#c8d1cc; }
html.eden-theme-light .union-card.inactive { background:#eef1ef; border-color:#ccd3cf; }
html.eden-theme-light .union-detail-setting-box textarea.union-detail-disabled { background:#eef1ef; color:#89938e; }


/* ===== v104: active-first 가나다 정렬 UI / compact filter / active neon ===== */
.union-filter-panel { padding:11px 13px; }
.union-filter-grid .union-filter-reset-btn {
    grid-column:5;
    width:34px;
    height:34px;
    min-width:34px;
    margin:0 0 1px;
    padding:0;
    border:1px solid #35414a;
    border-radius:7px;
    background:#151c21;
    color:#aebbc2;
    font-size:1.12rem;
    font-weight:900;
    line-height:1;
}
.union-filter-grid .union-filter-reset-btn:hover { border-color:#00d4ff; color:#74e9ff; background:rgba(0,212,255,.08); }
.union-filter-sync-field,
.union-filter-rank-field { width:100%; }
.union-filter-grid input[type="number"] { appearance:textfield; -moz-appearance:textfield; }
.union-filter-grid input[type="number"]::-webkit-outer-spin-button,
.union-filter-grid input[type="number"]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

@property --union-card-border-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}
.union-card.active {
    border:1px solid rgba(57,213,238,.70);
    background:linear-gradient(135deg,rgba(0,76,148,.23),rgba(0,171,206,.07) 52%,rgba(0,17,39,.58));
    box-shadow:0 0 5px rgba(0,205,239,.20),inset 0 0 0 1px rgba(211,251,255,.09),inset 0 0 12px rgba(0,176,220,.07);
}
.union-card.active::before {
    content:"";
    display:block;
    position:absolute;
    inset:0;
    padding:1px;
    border-radius:inherit;
    background:conic-gradient(from var(--union-card-border-angle),transparent 0deg,transparent 280deg,rgba(71,224,244,.10) 300deg,rgba(117,241,255,.68) 326deg,rgba(222,253,255,.95) 340deg,rgba(77,226,248,.34) 352deg,transparent 360deg);
    filter:drop-shadow(0 0 2px rgba(80,226,248,.34));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    animation:unionCardBorderCycle 6.8s linear infinite;
    pointer-events:none;
    z-index:2;
}
.union-card.active::after {
    content:"";
    display:block;
    position:absolute;
    inset:-48% -105%;
    border-radius:inherit;
    background:linear-gradient(115deg,transparent 39%,rgba(255,255,255,.025) 44%,rgba(255,255,255,.15) 50%,rgba(135,236,255,.10) 53%,transparent 61%);
    transform:translateX(-62%) rotate(.001deg);
    animation:unionCardGlassReflection 6.2s ease-in-out infinite;
    pointer-events:none;
    z-index:0;
}
.union-card.active > * { position:relative; z-index:1; }
@keyframes unionCardBorderCycle { to { --union-card-border-angle:360deg; } }
@keyframes unionCardGlassReflection {
    0%,47% { transform:translateX(-62%) rotate(.001deg); opacity:0; }
    54% { opacity:.12; }
    63% { opacity:.45; }
    77%,100% { transform:translateX(62%) rotate(.001deg); opacity:0; }
}
html.eden-theme-light .union-card.active { background:linear-gradient(135deg,rgba(218,246,251,.94),rgba(242,252,253,.96) 52%,rgba(224,244,247,.94)); }

@media (min-width:901px) {
    .union-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (min-width:651px) and (max-width:900px) {
    .union-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .union-editor-settings-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .union-editor-bottom-row { grid-template-columns:1fr; }
}

@media (max-width:650px) {
    .union-list { grid-template-columns:1fr; }
    .union-editor-settings-row,
    .union-editor-bottom-row { grid-template-columns:1fr; }
    .union-notice-choice { grid-template-columns:auto minmax(0,1fr); }
    .union-notice-choice small { grid-column:2; }
    .union-heading-actions { flex-wrap:wrap; justify-content:flex-start; }
    .union-count { margin-left:auto; }
    .union-detail-setting-box textarea { min-height:170px; height:170px; }
}

@media (max-width:650px) {
    .union-filter-panel { padding:10px; }
    .union-filter-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px; align-items:end; }
    .union-server-filter-field { grid-column:1 / -1; }
    .union-filter-grid .union-filter-reset-btn { grid-column:3; align-self:end; justify-self:end; }
    .union-filter-rank-field { min-width:0; }
}

/* ===== v105: centered compact filters / editor overflow fix ===== */
@media (min-width:651px) {
    .union-filter-panel { position:relative; }
    .union-filter-grid {
        position:relative;
        grid-template-columns:max-content 132px 162px;
        justify-content:center;
        column-gap:18px;
        row-gap:8px;
        padding-right:48px;
        align-items:end;
    }
    .union-filter-sync-field,
    .union-filter-rank-field { width:auto; min-width:0; }
    .union-filter-grid .union-filter-reset-btn {
        position:absolute;
        right:0;
        bottom:1px;
        grid-column:auto;
        align-self:auto;
        justify-self:auto;
    }
}

.union-editor-dialog {
    width:min(1080px,calc(100vw - 40px));
    max-width:1080px;
    overflow-y:auto;
    overflow-x:hidden;
}
.union-editor-settings-row,
.union-editor-bottom-row,
.union-setting-box,
.union-field { min-width:0; max-width:100%; }
.union-editor-dialog input,
.union-editor-dialog select,
.union-editor-dialog textarea { max-width:100%; }

@media (max-width:650px) {
    .union-editor-dialog { width:calc(100vw - 20px); }
    .union-filter-grid { padding-right:0; }
}


/* ===== v107: rebalance desktop filter spacing ===== */
@media (min-width:651px) {
    .union-filter-grid {
        display:grid;
        grid-template-columns:max-content 28px 156px 188px minmax(48px,1fr) max-content 34px;
        justify-content:stretch;
        column-gap:14px;
        row-gap:8px;
        padding-right:0;
        align-items:end;
    }
    .union-server-filter-field { grid-column:1; justify-self:start; }
    .union-filter-sync-field { grid-column:3; width:156px; }
    .union-filter-rank-field { grid-column:4; width:188px; }
    .union-filter-recruit-field {
        grid-column:6;
        justify-self:end;
        align-self:end;
        display:flex;
        align-items:center;
        height:34px;
        padding-bottom:1px;
        white-space:nowrap;
    }
    .union-filter-recruit-toggle { gap:7px; }
    .union-filter-grid .union-filter-reset-btn {
        position:static;
        grid-column:7;
        justify-self:end;
        align-self:end;
        right:auto;
        bottom:auto;
    }
}

@media (max-width:650px) {
    .union-filter-grid {
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;
        gap:8px;
        align-items:end;
    }
    .union-server-filter-field { grid-column:1 / -1; }
    .union-filter-sync-field { grid-column:1; }
    .union-filter-rank-field { grid-column:2; }
    .union-filter-recruit-field {
        grid-column:1 / 3;
        display:flex;
        align-items:center;
        min-height:34px;
    }
    .union-filter-grid .union-filter-reset-btn {
        grid-column:3;
        grid-row:2 / span 2;
        align-self:end;
        justify-self:end;
    }
}

/* ===== v108: desktop filter layout matched to requested reference ===== */
@media (min-width:651px) {
    .union-filter-grid {
        display:grid;
        grid-template-columns:max-content 72px 186px 188px minmax(56px,1fr) max-content 34px;
        column-gap:16px;
        row-gap:8px;
        align-items:end;
        justify-content:stretch;
        padding-right:0;
    }
    .union-server-filter-field {
        grid-column:1;
        justify-self:start;
    }
    .union-filter-sync-field {
        grid-column:3;
        width:186px;
    }
    .union-filter-rank-field {
        grid-column:4;
        width:188px;
    }
    .union-filter-recruit-field {
        grid-column:6;
        justify-self:end;
        align-self:end;
        margin-right:20px;
        display:flex;
        align-items:center;
        height:34px;
        padding-bottom:1px;
        white-space:nowrap;
    }
    .union-filter-grid .union-filter-reset-btn {
        position:static;
        grid-column:7;
        justify-self:end;
        align-self:end;
        right:auto;
        bottom:auto;
    }
}
html.eden-theme-light .union-admin-server-filters button,
html.eden-theme-light .union-admin-entry-server-filters button { background:#fff; border-color:#b8b6aa; color:#667069; }
html.eden-theme-light .union-admin-server-filters button.active,
html.eden-theme-light .union-admin-entry-server-filters button.active { background:#fff7df; border-color:#c99a31; color:#91650b; }

/* ===== v114: UNION LIGHT MODE - inquiry/settings high-contrast palette ===== */
html.eden-theme-light #tabUnion,
html.eden-theme-light #unionListView,
html.eden-theme-light #unionDetailView {
    color:#111714 !important;
    text-shadow:none !important;
}
html.eden-theme-light .union-heading h2,
html.eden-theme-light .union-panel-title strong,
html.eden-theme-light .union-setting-title,
html.eden-theme-light .union-card-name,
html.eden-theme-light .union-detail-title h3,
html.eden-theme-light .union-notice-choice strong,
html.eden-theme-light .union-admin-dialog-head strong {
    color:#111714 !important;
    text-shadow:none !important;
}
html.eden-theme-light .union-heading p,
html.eden-theme-light .union-panel-title span,
html.eden-theme-light .union-field label,
html.eden-theme-light .union-help,
html.eden-theme-light .union-editor-status,
html.eden-theme-light .union-notice-choice small,
html.eden-theme-light .union-detail-no-content {
    color:#5f6f68 !important;
    text-shadow:none !important;
}
html.eden-theme-light .union-count {
    color:#174f73 !important;
    font-weight:900;
}

html.eden-theme-light .union-panel,
html.eden-theme-light .union-detail-card {
    background:#eef1ee !important;
    border-color:#aeb9b4 !important;
    color:#111714 !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-filter-panel {
    background:#e8ece8 !important;
    border-color:#aeb9b4 !important;
}
html.eden-theme-light .union-setting-box {
    background:#f4f6f4 !important;
    border-color:#b8c2bd !important;
}

html.eden-theme-light .union-field input,
html.eden-theme-light .union-field select,
html.eden-theme-light .union-field textarea,
html.eden-theme-light .union-admin-search input,
html.eden-theme-light .union-subadmin-add input {
    background:#ffffff !important;
    border-color:#aebbb4 !important;
    color:#111714 !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-field input:focus,
html.eden-theme-light .union-field select:focus,
html.eden-theme-light .union-field textarea:focus,
html.eden-theme-light .union-admin-search input:focus,
html.eden-theme-light .union-subadmin-add input:focus {
    border-color:#176c91 !important;
    box-shadow:0 0 0 2px rgba(23,108,145,.14) !important;
}
html.eden-theme-light .union-field input:disabled,
html.eden-theme-light .union-field textarea:disabled,
html.eden-theme-light .union-detail-setting-box textarea.union-detail-disabled {
    background:#dde3df !important;
    border-color:#bcc6c1 !important;
    color:#66736d !important;
    opacity:1 !important;
}

html.eden-theme-light .union-server-filter button {
    background:#f7f9f7 !important;
    border-color:#aeb9b4 !important;
    color:#33423b !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-server-filter button:hover {
    background:#e1e8e3 !important;
    border-color:#83958c !important;
    color:#111714 !important;
}
html.eden-theme-light .union-server-filter button.active {
    background:#dceaf0 !important;
    border-color:#427c97 !important;
    color:#174f73 !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-filter-grid .union-filter-reset-btn {
    background:#e0e6e2 !important;
    border-color:#aeb9b4 !important;
    color:#36453e !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-filter-grid .union-filter-reset-btn:hover {
    background:#d2ddd7 !important;
    border-color:#7e9187 !important;
    color:#111714 !important;
}

html.eden-theme-light .union-toggle,
html.eden-theme-light .union-toggle-prefix {
    color:#33423b !important;
}
html.eden-theme-light .union-toggle-track {
    background:#c7d0cb !important;
    border-color:#8e9c95 !important;
}
html.eden-theme-light .union-toggle-track::after {
    background:#6d7d75 !important;
}
html.eden-theme-light .union-toggle input:checked + .union-toggle-track {
    background:#3f7994 !important;
    border-color:#2c647f !important;
}
html.eden-theme-light .union-toggle input:checked + .union-toggle-track::after {
    background:#ffffff !important;
}
html.eden-theme-light .union-toggle:focus-within .union-toggle-track {
    box-shadow:0 0 0 2px rgba(23,79,115,.14) !important;
}

html.eden-theme-light .union-card {
    background:#f4f6f4 !important;
    border-color:#b7c1bc !important;
    color:#111714 !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-card.inactive {
    background:#e1e5e2 !important;
    border-color:#bec6c2 !important;
    filter:none !important;
    opacity:.82;
}
html.eden-theme-light .union-card.unposted { opacity:.72; }
html.eden-theme-light .union-card.inactive .union-card-name,
html.eden-theme-light .union-card.inactive .union-card-rank,
html.eden-theme-light .union-card.inactive .union-card-capacity,
html.eden-theme-light .union-card.inactive .union-tag,
html.eden-theme-light .union-card.inactive .union-card-server {
    color:#6f7b75 !important;
}
html.eden-theme-light .union-card-server {
    background:#e2edf2 !important;
    border-color:#6c95a8 !important;
    color:#174f73 !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-card-rank,
html.eden-theme-light .union-card-capacity {
    color:#1c2822 !important;
}
html.eden-theme-light .union-card-capacity.recruiting {
    color:#17633d !important;
}
html.eden-theme-light .union-tag {
    background:#e4e9e6 !important;
    border-color:#aeb9b4 !important;
    color:#26352e !important;
}
html.eden-theme-light .union-tag.goal {
    background:#f1e7ca !important;
    border-color:#b48a2f !important;
    color:#72530f !important;
}
html.eden-theme-light .union-tag.sync {
    background:#e1e9f2 !important;
    border-color:#6688a3 !important;
    color:#2d5876 !important;
}
html.eden-theme-light .union-tag.status {
    background:#e1e6e3 !important;
    border-color:#9eaaa4 !important;
    color:#47564f !important;
}
html.eden-theme-light .union-tag.status.recruiting {
    background:#dcece3 !important;
    border-color:#559070 !important;
    color:#17633d !important;
}

/* 라이트 모드 활성 공고는 밝은 네온 대신 진한 청록 테두리로 구분 */
html.eden-theme-light .union-card.active {
    background:linear-gradient(135deg,#eef5f7,#f7f9f8 55%,#e9f1f3) !important;
    border-color:#397c98 !important;
    box-shadow:0 0 0 1px rgba(57,124,152,.22),0 5px 14px rgba(35,74,91,.10) !important;
}
html.eden-theme-light .union-card.active::before {
    background:conic-gradient(from var(--union-card-border-angle),transparent 0deg,transparent 275deg,rgba(32,91,116,.16) 298deg,rgba(39,105,132,.66) 326deg,rgba(19,72,96,.92) 341deg,rgba(49,115,142,.42) 354deg,transparent 360deg) !important;
    filter:none !important;
}
html.eden-theme-light .union-card.active::after {
    background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.02) 45%,rgba(61,111,132,.10) 50%,rgba(255,255,255,.02) 56%,transparent 61%) !important;
}

html.eden-theme-light .union-card-actions .union-detail-btn {
    background:#e1e6e3 !important;
    border-color:#aeb9b4 !important;
    color:#27362f !important;
}
html.eden-theme-light .union-card-actions .union-detail-btn:not(:disabled):hover {
    background:#d4dfd9 !important;
    border-color:#7f9288 !important;
    color:#111714 !important;
}
html.eden-theme-light .union-card-actions .union-recruit-link {
    background:#dceaf0 !important;
    border-color:#4d839c !important;
    color:#174f73 !important;
}
html.eden-theme-light .union-card-actions .union-recruit-link:hover {
    background:#cfe2ea !important;
    border-color:#326c87 !important;
    color:#123f5b !important;
}
html.eden-theme-light .union-card-actions button:disabled,
html.eden-theme-light .union-card-actions .union-recruit-link:disabled {
    background:#d7ddda !important;
    border-color:#bdc6c1 !important;
    color:#7b8781 !important;
    opacity:1 !important;
}
html.eden-theme-light .union-empty {
    color:#64736c !important;
    border-color:#aeb9b4 !important;
    background:#e9edea !important;
}

html.eden-theme-light .union-notice-edit-btn,
html.eden-theme-light .union-login-btn {
    background:#dceaf0 !important;
    border-color:#4d839c !important;
    color:#174f73 !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-notice-edit-btn:hover,
html.eden-theme-light .union-login-btn:hover {
    background:#cfe2ea !important;
    border-color:#326c87 !important;
    color:#123f5b !important;
}
html.eden-theme-light .union-admin-open-btn,
html.eden-theme-light .union-admin-add-btn,
html.eden-theme-light .union-admin-entry-save,
html.eden-theme-light .union-save-row button {
    background:#efe5c9 !important;
    border-color:#ad8530 !important;
    color:#6f510f !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-admin-open-btn:hover,
html.eden-theme-light .union-admin-add-btn:hover,
html.eden-theme-light .union-admin-entry-save:hover,
html.eden-theme-light .union-save-row button:hover {
    background:#e8dab2 !important;
    border-color:#8f691b !important;
    color:#533b09 !important;
}

html.eden-theme-light .union-admin-modal-backdrop {
    background:rgba(25,31,28,.52) !important;
}
html.eden-theme-light .union-admin-dialog {
    background:#eef1ee !important;
    border-color:#9eaaa4 !important;
    color:#111714 !important;
    box-shadow:0 20px 58px rgba(31,45,38,.24) !important;
}
html.eden-theme-light .union-admin-dialog-head,
html.eden-theme-light .union-admin-entry-actions,
html.eden-theme-light .union-save-row {
    border-color:#b9c3be !important;
}
html.eden-theme-light .union-admin-close-btn {
    background:#dfe5e1 !important;
    border-color:#aeb9b4 !important;
    color:#27362f !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-admin-close-btn:hover {
    background:#d2dbd6 !important;
    border-color:#85968d !important;
    color:#111714 !important;
}
html.eden-theme-light .union-admin-server-filters button,
html.eden-theme-light .union-admin-entry-server-filters button {
    background:#f7f9f7 !important;
    border-color:#aeb9b4 !important;
    color:#33423b !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-admin-server-filters button:hover,
html.eden-theme-light .union-admin-entry-server-filters button:hover {
    background:#e1e8e3 !important;
    border-color:#83958c !important;
    color:#111714 !important;
}
html.eden-theme-light .union-admin-server-filters button.active,
html.eden-theme-light .union-admin-entry-server-filters button.active {
    background:#efe5c9 !important;
    border-color:#ad8530 !important;
    color:#6f510f !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-whitelist-row {
    background:#f8faf8 !important;
    border-color:#bdc6c1 !important;
}
html.eden-theme-light .union-whitelist-row .server {
    color:#73520e !important;
}
html.eden-theme-light .union-whitelist-row .name {
    color:#111714 !important;
}
html.eden-theme-light .union-whitelist-row .uid {
    color:#586961 !important;
}
html.eden-theme-light .union-whitelist-edit-btn {
    background:#e1e8e3 !important;
    border-color:#9fada6 !important;
    color:#27362f !important;
}
html.eden-theme-light .union-whitelist-edit-btn:hover {
    background:#d5e0da !important;
    border-color:#6c8b7b !important;
    color:#111714 !important;
}
html.eden-theme-light .union-whitelist-delete-btn {
    background:#f5dfe0 !important;
    border-color:#c66a70 !important;
    color:#9e3038 !important;
}
html.eden-theme-light .union-whitelist-delete-btn:hover {
    background:#efcfd1 !important;
    border-color:#aa434a !important;
    color:#7f2027 !important;
}
html.eden-theme-light .union-admin-entry-cancel {
    background:#dfe5e1 !important;
    border-color:#aeb9b4 !important;
    color:#34433c !important;
}

html.eden-theme-light .union-notice-choice {
    background:#f7f9f7 !important;
    border-color:#b4c0ba !important;
    color:#111714 !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-notice-choice:hover {
    background:#e5ece8 !important;
    border-color:#6f8e7f !important;
}
html.eden-theme-light .union-subadmin-chip {
    background:#e1e6e3 !important;
    border-color:#aeb9b4 !important;
    color:#27362f !important;
}
html.eden-theme-light .union-subadmin-chip button {
    background:#d7ddda !important;
    color:#9a353b !important;
}

html.eden-theme-light .union-back-btn {
    background:#e1e6e3 !important;
    border-color:#aeb9b4 !important;
    color:#27362f !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-back-btn:hover {
    background:#d4dfd9 !important;
    border-color:#7f9288 !important;
    color:#111714 !important;
}
html.eden-theme-light .union-detail-title {
    border-bottom-color:#b9c3be !important;
}
html.eden-theme-light .union-detail-body {
    color:#24352c !important;
}
html.eden-theme-light .union-detail-footer a {
    background:#dceaf0 !important;
    border-color:#4d839c !important;
    color:#174f73 !important;
}
html.eden-theme-light .union-detail-footer button {
    background:#d7ddda !important;
    border-color:#bdc6c1 !important;
    color:#7b8781 !important;
}

/* 비로그인 /union은 테마 저장값이 있어도 기본 다크 모드를 사용한다. */
html.union-guest-mode:not(.eden-theme-light) .union-public-topbar {
    background:rgba(8,8,10,.96);
}

/* v115: union server colors for light mode */
html.eden-theme-light .union-card-server[data-area-id="83"] { background:#fff0f2; border-color:#d55c6e; color:#a51f35; box-shadow:none; }
html.eden-theme-light .union-card-server[data-area-id="81"] { background:#eef4ff; border-color:#5f8fd8; color:#245cae; box-shadow:none; }
html.eden-theme-light .union-card-server[data-area-id="84"] { background:#edf9f3; border-color:#4eab7d; color:#176d48; box-shadow:none; }
html.eden-theme-light #unionFilterServerButtons button[data-area-id="83"].active { background:#fff0f2; border-color:#d55c6e; color:#a51f35; box-shadow:none; }
html.eden-theme-light #unionFilterServerButtons button[data-area-id="81"].active { background:#eef4ff; border-color:#5f8fd8; color:#245cae; box-shadow:none; }
html.eden-theme-light #unionFilterServerButtons button[data-area-id="84"].active { background:#edf9f3; border-color:#4eab7d; color:#176d48; box-shadow:none; }

/* ===== v119: 모집완료 버튼은 상세보기와 동일한 UI ===== */
.union-save-row .union-complete-btn {
    background:#141b20;
    border:1px solid #394650;
    color:#c7d2d8;
    box-shadow:none;
}
.union-save-row .union-complete-btn:hover {
    background:#141b20;
    border-color:#00d4ff;
    color:#7be9ff;
    box-shadow:none;
}
html.eden-theme-light .union-save-row .union-complete-btn {
    background:#eef2ef !important;
    border-color:#bcc8c2 !important;
    color:#425149 !important;
    box-shadow:none !important;
}
html.eden-theme-light .union-save-row .union-complete-btn:hover {
    background:#eef2ef !important;
    border-color:#398ca0 !important;
    color:#17687a !important;
    box-shadow:none !important;
}
