body { margin:0; font-family: Arial, sans-serif; background:#f6f7f9; color:#222; }
a { color:#1f5fbf; text-decoration:none; }
.topbar { display:flex; gap:24px; align-items:center; padding:14px 24px; background:#202938; color:#fff; }
.topbar a { color:#fff; margin-right:12px; }
.container { max-width:1100px; margin:24px auto; padding:0 20px; }
.login-page { display:grid; min-height:100vh; place-items:center; }
.login-card, .form-card { background:#fff; padding:24px; border-radius:12px; box-shadow:0 6px 24px rgba(0,0,0,.08); max-width:460px; }
label { display:block; margin:14px 0; font-weight:600; }
input, select { width:100%; padding:10px; margin-top:6px; border:1px solid #ccd2dc; border-radius:8px; box-sizing:border-box; }
button, .button { display:inline-block; padding:9px 14px; background:#1f5fbf; border:0; border-radius:8px; color:#fff; cursor:pointer; }
.inline { display:inline; }
.inline button { padding:5px 9px; font-size:13px; }
table { width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden; }
th, td { padding:12px; border-bottom:1px solid #e9edf3; text-align:left; }
.alert { padding:10px 12px; border-radius:8px; margin:12px 0; }
.alert.success { background:#e7f8ee; }
.alert.error { background:#fdeaea; }

.form-card.wide { max-width: 100%; }
fieldset { border:1px solid #dde3ec; border-radius:10px; margin:16px 0; padding:14px; background:#fff; }
legend { font-weight:700; padding:0 8px; }
.checkbox { display:block; font-weight:400; margin:8px 0; }
.checkbox input { width:auto; margin-right:8px; }
.checkbox small { color:#667; margin-left:8px; }
.button.secondary { background:#667085; }

textarea { width:100%; padding:10px; margin-top:6px; border:1px solid #ccd2dc; border-radius:8px; box-sizing:border-box; font-family:inherit; }
.grid { display:grid; gap:16px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .grid.two { grid-template-columns: 1fr; } }

.media-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:18px; }
.media-card { background:#fff; border-radius:12px; box-shadow:0 4px 14px rgba(0,0,0,.06); overflow:hidden; }
.media-thumb { height:150px; display:grid; place-items:center; background:#eef2f7; }
.media-thumb img { max-width:100%; max-height:150px; display:block; }
.file-icon { font-weight:700; color:#475467; background:#fff; border:1px solid #d0d5dd; padding:18px; border-radius:10px; }
.media-info { padding:12px; }
.media-info small { display:block; color:#667085; margin-top:4px; }
.media-info input { font-size:12px; }

.editor-toolbar { display:flex; gap:12px; align-items:center; margin:6px 0 8px; }
.editor-toolbar small { color:#667085; }
.media-pick-button { border:0; text-align:left; cursor:pointer; padding:0; color:inherit; }
.media-pick-button:hover { outline:3px solid #9bbcff; }
.picker-page .container { max-width:1200px; }

.help-text { color:#667085; font-size:14px; }
code { background:#eef2f7; padding:2px 5px; border-radius:5px; }


.filters { display:flex; gap:10px; align-items:center; margin:14px 0 20px; }
.filters input { max-width:220px; }
.revision-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.revision-grid section { background:#fff; border-radius:12px; padding:16px; box-shadow:0 4px 14px rgba(0,0,0,.06); overflow:auto; }
pre { white-space:pre-wrap; word-break:break-word; background:#101828; color:#f2f4f7; padding:14px; border-radius:10px; font-size:13px; }
@media (max-width:900px){ .revision-grid { grid-template-columns:1fr; } }

.stats-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap:14px; margin:18px 0; }
.stat-card { background:#fff; border-radius:12px; padding:18px; box-shadow:0 4px 14px rgba(0,0,0,.06); }
.stat-card strong { display:block; font-size:28px; }
.stat-card span { color:#667085; }

.dashboard-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap:16px; margin:20px 0; }
.dashboard-card { display:block; background:#fff; border-radius:14px; padding:20px; box-shadow:0 6px 18px rgba(0,0,0,.06); color:#1d2939; }
.dashboard-card strong { display:block; font-size:20px; margin-bottom:8px; }
.dashboard-card span { color:#667085; }
.dashboard-card:hover { outline:3px solid #b9d2ff; }
.panel { background:#fff; border-radius:14px; padding:20px; box-shadow:0 6px 18px rgba(0,0,0,.06); margin-top:20px; }
.muted { color:#667085; }

/* Legacy-aligned CMS editing UI */
.container { max-width:1300px; }
.breadcrumbs { margin: 0 0 14px; font-size: 13px; color:#344054; }
.legacy-edit-form { background:#fff; border:1px solid #d0d5dd; }
.legacy-tabs { display:grid; grid-template-columns:190px 1fr; min-height:480px; }
.legacy-tab-nav { background:#f8f9fb; border-right:1px solid #d0d5dd; padding:28px 18px; }
.legacy-tab-nav button { display:block; width:100%; text-align:left; background:#fff; color:#111827; border:1px solid #d7dbe2; border-radius:0; margin:0 0 7px; padding:10px 12px; font-weight:700; }
.legacy-tab-nav button.active { color:#079500; background:#fefefe; }
.legacy-tab-content { padding:22px; }
.tab-pane { display:none; }
.tab-pane.active { display:block; }
.form-row { display:grid; grid-template-columns:150px minmax(280px, 720px) auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid #e2e5ea; }
.form-row label { margin:0; font-weight:700; }
.form-row input, .form-row select, .form-row textarea { margin:0; }
.slug-row input { max-width:720px; }
.button.green { background:#238600; }
.button.orange { background:#f2a100; }
.button.danger { background:#950000; }
.form-actions { padding:16px 22px; border-top:1px solid #d0d5dd; background:#fafafa; }
.inline-editor-bar { display:flex; gap:8px; align-items:center; background:#f4fae8; padding:10px; margin-bottom:18px; }
.inline-editor-bar select { width:auto; min-width:170px; }
.small-input { width:70px !important; }
.small-button { padding:5px 8px; font-size:12px; background:#e5e7eb; color:#111827; }
.admin-thumb { max-width:160px; max-height:90px; object-fit:cover; }
.side-options-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; padding:8px 0 18px; }
.side-options-grid label { background:#fff; border-bottom:1px solid #e2e5ea; padding:10px; display:flex; align-items:center; gap:10px; }
.side-options-grid input[type=checkbox] { width:auto; margin:0; }
.tox-tinymce { border-radius:0 !important; }
@media (max-width:900px){ .legacy-tabs{grid-template-columns:1fr}.legacy-tab-nav{border-right:0;border-bottom:1px solid #d0d5dd}.form-row{grid-template-columns:1fr} }

/* Final legacy tabs UI patch 2026-05-25 */
.container { max-width:1300px !important; }
.legacy-panel-title { background:#fff; border:1px solid #d0d5dd; padding:20px 24px; font-size:24px; margin-top:10px; }
.legacy-edit-form { background:#fff; border:1px solid #d0d5dd; border-top:0; padding:0; box-shadow:none; }
.legacy-tabs { display:grid; grid-template-columns:190px 1fr; min-height:500px; }
.legacy-tab-nav { background:#f7f7f7; border-right:1px solid #d0d5dd; padding:30px 20px; }
.legacy-tab-nav button { display:block; width:100%; text-align:left; background:#fff; color:#111; border:1px solid #d0d5dd; padding:11px 12px; margin-bottom:8px; border-radius:0; font-weight:700; cursor:pointer; }
.legacy-tab-nav button.active { color:#138000; background:#fff; border-left:4px solid #5dbb00; }
.legacy-tab-content { padding:26px 28px; }
.tab-pane { display:none; }
.tab-pane.active { display:block; }
.form-row { display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px; align-items:center; padding:16px 0; border-bottom:1px solid #e4e7ec; }
.form-row label { margin:0; font-weight:700; }
.form-row input,.form-row select,.form-row textarea { width:100%; }
.slug-row { grid-template-columns:130px minmax(0,1fr) 150px; }
.button.green { background:#4b9700; }
.button.orange { background:#f0a000; }
.button.danger { background:#9a0000; }
.inline-editor-bar { background:#f4f8e8; padding:10px; display:flex; gap:10px; align-items:center; margin-bottom:18px; }
.inline-editor-bar select { max-width:620px; }
.small-input { width:70px !important; }
.small-button { padding:5px 8px; font-size:12px; }
.admin-thumb { max-width:180px; max-height:90px; }
.side-options-grid { display:grid; grid-template-columns:repeat(2,minmax(240px,1fr)); gap:18px; margin-bottom:20px; }
.form-actions { padding:18px 28px; border-top:1px solid #d0d5dd; background:#fafafa; }
.tox-tinymce { border-radius:0 !important; }
@media (max-width:900px){ .legacy-tabs{grid-template-columns:1fr}.legacy-tab-nav{border-right:0;border-bottom:1px solid #d0d5dd}.form-row{grid-template-columns:1fr}.slug-row{grid-template-columns:1fr}.side-options-grid{grid-template-columns:1fr} }


.inline-upload-box { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:12px 0 18px; padding:12px; background:#f5f8ef; border:1px solid #dce8c8; }
.inline-upload-box input[type="file"] { width:auto; }
.inline-upload-box input[type="text"] { width:260px; }
.inline-upload-box select { width:auto; }
.inline-check { display:flex; align-items:center; gap:6px; margin:0; font-weight:400; }
.form-actions { display:flex; gap:10px; align-items:center; margin-top:18px; }
.form-actions button, .form-actions .button { min-width:100px; }
.button.danger { background:#990000; }
.button.green { background:#4b9f00; }
.button.orange { background:#e69a00; }

.cms-confirm-modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; background: rgba(15,23,42,.48); z-index: 99999; }
.cms-confirm-modal.show { display: flex; }
.cms-confirm-box { width: min(420px, calc(100vw - 40px)); background: #fff; border-radius: 12px; padding: 22px; box-shadow: 0 20px 80px rgba(0,0,0,.25); }
.cms-confirm-box h3 { margin: 0 0 8px; }
.cms-confirm-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.button.danger, button.danger { background: #a00000; color: #fff; }
.cms-dropzone { border: 2px dashed #9aa9bd; border-radius: 12px; padding: 34px; text-align: center; background: #f8fafc; color: #334155; cursor: pointer; margin: 12px 0; }
.cms-dropzone.dragover { background: #eaf3ff; border-color: #1f5fbf; }
.hidden-file-input { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.upload-columns { align-items: start; }
.inline-actions { margin: 12px 0; display: flex; gap: 8px; }

/* Media search, bulk actions, and file explorer patch 2026-05-25 */
.media-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:14px 0 20px; }
.media-search-form { display:flex; align-items:center; gap:8px; margin:0; }
.media-search-form input[type="text"] { min-width:280px; }
.media-bulk-form > .button { margin-bottom:14px; }
.media-select { display:block; padding:8px 10px; font-weight:600; }
.media-select input { width:auto; margin-right:6px; }
.elfinder-like { display:grid; grid-template-columns:260px 1fr; border:1px solid #2f3744; min-height:520px; background:#fff; }
.elfinder-sidebar { background:#eef3f8; border-right:1px solid #c9d3df; }
.elfinder-header { background:#1f2937; color:#fff; padding:10px 12px; font-weight:700; }
.elfinder-sidebar ul { list-style:none; padding:10px; margin:0; }
.elfinder-sidebar li { padding:8px 10px; border-radius:4px; }
.elfinder-sidebar li.active { background:#2f73d9; color:#fff; }
.elfinder-main { padding:12px; }
.elfinder-toolbar { display:flex; gap:8px; align-items:center; padding:8px; border-bottom:1px solid #dde3ea; margin-bottom:14px; }
.elfinder-toolbar input { margin-left:auto; max-width:280px; }
.elfinder-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:18px; }
.elfinder-item { text-align:center; word-break:break-word; }
.elfinder-item img { max-width:100px; max-height:80px; object-fit:contain; display:block; margin:0 auto 8px; }
.file-icon-large { font-size:54px; line-height:72px; }
@media (max-width:900px){ .elfinder-like{grid-template-columns:1fr}.elfinder-sidebar{border-right:0;border-bottom:1px solid #c9d3df}.media-search-form input[type="text"]{min-width:0;width:100%;} }

/* legacy-tabs-all-modules-v8 */
.legacy-edit-form .legacy-form-actions{padding:18px 28px;border-top:1px solid #d0d5dd;background:#fff}

.single-upload-row,.bulk-upload-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:12px 0;}
.inline-upload-box{background:#f6faeb;border:1px solid #dbeac1;padding:18px;margin-bottom:18px;}

/* CMS_PAGINATION_V14 */
.cms-pagination{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:12px;background:#fff;border:1px solid #e1e6ef;border-radius:10px}
.cms-pagination a,.cms-pagination strong{display:inline-block;padding:7px 10px;border-radius:7px;border:1px solid #cbd5e1;text-decoration:none;background:#f8fafc;color:#0f172a}
.cms-pagination strong{background:#1f5fbf;color:#fff;border-color:#1f5fbf}
.cms-pagination-summary{margin-right:auto;color:#475569;font-weight:600}
.cms-pagination-size select{padding:7px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}

/* phase1-legacy */
.filters-bar,.module-toolbar{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}
.filters-bar input,.filters-bar select,.module-toolbar input{max-width:260px}
.legacy-panel pre{white-space:pre-wrap;margin:0;font-family:inherit}
.relation-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;max-width:none}
.relation-form label{max-width:220px}

.cms-list-search { display:flex; flex-wrap:wrap; align-items:end; gap:10px; background:#f5f8e9; border:1px solid #dce8c1; padding:12px; margin:12px 0 16px; }
.cms-list-search label { font-weight:700; margin-right:4px; }
.cms-list-search input, .cms-list-search select { width:auto; min-width:130px; margin:0; }
.cms-list-search button { background:#e49b00; color:#fff; border:0; border-radius:4px; padding:9px 14px; font-weight:700; }

.admin-open-page-link{margin:10px 0 18px 0}.admin-open-page-link .button{display:inline-block}


/* v36 admin submenu */
.admin-main-nav { display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.admin-nav-dropdown { position:relative; display:inline-block; }
.admin-nav-parent { background:transparent; color:#fff; padding:0; border:0; border-radius:0; font:inherit; font-weight:700; cursor:pointer; }
.admin-nav-menu { display:none; position:absolute; top:100%; left:0; min-width:190px; background:#202938; border:1px solid rgba(255,255,255,.18); box-shadow:0 14px 35px rgba(0,0,0,.24); z-index:9999; padding:8px 0; }
.admin-nav-dropdown:hover .admin-nav-menu, .admin-nav-dropdown:focus-within .admin-nav-menu { display:block; }
.admin-nav-menu a { display:block; padding:9px 14px; margin:0; white-space:nowrap; color:#fff; }
.admin-nav-menu a:hover { background:#334155; }
