Init
This commit is contained in:
@@ -0,0 +1,617 @@
|
||||
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500;700&display=swap");
|
||||
@import "tailwindcss";
|
||||
|
||||
:root {
|
||||
--ink: #1d1a16;
|
||||
--ink-2: #2b2721;
|
||||
--ink-3: #3a352d;
|
||||
--paper: #f3ede2;
|
||||
--paper-2: #fbf7ef;
|
||||
--paper-line: #e2d9c9;
|
||||
--steel: #7d786f;
|
||||
--steel-2: #b6afa2;
|
||||
--signal: #f4c111;
|
||||
--signal-dark: #d9a900;
|
||||
--rust: #b7410e;
|
||||
--rust-soft: #f3d9cd;
|
||||
--green: #4f7a4d;
|
||||
--green-soft: #d8e5d3;
|
||||
--amber: #c98a12;
|
||||
--amber-soft: #f6e4bd;
|
||||
|
||||
--font-head: "Oswald", "Arial Narrow", sans-serif;
|
||||
--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
|
||||
--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;
|
||||
|
||||
--radius: 10px;
|
||||
--shadow: 0 12px 30px -18px rgba(29, 26, 22, 0.6);
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
background:
|
||||
radial-gradient(1200px 500px at 100% -10%, rgba(244, 193, 17, 0.08), transparent 60%),
|
||||
var(--paper);
|
||||
color: var(--ink);
|
||||
font-family: var(--font-body);
|
||||
font-size: 15px;
|
||||
line-height: 1.55;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4 {
|
||||
font-family: var(--font-head);
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.01em;
|
||||
line-height: 1.1;
|
||||
margin: 0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
|
||||
h2 { font-size: 1.5rem; }
|
||||
h3 { font-size: 1.15rem; }
|
||||
|
||||
a { color: inherit; }
|
||||
|
||||
.mono {
|
||||
font-family: var(--font-mono);
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
.eyebrow {
|
||||
font-family: var(--font-head);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.18em;
|
||||
font-size: 0.72rem;
|
||||
color: var(--steel);
|
||||
margin: 0 0 0.25rem;
|
||||
}
|
||||
|
||||
.muted { color: var(--steel); margin: 0.15rem 0; }
|
||||
|
||||
/* ---------- App frame ---------- */
|
||||
.app-frame {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.topbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1.5rem;
|
||||
flex-wrap: wrap;
|
||||
padding: 0.85rem clamp(1rem, 4vw, 2.5rem);
|
||||
background: var(--ink);
|
||||
color: var(--paper-2);
|
||||
border-bottom: 3px solid var(--signal);
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
.brand {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.7rem;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.brand-mark {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
background: var(--signal);
|
||||
color: var(--ink);
|
||||
font-family: var(--font-head);
|
||||
font-weight: 700;
|
||||
font-size: 1.1rem;
|
||||
border-radius: 8px;
|
||||
box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.brand strong {
|
||||
display: block;
|
||||
font-family: var(--font-head);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
font-size: 1.05rem;
|
||||
}
|
||||
|
||||
.brand small { color: var(--steel-2); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
|
||||
|
||||
.topbar nav {
|
||||
display: flex;
|
||||
gap: 0.4rem;
|
||||
flex-wrap: wrap;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.topbar nav a {
|
||||
text-decoration: none;
|
||||
padding: 0.4rem 0.75rem;
|
||||
border-radius: 6px;
|
||||
font-weight: 500;
|
||||
color: var(--paper-2);
|
||||
font-size: 0.92rem;
|
||||
transition: background 0.15s;
|
||||
}
|
||||
|
||||
.topbar nav a:hover { background: rgba(255, 255, 255, 0.09); }
|
||||
|
||||
.user-menu {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.9rem;
|
||||
}
|
||||
|
||||
.user-menu > span {
|
||||
text-align: right;
|
||||
font-weight: 600;
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.user-menu small { display: block; color: var(--steel-2); font-weight: 400; font-size: 0.72rem; }
|
||||
|
||||
.page-shell {
|
||||
width: 100%;
|
||||
max-width: 1120px;
|
||||
margin: 0 auto;
|
||||
padding: clamp(1.2rem, 3vw, 2.5rem) clamp(1rem, 4vw, 2.5rem) 3rem;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: center;
|
||||
padding: 1.4rem;
|
||||
color: var(--steel);
|
||||
font-size: 0.8rem;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
border-top: 1px solid var(--paper-line);
|
||||
}
|
||||
|
||||
/* ---------- Buttons ---------- */
|
||||
.button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 0.4rem;
|
||||
padding: 0.55rem 1.1rem;
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--ink);
|
||||
background: transparent;
|
||||
color: var(--ink);
|
||||
font-family: var(--font-head);
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
font-size: 0.85rem;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
transition: transform 0.08s, background 0.15s, box-shadow 0.15s;
|
||||
}
|
||||
|
||||
.button:hover { background: var(--ink); color: var(--paper-2); }
|
||||
.button:active { transform: translateY(1px); }
|
||||
|
||||
.button-primary {
|
||||
background: var(--signal);
|
||||
border-color: var(--signal-dark);
|
||||
color: var(--ink);
|
||||
box-shadow: 0 6px 16px -8px rgba(217, 169, 0, 0.9);
|
||||
}
|
||||
|
||||
.button-primary:hover { background: var(--signal-dark); color: var(--ink); }
|
||||
|
||||
.button-danger { border-color: var(--rust); color: var(--rust); }
|
||||
.button-danger:hover { background: var(--rust); color: var(--paper-2); }
|
||||
|
||||
.link-button {
|
||||
background: none;
|
||||
border: none;
|
||||
color: var(--steel);
|
||||
font: inherit;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 3px;
|
||||
}
|
||||
|
||||
.link-button:hover { color: var(--ink); }
|
||||
.link-button.danger { color: var(--rust); }
|
||||
.link-button:disabled { color: var(--steel-2); cursor: not-allowed; text-decoration: none; }
|
||||
|
||||
/* ---------- Panels & layout blocks ---------- */
|
||||
.panel {
|
||||
background: var(--paper-2);
|
||||
border: 1px solid var(--paper-line);
|
||||
border-radius: var(--radius);
|
||||
padding: 1.3rem;
|
||||
box-shadow: var(--shadow);
|
||||
}
|
||||
|
||||
.panel-title { margin-bottom: 0.9rem; }
|
||||
|
||||
.page-heading {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 1.4rem;
|
||||
}
|
||||
|
||||
.heading-actions { display: flex; gap: 0.6rem; align-items: center; flex-wrap: wrap; }
|
||||
|
||||
.breadcrumbs {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
align-items: center;
|
||||
font-size: 0.8rem;
|
||||
color: var(--steel);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.breadcrumbs a { color: var(--steel); text-decoration: none; }
|
||||
.breadcrumbs a:hover { color: var(--ink); }
|
||||
.breadcrumbs span { color: var(--steel-2); }
|
||||
|
||||
.section-block { margin-top: 2.2rem; }
|
||||
|
||||
.section-heading { margin-bottom: 0.9rem; }
|
||||
|
||||
/* ---------- Flash ---------- */
|
||||
.flash {
|
||||
border-radius: 8px;
|
||||
padding: 0.75rem 1rem;
|
||||
margin-bottom: 1.2rem;
|
||||
font-weight: 500;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
.flash-error { background: var(--rust-soft); border-color: var(--rust); color: #6f2708; }
|
||||
.flash-success { background: var(--green-soft); border-color: var(--green); color: #2c4a2b; }
|
||||
|
||||
/* ---------- Login ---------- */
|
||||
.login-page {
|
||||
min-height: 100vh;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: 1.5rem;
|
||||
background:
|
||||
radial-gradient(900px 400px at 50% -10%, rgba(244, 193, 17, 0.12), transparent 60%),
|
||||
var(--ink);
|
||||
}
|
||||
|
||||
.login-card {
|
||||
width: 100%;
|
||||
max-width: 420px;
|
||||
background: var(--paper-2);
|
||||
border-radius: 14px;
|
||||
padding: 2rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1.3rem;
|
||||
border-top: 4px solid var(--signal);
|
||||
box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.login-brand strong { color: var(--ink); }
|
||||
.login-brand small { color: var(--steel); }
|
||||
|
||||
.stack-form { display: flex; flex-direction: column; gap: 1rem; }
|
||||
|
||||
/* ---------- Forms ---------- */
|
||||
label {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.35rem;
|
||||
font-weight: 600;
|
||||
font-size: 0.85rem;
|
||||
color: var(--ink-2);
|
||||
}
|
||||
|
||||
input, select, textarea {
|
||||
font: inherit;
|
||||
padding: 0.55rem 0.7rem;
|
||||
border: 1px solid var(--steel-2);
|
||||
border-radius: 7px;
|
||||
background: #fff;
|
||||
color: var(--ink);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input:focus, select:focus, textarea:focus {
|
||||
outline: none;
|
||||
border-color: var(--signal-dark);
|
||||
box-shadow: 0 0 0 3px rgba(244, 193, 17, 0.25);
|
||||
}
|
||||
|
||||
textarea { resize: vertical; }
|
||||
|
||||
input[type="file"] { padding: 0.4rem; background: var(--paper); }
|
||||
|
||||
.form-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.form-grid .span-2 { grid-column: 1 / -1; }
|
||||
|
||||
.form-actions { display: flex; justify-content: flex-end; }
|
||||
|
||||
/* ---------- Bike grid & cards ---------- */
|
||||
.bike-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
||||
gap: 1.1rem;
|
||||
}
|
||||
|
||||
.bike-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.7rem;
|
||||
padding: 1.2rem;
|
||||
background: var(--paper-2);
|
||||
border: 1px solid var(--paper-line);
|
||||
border-left: 5px solid var(--ink);
|
||||
border-radius: var(--radius);
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
box-shadow: var(--shadow);
|
||||
transition: transform 0.1s, border-color 0.15s;
|
||||
}
|
||||
|
||||
.bike-card:hover { transform: translateY(-3px); border-left-color: var(--signal); }
|
||||
|
||||
.bike-card-top { display: flex; justify-content: space-between; gap: 0.8rem; }
|
||||
.bike-card-top h2 { font-size: 1.3rem; }
|
||||
|
||||
.odometer {
|
||||
font-family: var(--font-mono);
|
||||
font-weight: 700;
|
||||
font-size: 1.6rem;
|
||||
letter-spacing: 0.02em;
|
||||
background: var(--ink);
|
||||
color: var(--signal);
|
||||
padding: 0.4rem 0.8rem;
|
||||
border-radius: 6px;
|
||||
display: inline-block;
|
||||
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
.odometer-lg { font-size: 2rem; margin-top: 0.5rem; }
|
||||
|
||||
.status-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.6rem;
|
||||
flex-wrap: wrap;
|
||||
font-weight: 600;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.status-row small { color: var(--steel); font-weight: 400; margin-left: auto; }
|
||||
.status-row + .status-row { margin-top: 0.6rem; }
|
||||
|
||||
/* ---------- Status pill ---------- */
|
||||
.status-pill {
|
||||
font-family: var(--font-head);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
padding: 0.2rem 0.6rem;
|
||||
border-radius: 999px;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
.status-ok { background: var(--green-soft); color: #2c4a2b; border-color: var(--green); }
|
||||
.status-soon { background: var(--amber-soft); color: #7a5406; border-color: var(--amber); }
|
||||
.status-overdue { background: var(--rust-soft); color: #6f2708; border-color: var(--rust); }
|
||||
.status-none { background: var(--paper); color: var(--steel); border-color: var(--steel-2); }
|
||||
|
||||
/* ---------- Inspection sticker ---------- */
|
||||
.sticker {
|
||||
width: 74px;
|
||||
height: 74px;
|
||||
border-radius: 50%;
|
||||
display: grid;
|
||||
place-content: center;
|
||||
text-align: center;
|
||||
background: var(--green);
|
||||
color: #fff;
|
||||
font-family: var(--font-head);
|
||||
border: 3px solid rgba(255, 255, 255, 0.75);
|
||||
box-shadow: 0 0 0 2px var(--green), var(--shadow);
|
||||
line-height: 1;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sticker span { font-size: 0.85rem; font-weight: 600; }
|
||||
.sticker strong { font-size: 1.5rem; font-weight: 700; }
|
||||
.sticker small { font-size: 0.6rem; letter-spacing: 0.15em; }
|
||||
.sticker-empty { background: var(--steel); box-shadow: 0 0 0 2px var(--steel), var(--shadow); }
|
||||
.sticker-ok { background: var(--green); box-shadow: 0 0 0 2px var(--green), var(--shadow); }
|
||||
.sticker-soon { background: var(--amber); color: var(--ink); box-shadow: 0 0 0 2px var(--amber), var(--shadow); }
|
||||
.sticker-overdue { background: var(--rust); box-shadow: 0 0 0 2px var(--rust), var(--shadow); }
|
||||
.sticker-none { background: var(--steel); box-shadow: 0 0 0 2px var(--steel), var(--shadow); }
|
||||
|
||||
/* ---------- Due list ---------- */
|
||||
.due-list { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.5rem; }
|
||||
|
||||
.due-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
padding: 0.7rem 0.8rem;
|
||||
border-radius: 8px;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.due-item:hover { background: var(--paper); }
|
||||
.due-item > div:first-child { display: flex; flex-direction: column; }
|
||||
.due-item strong { font-size: 0.98rem; }
|
||||
.due-item span { color: var(--steel); font-size: 0.85rem; }
|
||||
.due-figures { margin-left: auto; text-align: right; font-family: var(--font-mono); font-size: 0.82rem; }
|
||||
.due-figures span { display: block; color: var(--ink-2); }
|
||||
|
||||
/* ---------- Empty state ---------- */
|
||||
.empty-state {
|
||||
text-align: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.7rem;
|
||||
padding: 3rem 1.5rem;
|
||||
}
|
||||
|
||||
.empty-icon { font-size: 2.4rem; color: var(--signal-dark); }
|
||||
|
||||
/* ---------- Detail page ---------- */
|
||||
.detail-top {
|
||||
display: grid;
|
||||
grid-template-columns: 1.2fr 1.6fr auto;
|
||||
gap: 1rem;
|
||||
margin-bottom: 1.4rem;
|
||||
}
|
||||
|
||||
.stat-panel { display: flex; flex-direction: column; }
|
||||
.status-panel { display: flex; flex-direction: column; justify-content: center; }
|
||||
.sticker-panel { display: grid; place-items: center; }
|
||||
|
||||
.detail-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.data-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.8rem; margin: 0; }
|
||||
.data-list dt { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--steel); }
|
||||
.data-list dd { margin: 0.1rem 0 0; font-weight: 600; }
|
||||
|
||||
.notes {
|
||||
margin-top: 1rem;
|
||||
padding-top: 1rem;
|
||||
border-top: 1px dashed var(--paper-line);
|
||||
white-space: pre-wrap;
|
||||
color: var(--ink-2);
|
||||
}
|
||||
|
||||
/* ---------- Timeline ---------- */
|
||||
.timeline { display: flex; flex-direction: column; gap: 0; padding: 0; }
|
||||
|
||||
.timeline-item {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
justify-content: space-between;
|
||||
padding: 1rem 1.2rem;
|
||||
border-bottom: 1px solid var(--paper-line);
|
||||
}
|
||||
|
||||
.timeline-item:last-child { border-bottom: none; }
|
||||
.timeline-main { display: flex; flex-direction: column; gap: 0.35rem; }
|
||||
.timeline-head { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
|
||||
.timeline-head strong { font-size: 1.02rem; }
|
||||
|
||||
.timeline-meta {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
font-size: 0.82rem;
|
||||
color: var(--steel);
|
||||
}
|
||||
|
||||
.timeline-meta a { color: var(--rust); font-weight: 600; text-decoration: none; }
|
||||
.timeline-meta a:hover { text-decoration: underline; }
|
||||
|
||||
.type-tag {
|
||||
font-family: var(--font-head);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
font-size: 0.68rem;
|
||||
font-weight: 600;
|
||||
padding: 0.15rem 0.55rem;
|
||||
border-radius: 5px;
|
||||
background: var(--ink);
|
||||
color: var(--paper-2);
|
||||
}
|
||||
|
||||
.type-tuev_hu { background: var(--rust); }
|
||||
.type-inspektion { background: var(--amber); color: var(--ink); }
|
||||
.type-oelwechsel { background: var(--ink-3); }
|
||||
.type-reifenwechsel { background: var(--steel); }
|
||||
.type-reparatur { background: var(--ink); }
|
||||
.type-sonstiges { background: var(--steel-2); color: var(--ink); }
|
||||
|
||||
/* ---------- Tables ---------- */
|
||||
.table-wrap { overflow-x: auto; padding: 0.4rem; }
|
||||
|
||||
.data-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.data-table th {
|
||||
text-align: left;
|
||||
font-family: var(--font-head);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.06em;
|
||||
font-size: 0.72rem;
|
||||
color: var(--steel);
|
||||
padding: 0.6rem 0.7rem;
|
||||
border-bottom: 2px solid var(--paper-line);
|
||||
}
|
||||
|
||||
.data-table td { padding: 0.6rem 0.7rem; border-bottom: 1px solid var(--paper-line); }
|
||||
.data-table tr:last-child td { border-bottom: none; }
|
||||
|
||||
.inline-form { display: inline-flex; align-items: center; gap: 0.4rem; margin: 0; }
|
||||
.inline-form select { width: auto; }
|
||||
|
||||
.badge {
|
||||
margin-left: 0.5rem;
|
||||
font-family: var(--font-head);
|
||||
font-size: 0.62rem;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
background: var(--signal);
|
||||
color: var(--ink);
|
||||
padding: 0.1rem 0.4rem;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* ---------- Add block (details/summary) ---------- */
|
||||
.add-block { margin-top: 1rem; }
|
||||
.add-block > summary { display: inline-flex; list-style: none; margin-bottom: 0; }
|
||||
.add-block > summary::-webkit-details-marker { display: none; }
|
||||
.add-block[open] > summary { margin-bottom: 1rem; }
|
||||
.add-block[open] > summary::after { content: " ✕"; }
|
||||
|
||||
/* ---------- Responsive ---------- */
|
||||
@media (max-width: 780px) {
|
||||
.detail-top { grid-template-columns: 1fr; }
|
||||
.form-grid { grid-template-columns: 1fr; }
|
||||
.form-grid .span-2 { grid-column: auto; }
|
||||
.topbar { gap: 0.8rem; }
|
||||
.topbar nav { order: 3; width: 100%; }
|
||||
.user-menu { margin-left: auto; }
|
||||
}
|
||||
Reference in New Issue
Block a user