html,body{height:100%;font-family:'Prompt',sans-serif;background:#f4f7fb;color:#1f2937}.admin-shell{min-height:100vh;display:flex}.admin-sidebar{width:270px;background:#132238;color:#dbe4ef;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:1050;box-shadow:8px 0 30px rgba(15,23,42,.08)}.brand{height:78px;padding:16px 20px;display:flex;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:42px;height:42px;border-radius:14px;background:#0b74b7;color:#fff;display:grid;place-items:center;font-weight:700}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:#8ea3ba;margin-top:2px}.admin-nav{padding:16px 12px;overflow:auto;flex:1}.admin-nav a,.sidebar-footer a{display:flex;align-items:center;gap:12px;color:#c6d1dd;text-decoration:none;padding:11px 13px;border-radius:10px;margin-bottom:5px;font-size:14px}.admin-nav a:hover,.sidebar-footer a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-nav i{width:22px;text-align:center}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.08)}.admin-main{margin-left:270px;min-width:0;flex:1}.admin-topbar{height:78px;background:#fff;border-bottom:1px solid #e6ebf1;padding:0 28px;display:flex;align-items:center;position:sticky;top:0;z-index:1000}.admin-content{padding:28px}.user-chip{font-size:14px;color:#475569}.panel{background:#fff;border:1px solid #e7edf4;border-radius:16px;box-shadow:0 8px 30px rgba(15,23,42,.04)}.panel-head{padding:20px 22px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-body{padding:22px}.stat-card{background:#fff;border:1px solid #e7edf4;border-radius:16px;padding:20px;height:100%;box-shadow:0 8px 30px rgba(15,23,42,.04)}.stat-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#eaf5fb;color:#0b74b7}.table>:not(caption)>*>*{padding:.85rem .8rem;vertical-align:middle}.form-label{font-weight:500;font-size:14px}.required:after{content:' *';color:#dc3545}.page-title{font-size:24px;font-weight:700;margin:0}.page-subtitle{color:#64748b;font-size:14px;margin:4px 0 0}.login-page{min-height:100vh;background:linear-gradient(135deg,#0f2743,#0b74b7);display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:34px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-grid label{background:#f8fafc;border:1px solid #e5e7eb;padding:12px;border-radius:10px;display:block}@media(max-width:991.98px){.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar.open{transform:translateX(0)}.admin-main{margin-left:0}.admin-content{padding:18px}.admin-topbar{padding:0 18px}}@media(max-width:575.98px){.permission-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.login-card{padding:26px 22px}}
.admin-banner-preview{width:min(100%,520px);max-height:220px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb}.admin-content-preview{width:min(100%,320px);height:170px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb}.admin-table-thumb{width:92px;height:56px;object-fit:cover;border-radius:8px}.admin-preview-logo{max-width:220px;max-height:100px;object-fit:contain;border:1px solid #e5e7eb;border-radius:10px;padding:8px;background:#fff}.album-admin-card{height:100%;background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}.album-admin-card>img{width:100%;height:170px;object-fit:cover}

/* v3: inline album manager */
.album-upload-box{background:#f8fbff;border:1px dashed #b8d8ee;border-radius:14px;padding:18px}.album-count-badge{background:#eaf5fb;color:#0b74b7;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600}.album-admin-image-wrap{position:relative}.album-admin-image-wrap img{width:100%;height:170px;object-fit:cover;display:block}.album-order{position:absolute;top:10px;right:10px;background:rgba(15,23,42,.82);color:#fff;padding:4px 8px;border-radius:999px;font-size:11px}.album-empty-state{min-height:180px;border:1px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#64748b}.album-empty-state i{font-size:34px;color:#94a3b8}.album-empty-state strong{color:#334155}.album-disabled-panel{background:linear-gradient(135deg,#fff,#f8fbff)}.album-empty-icon{width:54px;height:54px;border-radius:15px;background:#eaf5fb;color:#0b74b7;display:grid;place-items:center;font-size:24px}

/* v3: role/permission UX */
.role-active-box{display:flex;align-items:flex-start;padding:14px 16px;border:1px solid #dce6f0;background:#f8fafc;border-radius:12px}.role-active-box input{margin-top:4px}.role-active-box label{display:flex;flex-direction:column}.role-active-box label span{font-size:12px;color:#64748b;margin-top:2px}.permission-head{align-items:flex-start}.permission-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.permission-card{position:relative;display:grid;grid-template-columns:46px 1fr 26px;gap:12px;align-items:center;padding:16px;border:1px solid #dfe7f0;border-radius:14px;background:#fff;cursor:pointer;transition:.18s ease;min-height:88px}.permission-card:hover{border-color:#9bc8e4;box-shadow:0 8px 22px rgba(15,23,42,.06);transform:translateY(-1px)}.permission-card input{position:absolute;opacity:0;pointer-events:none}.permission-icon{width:46px;height:46px;border-radius:13px;background:#eef5fb;color:#0b74b7;display:grid;place-items:center;font-size:18px}.permission-copy{min-width:0;display:flex;flex-direction:column}.permission-copy strong{font-size:14px;color:#1f2937}.permission-copy small{font-size:11px;color:#718096;line-height:1.45;margin-top:4px}.permission-tick{width:24px;height:24px;border:1px solid #cbd5e1;border-radius:7px;display:grid;place-items:center;color:transparent;background:#fff}.permission-card:has(input:checked){border-color:#0b74b7;background:#f3faff;box-shadow:0 0 0 2px rgba(11,116,183,.08)}.permission-card:has(input:checked) .permission-icon{background:#0b74b7;color:#fff}.permission-card:has(input:checked) .permission-tick{background:#0b74b7;border-color:#0b74b7;color:#fff}.role-savebar{padding:16px 22px;border-top:1px solid #edf1f5;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fbfcfe;border-radius:0 0 16px 16px}
@media(max-width:1199.98px){.permission-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767.98px){.permission-card-grid{grid-template-columns:1fr}.permission-head,.role-savebar{flex-direction:column;align-items:stretch}.role-savebar>div:last-child{display:flex}.role-savebar .btn{flex:1}}

/* v4: active admin navigation */
.admin-nav .admin-menu-link{position:relative;border:1px solid transparent;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.admin-nav .admin-menu-link:hover{transform:translateX(2px)}
.admin-nav .admin-menu-link.active{background:linear-gradient(90deg,rgba(14,165,233,.24),rgba(14,165,233,.10));color:#fff;border-color:rgba(56,189,248,.24);box-shadow:inset 4px 0 0 #38bdf8}
.admin-nav .admin-menu-link.active i{color:#7dd3fc}
.admin-nav .admin-menu-link.active span{font-weight:600}

/* v6: rich text editor (Quill) */
.rich-editor-source{display:none!important}.rich-editor{background:#fff}.rich-editor .ql-editor{min-height:260px;font-family:'Prompt',sans-serif;font-size:14px;line-height:1.7}.rich-editor-sm .ql-editor{min-height:170px}.ql-toolbar.ql-snow{border-color:#dce3eb;border-radius:10px 10px 0 0;background:#f8fafc}.ql-container.ql-snow{border-color:#dce3eb;border-radius:0 0 10px 10px}.ql-snow .ql-tooltip{z-index:1100}

/* v6: admin content list search + sortable headers */
.content-list-toolbar{flex-wrap:wrap}.content-search-wrap{position:relative;min-width:min(520px,100%);max-width:650px;width:52%}.content-search-wrap>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;z-index:2}.content-search-input{padding-left:40px}.content-data-table th a{display:flex;align-items:center;gap:6px;color:#334155;text-decoration:none;font-weight:600}.content-data-table th a:after{content:'\f0dc';font-family:'Font Awesome 6 Free';font-weight:900;font-size:11px;color:#94a3b8}.content-data-table th a:hover{color:#0b74b7}.content-data-table th:last-child{white-space:nowrap}.content-data-table td:nth-child(5),.content-data-table th:nth-child(5),.content-data-table td:nth-child(6),.content-data-table th:nth-child(6){text-align:center}.content-data-table tbody tr[style*="display: none"]{display:none!important}
@media(max-width:767.98px){.content-search-wrap{width:100%;min-width:100%}}

/* =========================================================
   v7: Content Edit UX/UI rebuild + Quill layout fix
   ========================================================= */
.content-edit-page{max-width:1480px;margin:0 auto}.edit-back-btn{white-space:nowrap}.edit-section{overflow:visible}.edit-section-head{padding:18px 22px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:16px 16px 0 0}.edit-section-head h2{font-size:17px;font-weight:700;margin:0;color:#1f2937}.edit-section-head p{font-size:12px;color:#64748b;margin:3px 0 0}.edit-section-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf5fb;color:#0b74b7;font-size:17px}.edit-section-body{padding:24px}.content-edit-page .form-label{font-weight:600;color:#334155;margin-bottom:7px}.content-edit-page .form-control{min-height:42px;border-color:#dbe3ec;border-radius:10px;box-shadow:none}.content-edit-page textarea.form-control{min-height:auto}.content-edit-page .form-control:focus{border-color:#76b9df;box-shadow:0 0 0 3px rgba(11,116,183,.09)}.content-edit-page .form-text{font-size:12px;color:#718096;line-height:1.5}

/* Rich editor: Quill 1.3.x sets .ql-container height:100%; override it explicitly.
   Without this, the editor can overflow Bootstrap rows and overlap following controls. */
.rich-field{position:relative;display:block;clear:both}.rich-field-label{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.editor-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;background:#eef7fc;color:#0b74b7;font-size:11px;font-weight:600}.rich-editor-frame{position:relative;display:block;width:100%;border-radius:11px;background:#fff}.rich-editor-source{display:none!important}.rich-editor.ql-container{height:280px!important;min-height:280px!important;max-height:280px!important;overflow:hidden!important;background:#fff;border-color:#dbe3ec!important;border-radius:0 0 10px 10px!important}.rich-editor-lg.ql-container{height:320px!important;min-height:320px!important;max-height:320px!important}.rich-editor-md.ql-container{height:220px!important;min-height:220px!important;max-height:220px!important}.rich-editor .ql-editor{height:100%!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;font-family:'Prompt',sans-serif!important;font-size:14px!important;line-height:1.75!important;padding:16px 18px!important}.rich-editor .ql-editor p{margin-bottom:.5rem}.rich-editor-frame>.ql-toolbar.ql-snow{position:relative!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:2px!important;width:100%!important;height:auto!important;min-height:46px!important;padding:7px 10px!important;border:1px solid #dbe3ec!important;border-bottom:0!important;border-radius:10px 10px 0 0!important;background:#f8fafc!important;z-index:2!important}.rich-editor-frame>.ql-toolbar.ql-snow .ql-formats{margin-right:8px!important}.rich-editor-frame>.ql-container.ql-snow{position:relative!important;width:100%!important}.ql-snow .ql-tooltip{z-index:1200!important}.ql-snow .ql-tooltip.ql-editing{left:12px!important}

/* Image upload blocks */
.image-upload-card{height:100%;padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfdff}.image-upload-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.image-upload-title>div{display:flex;flex-direction:column}.image-upload-title strong{font-size:14px;color:#1f2937}.image-upload-title span{font-size:11px;color:#718096;margin-top:2px}.image-upload-title>i{font-size:20px;color:#8abbd9}.image-preview-box{position:relative;min-height:190px;border:1px dashed #cbd8e5;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px}.admin-content-preview{display:block!important;width:100%!important;max-width:100%!important;height:190px!important;object-fit:contain!important;border:0!important;border-radius:8px!important;background:#fff}.image-preview-empty{min-height:165px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#94a3b8}.image-preview-empty i{font-size:30px}.image-preview-empty span{font-size:12px}

/* Publish/save */
.publish-toggle-box{min-height:62px;border:1px solid #dbe3ec;border-radius:12px;background:#f8fafc;padding:13px 16px;display:flex;align-items:center;gap:12px}.publish-toggle-box .publish-check input{width:18px;height:18px;margin:0}.publish-toggle-box>div{display:flex;flex-direction:column}.publish-toggle-box strong{font-size:13px;color:#1f2937}.publish-toggle-box span{font-size:11px;color:#718096;margin-top:2px}.edit-savebar{padding:15px 22px;border-top:1px solid #edf1f5;background:#fbfcfe;border-radius:0 0 16px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}

@media(max-width:767.98px){.edit-section-head{padding:16px}.edit-section-body{padding:18px}.rich-field-label{align-items:flex-start;flex-direction:column;gap:8px}.rich-editor-lg.ql-container{height:280px!important;min-height:280px!important;max-height:280px!important}.rich-editor-md.ql-container{height:210px!important;min-height:210px!important;max-height:210px!important}.edit-savebar{align-items:stretch;flex-direction:column}.edit-savebar>div:last-child{display:grid!important;grid-template-columns:1fr 1fr}.edit-savebar .btn{width:100%}.image-preview-box{min-height:160px}.admin-content-preview{height:160px!important}}
