Files
agiledancers/agiledancers-fe/src/app/app.css
Wanja Krah c241392132
All checks were successful
Build, test and publish / verify (push) Successful in 7m25s
S12 - Async feedback for scheduling
2026-11-03 23:18:44 +01:00

267 lines
4.4 KiB
CSS

:host {
display: block;
min-height: 100vh;
}
.app-layout {
display: grid;
grid-template-columns: 250px minmax(0, 1fr);
min-height: 100vh;
}
.sidebar {
position: sticky;
top: 0;
height: 100vh;
display: flex;
flex-direction: column;
padding: 36px 22px 22px;
background: #fff;
border-right: 1px solid var(--line);
}
.brand {
display: flex;
align-items: center;
gap: 12px;
color: var(--ink);
font-size: 21px;
font-weight: 800;
letter-spacing: -0.8px;
padding: 0 8px;
}
.brand-mark {
background: var(--forest);
color: var(--lime);
width: 42px;
height: 44px;
border-radius: 13px 13px 13px 3px;
display: flex;
align-items: center;
justify-content: center;
font-size: 30px;
position: relative;
}
.brand-mark > span {
font-size: 23px;
position: absolute;
right: 3px;
top: -5px;
}
.brand-light {
font-weight: 450;
}
.brand small {
font-size: 8px;
display: block;
letter-spacing: 1.8px;
font-weight: 600;
margin-top: 5px;
color: var(--muted);
}
.nav-label {
font-size: 10px;
font-weight: 700;
letter-spacing: 1.8px;
color: var(--muted);
margin: 60px 14px 14px;
}
.nav-item {
display: flex;
align-items: center;
gap: 12px;
font-size: 13px;
font-weight: 650;
padding: 15px 12px;
border-radius: 9px;
}
.nav-item.selected {
background: #eaf1ec;
color: var(--forest);
}
.nav-item svg {
width: 20px;
height: 20px;
}
.nav-item > span {
margin-left: auto;
}
.sidebar-note {
margin-top: auto;
padding: 28px 16px;
}
.sidebar-note > span {
color: #569473;
font-size: 45px;
}
.sidebar-note h3 {
font-weight: 600;
font-size: 24px;
letter-spacing: -0.8px;
line-height: 1.25;
margin: 14px 0;
}
.sidebar-note p {
font-size: 12px;
line-height: 1.8;
color: var(--muted);
}
.sidebar-footer {
display: flex;
align-items: center;
gap: 8px;
border-top: 1px solid var(--line);
padding: 22px 10px 0;
font-size: 11px;
color: var(--muted);
}
.sidebar-footer > span:last-child {
margin-left: auto;
}
.status-dot,
.topbar-dot {
width: 6px;
height: 6px;
background: #6a9c7b;
border-radius: 50%;
display: inline-block;
}
.main-column {
min-width: 0;
display: flex;
flex-direction: column;
}
.topbar {
height: 78px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 48px;
border-bottom: 1px solid var(--line);
background: #fff;
font-size: 12px;
font-weight: 550;
}
.topbar-right {
display: flex;
align-items: center;
gap: 8px;
color: var(--muted);
font-size: 11px;
}
main {
padding: 44px 48px 60px;
max-width: 1500px;
width: 100%;
margin: 0 auto;
flex: 1;
}
.page-footer {
margin: 0 48px;
border-top: 1px solid var(--line);
padding: 22px 0;
display: flex;
justify-content: space-between;
gap: 20px;
color: var(--muted);
font-size: 10px;
}
@media (min-width: 1600px) {
main {
padding: 58px 68px;
}
}
@media (max-width: 1100px) {
.app-layout {
grid-template-columns: 205px minmax(0, 1fr);
}
.sidebar {
padding-left: 14px;
padding-right: 14px;
}
.brand {
font-size: 18px;
gap: 8px;
}
main {
padding: 32px 28px 48px;
}
.topbar {
padding: 0 28px;
}
.page-footer {
margin: 0 28px;
}
}
@media (max-width: 760px) {
.app-layout {
display: block;
}
.sidebar {
position: static;
height: auto;
padding: 18px 20px;
flex-direction: row;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid var(--line);
border-right: 0;
gap: 18px;
}
.brand {
padding: 0;
}
.brand-mark {
width: 34px;
height: 36px;
}
.nav-label,
.sidebar-note,
.sidebar-footer,
.nav-item svg,
.nav-item > span {
display: none;
}
.nav-item {
font-size: 11px;
padding: 12px;
}
.topbar {
height: 48px;
padding: 0 22px;
}
.topbar-right {
font-size: 10px;
}
main {
padding: 28px 20px 42px;
}
.page-footer {
margin: 0 20px;
}
}
.scheduling-snackbar {
position: fixed;
bottom: 1.5rem;
right: 1.5rem;
z-index: 1000;
display: flex;
align-items: center;
gap: 1rem;
max-width: min(40rem, calc(100vw - 3rem));
padding: 1rem 1.5rem;
background: #193b33;
color: white;
border-radius: 0.75rem;
box-shadow: 0 0.25rem 1rem #0003;
}
.scheduling-snackbar a {
color: white;
text-decoration: underline;
}
.scheduling-snackbar button {
background: transparent;
color: white;
border: 0;
cursor: pointer;
font-size: 1.5rem;
}