mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 11:09:18 +02:00
The file had accumulated severe corruption in its lower half (garbled selector text, variable names spliced into property values, orphaned declarations, broken nesting) alongside hardcoded hex colours throughout. Rewrote the entire file cleanly: - Every colour is now a var() referencing a token defined in variables.css: --accent-primary/secondary/foreground, --accent-blue/green/yellow/red, --bg-secondary/tertiary, --border-primary, --text-primary/secondary/tertiary, --error, --warning, --success, --accent-muted. - Zero raw hex values remain in admin.css. - Removed the corrupted/dead CSS from the bottom half and reconstructed all selectors from what the templates actually use (audited via grep). - Fixed structural issues: broken border shorthand, nested rules that were not valid CSS, orphaned declaration blocks. - New/restored rules: .admin-maintenance-bar (was corrupted), .status-access variants (was corrupted), .admin-section-title--danger, .admin-danger-zone, .admin-account-status (all reconstructed cleanly). - .admin-btn--warning and .admin-btn--danger now use var(--accent-yellow) and var(--accent-red) instead of hardcoded dark hex values. - .admin-btn-remove hover now uses var(--error) instead of #e55. - .admin-btn-unpublish now uses var(--bg-secondary)/var(--text-tertiary) instead of hardcoded grey hex values. - select option background colours removed (browser chrome, not styleable cross-platform). Templates: replace 4 inline var(--admin-text-muted) with var(--text-secondary) in index.php, thanks.php, import.php.
780 lines
18 KiB
CSS
780 lines
18 KiB
CSS
/* ============================================================
|
|
ADMIN SECTION
|
|
============================================================ */
|
|
|
|
@import url("./variables.css");
|
|
|
|
/* ── Layout ────────────────────────────────────────────────────────────── */
|
|
.admin-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.admin-body header nav ul [data-nav-logout] a {
|
|
opacity: 0.6;
|
|
}
|
|
.admin-body header nav ul [data-nav-logout] a:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
.admin-body main {
|
|
flex: 1;
|
|
padding: 2.5rem 2rem 4rem;
|
|
max-width: 1100px;
|
|
width: 100%;
|
|
}
|
|
|
|
.admin-body main > h1 {
|
|
font-size: 1.8rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
margin: 0 0 2.5rem 0;
|
|
}
|
|
|
|
/* ── Forms ─────────────────────────────────────────────────────────────── */
|
|
.admin-form {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0;
|
|
}
|
|
|
|
.admin-form > div:not(.admin-submit-wrap) {
|
|
display: grid;
|
|
grid-template-columns: 260px 1fr;
|
|
align-items: start;
|
|
border-top: 1px solid var(--border-primary);
|
|
padding: 0.75rem 0;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.admin-form > div:not(.admin-submit-wrap):last-of-type {
|
|
border-bottom: 1px solid var(--border-primary);
|
|
}
|
|
|
|
.admin-form > div:not(.admin-submit-wrap) > label {
|
|
font-size: 0.92rem;
|
|
padding-top: 0.5rem;
|
|
font-weight: 400;
|
|
}
|
|
|
|
.admin-form
|
|
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]),
|
|
.admin-form select,
|
|
.admin-form textarea,
|
|
.admin-inline-form input[type="text"],
|
|
.admin-inline-form input[type="number"],
|
|
.admin-inline-form select {
|
|
width: 100%;
|
|
background: transparent;
|
|
border: none;
|
|
border-bottom: 1px solid var(--border-primary);
|
|
font-size: 0.92rem;
|
|
font-family: inherit;
|
|
padding: 0.4rem 0;
|
|
border-radius: 0;
|
|
transition: border-color 0.15s;
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
}
|
|
|
|
.admin-form
|
|
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):focus,
|
|
.admin-form select:focus,
|
|
.admin-form textarea:focus,
|
|
.admin-inline-form input:focus,
|
|
.admin-inline-form select:focus {
|
|
outline: none;
|
|
border-bottom-color: var(--accent-primary);
|
|
}
|
|
|
|
.admin-form input::placeholder,
|
|
.admin-form textarea::placeholder {
|
|
font-size: 0.88rem;
|
|
color: var(--text-tertiary);
|
|
}
|
|
|
|
.admin-form textarea {
|
|
resize: vertical;
|
|
min-height: 100px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* Select custom arrow */
|
|
.admin-form select,
|
|
.admin-inline-form select {
|
|
cursor: pointer;
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
|
|
background-repeat: no-repeat;
|
|
background-position: right 0 center;
|
|
padding-right: 1.2rem;
|
|
}
|
|
|
|
/* File inputs */
|
|
.admin-file-input {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.admin-file-input input[type="file"] {
|
|
font-size: 0.85rem;
|
|
background: transparent;
|
|
border: 1px dashed var(--border-primary);
|
|
padding: 0.4rem 0.6rem;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
font-family: inherit;
|
|
}
|
|
|
|
.admin-file-input input[type="file"]:hover {
|
|
border-color: var(--accent-primary);
|
|
}
|
|
|
|
.admin-body form small {
|
|
font-size: 0.78rem;
|
|
color: var(--text-secondary);
|
|
margin-top: 0.15rem;
|
|
display: block;
|
|
}
|
|
|
|
/* Checkboxes */
|
|
.admin-checkbox-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.35rem;
|
|
padding-top: 0.3rem;
|
|
}
|
|
|
|
.admin-checkbox-label {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
font-size: 0.9rem;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.admin-checkbox-label input[type="checkbox"] {
|
|
accent-color: var(--accent-primary);
|
|
width: 14px;
|
|
height: 14px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* Fieldset / legend (jury) */
|
|
.admin-body fieldset {
|
|
border: 1px solid var(--border-primary);
|
|
padding: 1rem 1.25rem;
|
|
margin: 0.5rem 0 1rem;
|
|
background: var(--bg-secondary);
|
|
}
|
|
|
|
.admin-body legend {
|
|
font-size: 0.82rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.04em;
|
|
text-transform: uppercase;
|
|
color: var(--text-secondary);
|
|
padding: 0 0.5rem;
|
|
}
|
|
|
|
/* ── Buttons ────────────────────────────────────────────────────────────── */
|
|
.admin-submit-wrap {
|
|
margin-top: 2rem;
|
|
padding-top: 1.5rem;
|
|
}
|
|
|
|
.admin-btn {
|
|
padding: 0.65rem 2.5rem;
|
|
background: var(--accent-primary);
|
|
color: var(--accent-foreground);
|
|
border: none;
|
|
border-radius: 3px;
|
|
font-size: 0.92rem;
|
|
font-family: inherit;
|
|
cursor: pointer;
|
|
letter-spacing: 0.04em;
|
|
text-decoration: none;
|
|
display: inline-block;
|
|
transition: background 0.15s;
|
|
}
|
|
|
|
.admin-btn:hover {
|
|
background: var(--accent-secondary);
|
|
}
|
|
|
|
.admin-btn-secondary {
|
|
padding: 0.5rem 1.5rem;
|
|
background: transparent;
|
|
color: var(--text-tertiary);
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 3px;
|
|
font-size: 0.88rem;
|
|
font-family: inherit;
|
|
cursor: pointer;
|
|
letter-spacing: 0.04em;
|
|
text-decoration: none;
|
|
display: inline-block;
|
|
transition: all 0.15s;
|
|
}
|
|
|
|
.admin-btn-secondary:hover {
|
|
border-color: var(--text-secondary);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
/* Small size modifier */
|
|
.admin-btn--sm {
|
|
padding: 0.28rem 0.65rem;
|
|
font-size: 0.82rem;
|
|
}
|
|
|
|
/* Semantic colour modifiers */
|
|
.admin-btn--warning {
|
|
background: var(--accent-yellow);
|
|
color: var(--text-primary);
|
|
border: none;
|
|
}
|
|
.admin-btn--warning:hover {
|
|
filter: brightness(0.9);
|
|
}
|
|
|
|
.admin-btn--danger {
|
|
background: var(--accent-red);
|
|
color: var(--accent-foreground);
|
|
border: none;
|
|
}
|
|
.admin-btn--danger:hover {
|
|
filter: brightness(0.9);
|
|
}
|
|
|
|
/* ── Alert messages ─────────────────────────────────────────────────────── */
|
|
[role="alert"],
|
|
[role="status"] {
|
|
padding: 0.75rem 1rem;
|
|
border-radius: 3px;
|
|
font-size: 0.9rem;
|
|
margin-bottom: 1.5rem;
|
|
border-left: 3px solid;
|
|
}
|
|
|
|
[role="alert"][data-type="error"] {
|
|
background: var(--accent-muted);
|
|
border-color: var(--error);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
[role="status"][data-type="success"] {
|
|
background: rgba(92, 214, 157, 0.12);
|
|
border-color: var(--success);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
/* ── Stats cards ────────────────────────────────────────────────────────── */
|
|
.admin-stats {
|
|
display: flex;
|
|
gap: 1rem;
|
|
margin-bottom: 2rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.admin-stat {
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 4px;
|
|
padding: 1rem 1.5rem;
|
|
min-width: 140px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.admin-stat__number {
|
|
font-size: 2rem;
|
|
font-weight: 700;
|
|
color: var(--accent-primary);
|
|
line-height: 1;
|
|
order: 1;
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-stat__label {
|
|
font-size: 0.82rem;
|
|
color: var(--text-secondary);
|
|
margin-top: 0.25rem;
|
|
order: 2;
|
|
}
|
|
|
|
/* ── Maintenance bar ────────────────────────────────────────────────────── */
|
|
.admin-maintenance-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 4px;
|
|
padding: 0.65rem 1rem;
|
|
margin-bottom: 1.5rem;
|
|
font-size: 0.88rem;
|
|
}
|
|
|
|
.admin-maintenance-bar--active {
|
|
background: rgba(251, 202, 81, 0.1);
|
|
border-color: var(--warning);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
/* ── Filters bar ────────────────────────────────────────────────────────── */
|
|
.admin-filters {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
margin-bottom: 1.5rem;
|
|
flex-wrap: wrap;
|
|
align-items: flex-end;
|
|
}
|
|
|
|
.admin-filters input[type="text"],
|
|
.admin-filters select {
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 3px;
|
|
font-size: 0.88rem;
|
|
font-family: inherit;
|
|
padding: 0.45rem 0.75rem;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.admin-filters input[type="text"]:focus,
|
|
.admin-filters select:focus {
|
|
outline: none;
|
|
border-color: var(--accent-primary);
|
|
}
|
|
|
|
.admin-filters-btn {
|
|
padding: 0.45rem 1rem;
|
|
background: var(--accent-primary);
|
|
color: var(--accent-foreground);
|
|
border: none;
|
|
border-radius: 3px;
|
|
font-size: 0.88rem;
|
|
font-family: inherit;
|
|
cursor: pointer;
|
|
transition: background 0.15s;
|
|
}
|
|
|
|
.admin-filters-btn:hover {
|
|
background: var(--accent-secondary);
|
|
}
|
|
|
|
.admin-filters-reset {
|
|
font-size: 0.88rem;
|
|
color: var(--text-secondary);
|
|
text-decoration: underline;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* ── Bulk actions bar ───────────────────────────────────────────────────── */
|
|
.admin-bulk-actions {
|
|
display: none;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
padding: 0.6rem 1rem;
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 4px;
|
|
margin-bottom: 1rem;
|
|
font-size: 0.88rem;
|
|
}
|
|
|
|
.admin-bulk-btns {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
/* ── Table ──────────────────────────────────────────────────────────────── */
|
|
.admin-body table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
font-size: 0.88rem;
|
|
}
|
|
|
|
.admin-body main > table {
|
|
margin-top: 1.5rem;
|
|
}
|
|
|
|
.admin-body table th {
|
|
text-align: left;
|
|
font-size: 0.75rem;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
padding: 0.5rem 0.75rem;
|
|
border-bottom: 1px solid var(--border-primary);
|
|
color: var(--text-secondary);
|
|
font-weight: 400;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.admin-body table td {
|
|
padding: 0.65rem 0.75rem;
|
|
border-bottom: 1px solid var(--border-primary);
|
|
vertical-align: top;
|
|
}
|
|
|
|
.admin-body table tr:hover td {
|
|
background: var(--bg-secondary);
|
|
}
|
|
|
|
.admin-body table .thesis-title {
|
|
font-weight: 500;
|
|
}
|
|
|
|
.admin-body table .thesis-subtitle {
|
|
font-size: 0.82rem;
|
|
color: var(--text-secondary);
|
|
font-style: italic;
|
|
}
|
|
|
|
/* ── Status badges ──────────────────────────────────────────────────────── */
|
|
.status-badge {
|
|
display: inline-block;
|
|
padding: 0.2rem 0.5rem;
|
|
border-radius: 3px;
|
|
font-size: 0.78rem;
|
|
font-weight: 500;
|
|
letter-spacing: 0.04em;
|
|
}
|
|
|
|
.status-published {
|
|
background: rgba(76, 175, 80, 0.12);
|
|
color: var(--accent-green);
|
|
}
|
|
|
|
.status-pending {
|
|
background: rgba(251, 202, 81, 0.12);
|
|
color: var(--warning);
|
|
}
|
|
|
|
.status-access {
|
|
display: inline-block;
|
|
font-size: 0.7rem;
|
|
padding: 0.1rem 0.4rem;
|
|
border-radius: 3px;
|
|
background: var(--bg-tertiary);
|
|
color: var(--text-secondary);
|
|
letter-spacing: 0.03em;
|
|
}
|
|
|
|
.status-access--libre {
|
|
background: rgba(76, 175, 80, 0.12);
|
|
color: var(--accent-green);
|
|
}
|
|
|
|
.status-access--interne {
|
|
background: rgba(65, 173, 255, 0.12);
|
|
color: var(--accent-blue);
|
|
}
|
|
|
|
.status-access--interdit {
|
|
background: rgba(242, 90, 90, 0.12);
|
|
color: var(--error);
|
|
}
|
|
|
|
/* ── Action buttons in table ────────────────────────────────────────────── */
|
|
.admin-actions {
|
|
display: flex;
|
|
gap: 0.4rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.admin-btn-sm {
|
|
padding: 0.25rem 0.6rem;
|
|
min-height: 2rem;
|
|
border-radius: 3px;
|
|
font-size: 0.78rem;
|
|
font-family: inherit;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
border: 1px solid transparent;
|
|
transition: all 0.15s;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.admin-btn-view {
|
|
background: rgba(65, 173, 255, 0.12);
|
|
color: var(--accent-blue);
|
|
border-color: rgba(65, 173, 255, 0.3);
|
|
}
|
|
.admin-btn-view:hover {
|
|
background: rgba(65, 173, 255, 0.22);
|
|
}
|
|
|
|
.admin-btn-edit {
|
|
background: rgba(243, 156, 18, 0.12);
|
|
color: var(--accent-yellow);
|
|
border-color: rgba(243, 156, 18, 0.3);
|
|
}
|
|
.admin-btn-edit:hover {
|
|
background: rgba(243, 156, 18, 0.22);
|
|
}
|
|
|
|
.admin-btn-publish {
|
|
background: rgba(76, 175, 80, 0.12);
|
|
color: var(--accent-green);
|
|
border-color: rgba(76, 175, 80, 0.3);
|
|
}
|
|
.admin-btn-publish:hover {
|
|
background: rgba(76, 175, 80, 0.22);
|
|
}
|
|
|
|
.admin-btn-unpublish {
|
|
background: var(--bg-secondary);
|
|
color: var(--text-tertiary);
|
|
border-color: var(--border-primary);
|
|
}
|
|
.admin-btn-unpublish:hover {
|
|
background: var(--bg-tertiary);
|
|
}
|
|
|
|
.publish-form {
|
|
display: inline;
|
|
margin: 0;
|
|
}
|
|
|
|
/* ── Thesis info sections (thanks page) ─────────────────────────────────── */
|
|
.admin-body main > section {
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 6px;
|
|
padding: 1.5rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.admin-body main > section h2 {
|
|
margin: 0 0 1rem;
|
|
font-size: 1.2rem;
|
|
border-bottom: 1px solid var(--border-primary);
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
|
|
.admin-body main > section dl {
|
|
display: grid;
|
|
grid-template-columns: 180px 1fr;
|
|
gap: 0.4rem 1rem;
|
|
}
|
|
|
|
.admin-body main > section dt {
|
|
font-weight: 600;
|
|
font-size: 0.88rem;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.admin-body main > section dd {
|
|
margin: 0;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
/* ── Section titles (account, etc.) ─────────────────────────────────────── */
|
|
.admin-section-title {
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.07em;
|
|
text-transform: uppercase;
|
|
color: var(--text-secondary);
|
|
margin: 2rem 0 1rem;
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 1px solid var(--border-primary);
|
|
}
|
|
|
|
.admin-section-title--danger {
|
|
color: var(--error);
|
|
border-color: var(--error);
|
|
}
|
|
|
|
/* ── Account status block ───────────────────────────────────────────────── */
|
|
.admin-account-status {
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 4px;
|
|
padding: 1rem 1.5rem;
|
|
margin-bottom: 2rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.admin-account-status__row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.admin-account-status__label {
|
|
color: var(--text-secondary);
|
|
min-width: 220px;
|
|
}
|
|
|
|
.admin-account-status__code {
|
|
font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
|
|
font-size: 0.82rem;
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 3px;
|
|
padding: 0.1rem 0.4rem;
|
|
color: var(--text-secondary);
|
|
background: var(--bg-secondary);
|
|
}
|
|
|
|
.admin-account-status__note {
|
|
font-size: 0.85rem;
|
|
color: var(--text-secondary);
|
|
margin: 0;
|
|
}
|
|
|
|
/* ── Danger zone (account page) ─────────────────────────────────────────── */
|
|
.admin-danger-zone {
|
|
border: 1px solid rgba(242, 90, 90, 0.35);
|
|
border-radius: 4px;
|
|
padding: 1.25rem 1.5rem;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1.5rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.admin-danger-zone__description {
|
|
flex: 1;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
/* ── Login page ─────────────────────────────────────────────────────────── */
|
|
.admin-login-wrap {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: calc(100vh - 60px);
|
|
}
|
|
|
|
.admin-login-box {
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 4px;
|
|
padding: 2rem;
|
|
width: 100%;
|
|
max-width: 380px;
|
|
}
|
|
|
|
.admin-login-box h2 {
|
|
margin: 0 0 1.5rem;
|
|
font-size: 1.1rem;
|
|
font-weight: 500;
|
|
text-align: center;
|
|
}
|
|
|
|
.admin-login-box .admin-form > div:not(.admin-submit-wrap) {
|
|
grid-template-columns: 1fr;
|
|
border: none;
|
|
padding: 0.4rem 0;
|
|
}
|
|
|
|
.admin-login-box .admin-form > div:not(.admin-submit-wrap) > label {
|
|
font-size: 0.82rem;
|
|
color: var(--text-secondary);
|
|
margin-bottom: 0.2rem;
|
|
}
|
|
|
|
.admin-login-box .admin-submit-wrap {
|
|
margin-top: 1rem;
|
|
padding-top: 0.5rem;
|
|
}
|
|
|
|
.admin-login-box .admin-btn {
|
|
width: 100%;
|
|
}
|
|
|
|
/* ── Import page ────────────────────────────────────────────────────────── */
|
|
.admin-import-area {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
}
|
|
|
|
/* ── Jury fieldset ──────────────────────────────────────────────────────── */
|
|
.admin-jury-row {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.admin-jury-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.admin-jury-entry {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.admin-jury-ext {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.admin-btn-remove {
|
|
background: none;
|
|
border: 1px solid var(--border-primary);
|
|
color: var(--text-tertiary);
|
|
border-radius: 3px;
|
|
padding: 0.2rem 0.55rem;
|
|
min-height: 2rem;
|
|
font-size: 0.8rem;
|
|
line-height: 1;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
transition: border-color 0.15s, color 0.15s;
|
|
}
|
|
|
|
.admin-btn-remove:hover {
|
|
border-color: var(--error);
|
|
color: var(--error);
|
|
}
|
|
|
|
/* ── Inline form (tags page) ────────────────────────────────────────────── */
|
|
.admin-inline-form {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.4rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.admin-input--inline,
|
|
.admin-inline-form input[type="text"] {
|
|
font-size: 0.82rem;
|
|
}
|
|
|
|
.admin-select--inline,
|
|
.admin-inline-form select {
|
|
font-size: 0.82rem;
|
|
}
|
|
|
|
/* ── Banner preview ─────────────────────────────────────────────────────── */
|
|
.admin-banner-preview img {
|
|
max-width: 320px;
|
|
max-height: 100px;
|
|
object-fit: cover;
|
|
border: 1px solid var(--border-primary);
|
|
border-radius: 3px;
|
|
display: block;
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
/* ── Cancel link ────────────────────────────────────────────────────────── */
|
|
.admin-cancel-link {
|
|
font-size: 0.88rem;
|
|
color: var(--text-secondary);
|
|
text-decoration: underline;
|
|
}
|