2684 lines
45 KiB
CSS
2684 lines
45 KiB
CSS
:root {
|
|
font-family:
|
|
Inter,
|
|
ui-sans-serif,
|
|
-apple-system,
|
|
BlinkMacSystemFont,
|
|
"Segoe UI",
|
|
sans-serif;
|
|
color: #243245;
|
|
background: #f4f6f9;
|
|
font-synthesis: none;
|
|
text-rendering: optimizeLegibility;
|
|
-webkit-font-smoothing: antialiased;
|
|
--navy: #111f30;
|
|
--emerald: #168465;
|
|
--emerald-dark: #0d6d52;
|
|
--muted: #748091;
|
|
--line: #e6ebf0;
|
|
--surface: #fff;
|
|
--danger: #b94343;
|
|
font-size: 14px;
|
|
}
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
body {
|
|
margin: 0;
|
|
}
|
|
button,
|
|
input,
|
|
select,
|
|
textarea {
|
|
font: inherit;
|
|
}
|
|
button,
|
|
a,
|
|
input,
|
|
select,
|
|
textarea {
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
button {
|
|
cursor: pointer;
|
|
}
|
|
button:disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.48;
|
|
}
|
|
button:focus-visible,
|
|
a:focus-visible,
|
|
summary:focus-visible {
|
|
outline: 3px solid #53bba0;
|
|
outline-offset: 3px;
|
|
}
|
|
input:focus,
|
|
select:focus,
|
|
textarea:focus {
|
|
outline: 2px solid #9ed8c7;
|
|
outline-offset: 1px;
|
|
border-color: #248e70;
|
|
}
|
|
button {
|
|
transition:
|
|
background 0.15s,
|
|
color 0.15s,
|
|
box-shadow 0.15s;
|
|
}
|
|
a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
p {
|
|
margin: 0;
|
|
}
|
|
h2 {
|
|
font-size: 26px;
|
|
letter-spacing: -0.85px;
|
|
font-weight: 650;
|
|
line-height: 1.3;
|
|
color: #192a3d;
|
|
}
|
|
h3 {
|
|
font-size: 16px;
|
|
letter-spacing: -0.25px;
|
|
line-height: 1.4;
|
|
font-weight: 650;
|
|
}
|
|
h4 {
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
}
|
|
p {
|
|
line-height: 1.7;
|
|
}
|
|
small {
|
|
font-size: 12px;
|
|
line-height: 1.5;
|
|
}
|
|
svg {
|
|
flex-shrink: 0;
|
|
vertical-align: middle;
|
|
}
|
|
code {
|
|
font-size: 12px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.app {
|
|
display: flex;
|
|
min-height: 100vh;
|
|
}
|
|
.sidebar {
|
|
width: 238px;
|
|
background: var(--navy);
|
|
color: #a5b1c0;
|
|
position: fixed;
|
|
inset: 0 auto 0 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
z-index: 40;
|
|
padding: 34px 18px 20px;
|
|
}
|
|
.brand {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 11px;
|
|
color: #fff;
|
|
margin: 0 12px 43px;
|
|
font-family: Montserrat, Inter, ui-sans-serif, sans-serif;
|
|
font-size: 23px;
|
|
font-weight: 700;
|
|
letter-spacing: -0.9px;
|
|
}
|
|
.brand-mark {
|
|
display: grid;
|
|
place-items: center;
|
|
width: 39px;
|
|
height: 42px;
|
|
}
|
|
.brand-light {
|
|
color: #d0dbdf;
|
|
}
|
|
.brand small {
|
|
display: block;
|
|
font-size: 8px;
|
|
font-weight: 500;
|
|
letter-spacing: 0.4em;
|
|
text-transform: uppercase;
|
|
color: #7f90a4;
|
|
margin-top: 6px;
|
|
}
|
|
.nav-label {
|
|
font-size: 9px;
|
|
letter-spacing: 1.8px;
|
|
font-weight: 650;
|
|
margin: 0 17px 15px;
|
|
color: #677a91;
|
|
}
|
|
.nav-item {
|
|
width: 100%;
|
|
border: 0;
|
|
background: transparent;
|
|
color: #9caabd;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
text-align: left;
|
|
padding: 13px 15px;
|
|
margin-bottom: 5px;
|
|
border-radius: 7px;
|
|
font-size: 13px;
|
|
font-weight: 500;
|
|
}
|
|
.nav-item:hover {
|
|
background: #1b2c40;
|
|
color: #fff;
|
|
}
|
|
.nav-item.active {
|
|
background: #203b3d;
|
|
color: #75d6b7;
|
|
box-shadow: inset 3px 0 #58bd9b;
|
|
}
|
|
.nav-item.active svg {
|
|
color: #75d6b7;
|
|
}
|
|
.nav-settings {
|
|
border-top: 1px solid #243348;
|
|
border-radius: 0;
|
|
margin-top: 22px;
|
|
padding-top: 23px;
|
|
}
|
|
.nav-ai {
|
|
font-size: 9px;
|
|
color: #7db6a9;
|
|
border: 1px solid #3b575c;
|
|
padding: 2px 4px;
|
|
border-radius: 4px;
|
|
margin-left: auto;
|
|
}
|
|
.sidebar-bottom {
|
|
margin-top: auto;
|
|
border-top: 1px solid #243348;
|
|
padding: 23px 12px 2px;
|
|
display: flex;
|
|
gap: 11px;
|
|
color: #5f9c8d;
|
|
}
|
|
.sidebar-bottom strong {
|
|
display: block;
|
|
font-size: 11px;
|
|
color: #acb9c8;
|
|
font-weight: 500;
|
|
}
|
|
.sidebar-bottom span {
|
|
display: block;
|
|
font-size: 10px;
|
|
color: #6c7d92;
|
|
margin-top: 5px;
|
|
}
|
|
.main-shell {
|
|
margin-left: 238px;
|
|
width: calc(100% - 238px);
|
|
min-width: 0;
|
|
}
|
|
.topbar {
|
|
height: 78px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0 38px;
|
|
border-bottom: 1px solid var(--line);
|
|
background: #ffffffdc;
|
|
gap: 15px;
|
|
}
|
|
.breadcrumb {
|
|
display: flex;
|
|
gap: 15px;
|
|
align-items: center;
|
|
font-size: 12px;
|
|
color: #8390a0;
|
|
}
|
|
.breadcrumb strong {
|
|
font-weight: 500;
|
|
color: #344258;
|
|
}
|
|
.breadcrumb-divider {
|
|
color: #c5cdd6;
|
|
}
|
|
.topbar-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 20px;
|
|
}
|
|
.local-status {
|
|
font-size: 11px;
|
|
color: #657689;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 7px;
|
|
}
|
|
.local-status > span {
|
|
height: 6px;
|
|
width: 6px;
|
|
background: #36a682;
|
|
border-radius: 50%;
|
|
box-shadow: 0 0 0 3px #eaf7f1;
|
|
}
|
|
.avatar {
|
|
border: 1px solid #dce8e2;
|
|
width: 34px;
|
|
height: 34px;
|
|
background: #eaf3ef;
|
|
border-radius: 50%;
|
|
color: #39816a;
|
|
display: grid;
|
|
place-items: center;
|
|
}
|
|
main {
|
|
padding: 36px 38px 0;
|
|
max-width: 1800px;
|
|
margin: 0 auto;
|
|
outline: none;
|
|
min-height: calc(100vh - 78px);
|
|
}
|
|
.section-heading {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 20px;
|
|
margin-bottom: 27px;
|
|
}
|
|
.section-heading p {
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
margin-top: 7px;
|
|
}
|
|
.button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
border: 1px solid transparent;
|
|
border-radius: 6px;
|
|
min-height: 38px;
|
|
padding: 9px 15px;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
}
|
|
.button.primary {
|
|
background: var(--emerald);
|
|
color: #fff;
|
|
box-shadow: 0 2px 3px #123a2610;
|
|
}
|
|
.button.primary:hover:not(:disabled) {
|
|
background: var(--emerald-dark);
|
|
}
|
|
.button.secondary {
|
|
background: #fff;
|
|
color: #415164;
|
|
border-color: #dde3ea;
|
|
box-shadow: 0 1px 2px #10203805;
|
|
}
|
|
.button.secondary:hover:not(:disabled) {
|
|
background: #f7f9fb;
|
|
border-color: #becad6;
|
|
}
|
|
.button.subtle {
|
|
background: transparent;
|
|
color: #667688;
|
|
padding: 7px 10px;
|
|
}
|
|
.button.subtle:hover:not(:disabled) {
|
|
background: #edf3f3;
|
|
color: #137a5b;
|
|
}
|
|
.button.destructive {
|
|
background: var(--danger);
|
|
color: #fff;
|
|
}
|
|
.icon-button {
|
|
display: inline-grid;
|
|
place-items: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border: 0;
|
|
background: transparent;
|
|
color: #758394;
|
|
border-radius: 5px;
|
|
padding: 5px;
|
|
}
|
|
.icon-button:hover:not(:disabled) {
|
|
background: #edf2f6;
|
|
color: #263d55;
|
|
}
|
|
.icon-button.danger:hover {
|
|
background: #fff0ef;
|
|
color: var(--danger);
|
|
}
|
|
.filters {
|
|
display: flex;
|
|
align-items: end;
|
|
gap: 12px;
|
|
flex-wrap: wrap;
|
|
padding: 17px 18px;
|
|
background: #fff;
|
|
border: 1px solid var(--line);
|
|
border-radius: 9px;
|
|
margin-bottom: 24px;
|
|
box-shadow: 0 1px 2px #1c314705;
|
|
}
|
|
.filters .field {
|
|
flex: 1;
|
|
min-width: 126px;
|
|
max-width: 250px;
|
|
gap: 6px;
|
|
}
|
|
.filters .field > span {
|
|
font-size: 10px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.3px;
|
|
color: #7d8797;
|
|
}
|
|
.filters input,
|
|
.filters select {
|
|
height: 35px;
|
|
font-size: 11px;
|
|
padding: 7px 9px;
|
|
background: #fcfdfe;
|
|
}
|
|
.filter-reset {
|
|
height: 35px;
|
|
min-height: 35px;
|
|
margin-left: auto;
|
|
}
|
|
.field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
color: #35485c;
|
|
font-size: 12px;
|
|
font-weight: 550;
|
|
}
|
|
.field small {
|
|
font-weight: 400;
|
|
color: var(--muted);
|
|
font-size: 11px;
|
|
}
|
|
.field input,
|
|
.field select,
|
|
.field textarea {
|
|
border: 1px solid #dbe2ea;
|
|
border-radius: 5px;
|
|
min-height: 39px;
|
|
padding: 10px 11px;
|
|
width: 100%;
|
|
min-width: 0;
|
|
color: #33445a;
|
|
background: #fff;
|
|
font-weight: 400;
|
|
}
|
|
.field input[readonly] {
|
|
background: #f4f6f8;
|
|
color: #738090;
|
|
}
|
|
.field textarea {
|
|
resize: vertical;
|
|
line-height: 1.6;
|
|
}
|
|
.field input[type="file"] {
|
|
font-size: 12px;
|
|
background: #f8fafb;
|
|
border-style: dashed;
|
|
padding: 20px 12px;
|
|
}
|
|
.field input[type="file"]::file-selector-button {
|
|
background: #fff;
|
|
border: 1px solid #cfdadf;
|
|
border-radius: 4px;
|
|
padding: 8px 10px;
|
|
color: #3b5265;
|
|
margin-right: 12px;
|
|
}
|
|
.panel {
|
|
background: var(--surface);
|
|
border: 1px solid var(--line);
|
|
border-radius: 9px;
|
|
box-shadow: 0 2px 4px #10223403;
|
|
min-width: 0;
|
|
margin-bottom: 24px;
|
|
overflow: hidden;
|
|
}
|
|
.panel-heading {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 15px;
|
|
padding: 22px 24px;
|
|
}
|
|
.panel-heading h3 svg {
|
|
margin-right: 6px;
|
|
color: #6e8d87;
|
|
}
|
|
.panel-heading p {
|
|
color: #8b95a2;
|
|
font-size: 11px;
|
|
margin-top: 5px;
|
|
}
|
|
.panel-heading > svg {
|
|
color: #8eaaa0;
|
|
}
|
|
.stat-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
|
|
gap: 20px;
|
|
}
|
|
.stat {
|
|
padding: 22px 24px;
|
|
}
|
|
.stat-top {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
font-size: 12px;
|
|
color: #7b8797;
|
|
}
|
|
.stat-icon {
|
|
width: 33px;
|
|
height: 33px;
|
|
display: grid;
|
|
place-items: center;
|
|
border-radius: 8px;
|
|
background: #edf7f2;
|
|
color: #3d9b7e;
|
|
}
|
|
.stat-icon.expenses {
|
|
background: #faf0eb;
|
|
color: #c18466;
|
|
}
|
|
.stat-icon.net {
|
|
background: #eff2fa;
|
|
color: #7985b2;
|
|
}
|
|
.stat-value {
|
|
display: block;
|
|
font-weight: 650;
|
|
font-size: 27px;
|
|
letter-spacing: -0.8px;
|
|
margin: 15px 0 11px;
|
|
overflow-wrap: anywhere;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.stat small {
|
|
color: #8d98a7;
|
|
font-size: 10px;
|
|
}
|
|
.positive {
|
|
color: var(--emerald);
|
|
}
|
|
.dashboard-grid {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
|
|
gap: 24px;
|
|
}
|
|
.dashboard-grid.thirds {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
.dashboard-grid.flipped {
|
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
|
|
}
|
|
.dashboard-grid.even {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
.chart-panel {
|
|
overflow: hidden;
|
|
}
|
|
.dashboard-grid .panel {
|
|
height: calc(100% - 24px);
|
|
}
|
|
.eyebrow {
|
|
display: block;
|
|
font-size: 10px;
|
|
letter-spacing: 1.4px;
|
|
text-transform: uppercase;
|
|
font-weight: 650;
|
|
color: #819387;
|
|
}
|
|
.group-list {
|
|
padding: 0 24px 16px;
|
|
}
|
|
.group-row {
|
|
border: 0;
|
|
background: transparent;
|
|
width: 100%;
|
|
text-align: left;
|
|
padding: 8px 0 11px;
|
|
display: block;
|
|
border-radius: 4px;
|
|
}
|
|
.group-row:hover {
|
|
background: #f7faf9;
|
|
}
|
|
.group-row > div:first-child {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 15px;
|
|
font-size: 11px;
|
|
margin-bottom: 9px;
|
|
color: #56667b;
|
|
}
|
|
.group-name {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.group-row strong {
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
color: #42556a;
|
|
}
|
|
.group-track {
|
|
height: 5px;
|
|
background: #edf3f1;
|
|
border-radius: 10px;
|
|
overflow: hidden;
|
|
}
|
|
.group-track span {
|
|
display: block;
|
|
height: 100%;
|
|
background: #64b99c;
|
|
border-radius: 10px;
|
|
}
|
|
.group-row small {
|
|
display: block;
|
|
font-size: 9px;
|
|
color: #93a0ac;
|
|
margin-top: 5px;
|
|
}
|
|
.compact-empty {
|
|
padding: 34px 24px 43px;
|
|
color: #929ba7;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
}
|
|
.welcome {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
background: linear-gradient(110deg, #f3faf6, #fff);
|
|
padding: 35px 40px;
|
|
}
|
|
.welcome-copy {
|
|
max-width: 480px;
|
|
}
|
|
.welcome h3 {
|
|
font-size: 31px;
|
|
font-weight: 600;
|
|
letter-spacing: -1px;
|
|
color: #23483d;
|
|
margin: 14px 0;
|
|
}
|
|
.welcome p {
|
|
font-size: 12px;
|
|
color: #74897e;
|
|
margin-bottom: 21px;
|
|
}
|
|
.welcome-art {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 26px;
|
|
color: #56a486;
|
|
padding: 35px;
|
|
}
|
|
.welcome-art > svg {
|
|
box-sizing: content-box;
|
|
padding: 30px;
|
|
border: 1px solid #dceee4;
|
|
border-radius: 30px;
|
|
background: #e8f4ed;
|
|
transform: rotate(-7deg);
|
|
}
|
|
.welcome-art span {
|
|
font-size: 10px;
|
|
letter-spacing: 1px;
|
|
}
|
|
.empty {
|
|
padding: 53px 24px;
|
|
text-align: center;
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
.empty-icon {
|
|
color: #8ea7a0;
|
|
width: 62px;
|
|
height: 62px;
|
|
background: #f0f6f3;
|
|
border-radius: 18px;
|
|
display: grid;
|
|
place-items: center;
|
|
margin-bottom: 7px;
|
|
}
|
|
.empty h3 {
|
|
font-size: 15px;
|
|
color: #526878;
|
|
}
|
|
.empty > div:last-child {
|
|
color: #8a96a4;
|
|
font-size: 12px;
|
|
line-height: 1.8;
|
|
max-width: 360px;
|
|
}
|
|
.muted {
|
|
color: var(--muted);
|
|
}
|
|
.small {
|
|
font-size: 11px;
|
|
}
|
|
.small svg {
|
|
margin-right: 5px;
|
|
}
|
|
.text-danger {
|
|
color: var(--danger);
|
|
}
|
|
.badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
padding: 4px 7px;
|
|
background: #edf7f1;
|
|
color: #528471;
|
|
border-radius: 4px;
|
|
font-size: 10px;
|
|
font-weight: 500;
|
|
white-space: nowrap;
|
|
}
|
|
.badge.neutral {
|
|
background: #f0f3f7;
|
|
color: #7c8999;
|
|
}
|
|
.chips {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 4px;
|
|
margin-top: 5px;
|
|
}
|
|
.panel-toolbar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 20px;
|
|
padding: 17px 23px;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
.search {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 9px;
|
|
max-width: 460px;
|
|
flex: 1;
|
|
color: #9aa6b3;
|
|
}
|
|
.search input {
|
|
border: 0;
|
|
outline: none;
|
|
background: transparent;
|
|
min-width: 0;
|
|
width: 100%;
|
|
font-size: 12px;
|
|
color: #46596a;
|
|
padding: 7px 0;
|
|
}
|
|
.search:focus-within {
|
|
outline: 2px solid #9ed8c7;
|
|
outline-offset: 5px;
|
|
border-radius: 3px;
|
|
}
|
|
.search input::placeholder {
|
|
color: #9aa6b3;
|
|
}
|
|
.toolbar-select {
|
|
height: 35px;
|
|
font-size: 11px;
|
|
padding: 0 9px;
|
|
border: 1px solid #dbe2ea;
|
|
border-radius: 5px;
|
|
background: #fff;
|
|
color: #46596a;
|
|
flex-shrink: 0;
|
|
}
|
|
.table-scroll {
|
|
overflow-x: auto;
|
|
}
|
|
table {
|
|
border-collapse: collapse;
|
|
width: 100%;
|
|
text-align: left;
|
|
font-size: 12px;
|
|
}
|
|
th {
|
|
background: #fbfcfd;
|
|
font-size: 9px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.8px;
|
|
font-weight: 600;
|
|
color: #8792a1;
|
|
padding: 14px 23px;
|
|
white-space: nowrap;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
td {
|
|
padding: 17px 23px;
|
|
border-bottom: 1px solid #edf1f4;
|
|
vertical-align: middle;
|
|
color: #607084;
|
|
}
|
|
tr:last-child td {
|
|
border-bottom: 0;
|
|
}
|
|
td small {
|
|
display: block;
|
|
color: #9aa4b1;
|
|
font-size: 10px;
|
|
margin-top: 5px;
|
|
}
|
|
tbody tr:hover {
|
|
background: #fcfefd;
|
|
}
|
|
.numeric {
|
|
text-align: right;
|
|
}
|
|
.money {
|
|
font-variant-numeric: tabular-nums;
|
|
white-space: nowrap;
|
|
}
|
|
.nowrap {
|
|
white-space: nowrap;
|
|
}
|
|
.transaction-link {
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: center;
|
|
background: none;
|
|
border: 0;
|
|
padding: 0;
|
|
text-align: left;
|
|
color: #45596e;
|
|
}
|
|
.transaction-link strong {
|
|
display: block;
|
|
font-size: 12px;
|
|
font-weight: 550;
|
|
}
|
|
.transaction-link:hover strong {
|
|
color: var(--emerald);
|
|
text-decoration: underline;
|
|
}
|
|
.transaction-icon {
|
|
width: 34px;
|
|
height: 34px;
|
|
background: #f0f3f7;
|
|
border-radius: 9px;
|
|
display: grid;
|
|
place-items: center;
|
|
flex-shrink: 0;
|
|
color: #899aab;
|
|
}
|
|
.transaction-icon.income {
|
|
background: #eef7f1;
|
|
color: #72a58c;
|
|
}
|
|
.transaction-icon.transfer {
|
|
background: #f0effa;
|
|
color: #9992bb;
|
|
}
|
|
.description {
|
|
max-width: 310px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.pagination {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 14px 22px;
|
|
border-top: 1px solid var(--line);
|
|
font-size: 10px;
|
|
color: #8994a2;
|
|
}
|
|
.pagination > div {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.registry {
|
|
padding: 7px 24px;
|
|
}
|
|
.registry-row {
|
|
display: flex;
|
|
gap: 20px;
|
|
align-items: center;
|
|
min-height: 74px;
|
|
border-bottom: 1px solid #edf1f4;
|
|
}
|
|
.registry-row:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
.registry-label {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 13px;
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.registry-label svg {
|
|
color: #86a095;
|
|
}
|
|
.registry-label strong {
|
|
font-size: 13px;
|
|
font-weight: 550;
|
|
display: block;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.registry-label small {
|
|
display: block;
|
|
color: #9aa4af;
|
|
margin-top: 4px;
|
|
font-size: 10px;
|
|
}
|
|
.registry-detail {
|
|
font-size: 11px;
|
|
max-width: 30%;
|
|
}
|
|
.row-actions {
|
|
display: flex;
|
|
gap: 5px;
|
|
align-items: center;
|
|
}
|
|
.modal {
|
|
border: 1px solid #dce5eb;
|
|
border-radius: 12px;
|
|
padding: 0;
|
|
color: #34495d;
|
|
width: 520px;
|
|
max-width: calc(100vw - 30px);
|
|
max-height: calc(100dvh - 40px);
|
|
box-shadow: 0 25px 100px #08162155;
|
|
overflow: auto;
|
|
}
|
|
.modal.wide {
|
|
width: 800px;
|
|
}
|
|
.modal::backdrop {
|
|
background: #0c1c32a6;
|
|
backdrop-filter: blur(3px);
|
|
}
|
|
.modal-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 21px 25px;
|
|
border-bottom: 1px solid var(--line);
|
|
position: sticky;
|
|
top: 0;
|
|
background: #fff;
|
|
z-index: 2;
|
|
}
|
|
.modal-header h2 {
|
|
font-size: 19px;
|
|
letter-spacing: -0.4px;
|
|
}
|
|
.form-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 20px;
|
|
padding: 24px;
|
|
}
|
|
.form-body > p {
|
|
font-size: 12px;
|
|
}
|
|
.form-actions {
|
|
display: flex;
|
|
gap: 10px;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
padding: 18px 24px;
|
|
border-top: 1px solid var(--line);
|
|
background: #fafcfd;
|
|
position: sticky;
|
|
bottom: 0;
|
|
z-index: 1;
|
|
}
|
|
.two-columns {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 18px;
|
|
}
|
|
.tag-picker {
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
padding: 13px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin: 0;
|
|
}
|
|
.tag-picker legend {
|
|
font-size: 12px;
|
|
color: #546779;
|
|
padding: 0 5px;
|
|
}
|
|
/* Inline tag creation inside the picker: a small input plus one button, so a
|
|
missing tag never forces a detour through the Tags page. */
|
|
.tag-add {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
}
|
|
.tag-add input {
|
|
width: 140px;
|
|
padding: 6px 9px;
|
|
font-size: 12px;
|
|
}
|
|
.tag-add-error {
|
|
flex-basis: 100%;
|
|
color: var(--danger);
|
|
font-size: 12px;
|
|
}
|
|
.check-chip {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 7px;
|
|
padding: 7px 10px;
|
|
background: #f6f9f8;
|
|
border: 1px solid #e1eae6;
|
|
border-radius: 5px;
|
|
font-size: 11px;
|
|
}
|
|
.checkbox {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 9px;
|
|
font-size: 12px;
|
|
line-height: 1.7;
|
|
color: #526578;
|
|
}
|
|
.checkbox input,
|
|
.check-chip input,
|
|
.preview-row > input {
|
|
accent-color: var(--emerald);
|
|
width: 15px;
|
|
height: 15px;
|
|
flex-shrink: 0;
|
|
margin: 2px 0;
|
|
}
|
|
.alert {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 15px 18px;
|
|
border-radius: 7px;
|
|
font-size: 12px;
|
|
margin-bottom: 20px;
|
|
line-height: 1.6;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.alert p {
|
|
font-size: 12px;
|
|
}
|
|
.alert.error {
|
|
background: #fff1ef;
|
|
border: 1px solid #f2d8d3;
|
|
color: #a44e43;
|
|
}
|
|
.alert.warning {
|
|
background: #fff9e9;
|
|
border: 1px solid #eadfb8;
|
|
color: #9b7e40;
|
|
}
|
|
.alert > span,
|
|
.alert > div {
|
|
flex: 1;
|
|
}
|
|
.alert .button {
|
|
margin-left: auto;
|
|
}
|
|
.form-body .alert {
|
|
margin-bottom: 0;
|
|
}
|
|
.toast {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 13px 17px;
|
|
background: #eaf7f0;
|
|
border: 1px solid #cbe7d9;
|
|
border-radius: 7px;
|
|
color: #287557;
|
|
font-size: 12px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.toast span {
|
|
flex: 1;
|
|
}
|
|
.transaction-summary {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 20px;
|
|
background: #f6f9f8;
|
|
padding: 20px;
|
|
border-radius: 7px;
|
|
}
|
|
.transaction-summary h3 {
|
|
margin: 7px 0;
|
|
font-size: 15px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.transaction-summary p {
|
|
color: #8b98a5;
|
|
font-size: 11px;
|
|
}
|
|
/* A headline figure with the split that produced it underneath: the smaller
|
|
line has to leave the money's line rather than flow beside it. */
|
|
.figure {
|
|
text-align: right;
|
|
}
|
|
.figure small {
|
|
display: block;
|
|
margin-top: 5px;
|
|
color: #8b95a2;
|
|
font-size: 11px;
|
|
}
|
|
.large-money {
|
|
font-size: 22px;
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
letter-spacing: -0.5px;
|
|
}
|
|
details {
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
padding: 14px;
|
|
}
|
|
summary {
|
|
font-size: 12px;
|
|
font-weight: 550;
|
|
cursor: pointer;
|
|
color: #617286;
|
|
}
|
|
summary .badge {
|
|
margin-left: 8px;
|
|
}
|
|
.facts {
|
|
margin: 18px 0 0;
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 13px 20px;
|
|
}
|
|
.facts > div {
|
|
min-width: 0;
|
|
}
|
|
.facts dt {
|
|
font-size: 10px;
|
|
text-transform: capitalize;
|
|
color: #97a1ad;
|
|
margin-bottom: 4px;
|
|
}
|
|
.facts dd {
|
|
margin: 0;
|
|
font-size: 11px;
|
|
line-height: 1.6;
|
|
overflow-wrap: anywhere;
|
|
color: #627185;
|
|
}
|
|
.account-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
gap: 20px;
|
|
}
|
|
.account-card {
|
|
padding: 23px 23px 12px;
|
|
}
|
|
.account-card-heading {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 18px;
|
|
}
|
|
.account-icon {
|
|
width: 42px;
|
|
height: 42px;
|
|
display: grid;
|
|
place-items: center;
|
|
background: #f0f6f4;
|
|
color: #6d9b8d;
|
|
border-radius: 10px;
|
|
}
|
|
.account-card > p {
|
|
font-size: 11px;
|
|
color: #93a0ad;
|
|
margin-top: 5px;
|
|
}
|
|
.account-iban {
|
|
display: block;
|
|
font-size: 10px;
|
|
color: #9da8b2;
|
|
overflow-wrap: anywhere;
|
|
margin-top: 10px;
|
|
}
|
|
.balance-area {
|
|
padding: 24px 0;
|
|
min-height: 65px;
|
|
}
|
|
.balance-area > div + div {
|
|
margin-top: 10px;
|
|
}
|
|
.balance-area small {
|
|
font-size: 10px;
|
|
color: #91a196;
|
|
display: block;
|
|
text-transform: capitalize;
|
|
}
|
|
.balance-area strong {
|
|
font-size: 23px;
|
|
font-weight: 600;
|
|
color: #35584e;
|
|
letter-spacing: -0.5px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.account-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
border-top: 1px solid var(--line);
|
|
padding-top: 10px;
|
|
}
|
|
.session-list {
|
|
padding: 0 24px 15px;
|
|
}
|
|
.session {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 20px;
|
|
padding: 17px 0;
|
|
border-top: 1px solid var(--line);
|
|
}
|
|
.session strong {
|
|
font-size: 12px;
|
|
}
|
|
.session small {
|
|
display: block;
|
|
color: #8293a0;
|
|
font-size: 10px;
|
|
margin: 6px 0;
|
|
}
|
|
.session code {
|
|
font-size: 10px;
|
|
color: #9ca8b1;
|
|
}
|
|
.session > div:last-child {
|
|
display: flex;
|
|
gap: 5px;
|
|
flex-wrap: wrap;
|
|
align-content: center;
|
|
}
|
|
.privacy-banner {
|
|
display: flex;
|
|
gap: 16px;
|
|
padding: 21px 24px;
|
|
background: #ecf5f1;
|
|
border: 1px solid #d7e8df;
|
|
color: #568272;
|
|
border-radius: 8px;
|
|
margin-bottom: 25px;
|
|
}
|
|
.privacy-banner > svg {
|
|
margin-top: 2px;
|
|
}
|
|
.privacy-banner strong {
|
|
font-size: 13px;
|
|
color: #3f6e5e;
|
|
}
|
|
.privacy-banner p {
|
|
font-size: 11px;
|
|
margin-top: 6px;
|
|
max-width: 850px;
|
|
}
|
|
.classification-setup {
|
|
max-width: 760px;
|
|
}
|
|
.classification-setup .form-body {
|
|
padding-top: 3px;
|
|
}
|
|
.preview-summary {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 28px;
|
|
padding: 10px 0 27px;
|
|
color: #8995a3;
|
|
font-size: 11px;
|
|
}
|
|
.preview-summary strong {
|
|
font-size: 21px;
|
|
font-weight: 600;
|
|
margin-right: 5px;
|
|
color: #425e50;
|
|
}
|
|
.preview-row {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 14px;
|
|
padding: 23px;
|
|
border-top: 1px solid var(--line);
|
|
cursor: pointer;
|
|
}
|
|
.preview-row.selected {
|
|
background: #fbfefc;
|
|
}
|
|
.preview-row > div {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.preview-row > div > strong {
|
|
font-size: 12px;
|
|
display: block;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.preview-row > div > small {
|
|
font-size: 9px;
|
|
display: block;
|
|
margin-top: 5px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.diff {
|
|
display: grid;
|
|
grid-template-columns: 1fr 18px 1fr;
|
|
gap: 18px;
|
|
align-items: center;
|
|
margin-top: 20px;
|
|
}
|
|
.diff > svg {
|
|
color: #a6b3ac;
|
|
}
|
|
.diff-value {
|
|
padding: 14px;
|
|
background: #f4f6f8;
|
|
border: 1px solid #e8edf0;
|
|
border-radius: 6px;
|
|
align-self: stretch;
|
|
}
|
|
.diff-value:last-child {
|
|
background: #eef8f2;
|
|
border-color: #daede2;
|
|
}
|
|
.diff-value dl {
|
|
font-size: 11px;
|
|
margin-bottom: 0;
|
|
}
|
|
.diff-value dl > div {
|
|
margin-top: 10px;
|
|
}
|
|
.diff-value dt {
|
|
font-size: 9px;
|
|
color: #919caa;
|
|
margin-bottom: 3px;
|
|
}
|
|
.diff-value dd {
|
|
margin: 0;
|
|
overflow-wrap: anywhere;
|
|
color: #587063;
|
|
}
|
|
.privacy-copy {
|
|
padding-top: 4px;
|
|
gap: 8px;
|
|
}
|
|
.privacy-copy h4:not(:first-child) {
|
|
margin-top: 9px;
|
|
}
|
|
.privacy-copy h4 {
|
|
font-size: 12px;
|
|
color: #62786c;
|
|
}
|
|
.privacy-copy p {
|
|
font-size: 11px;
|
|
color: #8a97a3;
|
|
line-height: 1.8;
|
|
}
|
|
.health-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 24px;
|
|
padding: 0 24px 26px;
|
|
}
|
|
.health {
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: flex-start;
|
|
}
|
|
.health strong {
|
|
font-size: 12px;
|
|
font-weight: 550;
|
|
}
|
|
.health p {
|
|
font-size: 11px;
|
|
color: #8e9ba9;
|
|
overflow-wrap: anywhere;
|
|
margin-top: 5px;
|
|
}
|
|
.index-controls {
|
|
border-top: 1px solid var(--line);
|
|
padding: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 25px;
|
|
justify-content: space-between;
|
|
}
|
|
.index-controls h4 {
|
|
font-size: 13px;
|
|
}
|
|
.index-controls h4 svg {
|
|
margin-right: 7px;
|
|
color: #8d9f95;
|
|
}
|
|
.index-controls p {
|
|
font-size: 11px;
|
|
color: #8c98a4;
|
|
margin-top: 6px;
|
|
max-width: 650px;
|
|
}
|
|
.revision-details {
|
|
margin: 0 24px 24px;
|
|
}
|
|
.revision-details code {
|
|
display: block;
|
|
margin: 15px 0 10px;
|
|
}
|
|
.loading-block {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 12px;
|
|
min-height: 330px;
|
|
color: #7b8c9b;
|
|
font-size: 13px;
|
|
}
|
|
.spinner {
|
|
width: 22px;
|
|
height: 22px;
|
|
border: 2px solid #e1e9e5;
|
|
border-top-color: var(--emerald);
|
|
border-radius: 50%;
|
|
animation: spin 0.8s linear infinite;
|
|
}
|
|
.spin {
|
|
animation: spin 1.2s linear infinite;
|
|
}
|
|
@keyframes spin {
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.progress-track {
|
|
height: 8px;
|
|
border-radius: 4px;
|
|
background: #e1e9e5;
|
|
overflow: hidden;
|
|
}
|
|
.progress-fill {
|
|
height: 100%;
|
|
border-radius: 4px;
|
|
background: var(--emerald);
|
|
transition: width 0.6s ease;
|
|
}
|
|
footer {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 20px 0 27px;
|
|
margin-top: 15px;
|
|
border-top: 1px solid #e6ebf0;
|
|
font-size: 9px;
|
|
color: #a2abb6;
|
|
letter-spacing: 0.3px;
|
|
}
|
|
footer span:first-child {
|
|
font-weight: 600;
|
|
color: #8f9daa;
|
|
}
|
|
.mobile-toggle {
|
|
display: none;
|
|
}
|
|
.skip-link {
|
|
position: fixed;
|
|
top: -80px;
|
|
left: 255px;
|
|
padding: 14px;
|
|
background: #fff;
|
|
color: #1b7558;
|
|
z-index: 100;
|
|
border-radius: 5px;
|
|
}
|
|
.skip-link:focus {
|
|
top: 10px;
|
|
}
|
|
.nav-backdrop {
|
|
display: none;
|
|
}
|
|
.fatal {
|
|
max-width: 700px;
|
|
margin: 12vh auto;
|
|
padding: 30px;
|
|
}
|
|
.fatal h1 {
|
|
font-size: 24px;
|
|
margin-bottom: 18px;
|
|
}
|
|
.fatal p {
|
|
color: #77899b;
|
|
margin-bottom: 20px;
|
|
}
|
|
@media (min-width: 1600px) {
|
|
main {
|
|
padding: 42px 55px 0;
|
|
}
|
|
.topbar {
|
|
padding: 0 55px;
|
|
}
|
|
.filters {
|
|
flex-wrap: nowrap;
|
|
}
|
|
.filters .field {
|
|
min-width: 115px;
|
|
}
|
|
.stat-value {
|
|
font-size: 32px;
|
|
}
|
|
}
|
|
@media (max-width: 1200px) {
|
|
.sidebar {
|
|
width: 210px;
|
|
padding-left: 13px;
|
|
padding-right: 13px;
|
|
}
|
|
.brand {
|
|
margin-left: 8px;
|
|
font-size: 22px;
|
|
}
|
|
.main-shell {
|
|
margin-left: 210px;
|
|
width: calc(100% - 210px);
|
|
}
|
|
main {
|
|
padding: 28px 25px 0;
|
|
}
|
|
.topbar {
|
|
padding: 0 25px;
|
|
}
|
|
.filters .field {
|
|
min-width: 135px;
|
|
max-width: none;
|
|
}
|
|
.stat {
|
|
padding: 18px;
|
|
}
|
|
.stat-value {
|
|
font-size: 23px;
|
|
}
|
|
.dashboard-grid {
|
|
grid-template-columns: 1.2fr 1fr;
|
|
gap: 18px;
|
|
}
|
|
.dashboard-grid.flipped,
|
|
.dashboard-grid.even {
|
|
gap: 18px;
|
|
}
|
|
.dashboard-grid.thirds {
|
|
grid-template-columns: 1fr 1fr;
|
|
}
|
|
.dashboard-grid.thirds > .panel:last-child {
|
|
grid-column: 1 / -1;
|
|
}
|
|
.account-grid {
|
|
grid-template-columns: 1fr 1fr;
|
|
}
|
|
.panel-heading {
|
|
padding: 20px;
|
|
}
|
|
.group-list {
|
|
padding-left: 20px;
|
|
padding-right: 20px;
|
|
}
|
|
.description {
|
|
max-width: 220px;
|
|
}
|
|
.registry-detail {
|
|
display: none;
|
|
}
|
|
}
|
|
@media (max-width: 900px) {
|
|
.sidebar {
|
|
width: 188px;
|
|
}
|
|
.brand {
|
|
font-size: 19px;
|
|
gap: 6px;
|
|
margin-left: 2px;
|
|
}
|
|
.brand small {
|
|
font-size: 7px;
|
|
}
|
|
.nav-item {
|
|
font-size: 11px;
|
|
padding: 12px 11px;
|
|
gap: 9px;
|
|
}
|
|
.main-shell {
|
|
margin-left: 188px;
|
|
width: calc(100% - 188px);
|
|
}
|
|
main {
|
|
padding: 25px 20px 0;
|
|
}
|
|
.topbar {
|
|
padding: 0 20px;
|
|
}
|
|
.section-heading {
|
|
align-items: flex-start;
|
|
}
|
|
.section-heading h2 {
|
|
font-size: 23px;
|
|
}
|
|
.section-heading p {
|
|
font-size: 11px;
|
|
}
|
|
.stat-grid {
|
|
gap: 12px;
|
|
}
|
|
.stat-value {
|
|
font-size: 19px;
|
|
}
|
|
.stat {
|
|
padding: 15px;
|
|
}
|
|
.stat-top {
|
|
font-size: 10px;
|
|
}
|
|
.stat small {
|
|
font-size: 9px;
|
|
}
|
|
.dashboard-grid,
|
|
.dashboard-grid.flipped,
|
|
.dashboard-grid.even {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.dashboard-grid.thirds {
|
|
grid-template-columns: 1fr 1fr;
|
|
}
|
|
.dashboard-grid .panel {
|
|
height: auto;
|
|
margin-bottom: 0;
|
|
}
|
|
.dashboard-grid {
|
|
margin-bottom: 24px;
|
|
}
|
|
.panel-toolbar > .small {
|
|
display: none;
|
|
}
|
|
.welcome {
|
|
padding: 25px;
|
|
}
|
|
.welcome-art {
|
|
display: none;
|
|
}
|
|
.preview-summary {
|
|
gap: 18px;
|
|
}
|
|
.account-grid {
|
|
gap: 15px;
|
|
}
|
|
.account-card {
|
|
padding: 19px 16px 10px;
|
|
}
|
|
.balance-area strong {
|
|
font-size: 20px;
|
|
}
|
|
.two-columns {
|
|
gap: 13px;
|
|
}
|
|
.transaction-summary {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
.health-grid {
|
|
gap: 20px;
|
|
}
|
|
}
|
|
@media (max-width: 680px) {
|
|
.sidebar {
|
|
transform: translateX(-100%);
|
|
width: 238px;
|
|
transition: transform 0.2s;
|
|
}
|
|
/* With the classification select beside the review toggle, the search
|
|
would shrink to a sliver on phones; give it its own full-width row. */
|
|
.panel-toolbar {
|
|
flex-wrap: wrap;
|
|
}
|
|
.search {
|
|
flex-basis: 100%;
|
|
max-width: none;
|
|
}
|
|
.sidebar.open {
|
|
transform: translateX(0);
|
|
}
|
|
.brand {
|
|
font-size: 23px;
|
|
margin-left: 12px;
|
|
}
|
|
.brand small {
|
|
font-size: 8px;
|
|
}
|
|
.nav-item {
|
|
font-size: 13px;
|
|
padding: 13px 15px;
|
|
gap: 12px;
|
|
}
|
|
.main-shell {
|
|
margin: 0;
|
|
width: 100%;
|
|
}
|
|
.mobile-toggle {
|
|
display: inline-grid;
|
|
}
|
|
.topbar {
|
|
height: 65px;
|
|
padding: 0 16px;
|
|
}
|
|
.breadcrumb {
|
|
gap: 10px;
|
|
font-size: 11px;
|
|
}
|
|
.breadcrumb > span:first-of-type,
|
|
.breadcrumb-divider {
|
|
display: none;
|
|
}
|
|
.topbar-actions {
|
|
gap: 10px;
|
|
}
|
|
.local-status {
|
|
display: none;
|
|
}
|
|
main {
|
|
padding: 24px 16px 0;
|
|
}
|
|
.section-heading {
|
|
gap: 13px;
|
|
margin-bottom: 22px;
|
|
}
|
|
.section-heading h2 {
|
|
font-size: 22px;
|
|
}
|
|
.section-heading > .button {
|
|
padding: 8px 10px;
|
|
font-size: 10px;
|
|
min-height: 35px;
|
|
}
|
|
.section-heading > div {
|
|
min-width: 0;
|
|
}
|
|
.section-heading p {
|
|
font-size: 11px;
|
|
line-height: 1.6;
|
|
}
|
|
.filters {
|
|
padding: 13px;
|
|
gap: 11px;
|
|
border-radius: 7px;
|
|
}
|
|
.filters .field {
|
|
min-width: calc(50% - 12px);
|
|
}
|
|
.filter-reset {
|
|
min-width: calc(50% - 12px);
|
|
}
|
|
.stat-grid {
|
|
grid-template-columns: 1fr;
|
|
gap: 0;
|
|
}
|
|
.stat {
|
|
padding: 18px 21px;
|
|
position: relative;
|
|
margin-bottom: 12px;
|
|
}
|
|
.stat-value {
|
|
font-size: 26px;
|
|
margin: 9px 0 6px;
|
|
}
|
|
.stat-top {
|
|
font-size: 11px;
|
|
}
|
|
.stat-icon {
|
|
position: absolute;
|
|
right: 21px;
|
|
top: 22px;
|
|
width: 36px;
|
|
height: 36px;
|
|
}
|
|
.stat small {
|
|
font-size: 10px;
|
|
}
|
|
.stat-grid {
|
|
margin-bottom: 12px;
|
|
}
|
|
.dashboard-grid.thirds {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.dashboard-grid.thirds > .panel:last-child {
|
|
grid-column: auto;
|
|
}
|
|
.panel-heading {
|
|
padding: 19px 18px;
|
|
align-items: flex-start;
|
|
}
|
|
.panel-heading p {
|
|
font-size: 10px;
|
|
}
|
|
.panel-heading .badge {
|
|
font-size: 8px;
|
|
}
|
|
.panel {
|
|
border-radius: 8px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.group-list {
|
|
padding: 0 18px 15px;
|
|
}
|
|
.form-body {
|
|
padding: 20px;
|
|
gap: 18px;
|
|
}
|
|
.form-actions {
|
|
padding: 15px 20px;
|
|
gap: 9px;
|
|
}
|
|
.form-actions .button {
|
|
font-size: 11px;
|
|
}
|
|
.registry {
|
|
padding: 5px 13px;
|
|
}
|
|
.registry-row {
|
|
gap: 6px;
|
|
}
|
|
.registry-label {
|
|
gap: 8px;
|
|
}
|
|
.registry-label strong {
|
|
font-size: 12px;
|
|
}
|
|
.registry-label svg {
|
|
width: 15px;
|
|
}
|
|
.registry-row .icon-button {
|
|
width: 28px;
|
|
}
|
|
.registry-label small {
|
|
font-size: 9px;
|
|
max-width: 160px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.account-grid {
|
|
grid-template-columns: 1fr;
|
|
gap: 0;
|
|
}
|
|
.account-card {
|
|
padding: 21px 22px 12px;
|
|
}
|
|
.account-card-heading {
|
|
margin-bottom: 13px;
|
|
}
|
|
.balance-area {
|
|
padding: 17px 0;
|
|
}
|
|
.account-actions {
|
|
margin-top: 5px;
|
|
}
|
|
.two-columns {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.facts {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.diff {
|
|
grid-template-columns: 1fr;
|
|
gap: 9px;
|
|
}
|
|
.diff > svg {
|
|
transform: rotate(90deg);
|
|
justify-self: center;
|
|
}
|
|
.preview-row {
|
|
padding: 18px 15px;
|
|
gap: 10px;
|
|
}
|
|
.preview-summary {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 18px;
|
|
font-size: 10px;
|
|
}
|
|
.preview-summary strong {
|
|
font-size: 20px;
|
|
}
|
|
.privacy-banner {
|
|
padding: 18px;
|
|
gap: 12px;
|
|
}
|
|
.privacy-banner > svg {
|
|
width: 20px;
|
|
}
|
|
.privacy-banner p {
|
|
font-size: 10px;
|
|
}
|
|
.privacy-banner strong {
|
|
font-size: 12px;
|
|
}
|
|
.health-grid {
|
|
grid-template-columns: 1fr;
|
|
padding: 0 20px 24px;
|
|
}
|
|
.index-controls {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
padding: 20px;
|
|
gap: 17px;
|
|
}
|
|
.revision-details {
|
|
margin: 0 20px 20px;
|
|
}
|
|
.session {
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.session-list {
|
|
padding: 0 20px 15px;
|
|
}
|
|
.modal {
|
|
max-width: calc(100vw - 20px);
|
|
max-height: calc(100dvh - 20px);
|
|
}
|
|
.modal-header {
|
|
padding: 17px 20px;
|
|
}
|
|
.modal-header h2 {
|
|
font-size: 18px;
|
|
}
|
|
.alert {
|
|
flex-wrap: wrap;
|
|
padding: 13px;
|
|
font-size: 11px;
|
|
gap: 9px;
|
|
}
|
|
.alert p {
|
|
font-size: 11px;
|
|
}
|
|
.toast {
|
|
font-size: 11px;
|
|
padding: 10px 12px;
|
|
}
|
|
.alert .button {
|
|
margin-left: 0;
|
|
}
|
|
.nav-backdrop {
|
|
display: block;
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 35;
|
|
background: #0c1c32a6;
|
|
border: 0;
|
|
backdrop-filter: blur(2px);
|
|
}
|
|
.skip-link {
|
|
left: 15px;
|
|
}
|
|
.welcome h3 {
|
|
font-size: 27px;
|
|
}
|
|
.welcome {
|
|
padding: 25px;
|
|
}
|
|
.panel-toolbar {
|
|
padding: 14px 17px;
|
|
}
|
|
th,
|
|
td {
|
|
padding-left: 18px;
|
|
padding-right: 18px;
|
|
}
|
|
footer {
|
|
font-size: 8px;
|
|
padding-top: 15px;
|
|
}
|
|
.large-money {
|
|
font-size: 22px;
|
|
}
|
|
.loading-block {
|
|
min-height: 260px;
|
|
}
|
|
}
|
|
@media (prefers-reduced-motion: reduce) {
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
animation-duration: 0.01ms !important;
|
|
transition: none !important;
|
|
scroll-behavior: auto !important;
|
|
}
|
|
}
|
|
.connection-status {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 9px;
|
|
margin-top: 17px;
|
|
}
|
|
.connection-status small {
|
|
font-size: 10px;
|
|
color: #8b98a5;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.connection-status .text-danger {
|
|
color: var(--danger);
|
|
}
|
|
.connection-warning {
|
|
background: #fff4dd;
|
|
color: #9c743c;
|
|
}
|
|
.connection-status .button {
|
|
font-size: 10px;
|
|
min-height: 30px;
|
|
padding: 6px 10px;
|
|
}
|
|
.callback-details {
|
|
margin: 0 24px;
|
|
padding: 17px;
|
|
background: #f5f8fa;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
}
|
|
.callback-details .field {
|
|
width: 100%;
|
|
}
|
|
.callback-details input {
|
|
font-family: ui-monospace, monospace;
|
|
font-size: 10px;
|
|
}
|
|
.callback-details p {
|
|
font-size: 10px;
|
|
color: #8b98a5;
|
|
}
|
|
.callback-details code {
|
|
font-size: 10px;
|
|
}
|
|
.combo {
|
|
position: relative;
|
|
}
|
|
.combo > input {
|
|
width: 100%;
|
|
padding-right: 40px;
|
|
border: 1px solid #dbe2ea;
|
|
border-radius: 5px;
|
|
min-height: 39px;
|
|
padding-top: 10px;
|
|
padding-bottom: 10px;
|
|
padding-left: 11px;
|
|
min-width: 0;
|
|
color: #33445a;
|
|
background: #fff;
|
|
font-weight: 400;
|
|
}
|
|
.combo-adornment {
|
|
position: absolute;
|
|
right: 11px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
pointer-events: none;
|
|
display: flex;
|
|
}
|
|
.combo-adornment img,
|
|
.combo-adornment svg {
|
|
width: 22px;
|
|
height: 22px;
|
|
object-fit: contain;
|
|
}
|
|
.combo-options {
|
|
position: absolute;
|
|
z-index: 30;
|
|
top: calc(100% + 4px);
|
|
left: 0;
|
|
right: 0;
|
|
margin: 0;
|
|
padding: 4px;
|
|
list-style: none;
|
|
background: #fff;
|
|
border: 1px solid #dbe2ea;
|
|
border-radius: 8px;
|
|
box-shadow: 0 10px 30px #10223418;
|
|
max-height: 264px;
|
|
overflow-y: auto;
|
|
}
|
|
.combo-option {
|
|
display: flex;
|
|
width: 100%;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 8px 10px;
|
|
border: 0;
|
|
background: none;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
font-size: 13px;
|
|
color: inherit;
|
|
}
|
|
.combo-option:hover,
|
|
.combo-option.active,
|
|
.combo-option[aria-selected="true"] {
|
|
background: #f0f7f4;
|
|
}
|
|
.combo-option img,
|
|
.combo-option svg {
|
|
width: 22px;
|
|
height: 22px;
|
|
object-fit: contain;
|
|
flex: none;
|
|
color: var(--muted);
|
|
}
|
|
.combo-empty {
|
|
padding: 8px 10px;
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
}
|
|
.combo-option.create {
|
|
color: var(--emerald);
|
|
font-weight: 600;
|
|
}
|
|
.combo-option.create svg {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
.combo-empty.error {
|
|
color: var(--danger);
|
|
}
|
|
/* The proposed side of a review row is editable in place: compact combobox
|
|
inputs so a correction fits the diff card, removable chips for tags. */
|
|
.diff-value .combo > input {
|
|
min-height: 31px;
|
|
padding: 6px 24px 6px 9px;
|
|
font-size: 12px;
|
|
}
|
|
.diff-value .combo-option {
|
|
font-size: 12px;
|
|
padding: 6px 9px;
|
|
}
|
|
.diff-edit-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 8px;
|
|
min-height: 22px;
|
|
}
|
|
.diff-edit-head .button {
|
|
padding: 2px 8px;
|
|
font-size: 10px;
|
|
}
|
|
.tag-edit {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
align-items: center;
|
|
}
|
|
.tag-edit .combo {
|
|
flex: 1;
|
|
min-width: 130px;
|
|
}
|
|
.tag-chip {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
border: 1px solid #cfe4da;
|
|
background: #fff;
|
|
color: #2c6d57;
|
|
border-radius: 20px;
|
|
padding: 3px 5px 3px 10px;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
}
|
|
.tag-chip svg {
|
|
color: #7fa295;
|
|
}
|
|
.tag-chip:hover svg {
|
|
color: var(--danger);
|
|
}
|
|
.date-select {
|
|
position: relative;
|
|
}
|
|
.date-trigger {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
width: 100%;
|
|
min-height: 39px;
|
|
padding: 10px 11px;
|
|
border: 1px solid #dbe2ea;
|
|
border-radius: 5px;
|
|
background: #fff;
|
|
color: #33445a;
|
|
font-weight: 400;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
}
|
|
.date-trigger:hover {
|
|
border-color: #c2d3ce;
|
|
}
|
|
.date-trigger svg {
|
|
color: #8ba59d;
|
|
}
|
|
.filters .date-trigger {
|
|
height: 35px;
|
|
min-height: 35px;
|
|
font-size: 11px;
|
|
padding: 7px 9px;
|
|
background: #fcfdfe;
|
|
}
|
|
.date-placeholder {
|
|
color: #93a0ad;
|
|
}
|
|
.date-popover {
|
|
position: absolute;
|
|
z-index: 30;
|
|
top: calc(100% + 4px);
|
|
left: 0;
|
|
width: 252px;
|
|
padding: 10px;
|
|
background: #fff;
|
|
border: 1px solid #dbe2ea;
|
|
border-radius: 8px;
|
|
box-shadow: 0 10px 30px #10223418;
|
|
}
|
|
.date-nav {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
margin-bottom: 8px;
|
|
}
|
|
.date-nav select {
|
|
flex: 1;
|
|
min-width: 0;
|
|
height: 30px;
|
|
min-height: 30px;
|
|
padding: 4px 6px;
|
|
border: 1px solid #e3e9ef;
|
|
border-radius: 5px;
|
|
background: #fff;
|
|
color: #33445a;
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
}
|
|
.date-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 2px;
|
|
}
|
|
.date-weekday {
|
|
text-align: center;
|
|
font-size: 10px;
|
|
font-weight: 600;
|
|
color: #93a0ad;
|
|
padding-bottom: 3px;
|
|
}
|
|
.date-day {
|
|
height: 29px;
|
|
border: 0;
|
|
border-radius: 5px;
|
|
background: none;
|
|
color: #35485c;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
}
|
|
.date-day:hover:not(:disabled) {
|
|
background: #f0f7f4;
|
|
}
|
|
.date-day:disabled {
|
|
color: #c4ccd4;
|
|
cursor: not-allowed;
|
|
}
|
|
.date-day.today {
|
|
box-shadow: inset 0 0 0 1px #b9ded0;
|
|
}
|
|
.date-day.selected {
|
|
background: var(--emerald);
|
|
color: #fff;
|
|
font-weight: 600;
|
|
}
|
|
.date-actions {
|
|
display: flex;
|
|
gap: 6px;
|
|
margin-top: 8px;
|
|
}
|
|
.date-actions .button {
|
|
flex: 1;
|
|
min-height: 30px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.category-tree {
|
|
padding: 0 17px 23px;
|
|
}
|
|
.category-line {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 3px;
|
|
min-height: 43px;
|
|
border-bottom: 1px solid #f0f3f5;
|
|
}
|
|
.category-line .icon-button {
|
|
width: 24px;
|
|
height: 28px;
|
|
}
|
|
.tree-spacer {
|
|
width: 24px;
|
|
flex-shrink: 0;
|
|
}
|
|
.category-drill {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
flex: 1;
|
|
min-width: 0;
|
|
background: none;
|
|
border: 0;
|
|
text-align: left;
|
|
padding: 8px 0;
|
|
color: #5f7366;
|
|
font-size: 11px;
|
|
}
|
|
.category-drill:hover {
|
|
color: var(--emerald);
|
|
}
|
|
.category-drill > span:first-child {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.category-drill strong {
|
|
font-size: 10px;
|
|
font-weight: 550;
|
|
display: block;
|
|
line-height: 1.8;
|
|
color: #687b88;
|
|
}
|
|
.category-drill > span:last-child {
|
|
text-align: right;
|
|
}
|
|
.category-node .button.subtle {
|
|
font-size: 10px;
|
|
}
|
|
.negative {
|
|
color: var(--danger);
|
|
}
|
|
.link {
|
|
border: 0;
|
|
background: transparent;
|
|
padding: 0;
|
|
color: #2b6f8a;
|
|
font: inherit;
|
|
text-align: left;
|
|
border-radius: 3px;
|
|
}
|
|
.link:hover {
|
|
color: var(--emerald-dark);
|
|
text-decoration: underline;
|
|
}
|
|
.filter-bar {
|
|
background: var(--surface);
|
|
border: 1px solid var(--line);
|
|
border-radius: 9px;
|
|
margin-bottom: 24px;
|
|
box-shadow: 0 1px 2px #1c314705;
|
|
}
|
|
.range-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 13px;
|
|
padding: 14px 18px 0;
|
|
}
|
|
.range-row .chips {
|
|
margin-top: 0;
|
|
gap: 5px;
|
|
}
|
|
.range-row .filter-reset {
|
|
margin-left: auto;
|
|
}
|
|
.filter-bar .filters {
|
|
border: 0;
|
|
box-shadow: none;
|
|
border-radius: 0;
|
|
margin-bottom: 0;
|
|
padding-top: 13px;
|
|
background: transparent;
|
|
}
|
|
.chip {
|
|
border: 1px solid #dde4ea;
|
|
background: #fcfdfe;
|
|
color: #61717f;
|
|
border-radius: 20px;
|
|
padding: 5px 12px;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.2px;
|
|
}
|
|
.chip:hover:not(.active) {
|
|
border-color: #b9cfc6;
|
|
color: #2c6d57;
|
|
}
|
|
.chip.active {
|
|
background: var(--emerald);
|
|
border-color: var(--emerald);
|
|
color: #fff;
|
|
}
|
|
.currency-switch {
|
|
display: flex;
|
|
gap: 6px;
|
|
margin-bottom: 18px;
|
|
}
|
|
.stat-icon.rate {
|
|
background: #f3f0fa;
|
|
color: #8a7fb0;
|
|
}
|
|
.stat-trend {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
font-size: 10px;
|
|
color: #8d98a7;
|
|
}
|
|
.stat-trend strong {
|
|
font-weight: 650;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.stat-trend.better {
|
|
color: #2e8064;
|
|
}
|
|
.stat-trend.worse {
|
|
color: #a9554f;
|
|
}
|
|
/* Charts are drawn at measured pixel width, so the body only needs to be a
|
|
positioning context for the hover tooltip and to clip a stale wide SVG. */
|
|
.chart-body {
|
|
position: relative;
|
|
padding: 4px 20px 22px;
|
|
overflow: hidden;
|
|
}
|
|
.chart-body svg {
|
|
display: block;
|
|
overflow: visible;
|
|
}
|
|
.chart-axis {
|
|
font-size: 10px;
|
|
fill: #8e99a7;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.chart-axis.strong {
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
fill: #56667b;
|
|
}
|
|
.chart-tip {
|
|
position: absolute;
|
|
top: 4px;
|
|
transform: translateX(-50%);
|
|
background: #16283c;
|
|
color: #eef3f7;
|
|
border-radius: 7px;
|
|
padding: 9px 11px;
|
|
font-size: 11px;
|
|
min-width: 178px;
|
|
pointer-events: none;
|
|
box-shadow: 0 6px 18px #10223426;
|
|
z-index: 2;
|
|
}
|
|
.chart-tip strong {
|
|
display: block;
|
|
font-size: 11px;
|
|
font-weight: 650;
|
|
margin-bottom: 6px;
|
|
}
|
|
.chart-tip span {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 7px;
|
|
color: #b9c6d2;
|
|
line-height: 1.85;
|
|
}
|
|
.chart-tip span b {
|
|
margin-left: auto;
|
|
color: #fff;
|
|
font-weight: 600;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.chart-tip i {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 2px;
|
|
flex: none;
|
|
}
|
|
.chart-tip em {
|
|
display: block;
|
|
margin-top: 5px;
|
|
font-style: normal;
|
|
color: #8ea0b1;
|
|
font-size: 10px;
|
|
}
|
|
.flow-node.drill {
|
|
cursor: pointer;
|
|
}
|
|
.flow-node.drill:hover rect {
|
|
opacity: 0.75;
|
|
}
|
|
.flow-node.drill:hover .flow-name {
|
|
fill: var(--emerald-dark);
|
|
}
|
|
.flow-name {
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
fill: #37495d;
|
|
}
|
|
.flow-value {
|
|
font-size: 10px;
|
|
fill: #8b96a4;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.flow-trunk {
|
|
font-size: 11px;
|
|
font-weight: 650;
|
|
fill: #46586c;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.share-body {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 26px;
|
|
padding: 6px 24px 24px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.share-body svg {
|
|
flex: none;
|
|
}
|
|
.donut-total {
|
|
font-size: 17px;
|
|
font-weight: 700;
|
|
fill: var(--navy);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.donut-caption {
|
|
font-size: 10px;
|
|
letter-spacing: 1.2px;
|
|
text-transform: uppercase;
|
|
fill: #94a0ad;
|
|
}
|
|
.share-legend {
|
|
flex: 1;
|
|
min-width: 190px;
|
|
}
|
|
.share-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 9px;
|
|
width: 100%;
|
|
border: 0;
|
|
background: transparent;
|
|
text-align: left;
|
|
padding: 6px 4px;
|
|
border-radius: 4px;
|
|
font-size: 11px;
|
|
color: #50606f;
|
|
}
|
|
.share-row:hover:not(:disabled) {
|
|
background: #f7faf9;
|
|
}
|
|
.share-row i {
|
|
width: 9px;
|
|
height: 9px;
|
|
border-radius: 2px;
|
|
flex: none;
|
|
}
|
|
.share-row span {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.share-row b {
|
|
font-weight: 650;
|
|
color: var(--navy);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.share-row em {
|
|
font-style: normal;
|
|
color: #8b96a4;
|
|
font-size: 10px;
|
|
min-width: 84px;
|
|
text-align: right;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.mover-list {
|
|
padding: 0 24px 16px;
|
|
}
|
|
.mover-row {
|
|
border: 0;
|
|
background: transparent;
|
|
width: 100%;
|
|
text-align: left;
|
|
padding: 9px 0 11px;
|
|
display: block;
|
|
border-radius: 4px;
|
|
}
|
|
.mover-row:hover {
|
|
background: #f7faf9;
|
|
}
|
|
.mover-row small {
|
|
color: #93a0ad;
|
|
font-size: 10px;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.mover-head {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 14px;
|
|
font-size: 11px;
|
|
margin-bottom: 8px;
|
|
color: #46586c;
|
|
}
|
|
.mover-head > span {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
font-weight: 550;
|
|
}
|
|
.mover-head strong {
|
|
font-size: 11px;
|
|
font-weight: 650;
|
|
white-space: nowrap;
|
|
}
|
|
.mover-track {
|
|
height: 5px;
|
|
background: #eef2f5;
|
|
border-radius: 10px;
|
|
overflow: hidden;
|
|
margin-bottom: 6px;
|
|
}
|
|
.mover-track span {
|
|
display: block;
|
|
height: 100%;
|
|
border-radius: 10px;
|
|
}
|
|
.mover-track span.up {
|
|
background: #d09090;
|
|
}
|
|
.mover-track span.down {
|
|
background: #7cc0a8;
|
|
}
|
|
.group-track span.out {
|
|
background: #d09090;
|
|
}
|
|
.stat-notes {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 3px;
|
|
}
|
|
@media (max-width: 680px) {
|
|
.range-row {
|
|
flex-wrap: wrap;
|
|
padding: 13px 13px 0;
|
|
gap: 9px;
|
|
}
|
|
.range-row .filter-reset {
|
|
margin-left: 0;
|
|
}
|
|
.chart-body {
|
|
padding: 4px 12px 18px;
|
|
}
|
|
.share-body {
|
|
padding: 6px 16px 20px;
|
|
gap: 16px;
|
|
justify-content: center;
|
|
}
|
|
.mover-list {
|
|
padding: 0 18px 15px;
|
|
}
|
|
.chart-tip {
|
|
min-width: 150px;
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
.anchor-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 8px;
|
|
}
|