:root { --admin-blue:#0a5fbf; --admin-deep:#071f3b; --admin-bg:#f3f6f9; --admin-border:#dce3ea; --admin-text:#1d2936; --admin-muted:#667485; }
* { box-sizing: border-box; }
body { font-family: Inter,"Segoe UI",Arial,sans-serif; color:var(--admin-text); }
.admin-body { margin:0; background:var(--admin-bg); }
.admin-shell { min-height:100vh; display:flex; }
.admin-sidebar { width:260px; position:fixed; inset:0 auto 0 0; background:var(--admin-deep); color:#fff; display:flex; flex-direction:column; z-index:1030; transition:transform .2s ease; }
.admin-logo { color:#fff; padding:1.7rem 1.6rem; border-bottom:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; }
.admin-logo:hover { color:#fff; }
.admin-logo span { font-size:1.55rem; font-weight:800; letter-spacing:.12em; }
.admin-logo small { color:#92b6d7; letter-spacing:.16em; font-size:.58rem; margin-top:.2rem; }
.admin-nav { padding:1.2rem .8rem; display:flex; flex-direction:column; gap:.25rem; }
.admin-nav a { color:#b9c9d8; padding:.78rem .9rem; border-radius:8px; font-weight:600; font-size:.91rem; }
.admin-nav a:hover,.admin-nav a.active { background:rgba(255,255,255,.1); color:#fff; }
.admin-sidebar-footer { margin-top:auto; padding:1.3rem 1.6rem; border-top:1px solid rgba(255,255,255,.1); }
.admin-sidebar-footer a { color:#a9c8e5; font-size:.86rem; }
.admin-main { margin-left:260px; width:calc(100% - 260px); min-height:100vh; }
.admin-header { height:70px; background:#fff; border-bottom:1px solid var(--admin-border); display:flex; align-items:center; padding:0 2rem; position:sticky; top:0; z-index:1020; }
.sidebar-toggle { display:none; border:0; background:transparent; font-size:1.35rem; }
.admin-user { font-size:.88rem; font-weight:650; }
.admin-content { padding:2rem; max-width:1500px; margin:0 auto; }
.admin-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:1.7rem; }
.admin-page-heading span { color:var(--admin-blue); font-size:.72rem; letter-spacing:.14em; font-weight:800; }
.admin-page-heading h1 { font-size:2rem; margin:.25rem 0; font-weight:760; }
.admin-page-heading p { color:var(--admin-muted); margin:0; }
.admin-panel { background:#fff; border:1px solid var(--admin-border); border-radius:14px; padding:1.5rem; box-shadow:0 8px 30px rgba(18,52,84,.04); }
.panel-heading { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1.3rem; padding-bottom:1rem; border-bottom:1px solid var(--admin-border); }
.panel-heading h2 { font-size:1.2rem; margin:0 0 .2rem; }
.panel-heading p { color:var(--admin-muted); margin:0; font-size:.9rem; }
.stat-card { background:#fff; border:1px solid var(--admin-border); border-radius:14px; padding:1.35rem; color:var(--admin-text); display:flex; flex-direction:column; min-height:160px; box-shadow:0 8px 30px rgba(18,52,84,.04); }
.stat-card:hover { color:var(--admin-text); border-color:#b8ccdf; transform:translateY(-2px); }
.stat-card span { color:var(--admin-muted); font-size:.85rem; }
.stat-card strong { font-size:2.5rem; line-height:1; margin:auto 0 .35rem; }
.stat-card small { color:var(--admin-muted); }
.stat-card.accent strong { color:var(--admin-blue); }
.quick-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.quick-actions a { border:1px solid var(--admin-border); border-radius:10px; padding:1rem; font-weight:650; color:var(--admin-text); }
.quick-actions a:hover { border-color:var(--admin-blue); color:var(--admin-blue); }
.form-label { font-weight:650; font-size:.9rem; }
.form-control,.form-select { min-height:47px; border-color:#cfd8e1; border-radius:8px; }
textarea.form-control { min-height:auto; }
.form-control:focus,.form-select:focus { border-color:var(--admin-blue); box-shadow:0 0 0 .2rem rgba(10,95,191,.12); }
.btn { border-radius:8px; font-weight:650; }
.btn-primary { background:var(--admin-blue); border-color:var(--admin-blue); }
.text-danger { font-size:.82rem; }
.sticky-save { position:sticky; bottom:1rem; display:flex; justify-content:flex-end; padding:1rem; background:rgba(255,255,255,.94); border:1px solid var(--admin-border); border-radius:12px; box-shadow:0 8px 30px rgba(18,52,84,.12); }
.admin-table { margin:0; }
.admin-table th { color:var(--admin-muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; border-bottom-width:1px; white-space:nowrap; }
.admin-table td { vertical-align:middle; }
.admin-table td strong,.admin-table td small { display:block; }
.admin-table td small { color:var(--admin-muted); max-width:460px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.unread-row { background:#f0f7ff; }
.status-pill { display:inline-block; border-radius:999px; padding:.3rem .65rem; font-size:.75rem; font-weight:750; white-space:nowrap; }
.status-pill.published,.status-pill.read,.status-pill.quote-4 { background:#e8f7ef; color:#167044; }
.status-pill.draft { background:#eef1f4; color:#637181; }
.status-pill.new,.status-pill.quote-0 { background:#e6f2ff; color:#0757a7; }
.status-pill.quote-1 { background:#fff4d8; color:#805f00; }
.status-pill.quote-2 { background:#e8f6f6; color:#176565; }
.status-pill.quote-3 { background:#efeaff; color:#5733a8; }
.admin-preview { width:180px; height:120px; object-fit:cover; border-radius:8px; border:1px solid var(--admin-border); display:block; }
.detail-title { font-size:1.15rem; margin-bottom:1.2rem; }
.detail-subtitle { font-size:1rem; margin:1.5rem 0 .8rem; }
.message-body { white-space:pre-wrap; color:#465566; line-height:1.7; }
.admin-details { margin:0; }
.admin-details dt { color:var(--admin-muted); font-size:.78rem; margin-top:1rem; }
.admin-details dt:first-child { margin-top:0; }
.admin-details dd { margin:.2rem 0 0; font-weight:600; }
.admin-details.grid { display:grid; grid-template-columns:160px 1fr; gap:.8rem 1rem; }
.admin-details.grid dt,.admin-details.grid dd { margin:0; padding:.6rem 0; border-bottom:1px solid var(--admin-border); }
.login-body { min-height:100vh; display:grid; place-items:center; background:linear-gradient(140deg,#061d38,#0a5fbf); padding:1.5rem; }
.login-card { width:min(430px,100%); background:#fff; border-radius:18px; padding:2.3rem; box-shadow:0 30px 80px rgba(0,0,0,.25); }
.login-brand { display:flex; flex-direction:column; color:var(--admin-blue); margin-bottom:2rem; }
.login-brand strong { font-size:1.55rem; letter-spacing:.12em; }
.login-brand span { color:var(--admin-muted); font-size:.62rem; letter-spacing:.15em; }
.login-card h1 { font-size:1.7rem; }
.login-card > p { color:var(--admin-muted); }
.back-link { display:block; text-align:center; margin-top:1.4rem; color:var(--admin-muted); font-size:.85rem; }
@media(max-width:991.98px){.admin-sidebar{transform:translateX(-100%)}.admin-sidebar.open{transform:none}.admin-main{margin-left:0;width:100%}.sidebar-toggle{display:block}.admin-content{padding:1.2rem}.quick-actions{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.admin-page-heading{align-items:flex-start;flex-direction:column}.quick-actions{grid-template-columns:1fr}.admin-header{padding:0 1rem}.admin-user{display:none}.admin-details.grid{grid-template-columns:1fr}.admin-details.grid dt{border-bottom:0;padding-bottom:0}.admin-details.grid dd{padding-top:0}}


.account-panel {
    max-width: 620px;
}

.theme-card { height:100%; overflow:hidden; background:#fff; border:1px solid var(--admin-border); border-radius:14px; box-shadow:0 8px 30px rgba(18,52,84,.04); transition:border-color .2s ease, transform .2s ease; }
.theme-card:hover { transform:translateY(-2px); border-color:#b8ccdf; }
.theme-card.active { border:2px solid var(--admin-blue); }
.theme-preview-image { position:relative; aspect-ratio:16/9; overflow:hidden; background:#e9eef3; border-bottom:1px solid var(--admin-border); }
.theme-preview-image img { width:100%; height:100%; object-fit:cover; display:block; }
.theme-badges { position:absolute; left:1rem; top:1rem; display:flex; flex-wrap:wrap; gap:.45rem; }
.theme-card-body { padding:1.35rem; }
.theme-card-body h2 { font-size:1.25rem; margin:0 0 .2rem; }
.theme-card-body code { color:var(--admin-muted); font-size:.78rem; }
.theme-card-body p { color:var(--admin-muted); min-height:3.2rem; margin:1rem 0 1.25rem; }
.theme-version { color:var(--admin-muted); font-size:.78rem; white-space:nowrap; }
.theme-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.theme-actions form { flex:1; }
.theme-actions .btn { width:100%; white-space:nowrap; }
.theme-guide { color:var(--admin-muted); }
.theme-file-list { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.theme-file-list code { padding:.55rem .75rem; background:#f3f6f9; border:1px solid var(--admin-border); border-radius:7px; color:var(--admin-text); }
.empty-admin-state { text-align:center; padding:3rem 1rem; }
.empty-admin-state h2 { font-size:1.35rem; }
.empty-admin-state p { color:var(--admin-muted); margin-bottom:0; }

.hero-admin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.hero-admin-card { overflow:hidden; background:#fff; border:1px solid var(--admin-border); border-radius:14px; box-shadow:0 8px 30px rgba(18,52,84,.04); }
.hero-admin-card.active { border:2px solid var(--admin-blue); }
.hero-admin-preview { position:relative; aspect-ratio:6/5; overflow:hidden; background:#e9eef3; border-bottom:1px solid var(--admin-border); }
.hero-admin-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.hero-active-badge { position:absolute; top:1rem; left:1rem; }
.hero-admin-fallback { width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.25rem; text-align:center; padding:1.5rem; background:linear-gradient(145deg,#e9f3ff,#f8fafc); }
.hero-admin-fallback span { color:var(--admin-blue); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero-admin-fallback strong { color:#173451; font-size:2rem; letter-spacing:.12em; }
.hero-admin-fallback small { max-width:260px; color:var(--admin-muted); line-height:1.45; }
.hero-admin-body { padding:1.25rem; }
.hero-admin-body h3 { margin:0 0 .2rem; font-size:1.18rem; }
.hero-admin-body code { color:var(--admin-muted); font-size:.76rem; }
.hero-admin-body p { min-height:3rem; margin:.8rem 0 1.2rem; color:var(--admin-muted); font-size:.87rem; }
.hero-upload-form .form-text { display:block; margin-top:.5rem; color:var(--admin-muted); font-size:.78rem; }
.hero-upload-form .btn { width:100%; }
@media(max-width:1199.98px){.hero-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.hero-admin-grid{grid-template-columns:1fr}}

.admin-content-thumb { width:84px; height:56px; object-fit:cover; border-radius:7px; border:1px solid var(--admin-border); display:block; background:#f4f7fa; }
.admin-content-thumb.empty { display:grid; place-items:center; color:var(--admin-muted); font-weight:700; }
.corporate-hero-admin-preview { position:relative; aspect-ratio:3/1; min-height:210px; overflow:hidden; border:1px solid var(--admin-border); border-radius:12px; background:#e9eef3; }
.corporate-hero-admin-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.corporate-hero-admin-preview .hero-admin-fallback { min-height:210px; }
.corporate-hero-admin-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:.4rem; padding:2rem; color:#fff; background:linear-gradient(90deg,rgba(3,31,61,.88),rgba(4,55,103,.58),rgba(5,78,142,.18)); }
.corporate-hero-admin-overlay span { font-size:.7rem; font-weight:800; letter-spacing:.16em; }
.corporate-hero-admin-overlay strong { max-width:75%; font-size:clamp(1.15rem,2.2vw,1.9rem); line-height:1.12; }
@media(max-width:767.98px){.corporate-hero-admin-preview{aspect-ratio:16/9;min-height:180px}.corporate-hero-admin-overlay{padding:1.25rem}.corporate-hero-admin-overlay strong{max-width:100%}}
.corporate-side-admin-preview { aspect-ratio:4/3; max-width:620px; min-height:280px; overflow:hidden; border:1px solid var(--admin-border); border-radius:12px; background:#e9eef3; }
.corporate-side-admin-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.corporate-side-admin-preview .hero-admin-fallback { min-height:280px; }
@media(max-width:767.98px){.corporate-side-admin-preview{min-height:220px}}

.admin-certificate-thumb { width:64px; height:82px; object-fit:contain; padding:3px; background:#fff; border:1px solid var(--admin-border); border-radius:6px; display:block; }
.admin-certificate-preview { width:min(320px,100%); max-height:440px; object-fit:contain; padding:.5rem; background:#f8fafc; border:1px solid var(--admin-border); border-radius:10px; display:block; }

.logo-admin-card { height:100%; padding:1.25rem; border:1px solid var(--admin-border); border-radius:12px; background:#fff; }
.logo-admin-card h3 { font-size:1.12rem; margin:0 0 .35rem; }
.logo-admin-card > div:first-child > p { color:var(--admin-muted); font-size:.87rem; margin-bottom:1rem; }
.logo-admin-preview { position:relative; min-height:150px; margin-bottom:1.1rem; padding:1.25rem; border:1px solid var(--admin-border); border-radius:10px; display:grid; place-items:center; overflow:hidden; }
.logo-admin-preview.light { background-color:#f5f7fa; background-image:linear-gradient(45deg,#e8edf2 25%,transparent 25%),linear-gradient(-45deg,#e8edf2 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e8edf2 75%),linear-gradient(-45deg,transparent 75%,#e8edf2 75%); background-size:20px 20px; background-position:0 0,0 10px,10px -10px,-10px 0; }
.logo-admin-preview.dark { background:linear-gradient(145deg,#071d35,#0a3158); }
.logo-admin-preview img { display:block; width:auto; max-width:92%; max-height:110px; object-fit:contain; }
.logo-admin-fallback { display:flex; flex-direction:column; align-items:center; gap:.25rem; color:var(--admin-text); }
.logo-admin-fallback strong { color:var(--admin-blue); font-size:1.7rem; letter-spacing:.12em; }
.logo-admin-fallback span { color:var(--admin-muted); font-size:.8rem; }
.logo-admin-fallback.dark strong,.logo-admin-fallback.dark span { color:#fff; }
.logo-inherited-badge { position:absolute; right:.75rem; bottom:.75rem; padding:.3rem .55rem; border-radius:999px; background:rgba(255,255,255,.9); color:#173451; font-size:.7rem; font-weight:700; }
