esifawafwu
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
{{-- Admin/mod subpage skin (style guide: square, flat, theme colours). Loaded by snippets/admin-back, scoped to pages that show the back bar, except the .mq card pages which have their own design. --}}
|
||||
<style>
|
||||
/* Scope root: #main of an admin subpage. Most rules sit in :where() (zero specificity) so a page's own
|
||||
classes still win; only corners and form-control surfaces are forced because pages hard-code them inline. */
|
||||
#main:has(> .adm-back):not(:has(.mq)) {
|
||||
--as-accent: var(--accent, #0096ff);
|
||||
--as-text: var(--text-color, var(--white, #fff));
|
||||
--as-muted: var(--text-muted, #8a8f98);
|
||||
--as-surface: rgba(255, 255, 255, 0.04);
|
||||
--as-border: rgba(255, 255, 255, 0.1);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* ── Corners: none, anywhere ─────────────────────────────────────────── */
|
||||
#main:has(> .adm-back):not(:has(.mq)) *,
|
||||
#main:has(> .adm-back):not(:has(.mq)) *::before,
|
||||
#main:has(> .adm-back):not(:has(.mq)) *::after { border-radius: 0 !important; }
|
||||
|
||||
/* ── Layout ──────────────────────────────────────────────────────────── */
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) > .container {
|
||||
max-width: 1200px; margin: 0 auto; padding: 20px 16px 60px; box-sizing: border-box; text-align: left;
|
||||
}
|
||||
|
||||
/* ── Headings ────────────────────────────────────────────────────────── */
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(.container > h1, .container > h2, .admin-header-flex h2, .session-page-title) {
|
||||
margin: 0 0 6px; font-size: 1.8em; font-weight: 800; letter-spacing: -0.01em; line-height: 1.15; color: var(--as-text);
|
||||
text-transform: none;
|
||||
}
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(h3, h4) { font-weight: 700; color: var(--as-text); }
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) .admin-header-flex {
|
||||
display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap;
|
||||
padding-bottom: 16px; margin-bottom: 20px; border-bottom: 1px solid var(--as-border);
|
||||
}
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) hr { border: 0; border-top: 1px solid var(--as-border); margin: 20px 0; }
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) label { color: var(--as-text); }
|
||||
|
||||
/* ── Cards / panels ──────────────────────────────────────────────────── */
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(.upload-form, .admin-form-container, .admin-motd-form, .settings-section, .admin-card) {
|
||||
background: var(--as-surface); border: 1px solid var(--as-border); padding: 18px; box-shadow: none;
|
||||
}
|
||||
|
||||
/* ── Tables ──────────────────────────────────────────────────────────── */
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) table { width: 100%; border-collapse: collapse; background: transparent; color: var(--as-text); }
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(th, thead td) {
|
||||
padding: 10px 12px; text-align: left; font-size: 0.72em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
|
||||
color: var(--as-muted); background: var(--as-surface); border-bottom: 1px solid var(--as-border);
|
||||
}
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) tbody td { padding: 10px 12px; border-bottom: 1px solid var(--as-border); vertical-align: middle; }
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) tbody tr { background: transparent; transition: background 0.12s; }
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) tbody tr:hover { background: var(--as-surface); }
|
||||
|
||||
/* ── Form controls (forced: pages hard-code #333 backgrounds inline) ── */
|
||||
#main:has(> .adm-back):not(:has(.mq)) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not([type=hidden]), select, textarea) {
|
||||
background: var(--as-surface) !important;
|
||||
border: 1px solid var(--as-border) !important;
|
||||
color: var(--as-text) !important;
|
||||
font-family: inherit; box-shadow: none !important; outline: none;
|
||||
transition: border-color 0.15s;
|
||||
}
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not([type=hidden]), select) {
|
||||
min-height: 34px; padding: 6px 10px; box-sizing: border-box;
|
||||
}
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) textarea { padding: 10px 12px; box-sizing: border-box; }
|
||||
#main:has(> .adm-back):not(:has(.mq)) :is(input, select, textarea):focus { border-color: var(--as-accent) !important; }
|
||||
#main:has(> .adm-back):not(:has(.mq)) select option { background: var(--bg, #111); color: var(--as-text); }
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(input[type=checkbox], input[type=radio]) { accent-color: var(--as-accent); }
|
||||
|
||||
/* ── Buttons ─────────────────────────────────────────────────────────── */
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(button, .btn, input[type=submit]) { font-family: inherit; cursor: pointer; }
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(.btn-upload, .btn-primary, button[type=submit], input[type=submit]) {
|
||||
min-height: 36px; padding: 0 18px; border: 1px solid var(--as-accent); background: var(--as-accent); color: #000;
|
||||
font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.82em;
|
||||
transition: background 0.15s, color 0.15s;
|
||||
}
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(.btn-upload, .btn-primary, button[type=submit], input[type=submit]):hover:not(:disabled) {
|
||||
background: transparent; color: var(--as-accent);
|
||||
}
|
||||
:where(#main:has(> .adm-back):not(:has(.mq))) :is(button, .btn):disabled { opacity: 0.5; cursor: not-allowed; }
|
||||
#main:has(> .adm-back):not(:has(.mq)) :is(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--as-accent); outline-offset: 2px; }
|
||||
|
||||
/* ── Modals opened from admin pages ──────────────────────────────────── */
|
||||
#main:has(> .adm-back):not(:has(.mq)) :is(.modal-content, .modal-overlay > div:first-child) {
|
||||
background: var(--bg, #111) !important;
|
||||
border: 1px solid var(--as-accent) !important;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user