This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
@import url("./tokens.css");
|
||||
@import url("./base.css");
|
||||
@import url("./layout.css");
|
||||
@import url("./components.css");
|
||||
@import url("./utilities.css");
|
||||
@@ -0,0 +1,54 @@
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background: var(--color-bg);
|
||||
color: var(--color-text);
|
||||
font-family: var(--font-family-base);
|
||||
font-size: var(--font-size-md);
|
||||
font-weight: var(--font-weight-normal);
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--color-link);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 0;
|
||||
border-top: var(--border-width-1) solid var(--color-border);
|
||||
margin: var(--space-5) 0;
|
||||
}
|
||||
|
||||
:focus-visible {
|
||||
outline: var(--border-width-1) solid var(--color-warning);
|
||||
outline-offset: var(--space-1);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,183 @@
|
||||
.container {
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--gutter-desktop);
|
||||
width: min(var(--container-max), 100%);
|
||||
}
|
||||
|
||||
.page {
|
||||
padding: var(--stack-2) 0 var(--space-7);
|
||||
}
|
||||
|
||||
.dashboard-page,
|
||||
.month-page,
|
||||
.settings-page,
|
||||
.register-page,
|
||||
.legal-page,
|
||||
.contact-page {
|
||||
padding-top: var(--space-0);
|
||||
}
|
||||
|
||||
.site-header {
|
||||
background: var(--color-bg);
|
||||
border-bottom: var(--border-width-1) solid var(--color-border);
|
||||
position: sticky;
|
||||
top: var(--space-0);
|
||||
z-index: var(--z-header);
|
||||
}
|
||||
|
||||
.site-header .container {
|
||||
padding-top: var(--header-pad-y);
|
||||
padding-bottom: var(--header-pad-y);
|
||||
}
|
||||
|
||||
.app-topbar-inner {
|
||||
align-items: center;
|
||||
column-gap: var(--space-4);
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
min-height: calc(var(--control-h) + var(--space-1));
|
||||
}
|
||||
|
||||
.site-header.is-auth-header .container {
|
||||
padding-top: var(--header-pad-y-auth);
|
||||
padding-bottom: var(--header-pad-y-auth);
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-guest {
|
||||
grid-template-columns: auto 1fr;
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-guest .app-auth-nav {
|
||||
justify-self: end;
|
||||
}
|
||||
|
||||
.site-header.is-auth-header .app-topbar-inner.is-guest {
|
||||
min-height: 2.25rem;
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-user .app-user-nav {
|
||||
align-items: center;
|
||||
display: inline-flex;
|
||||
gap: var(--space-4);
|
||||
justify-self: end;
|
||||
}
|
||||
|
||||
.site-footer {
|
||||
border-top: var(--border-width-1) solid var(--color-border);
|
||||
margin-top: var(--space-6);
|
||||
}
|
||||
|
||||
.site-footer-inner {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
gap: var(--space-4);
|
||||
justify-content: space-between;
|
||||
padding: var(--space-4) var(--page-content-inset) var(--space-5);
|
||||
}
|
||||
|
||||
.admin-version-badge {
|
||||
background: color-mix(in srgb, var(--color-surface-2) 94%, transparent);
|
||||
border: var(--border-width-1) solid var(--color-border);
|
||||
bottom: var(--space-3);
|
||||
color: var(--color-text-muted);
|
||||
font-size: var(--font-size-xs);
|
||||
font-weight: var(--font-weight-semibold);
|
||||
padding: var(--space-1) var(--space-2);
|
||||
position: fixed;
|
||||
right: var(--space-3);
|
||||
z-index: var(--z-header);
|
||||
}
|
||||
|
||||
.page-header {
|
||||
display: grid;
|
||||
gap: var(--space-2);
|
||||
margin-bottom: var(--space-4);
|
||||
padding-inline: var(--page-content-inset);
|
||||
}
|
||||
|
||||
.page-header__title {
|
||||
font-size: var(--font-size-2xl);
|
||||
font-weight: var(--font-weight-bold);
|
||||
}
|
||||
|
||||
.page-header__subtitle {
|
||||
color: var(--color-text-muted);
|
||||
}
|
||||
|
||||
.app-page-actions-wrap {
|
||||
padding-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
.app-page-actions-wrap:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.top-row {
|
||||
margin-bottom: var(--space-2);
|
||||
padding-inline: var(--page-content-inset);
|
||||
}
|
||||
|
||||
@media (max-width: 51.25em) {
|
||||
.container {
|
||||
padding: 0 var(--gutter-tablet);
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-user {
|
||||
gap: var(--header-pad-y);
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: auto auto;
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-user .app-brand-wrap {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-user .app-user-nav {
|
||||
align-items: center;
|
||||
display: grid;
|
||||
gap: var(--space-2);
|
||||
grid-column: 1;
|
||||
grid-row: 2;
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
justify-self: stretch;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-user .app-user-nav .app-main-nav {
|
||||
grid-column: 2;
|
||||
justify-self: center;
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-user .app-user-nav .app-icon-nav {
|
||||
grid-column: 3;
|
||||
justify-self: end;
|
||||
}
|
||||
|
||||
.app-topbar-inner.is-guest {
|
||||
column-gap: var(--space-2);
|
||||
grid-template-columns: auto 1fr;
|
||||
}
|
||||
|
||||
.admin-version-badge {
|
||||
bottom: var(--space-2);
|
||||
left: 50%;
|
||||
right: auto;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.site-footer-inner {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 32.5em) {
|
||||
.container {
|
||||
padding: 0 var(--gutter-mobile);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
:root {
|
||||
--color-bg: #2c2d2f;
|
||||
--color-surface: #27282a;
|
||||
--color-surface-2: #1f2022;
|
||||
--color-surface-3: #232426;
|
||||
--color-surface-4: #2a2b2e;
|
||||
--color-border: #34363a;
|
||||
--color-border-soft: #2f3135;
|
||||
--color-text: #f5f5f5;
|
||||
--color-text-muted: #8f9298;
|
||||
--color-link: #f5f5f5;
|
||||
--color-primary: #3a3c40;
|
||||
--color-primary-hover: #46494e;
|
||||
--color-button-primary: #355d3a;
|
||||
--color-button-primary-hover: #3f6f45;
|
||||
--color-button-primary-border: #4d7f53;
|
||||
--color-danger: #bc5252;
|
||||
--color-danger-strong: #ff3b3b;
|
||||
--color-success: #9ed7a7;
|
||||
--color-success-strong: #2cd600;
|
||||
--color-success-bg: #243427;
|
||||
--color-warning: #c98f13;
|
||||
--color-warning-bg: #6d5500;
|
||||
--color-chip-bg: #202124;
|
||||
--color-weekend: #22252b;
|
||||
--color-day-today: #1a3f4a;
|
||||
--color-accent: #9e7700;
|
||||
--color-badge-bg: #f3f3f3;
|
||||
--color-badge-text: #222326;
|
||||
--color-workhours: #7f53d9;
|
||||
--color-header-badge-bg: #1d1d1f;
|
||||
--color-header-badge-label: #f5f5f5;
|
||||
--color-header-badge-text: #f5f5f5;
|
||||
|
||||
--font-family-base: "Atkinson Hyperlegible", "Segoe UI", sans-serif;
|
||||
--font-size-xs: 0.75rem;
|
||||
--font-size-sm: 0.875rem;
|
||||
--font-size-md: 1rem;
|
||||
--font-size-lg: 1.125rem;
|
||||
--font-size-xl: 1.5rem;
|
||||
--font-size-2xl: 2rem;
|
||||
--font-weight-normal: 400;
|
||||
--font-weight-medium: 500;
|
||||
--font-weight-semibold: 600;
|
||||
--font-weight-bold: 700;
|
||||
--line-height-tight: 1.2;
|
||||
|
||||
--space-0: 0;
|
||||
--space-1: 0.125rem;
|
||||
--space-2: 0.25rem;
|
||||
--space-3: 0.5rem;
|
||||
--space-4: 0.75rem;
|
||||
--space-5: 1rem;
|
||||
--space-6: 1.25rem;
|
||||
--space-7: 1.5rem;
|
||||
--space-8: 2rem;
|
||||
--stack-1: 0.5rem;
|
||||
--stack-2: 0.75rem;
|
||||
--stack-3: 1rem;
|
||||
|
||||
--radius-none: 0;
|
||||
--radius-sm: 0.375rem;
|
||||
--radius-md: 0.5rem;
|
||||
|
||||
--border-width-1: 1px;
|
||||
|
||||
--container-max: 100%;
|
||||
--gutter-desktop: 1rem;
|
||||
--gutter-tablet: 1rem;
|
||||
--gutter-mobile: 0.875rem;
|
||||
--page-content-inset: 1rem;
|
||||
--surface-pad: 1rem;
|
||||
--surface-pad-compact: 0.875rem;
|
||||
--control-h-desktop: 2rem;
|
||||
--control-h-mobile: 2rem;
|
||||
--control-h: var(--control-h-desktop);
|
||||
--list-icon-size: 2rem;
|
||||
--icon-size-sm: var(--list-icon-size);
|
||||
--icon-size: var(--list-icon-size);
|
||||
--header-icon-size: var(--list-icon-size);
|
||||
--logo-size: 1.375rem;
|
||||
--header-pad-y: 0.625rem;
|
||||
--header-pad-y-auth: 0.625rem;
|
||||
--badge-height: 2rem;
|
||||
--badge-pad-top: 0.2rem;
|
||||
--badge-pad-bottom: 0.05rem;
|
||||
--input-height: 2.5rem;
|
||||
--chip-h: 2rem;
|
||||
--row-height-compact: 2.625rem;
|
||||
--kpi-height: 2.75rem;
|
||||
--period-height: 3.25rem;
|
||||
--day-col: 16rem;
|
||||
--chip-col: 8.5rem;
|
||||
--actions-col: 7.5rem;
|
||||
|
||||
--z-header: 20;
|
||||
--z-modal: 40;
|
||||
|
||||
--bp-md: 51.25em;
|
||||
--bp-sm: 32.5em;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
.muted {
|
||||
color: var(--color-text-muted);
|
||||
}
|
||||
|
||||
.is-hidden,
|
||||
.u-hidden,
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.u-stack-sm {
|
||||
display: grid;
|
||||
gap: var(--space-3);
|
||||
}
|
||||
|
||||
.u-stack-md {
|
||||
display: grid;
|
||||
gap: var(--space-4);
|
||||
}
|
||||
Reference in New Issue
Block a user