Opsiom / static /css /admin.css
JuloEco's picture
Upload 3 files
1d73d93 verified
Raw History Blame Contribute Delete
4.59 kB
/* Page /admin — réutilise les tokens de style.css + progression.css */
.admin-shell { max-width: 860px; }
.promo-form {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.promo-form input[type="text"] {
flex: 1;
min-width: 200px;
background: var(--glass);
border: 1px solid var(--line);
border-radius: var(--radius-m);
padding: 12px 14px;
color: var(--ink);
font-family: 'JetBrains Mono', monospace;
font-size: .95rem;
letter-spacing: .06em;
text-transform: uppercase;
transition: border-color .15s ease, box-shadow .15s ease;
}
.promo-form input[type="text"]::placeholder {
color: var(--ink-faint);
text-transform: none;
letter-spacing: .04em;
}
.promo-form input[type="text"]:focus {
outline: none;
border-color: rgba(231, 167, 204, .5);
box-shadow: 0 0 0 3px rgba(138, 79, 209, .16);
}
.promo-form button {
background: var(--grad-brand);
border: none;
border-radius: var(--radius-m);
padding: 12px 24px;
font-family: inherit;
font-size: .95rem;
font-weight: 600;
color: #200f30;
cursor: pointer;
box-shadow: 0 8px 22px rgba(138, 79, 209, .28);
transition: opacity .15s ease, transform .1s ease, box-shadow .15s ease;
}
.promo-form button:hover { opacity: .92; box-shadow: 0 10px 26px rgba(138, 79, 209, .4); }
.promo-form button:active { transform: scale(.97); }
.promo-form button:focus-visible { outline: 2px solid var(--orchid); outline-offset: 2px; }
.admin-form {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px;
}
.admin-form-row { display: flex; flex-direction: column; gap: 6px; }
.admin-form-row label,
.admin-form-label {
font-size: .82rem;
color: var(--ink-dim);
font-weight: 500;
}
.admin-form-row input[type="text"],
.admin-form-row input[type="date"] {
background: var(--glass);
border: 1px solid var(--line);
border-radius: var(--radius-m);
padding: 10px 13px;
color: var(--ink);
font-family: inherit;
font-size: .92rem;
max-width: 320px;
transition: border-color .15s ease, box-shadow .15s ease;
}
.admin-form-row input::placeholder { color: var(--ink-faint); }
.admin-form-row input[type="text"]:focus,
.admin-form-row input[type="date"]:focus {
outline: none;
border-color: rgba(231, 167, 204, .5);
box-shadow: 0 0 0 3px rgba(138, 79, 209, .16);
}
.admin-checkbox input { accent-color: var(--violet); }
.admin-checkbox-group { display: flex; flex-wrap: wrap; gap: 14px; }
.admin-checkbox {
display: flex;
align-items: center;
gap: 6px;
font-size: .88rem;
color: var(--ink);
font-weight: 400;
}
.admin-checkbox small { color: var(--ink-faint); }
.admin-submit {
align-self: flex-start;
background: var(--grad-brand);
border: none;
border-radius: var(--radius-m);
padding: 12px 24px;
font-family: inherit;
font-size: .95rem;
font-weight: 600;
color: #200f30;
cursor: pointer;
box-shadow: 0 8px 22px rgba(138, 79, 209, .28);
transition: opacity .15s ease, transform .1s ease, box-shadow .15s ease;
}
.admin-submit:hover { opacity: .92; box-shadow: 0 10px 26px rgba(138, 79, 209, .4); }
.admin-submit:active { transform: scale(.97); }
.admin-submit:focus-visible { outline: 2px solid var(--orchid); outline-offset: 2px; }
.storage-warning, .storage-ok { margin: 0 0 16px; list-style: none; }
.admin-table-wrap { overflow-x: auto; margin-top: 8px; }
.admin-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.admin-table th {
text-align: left;
color: var(--ink-dim);
font-weight: 500;
padding: 8px 10px;
border-bottom: 1px solid var(--line-soft);
white-space: nowrap;
}
.admin-table td {
padding: 10px 10px;
border-bottom: 1px solid var(--line-soft);
vertical-align: top;
}
.admin-table tr.row-inactive { opacity: .5; }
.admin-note { font-size: .76rem; color: var(--ink-faint); margin-top: 3px; }
.admin-badge {
display: inline-block;
border-radius: 99px;
padding: 2px 9px;
font-size: .74rem;
font-weight: 600;
white-space: nowrap;
}
.admin-badge-on { background: rgba(69, 217, 154, .12); color: #bdf3d4; }
.admin-badge-off { background: rgba(226, 112, 138, .12); color: #f6d3da; }
.admin-actions { display: flex; flex-direction: column; gap: 4px; }
.admin-link-btn {
background: none;
border: none;
color: var(--ink-dim);
font-size: .78rem;
text-decoration: underline;
text-underline-offset: 2px;
cursor: pointer;
padding: 0;
}
.admin-link-btn:hover { color: var(--ink); }
.admin-link-btn-danger:hover { color: #f6a8b8; }
@media (max-width: 640px) {
.admin-form-row input[type="text"],
.admin-form-row input[type="date"] { max-width: none; }
}