4.2 KB
raw
.tiles {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 10px;
margin-bottom: 28px;
}
.tile {
position: relative;
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 14px 16px;
display: flex;
flex-direction: column;
gap: 6px;
transition: border-color 180ms ease;
}
.tile:hover {
border-color: var(--border-green);
}
.tileLabel {
font-size: 0.65em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.22em;
color: var(--text-muted);
}
.tileValue {
font-size: 1.5em;
font-variant-numeric: tabular-nums;
font-weight: 700;
color: var(--text-bright);
letter-spacing: 0.01em;
}
.topBar {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
margin-bottom: 20px;
padding-bottom: 18px;
border-bottom: 1px solid var(--border);
}
@media (max-width: 1023.99px) {
.topBar {
flex-direction: column;
align-items: stretch;
}
}
.filters {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
}
.filtersLabel {
font-size: 0.68em;
text-transform: uppercase;
font-weight: 600;
letter-spacing: 0.22em;
color: var(--text-muted);
margin-right: 4px;
}
.filterButton {
background: rgba(221, 215, 205, 0.04);
color: var(--text-muted);
border: 1px solid rgba(221, 215, 205, 0.1);
padding: 6px 12px;
font-family: var(--font-mono);
font-size: 0.78em;
letter-spacing: 0.02em;
border-radius: 2px;
cursor: pointer;
transition:
background 180ms ease,
color 180ms ease,
border-color 180ms ease;
}
.filterButton:hover {
background: var(--green-dim);
color: var(--green-bright);
border-color: var(--border-green);
}
.filterButtonActive {
background: var(--green-dim);
color: var(--green-bright);
border-color: var(--border-green);
}
.reset {
font-size: 0.72em;
letter-spacing: 0.14em;
text-transform: uppercase;
font-weight: 600;
color: var(--terracotta-bright);
background: var(--terracotta-dim);
border: 1px solid rgba(196, 112, 85, 0.22);
padding: 6px 14px;
border-radius: 2px;
cursor: pointer;
transition:
background 180ms ease,
color 180ms ease,
border-color 180ms ease;
}
.reset:hover {
background: rgba(196, 112, 85, 0.2);
color: #f09a85;
border-color: var(--terracotta);
}
@media (max-width: 1023.99px) {
.reset {
align-self: flex-start;
}
}
.actionsBar {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 18px;
}
.emptyActions {
display: flex;
justify-content: center;
margin-top: 18px;
}
.actionButton {
font-family: var(--font-mono);
font-size: 0.74em;
letter-spacing: 0.16em;
text-transform: uppercase;
font-weight: 600;
color: var(--green-bright);
background: var(--green-dim);
border: 1px solid var(--border-green);
padding: 9px 16px;
border-radius: 2px;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
transition:
background 180ms ease,
color 180ms ease,
border-color 180ms ease;
}
.actionButton:hover:not(:disabled) {
color: var(--green-hi);
background: rgba(107, 158, 120, 0.18);
border-color: var(--green-bright);
}
.actionButton:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.dayHeader {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 12px;
padding: 18px 4px 8px;
margin-top: 4px;
border-bottom: 1px solid var(--border);
margin-bottom: 10px;
}
.dayHeader:first-child {
padding-top: 4px;
margin-top: 0;
}
.dayHeaderLabel {
font-size: 0.72em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.22em;
color: var(--text-bright);
}
.dayHeaderDate {
font-size: 0.68em;
color: var(--text-muted);
letter-spacing: 0.1em;
margin-left: 8px;
font-weight: 400;
text-transform: none;
}
.dayHeaderTotal {
font-size: 0.78em;
font-variant-numeric: tabular-nums;
font-weight: 600;
color: var(--green-bright);
letter-spacing: 0.05em;
}
.nothingFiltered {
padding: 48px 16px;
text-align: center;
color: var(--text-muted);
font-size: 0.85em;
letter-spacing: 0.1em;
text-transform: uppercase;
border: 1px dashed var(--border);
border-radius: var(--radius);
background: rgba(221, 215, 205, 0.02);
}