.cms-theme { --cms-green: #51e591; --cms-text: #edf9f2; --cms-muted: #9eafa4; --cms-edge: #e8fff023; --cms-glass: radial-gradient(ellipse at 15% 0%, #c7ffe509, transparent 60%), linear-gradient(145deg, #24382d55, #08140ed9 60%, #15261b55); color: var(--cms-text); font-family: 'DM Sans', sans-serif; background: radial-gradient(ellipse at 0 0, #12342166, transparent 50%), #050c08 !important; color-scheme: dark; }
.cms-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); height: 100dvh; padding: 20px; gap: 24px; overflow: hidden; }
.cms-sidebar { display: flex; flex-direction: column; min-width: 0; padding: 24px 16px 16px; border: 1px solid var(--cms-edge) !important; border-radius: 28px; background: var(--cms-glass) !important; box-shadow: inset 0 1px 0 #ffffff16; backdrop-filter: blur(18px); }
.cms-brand { display: flex; align-items: center; gap: 12px; padding: 4px 8px 30px; color: var(--cms-text); text-decoration: none; }
.cms-brand img { width: 44px; height: 48px; object-fit: contain; }
.cms-brand > span { font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 700; letter-spacing: -.3px; }
.cms-brand small { display: block; margin-top: 5px; color: var(--cms-muted); font-size: 8px; letter-spacing: 2px; font-weight: 500; }
.cms-menu-label { padding: 8px 14px 16px; font-size: 10px; letter-spacing: 1.7px; color: var(--cms-muted); text-transform: uppercase; }
.cms-nav { display: grid; gap: 8px; }
.cms-nav button, .cms-server #admin-sidebar nav > a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px 16px; border: 1px solid transparent; border-radius: 100px; background: transparent; color: var(--cms-muted); font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.cms-nav button:hover { background: #ffffff07; color: var(--cms-text); }
.cms-nav button.cms-nav-current, .cms-theme .nav-link-active { border: 1px solid #e8fff03a !important; background: linear-gradient(145deg, #ffffff18, #ffffff04) !important; box-shadow: inset 0 1px 2px #ffffff24; color: var(--cms-text) !important; }
.cms-nav-current > svg:first-child { color: var(--cms-green); }
.cms-nav-arrow { margin-left: auto; opacity: .55; }
.cms-sidebar-footer { margin-top: auto; padding-top: 24px; }
.cms-account { display: flex; align-items: center; gap: 10px; padding: 12px 4px 18px; }
.cms-avatar { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; background: #51e59110; color: var(--cms-green); border: 1px solid #51e59130; font-size: 11px; text-transform: uppercase; }
.cms-account > div { min-width: 0; flex: 1; }
.cms-account strong, .cms-account small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cms-account strong { font-size: 11px; font-weight: 500; }
.cms-account small { margin-top: 3px; font-size: 9px; color: var(--cms-muted); }
.cms-account button { display: grid; place-items: center; color: var(--cms-muted); background: none; border: 0; padding: 6px; cursor: pointer; }
.cms-site-link { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; color: var(--cms-text); border: 1px solid var(--cms-edge); border-radius: 100px; font-size: 12px; text-decoration: none; }
.cms-site-link svg { color: var(--cms-green); }
.cms-workspace { min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.cms-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 8px 24px; flex-shrink: 0; }
.cms-eyebrow { color: var(--cms-muted); font-size: 10px; letter-spacing: .8px; }
.cms-theme .cms-topbar h1 { margin: 6px 0 0; font-size: 24px; font-weight: 500; letter-spacing: -.7px; }
.cms-status { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--cms-edge); border-radius: 100px; padding: 9px 14px; color: var(--cms-muted); font-size: 11px; }
.cms-status i { width: 5px; height: 5px; border-radius: 50%; background: var(--cms-green); }
.cms-content { overflow-y: auto; min-height: 0; flex: 1; padding: 0 8px 24px; scrollbar-color: #ffffff25 transparent; }
.cms-content > div { max-width: 1440px; margin-inline: auto; }
.cms-theme :is(h1,h2,h3,h4) { font-family: 'Manrope', sans-serif; color: var(--cms-text); }
.cms-theme [class*="border-slate-"] { border-color: var(--cms-edge) !important; }
.cms-theme :is([class*="bg-slate-9"],.glass-panel,.glass-card,.login-card) { background: var(--cms-glass) !important; box-shadow: inset 0 1px 0 #ffffff14, 0 12px 32px #0002; }
.cms-theme :is([class*="text-slate-3"],[class*="text-slate-4"],[class*="text-slate-5"]) { color: var(--cms-muted) !important; }
.cms-theme :is([class*="text-lime-"],[class*="text-emerald-"]) { color: var(--cms-green) !important; }
.cms-theme :is(button,a)[class*="bg-lime-500"] { background: linear-gradient(135deg, #24c600, #007b19) !important; color: #041a06 !important; border: 1px solid #51e59140; box-shadow: inset 0 1px 0 #ffffff30, 0 4px 16px #24c60018; }
.cms-theme :is(button,a)[class*="rounded-xl"],.cms-theme :is(button,a)[class*="rounded-lg"] { border-radius: 100px; }
.cms-theme :is(button,a)[class*="bg-slate-8"] { background: linear-gradient(145deg, #ffffff10, #ffffff03) !important; border: 1px solid var(--cms-edge); color: var(--cms-text); box-shadow: inset 0 1px 0 #ffffff14; }
.cms-theme :is(input:not([type="checkbox"]):not([type="file"]),select,textarea) { background: #050e09bb !important; border-color: var(--cms-edge) !important; color: var(--cms-text) !important; min-height: 42px; }
.cms-theme select option { background: #0b1911; color: var(--cms-text); }
.cms-theme :is(input,select,textarea):focus { outline: none; border-color: #51e59180 !important; box-shadow: 0 0 0 3px #51e5910c; }
.cms-theme :is(a,button):focus-visible { outline: 2px solid var(--cms-green); outline-offset: 3px; }
.cms-theme .rounded-2xl { border-radius: 24px; }
.cms-theme th { color: var(--cms-muted); font-weight: 500; }
.cms-login { min-height: 100dvh; }
.cms-login-brand { display: block; width: 62px; height: 68px; object-fit: contain; margin: 0 auto 20px; }
.cms-theme input::placeholder, .cms-theme textarea::placeholder { color: #778f80; }
.cms-theme .cms-content h1 { font-size: clamp(24px, 2.5vw, 34px); font-weight: 500; letter-spacing: -.8px; }
.cms-theme .cms-content h2 { font-weight: 500; }
.cms-theme .cms-content button { min-height: 36px; }
.cms-server { padding: 20px; gap: 24px; }
.cms-server #admin-sidebar { width: 248px; flex-shrink: 0; }
.cms-server #admin-sidebar > div:first-child { height: auto; min-height: 90px; padding: 0 8px; border: 0; }
.cms-server #admin-sidebar nav { padding-inline: 0; }
.cms-server .cms-topbar { height: auto; min-height: 80px; background: none !important; border: 0 !important; box-shadow: none !important; }
.cms-server #admin-sidebar > div:last-child { background: transparent !important; }
.cms-server .cms-content { padding: 8px 8px 24px; }
@media (max-width: 1000px) { .cms-shell { grid-template-columns: 200px minmax(0,1fr); padding: 12px; gap: 16px; } .cms-sidebar { padding-inline: 12px; } .cms-brand > span { font-size: 15px; } .cms-server { padding: 12px; gap: 16px; } .cms-server #admin-sidebar { width: 200px; } }
@media (max-width: 700px) { .cms-shell { display: flex; flex-direction: column; height: auto; min-height: 100dvh; overflow: visible; } .cms-sidebar { padding: 14px; flex-shrink: 0; } .cms-brand { padding: 0 4px 14px; } .cms-brand img { width: 32px; height: 36px; } .cms-menu-label,.cms-sidebar-footer,.cms-status { display: none; } .cms-nav { display: flex; gap: 6px; } .cms-nav button { flex: 1; justify-content: center; gap: 8px; padding: 10px 8px; font-size: 12px; min-height: 42px; } .cms-nav-arrow { display: none; } .cms-workspace,.cms-content { overflow: visible; } .cms-content { padding-inline: 0; } .cms-topbar { padding: 8px 4px 20px; } .cms-server { flex-direction: column; overflow: auto; } .cms-server #admin-sidebar { width: 100%; } .cms-server #admin-sidebar nav { display: flex; padding: 12px 0 0; } .cms-server #admin-sidebar nav > div,.cms-server #admin-sidebar > div:last-child { display: none; } .cms-server #admin-sidebar nav > a { flex: 1; justify-content: center; font-size: 12px; padding: 10px; } }
@media (max-width: 700px) { .cms-sidebar-footer { display: block; padding-top: 10px; } .cms-account { padding-bottom: 0; } .cms-sidebar-footer .cms-site-link { display: none; } .cms-server #admin-sidebar > div:last-child { display: block; padding-bottom: 0; margin-top: 10px; } }
/* Keep the React CMS independent of the public site's utility stylesheet. */
.cms-theme .relative { position: relative; }
.cms-theme .absolute { position: absolute; }
.cms-theme .flex { display: flex; }
.cms-theme .inline-flex { display: inline-flex; }
.cms-theme .grid { display: grid; }
.cms-theme .block { display: block; }
.cms-theme .hidden { display: none; }
.cms-theme .flex-col { flex-direction: column; }
.cms-theme .flex-wrap { flex-wrap: wrap; }
.cms-theme .items-center { align-items: center; }
.cms-theme .justify-between { justify-content: space-between; }
.cms-theme .justify-center { justify-content: center; }
.cms-theme .flex-1 { flex: 1; }
.cms-theme .w-full { width: 100%; }
.cms-theme .h-full { height: 100%; }
.cms-theme .gap-2 { gap: 8px; }
.cms-theme .gap-3 { gap: 12px; }
.cms-theme .gap-4 { gap: 16px; }
.cms-theme .gap-5 { gap: 20px; }
.cms-theme .gap-6 { gap: 24px; }
.cms-theme .p-3 { padding: 12px; }
.cms-theme .p-4 { padding: 16px; }
.cms-theme .p-5 { padding: 20px; }
.cms-theme .p-6 { padding: 24px; }
.cms-theme .p-8 { padding: 32px; }
.cms-theme .space-y-3 > * + * { margin-top: 12px; }
.cms-theme .space-y-4 > * + * { margin-top: 16px; }
.cms-theme .space-y-5 > * + * { margin-top: 20px; }
.cms-theme .space-y-6 > * + * { margin-top: 24px; }
.cms-theme .text-xs { font-size: 12px; line-height: 1.6; }
.cms-theme .text-sm { font-size: 14px; line-height: 1.6; }
.cms-theme .text-lg { font-size: 20px; }
.cms-theme .text-xl { font-size: 24px; }
.cms-theme .text-2xl { font-size: 28px; }
.cms-theme .text-3xl { font-size: 36px; }
.cms-theme .font-bold,.cms-theme .font-semibold { font-weight: 600; }
.cms-theme .font-extrabold { font-weight: 650; }
.cms-theme .rounded-xl { border-radius: 14px; }
.cms-theme .overflow-hidden { overflow: hidden; }
.cms-theme .border { border-width: 1px; border-style: solid; }
.cms-theme .grid-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cms-theme .mt-2 { margin-top: 8px; }
.cms-theme .mt-4 { margin-top: 16px; }
.cms-theme .mt-5 { margin-top: 20px; }
.cms-theme .mb-2 { margin-bottom: 8px; }
.cms-theme .mb-6 { margin-bottom: 24px; }
.cms-theme .mb-8 { margin-bottom: 32px; }
.cms-theme :is(input:not([type='checkbox']):not([type='file']),select,textarea) { box-sizing: border-box; padding: 11px 14px; width: 100%; border-radius: 14px; border-width: 1px; border-style: solid; font: inherit; font-size: 13px; }
.cms-theme .relative > input { padding-left: 40px; }
.cms-theme .relative > svg { position: absolute; left: 14px; top: 14px; }
.cms-theme :is(button,a)[class*='px-'] { padding: 10px 18px; cursor: pointer; }
.cms-login { display: flex; align-items: center; justify-content: center; padding: 32px 20px; }
.cms-login > .max-w-md { width: min(100%, 460px); }
.cms-login .text-center { text-align: center; }
.cms-login label { display: block; margin-bottom: 8px; color: var(--cms-muted); font-size: 12px; }
.cms-login form button[type='submit'] { width: 100%; padding: 14px 20px; margin-top: 8px; background: linear-gradient(135deg,#24c600,#007b19) !important; color: #041a06; border-radius: 100px; border: 1px solid #51e59140; }
.cms-login form + div { margin-top: 24px; padding-top: 20px; text-align: center; }
.cms-login > div > div:last-child { margin-top: 24px; text-align: center; color: var(--cms-muted); font-size: 11px; }
@media (min-width: 768px) { .cms-theme .md\:grid-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1024px) { .cms-theme .lg\:grid-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)); } .cms-theme .lg\:flex-row { flex-direction: row; } }
.cms-theme .relative > input:not([type='checkbox']):not([type='file']) { padding-left: 40px; }
.cms-theme .fixed { position: fixed; }
.cms-theme .inset-0 { inset: 0; }
.cms-theme .z-50 { z-index: 50; }
.cms-theme .max-w-lg { max-width: 560px; }
.cms-theme .max-w-4xl { max-width: 1000px; }
.cms-theme .mx-auto { margin-inline: auto; }
.cms-theme .aspect-video { aspect-ratio: 16 / 9; }
.cms-theme .aspect-square { aspect-ratio: 1; }
.cms-theme .object-cover { object-fit: cover; }
.cms-theme .object-contain { object-fit: contain; }
.cms-theme .grid-cols-1 { grid-template-columns: minmax(0,1fr); }
@media (min-width: 640px) { .cms-theme .sm\:grid-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 768px) { .cms-theme .md\:grid-cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (min-width: 1024px) { .cms-theme .lg\:grid-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)); } }
