/* Scoped presentation for the existing logo/favicon upload form. */
.admincore-admin .admincore-branding { max-width:1240px; margin-inline:auto; }
.admincore-branding .ac-brand-intro { margin-bottom:24px; }
.admincore-admin .ac-brand-intro h2 { font-size:23px; font-weight:450; margin:0 0 8px; }
.admincore-branding .ac-brand-intro p { max-width:760px; margin:0; line-height:1.65; }
.admincore-branding .ac-brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.admincore-branding .ac-brand-card { min-width:0; background:#fff; border:1px solid #e1e8f2; border-radius:18px; overflow:hidden; box-shadow:0 8px 22px #19305c06; }
.admincore-branding .ac-brand-card-heading { padding:22px 22px 18px; }
.admincore-branding .ac-brand-slot-number { display:inline-block; color:#517099; font-size:11px; letter-spacing:.12em; margin-bottom:10px; }
.admincore-admin .ac-brand-card h3 { font-size:17px; font-weight:500; margin:0 0 8px; }
.admincore-branding .ac-brand-card-heading p { margin:0; min-height:44px; font-size:13px; line-height:1.65; }
.admincore-branding .ac-brand-preview { position:relative; height:202px; margin:0 14px; border:1px solid #e3eaf3; border-radius:12px; overflow:hidden; }
.admincore-branding .ac-brand-preview--light { background:#fafcfe; }
.admincore-branding .ac-brand-preview--dark { background:#102343; border-color:#102343; }
.admincore-branding .ac-brand-surface-label { position:absolute; top:14px; left:15px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#73839b; }
.admincore-branding .ac-brand-preview--dark .ac-brand-surface-label { color:#a3b6d0; }
.admincore-branding .ac-brand-logo-stage { height:164px; display:flex; align-items:center; justify-content:center; padding:40px 24px 20px; }
.admincore-branding .ac-brand-uploaded-logo { max-width:100%; max-height:92px; object-fit:contain; }
.admincore-branding .ac-brand-example { display:flex; gap:10px; align-items:center; font-size:23px; letter-spacing:-.04em; font-weight:500; color:#193258; }
.admincore-branding .ac-brand-preview--dark .ac-brand-example { color:#f4f8ff; }
.admincore-branding [hidden] { display:none!important; }
.admincore-branding .ac-brand-preview figcaption { position:absolute; bottom:12px; inset-inline:12px; text-align:center; font-size:10px; line-height:1.4; color:#6c7d94; }
.admincore-branding .ac-brand-preview--dark figcaption { color:#9fb3ce; }
.admincore-branding .ac-brand-preview--tab { background:#edf2f8; display:flex; align-items:center; padding:20px 15px 40px; }
.admincore-branding .ac-brand-browser { width:100%; border:1px solid #d5deea; border-radius:9px; overflow:hidden; box-shadow:0 4px 12px #19305c0a; }
.admincore-branding .ac-brand-browser-bar { display:flex; align-items:end; background:#dde5f0; gap:9px; padding:8px 8px 0; }
.admincore-branding .ac-brand-browser-tab { display:flex; align-items:center; gap:8px; min-width:0; flex:1; background:#fff; border-radius:7px 7px 0 0; padding:10px; font-size:11px; color:#28405d; }
.admincore-branding .ac-brand-browser-tab img { width:18px; height:18px; object-fit:contain; flex:0 0 18px; }
.admincore-branding .ac-brand-browser-tab>span:not(.ac-brand-tab-close) { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.admincore-branding .ac-brand-tab-close { margin-left:auto; color:#71849e; }
.admincore-branding .ac-brand-tab-add { padding:0 1px 9px; color:#647991; }
.admincore-branding .ac-brand-browser-page { display:grid; gap:7px; background:#fff; padding:17px 16px 20px; }
.admincore-branding .ac-brand-browser-page span { height:5px; border-radius:3px; background:#eaf0f7; }
.admincore-branding .ac-brand-browser-page span:first-child { width:45%; background:#d5e4f7; }
.admincore-branding .ac-brand-browser-page span:last-child { width:74%; }
.admincore-branding .ac-brand-upload { padding:20px 22px 22px; }
.admincore-branding .ac-brand-file-input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.admincore-branding .ac-brand-file-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:9px 14px; margin:0; min-height:42px; border:1px solid #cbd8e9; border-radius:9px; background:#fff; color:#244468; font-size:12px; font-weight:500; cursor:pointer; }
.admincore-branding .ac-brand-file-button:hover { background:#f2f7ff; border-color:#a1bfeb; }
.admincore-branding .ac-brand-file-input:focus-visible+.ac-brand-file-button { outline:3px solid #5da6ff; outline-offset:3px; }
.admincore-branding .ac-brand-file-button i { font-size:17px; }
.admincore-branding .ac-brand-file-name { display:block; color:#75869d; font-size:11px; margin-top:10px; overflow-wrap:anywhere; }
.admincore-branding .ac-brand-formats { margin:10px 0 0; color:#75869d; font-size:11px; line-height:1.65; }
.admincore-branding .ac-brand-save { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 0 18px; }
.admincore-branding .ac-brand-save p { margin:0; font-size:12px; }
.admincore-branding .ac-brand-save .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; padding-inline:20px; }
.admincore-branding .ac-brand-cache-note { display:flex; align-items:flex-start; gap:8px; font-size:11px; color:#7b899b; margin:0; }
.admincore-branding .ac-brand-cache-note i { font-size:15px; margin-top:1px; }
@media(max-width:1100px) and (min-width:768px) { .admincore-branding .ac-brand-grid { gap:12px; } .admincore-branding .ac-brand-card-heading,.admincore-branding .ac-brand-upload { padding-inline:16px; } .admincore-branding .ac-brand-card-heading p { min-height:65px; } .admincore-branding .ac-brand-example { font-size:19px; } }
@media(max-width:767px) { .admincore-branding .ac-brand-grid { grid-template-columns:1fr; gap:16px; } .admincore-branding .ac-brand-card-heading p { min-height:0; } .admincore-branding .ac-brand-save { flex-direction:column; align-items:stretch; } .admincore-branding .ac-brand-intro h2 { font-size:21px; } }
