cake-order-tracker/server/static/component.css
2026-06-15 14:43:50 +02:00

277 lines
5.8 KiB
CSS

/* ========== BUTTONS ========== */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0 1rem;
height: 2.5rem;
border: none;
border-radius: var(--border-radius-sm);
font-size: 0.75rem;
font-weight: 600;
cursor: pointer;
transition: all var(--transition);
text-decoration: none;
.material-symbols-outlined {
font-size: 1.25rem;
}
&.primary {
background: var(--primary);
color: var(--on-primary);
&:hover {
opacity: 0.9;
}
}
&.outline {
background: transparent;
border: 1px solid var(--outline-variant);
color: var(--on-surface);
&:hover {
background: var(--surface-container-high);
}
}
&.sm {
height: 2rem;
padding: 0 0.75rem;
}
}
/* ========== TABLE ACTIONS ========== */
.action-btn {
color: var(--on-surface-variant);
cursor: pointer;
transition: color var(--transition);
background: none;
border: none;
&:hover {
color: var(--primary);
}
.material-symbols-outlined {
font-size: 1.25rem;
}
}
/* ========== STATUS CHIPS ========== */
.status-chip {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.5rem;
border-radius: var(--border-radius-full);
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.02em;
&.ready,
&.done {
background: var(--success-bg);
color: var(--success-text);
}
&.decorating {
background: var(--warning-bg);
color: var(--warning-text);
}
&.baking {
background: var(--danger-bg);
color: var(--danger-text);
}
&.queued {
background: var(--info-bg);
color: var(--info-text);
}
&.accepted {
background: #fff3e0;
color: #e65100;
}
}
/* ========== BADGE PILLS ========== */
.badge-pill {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.5rem;
border-radius: var(--border-radius-full);
font-size: 0.75rem;
font-weight: 600;
&.signature {
background: var(--primary-container);
color: var(--primary);
}
&.seasonal {
background: var(--surface-container-high);
color: var(--on-surface);
}
}
/* ========== PAGINATION ========== */
.pagination {
display: flex;
gap: 0.25rem;
align-items: center;
.btn {
width: 1.5rem;
height: 1.5rem;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid var(--outline-variant);
border-radius: var(--border-radius-sm);
background: transparent;
cursor: pointer;
color: var(--on-surface-variant);
transition: all var(--transition);
font-size: 0.75rem;
&:hover {
background: var(--surface-container-low);
}
&:disabled {
opacity: 0.5;
cursor: default;
}
&.active {
background: var(--primary);
color: var(--on-primary);
border-color: var(--primary);
}
.material-symbols-outlined {
font-size: 1rem;
}
}
}
/* ========== CONFIRMATION ========== */
section.confirmation {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex: 1;
gap: 0.5rem;
text-align: center;
h2 {
font-size: 1.25rem;
font-weight: 600;
color: var(--on-surface);
}
}
/* ========== LOGIN PAGE ========== */
.login-page {
display: flex;
justify-content: center;
align-items: center;
min-height: 100dvh;
background-color: var(--surface-container-low);
}
.login-card {
background-color: var(--surface);
border: 1px solid var(--outline-variant);
border-radius: var(--border-radius-md);
padding: 2.5rem;
box-shadow: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 25rem;
position: relative;
overflow: hidden;
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 0.25rem;
background: linear-gradient(
90deg,
var(--primary),
var(--primary-container)
);
}
.icon {
display: flex;
justify-content: center;
margin-bottom: 1.5rem;
color: var(--primary);
}
h1 {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 1.5rem;
color: var(--on-background);
text-align: center;
letter-spacing: -0.02em;
}
form {
display: flex;
flex-direction: column;
gap: 1rem;
}
label {
display: flex;
flex-direction: column;
gap: 0.25rem;
font-size: 0.75rem;
font-weight: 600;
color: var(--on-surface-variant);
}
input {
padding: 0.5rem 0.75rem;
border: 1px solid var(--outline-variant);
border-radius: var(--border-radius-sm);
font-size: 1rem;
font-family: inherit;
background-color: var(--surface);
color: var(--on-surface);
transition: border-color var(--transition);
&:focus {
outline: none;
border-color: var(--primary);
}
}
button {
padding: 0.5rem 2rem;
background-color: var(--primary);
color: #fff;
border: none;
border-radius: var(--border-radius-md);
font-size: 1rem;
font-weight: 600;
font-family: inherit;
cursor: pointer;
transition: opacity var(--transition);
margin-top: 0.5rem;
&:hover {
opacity: 0.9;
}
}
}