/* admin_changelist.css — Modern Django Admin changelist UI. 2026-06-12 */

/* --- Shell (header, sidebar, breadcrumbs) --- */
body.kweb-admin:not(.login):not(.dashboard) { background: #eef2f7; font-family: "Noto Sans KR", "Malgun Gothic", "맑은 고딕", sans-serif; }
body.kweb-admin:not(.login):not(.dashboard) #container { width: 100%; max-width: none; min-width: 0; }
body.kweb-admin:not(.login):not(.dashboard) #header { background: linear-gradient(135deg, #0b1220 0%, #132238 45%, #1e3a5f 100%); border-bottom: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 4px 20px rgba(15, 23, 42, 0.18); padding: 0.65rem 1.25rem; }
body.kweb-admin:not(.login):not(.dashboard) #branding { padding: 0; }
body.kweb-admin .admin-brand-link { display: inline-flex; align-items: center; gap: 0.75rem; text-decoration: none; color: inherit; }
body.kweb-admin .admin-brand-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.35rem; height: 2.35rem; border-radius: 10px; background: linear-gradient(145deg, #2563eb 0%, #1d4ed8 100%); color: #fff; font-size: 0.95rem; box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35); flex-shrink: 0; }
body.kweb-admin .admin-brand-text { display: flex; flex-direction: column; gap: 0.05rem; min-width: 0; }
body.kweb-admin .admin-brand-text strong { font-size: 0.95rem; font-weight: 800; letter-spacing: -0.02em; color: #fff; line-height: 1.25; }
body.kweb-admin .admin-brand-text span { font-size: 0.65rem; font-weight: 600; color: #94a3b8; letter-spacing: 0.04em; text-transform: uppercase; }
body.kweb-admin:not(.login):not(.dashboard) #user-tools { font-size: 0.8125rem; color: #cbd5e1; font-weight: 500; }
body.kweb-admin:not(.login):not(.dashboard) #user-tools a, body.kweb-admin:not(.login):not(.dashboard) #logout-form button { color: #e2e8f0; text-decoration: none; font-weight: 600; }
body.kweb-admin:not(.login):not(.dashboard) #user-tools a:hover, body.kweb-admin:not(.login):not(.dashboard) #logout-form button:hover { color: #fff; }
body.kweb-admin:not(.login):not(.dashboard) #user-tools a i, body.kweb-admin:not(.login):not(.dashboard) #logout-form button i { margin-right: 0.25rem; opacity: 0.85; font-size: 0.75rem; }
body.kweb-admin .admin-welcome-label { margin-right: 0.15rem; opacity: 0.85; }

body.kweb-admin:not(.login):not(.dashboard) .breadcrumbs { background: #fff; border-bottom: 1px solid #e2e8f0; padding: 0.65rem 1.25rem; font-size: 0.8125rem; color: #64748b; }
body.kweb-admin:not(.login):not(.dashboard) .breadcrumbs a { color: #2563eb; font-weight: 600; text-decoration: none; }
body.kweb-admin:not(.login):not(.dashboard) .breadcrumbs a:hover { color: #1d4ed8; text-decoration: underline; }

body.kweb-admin:not(.login):not(.dashboard) .main { padding: 0 1.25rem 1.5rem; }
body.kweb-admin:not(.login):not(.dashboard) #nav-sidebar { background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%); border-right: 1px solid rgba(255, 255, 255, 0.06); }
body.kweb-admin:not(.login):not(.dashboard) #nav-sidebar .current-app .section { color: #fff; }
body.kweb-admin:not(.login):not(.dashboard) #nav-sidebar .module th { color: #94a3b8; }
body.kweb-admin:not(.login):not(.dashboard) #nav-sidebar .module td a { color: #e2e8f0; border-radius: 6px; }
body.kweb-admin:not(.login):not(.dashboard) #nav-sidebar .module td a:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
body.kweb-admin:not(.login):not(.dashboard) #nav-sidebar filter-input { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.12); color: #e2e8f0; border-radius: 8px; }

body.kweb-admin:not(.login):not(.dashboard) #content { padding: 1.25rem 1.25rem 0; max-width: none; }
body.kweb-admin:not(.login):not(.dashboard) #content > h1 { margin: 0 0 0.85rem; font-size: clamp(1.15rem, 2vw, 1.45rem); font-weight: 800; letter-spacing: -0.03em; color: #0f172a; line-height: 1.25; }

/* --- Changelist container --- */
body.kweb-admin.change-list #content-main { float: none; width: 100%; max-width: none; }
body.kweb-admin.change-list #changelist { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04); overflow: hidden; }
body.kweb-admin.change-list #changelist .changelist-form-container { padding: 1rem 1.1rem; }

/* --- Search toolbar --- */
body.kweb-admin.change-list #toolbar { margin-bottom: 1rem; padding: 0; background: transparent; border: none; color: inherit; }
body.kweb-admin.change-list #toolbar form.admin-changelist-search { margin: 0; width: 100%; }
body.kweb-admin.change-list #toolbar .admin-changelist-search-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; width: 100%; padding: 0.75rem; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; box-sizing: border-box; }
body.kweb-admin.change-list #toolbar .admin-changelist-search-icon { display: none; }
body.kweb-admin.change-list #toolbar #searchbar, body.kweb-admin.change-list #toolbar .admin-changelist-search-input { flex: 1 1 16rem; min-width: 0; width: auto; max-width: none; height: 2.5rem; margin: 0; padding: 0 0.9rem 0 2.5rem; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%2394a3b8'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") no-repeat 0.85rem center / 0.9rem; font-size: 0.875rem; line-height: 1.4; color: #0f172a; vertical-align: middle; box-sizing: border-box; box-shadow: none; }
body.kweb-admin.change-list #toolbar #searchbar:focus, body.kweb-admin.change-list #toolbar .admin-changelist-search-input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12); }
body.kweb-admin.change-list #toolbar .admin-changelist-search-btn, body.kweb-admin.change-list #toolbar form input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; flex-shrink: 0; height: 2.5rem; margin: 0; padding: 0 1.1rem; border: none; border-radius: 10px; background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); color: #fff; font-size: 0.8125rem; font-weight: 700; cursor: pointer; vertical-align: middle; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.22); }
body.kweb-admin.change-list #toolbar .admin-changelist-search-btn:hover, body.kweb-admin.change-list #toolbar form input[type="submit"]:hover { background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%); color: #fff; border-color: transparent; box-shadow: 0 6px 16px rgba(37, 99, 235, 0.28); }
body.kweb-admin.change-list #toolbar .admin-changelist-search-btn i { font-size: 0.75rem; }
body.kweb-admin.change-list #toolbar .admin-changelist-search-meta { flex: 1 1 100%; margin: 0; padding: 0.15rem 0 0 0.15rem; font-size: 0.78rem; color: #64748b; line-height: 1.45; }
body.kweb-admin.change-list #toolbar .admin-changelist-search-meta a { color: #2563eb; font-weight: 600; text-decoration: none; }
body.kweb-admin.change-list #toolbar .admin-changelist-search-meta a:hover { text-decoration: underline; }
body.kweb-admin.change-list #toolbar .admin-changelist-search-help { margin: 0.45rem 0 0; padding: 0.5rem 0.65rem; font-size: 0.78rem; line-height: 1.45; color: #64748b; background: #fff; border-left: 3px solid #94a3b8; border-radius: 0 8px 8px 0; }

/* --- Object tools (add button) --- */
body.kweb-admin.change-list .object-tools { float: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.45rem; }
body.kweb-admin.change-list .object-tools li { margin: 0; height: auto; }
body.kweb-admin.change-list .object-tools a.addlink, body.kweb-admin.change-list .object-tools a { display: inline-flex; align-items: center; gap: 0.35rem; height: 2.45rem; padding: 0 1rem; border-radius: 10px; background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); color: #fff !important; font-size: 0.8125rem; font-weight: 700; text-decoration: none; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25); border: none; }
body.kweb-admin.change-list .object-tools a.addlink:hover, body.kweb-admin.change-list .object-tools a:hover { background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%); color: #fff !important; }
body.kweb-admin.change-list .object-tools a.addlink::before { content: "\f067"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-right: 0; background: none; }

/* --- Actions bar --- */
body.kweb-admin.change-list .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin-bottom: 0.85rem; padding: 0.65rem 0.85rem; background: #f8fafc; border: 1px solid #f1f5f9; border-radius: 10px; }
body.kweb-admin.change-list .actions label { font-size: 0.8125rem; font-weight: 600; color: #475569; }
body.kweb-admin.change-list .actions select { min-width: 12rem; height: 2.2rem; padding: 0.35rem 1.75rem 0.35rem 0.65rem; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 0.8125rem; }
body.kweb-admin.change-list .actions button[type="submit"] { height: 2.2rem; padding: 0 0.85rem; border: none; border-radius: 8px; background: #334155; color: #fff; font-size: 0.8125rem; font-weight: 700; cursor: pointer; }
body.kweb-admin.change-list .actions button[type="submit"]:hover { background: #1e293b; }

/* --- Result table --- */
body.kweb-admin.change-list #result_list { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; }
body.kweb-admin.change-list #result_list thead th { background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%); color: #334155; font-size: 0.78rem; font-weight: 800; text-transform: none; letter-spacing: -0.01em; border-bottom: 1px solid #e2e8f0; padding: 0.7rem 0.75rem; }
body.kweb-admin.change-list #result_list tbody tr { transition: background 0.12s ease; }
body.kweb-admin.change-list #result_list tbody tr:nth-child(even) { background: #fafbfc; }
body.kweb-admin.change-list #result_list tbody tr:hover { background: #eff6ff; }
body.kweb-admin.change-list #result_list tbody td { border-bottom: 1px solid #f1f5f9; font-size: 0.8125rem; color: #334155; }
body.kweb-admin.change-list #result_list tbody td a { color: #2563eb; font-weight: 600; text-decoration: none; }
body.kweb-admin.change-list #result_list tbody td a:hover { color: #1d4ed8; text-decoration: underline; }
body.kweb-admin.change-list #result_list tbody tr:last-child td { border-bottom: none; }

/* --- Filter sidebar --- */
body.kweb-admin.change-list #changelist-filter { background: #f8fafc; border-left: 1px solid #e2e8f0; padding: 1rem; min-width: 13rem; }
body.kweb-admin.change-list #changelist-filter h2 { font-size: 0.78rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: #64748b; margin: 0 0 0.75rem; padding: 0; background: none; border: none; }
body.kweb-admin.change-list #changelist-filter h3 { font-size: 0.8125rem; font-weight: 700; color: #334155; margin: 0.85rem 0 0.45rem; padding: 0; background: none; border: none; }
body.kweb-admin.change-list #changelist-filter li { margin-bottom: 0.25rem; }
body.kweb-admin.change-list #changelist-filter li.selected a { color: #2563eb; font-weight: 700; }
body.kweb-admin.change-list #changelist-filter a { display: block; padding: 0.35rem 0.55rem; border-radius: 6px; font-size: 0.8125rem; color: #475569; text-decoration: none; }
body.kweb-admin.change-list #changelist-filter a:hover { background: #fff; color: #2563eb; }

/* --- Pagination --- */
body.kweb-admin.change-list .paginator { margin-top: 1rem; padding: 0.65rem 0; font-size: 0.8125rem; color: #64748b; }
body.kweb-admin.change-list .paginator a { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; padding: 0 0.5rem; margin: 0 0.1rem; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff; color: #334155; font-weight: 600; text-decoration: none; }
body.kweb-admin.change-list .paginator a:hover { border-color: #93c5fd; color: #2563eb; background: #eff6ff; }

/* --- Tenant changelist extras --- */
body.kweb-admin.change-list.model-tenant .admin-tenant-changelist-top { display: grid; gap: 1rem; margin-bottom: 1rem; }
body.kweb-admin.change-list.model-tenant .admin-tenant-summary-bar { margin-bottom: 0; border-radius: 14px; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04); }
body.kweb-admin.change-list.model-tenant .admin-plan-help-details { margin-bottom: 0; border-radius: 14px; }
body.kweb-admin.change-list.model-tenant .admin-tenant-list-hint { margin: 0; padding: 0.65rem 0.85rem; background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 10px; color: #0369a1; font-size: 0.8125rem; }
body.kweb-admin.change-list.model-tenant .admin-tenant-list-hint i { margin-right: 0.35rem; color: #0284c7; }

@media (max-width: 1024px) {
  body.kweb-admin.change-list #changelist.filtered .changelist-form-container { margin-right: 0; }
  body.kweb-admin.change-list #changelist-filter { border-left: none; border-top: 1px solid #e2e8f0; }
}

/* admin_changelist.css end */
