Files
MH-DashBoard-organization/incoming-files/reference/ledger/사업관리대장/MH 통합 대시보드_260320.css

1378 lines
39 KiB
CSS

:root {
--bg: #f1eadf;
--panel: #fffaf3;
--panel-soft: #f4e9d7;
--ink: #10251d;
--muted: #66756d;
--line: #d9c5a8;
--brand: #0f3a2f;
--brand-deep: #0a2a22;
--brand-soft: #1a5645;
--accent: #d68a3a;
--accent-soft: #f2c484;
--mint: #2f9973;
--blue: #4b87b3;
--shadow: 0 22px 54px rgba(15, 58, 47, 0.12);
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: "Pretendard", "Malgun Gothic", sans-serif;
color: var(--ink);
background:
radial-gradient(circle at top left, rgba(214, 138, 58, 0.18), transparent 24%),
radial-gradient(circle at top right, rgba(47, 153, 115, 0.12), transparent 22%),
linear-gradient(180deg, #f6efe6 0%, #f1eadf 100%);
}
.page {
max-width: 1720px;
margin: 0 auto;
padding: 26px 22px 40px;
}
.hero {
position: relative;
overflow: hidden;
background:
radial-gradient(circle at 12% 18%, rgba(242, 196, 132, 0.18), transparent 24%),
radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.10), transparent 18%),
linear-gradient(145deg, var(--brand-deep) 0%, var(--brand) 52%, var(--brand-soft) 100%);
color: #f7f0e4;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 30px;
padding: 34px 32px;
box-shadow: 0 28px 70px rgba(15, 58, 47, 0.22);
}
.hero::before {
content: "";
position: absolute;
inset: auto -6% -46% auto;
width: 320px;
height: 320px;
border-radius: 50%;
background: radial-gradient(circle, rgba(242, 196, 132, 0.22), transparent 68%);
pointer-events: none;
}
.hero::after {
content: "";
position: absolute;
top: -90px;
right: 80px;
width: 220px;
height: 220px;
border-radius: 50%;
border: 1px solid rgba(242, 196, 132, 0.16);
pointer-events: none;
}
h1 {
margin: 0;
font-size: 52px;
line-height: 1.12;
letter-spacing: -0.03em;
position: relative;
z-index: 1;
}
.summary {
margin-top: 10px;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 14px;
}
.summary-card {
padding: 14px 16px;
border-radius: 22px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.07) 100%);
border: 1px solid rgba(255, 255, 255, 0.14);
backdrop-filter: blur(8px);
position: relative;
z-index: 1;
}
.summary-label {
font-size: 11px;
letter-spacing: 0.16em;
text-transform: uppercase;
color: rgba(255, 244, 230, 0.68);
font-weight: 900;
}
.summary-value {
margin-top: 8px;
font-size: 24px;
font-weight: 900;
}
.summary-sub {
margin-top: 4px;
font-size: 12px;
color: rgba(255, 244, 230, 0.82);
font-weight: 700;
}
.tabs {
margin-top: 18px;
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.hero-actions {
margin-top: 0;
display: flex;
gap: 10px;
flex-wrap: wrap;
position: absolute;
top: 0;
right: 0;
justify-content: flex-end;
}
.hero-action {
padding: 12px 16px;
border-radius: 999px;
border: 1px solid rgba(242, 196, 132, 0.34);
background: rgba(255, 255, 255, 0.08);
color: #f4efe6;
font-size: 14px;
font-weight: 900;
cursor: pointer;
}
.hero-action:hover {
background: rgba(242, 196, 132, 0.16);
border-color: rgba(242, 196, 132, 0.52);
}
.tab {
padding: 12px 16px;
border-radius: 999px;
border: 1px solid #d6c1a3;
background: linear-gradient(180deg, #fffdf8 0%, #f5ebdd 100%);
color: #244638;
font-size: 14px;
font-weight: 900;
cursor: pointer;
transition: all 0.16s ease;
}
.tab.active {
background: linear-gradient(145deg, var(--brand-deep) 0%, var(--brand) 100%);
color: #f4efe6;
border-color: var(--brand);
box-shadow: 0 12px 28px rgba(15, 58, 47, 0.2);
}
.layout {
margin-top: 18px;
display: grid;
grid-template-columns: 320px minmax(0, 1fr);
gap: 18px;
}
.panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 26px;
box-shadow: var(--shadow);
overflow: hidden;
}
.panel-head {
padding: 18px 20px 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.panel-title {
margin: 0;
font-size: 18px;
font-weight: 900;
}
.panel-note {
color: var(--muted);
font-size: 12px;
font-weight: 800;
}
.panel-body {
padding: 18px 20px 20px;
}
.company-card {
display: grid;
gap: 10px;
}
.metric {
padding: 14px 16px;
border-radius: 18px;
background: linear-gradient(180deg, #fffdf8 0%, #f2e7d6 100%);
border: 1px solid var(--line);
}
.metric-label {
font-size: 11px;
font-weight: 900;
letter-spacing: 0.16em;
color: #8a6b3d;
text-transform: uppercase;
}
.metric-value {
margin-top: 8px;
font-size: 20px;
font-weight: 900;
line-height: 1.2;
}
.metric-sub {
margin-top: 5px;
font-size: 12px;
line-height: 1.45;
color: #425148;
font-weight: 700;
}
.metric-sub-list {
display: grid;
gap: 4px;
margin-top: 6px;
max-height: 132px;
overflow: auto;
padding-right: 4px;
}
.metric-sub-item {
font-size: 12px;
line-height: 1.4;
color: #425148;
font-weight: 700;
}
/* MH embedded business dashboard theme */
body.mh-business-theme {
color: var(--ink);
background:
radial-gradient(circle at top left, rgba(214, 138, 58, 0.18), transparent 24%),
radial-gradient(circle at top right, rgba(47, 153, 115, 0.12), transparent 22%),
linear-gradient(180deg, #f6efe6 0%, #f1eadf 100%) !important;
font-family: "Pretendard", "Malgun Gothic", sans-serif;
}
body.mh-business-theme .wrap {
width: calc(100vw - 60px);
max-width: calc(100vw - 60px);
margin: 0 auto;
padding: 18px 18px 16px;
}
body.mh-business-theme .top {
position: relative;
overflow: hidden;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
gap: 18px 24px;
align-items: start;
background:
radial-gradient(circle at 12% 18%, rgba(242, 196, 132, 0.18), transparent 24%),
radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.10), transparent 18%),
linear-gradient(145deg, var(--brand-deep) 0%, var(--brand) 52%, var(--brand-soft) 100%);
color: #f7f0e4;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 30px;
padding: 30px 30px 26px;
box-shadow: 0 28px 70px rgba(15, 58, 47, 0.22);
margin-bottom: 14px;
}
body.mh-business-theme .top::before {
content: "";
position: absolute;
inset: auto -6% -46% auto;
width: 320px;
height: 320px;
border-radius: 50%;
background: radial-gradient(circle, rgba(242, 196, 132, 0.22), transparent 68%);
pointer-events: none;
}
body.mh-business-theme .top::after {
content: "";
position: absolute;
top: -90px;
right: 80px;
width: 220px;
height: 220px;
border-radius: 50%;
border: 1px solid rgba(242, 196, 132, 0.16);
pointer-events: none;
}
body.mh-business-theme .top > div:first-child {
min-width: 0;
}
body.mh-business-theme .sub,
body.mh-business-theme .title,
body.mh-business-theme .today-date-label,
body.mh-business-theme #btnUpload {
display: none !important;
}
body.mh-business-theme .brand-head {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
min-width: 0;
position: relative;
z-index: 1;
}
body.mh-business-theme .brand-ci {
display: flex;
align-items: center;
gap: 10px;
min-width: 0;
}
body.mh-business-theme .brand-logo-wrap {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
}
body.mh-business-theme .brand-logo {
width: 50px;
height: 28px;
flex: 0 0 auto;
display: block;
}
body.mh-business-theme .brand-company {
color: #8db4ff;
font-size: 20px;
font-weight: 900;
letter-spacing: -0.03em;
white-space: nowrap;
line-height: 1;
}
body.mh-business-theme .brand-copy {
min-width: 0;
}
body.mh-business-theme .brand-title {
min-width: 0;
color: #f4efe6;
font-size: clamp(28px, 2.5vw, 46px);
font-weight: 900;
letter-spacing: -0.03em;
line-height: 1.1;
word-break: keep-all;
}
body.mh-business-theme .brand-subtitle {
display: inline;
color: rgba(244, 239, 230, 0.92);
font-size: 0.5em;
font-weight: 700;
letter-spacing: 0.01em;
margin-left: 6px;
white-space: nowrap;
}
body.mh-business-theme .controls {
display: flex;
flex-direction: column;
align-items: stretch;
justify-self: end;
gap: 12px;
min-width: min(100%, 520px);
position: relative;
z-index: 1;
}
body.mh-business-theme .controls-top-row,
body.mh-business-theme .controls-top-actions {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 10px;
flex-wrap: wrap;
}
body.mh-business-theme .search {
width: min(520px, 100%);
align-self: flex-end;
min-height: 52px;
border-radius: 18px;
border: 1px solid rgba(255, 255, 255, 0.18);
background: rgba(255, 255, 255, 0.14);
color: #fff7eb;
padding: 14px 18px;
font-size: 15px;
font-weight: 800;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
body.mh-business-theme .search::placeholder {
color: rgba(247, 240, 228, 0.66);
}
body.mh-business-theme .status {
display: none !important;
}
body.mh-business-theme .cards {
grid-column: 1 / -1;
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: 14px;
margin-top: 6px;
margin-bottom: 0;
position: relative;
z-index: 1;
}
body.mh-business-theme .business-shell {
position: relative;
margin-top: 12px;
padding: 18px 18px 20px;
border-radius: 30px;
background:
radial-gradient(circle at 12% 12%, rgba(242, 196, 132, 0.10), transparent 26%),
radial-gradient(circle at 88% 10%, rgba(255, 255, 255, 0.08), transparent 18%),
linear-gradient(145deg, rgba(15, 58, 47, 0.96) 0%, rgba(26, 86, 69, 0.94) 100%);
border: 1px solid rgba(255, 255, 255, 0.10);
box-shadow: 0 26px 70px rgba(15, 58, 47, 0.16);
overflow: hidden;
}
body.mh-business-theme .business-shell::before {
content: "";
position: absolute;
inset: auto -10% -32% auto;
width: 360px;
height: 360px;
border-radius: 50%;
background: radial-gradient(circle, rgba(242, 196, 132, 0.16), transparent 70%);
pointer-events: none;
}
body.mh-business-theme .business-shell::after {
content: "";
position: absolute;
top: -110px;
right: 90px;
width: 260px;
height: 260px;
border-radius: 50%;
border: 1px solid rgba(242, 196, 132, 0.12);
pointer-events: none;
}
body.mh-business-theme .cards-toolbar {
grid-column: 1 / -1;
display: flex;
flex-direction: column;
gap: 10px;
margin-bottom: 6px;
}
body.mh-business-theme .cards-toolbar-row {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}
body.mh-business-theme .summary-filter-chip,
body.mh-business-theme .summary-year-chip {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
min-width: 58px;
padding: 9px 14px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.14);
background: rgba(255, 255, 255, 0.08);
color: #f4efe6;
font-size: 12px;
font-weight: 900;
cursor: pointer;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
body.mh-business-theme .summary-filter-chip {
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 96px;
gap: 8px;
text-align: center;
}
body.mh-business-theme .summary-filter-chip .label {
color: rgba(244, 239, 230, 0.92);
letter-spacing: 0.01em;
}
body.mh-business-theme .summary-filter-chip .count {
color: #ffd08a;
font-size: 30px;
line-height: 1;
letter-spacing: -0.03em;
}
body.mh-business-theme .summary-filter-chip .meta {
color: rgba(255, 230, 190, 0.92);
font-size: 11px;
font-weight: 800;
}
body.mh-business-theme .summary-filter-chip.active,
body.mh-business-theme .summary-year-chip.active {
background: linear-gradient(180deg, #fff8ee 0%, #f2dec0 100%);
color: #0a2a22;
border-color: rgba(242, 196, 132, 0.58);
box-shadow: 0 12px 28px rgba(10, 42, 34, 0.18);
}
body.mh-business-theme .summary-filter-chip.active .count {
color: #b86b1f;
}
body.mh-business-theme .summary-filter-chip.active .label {
color: rgba(10, 42, 34, 0.78);
}
body.mh-business-theme .summary-filter-chip.active .meta {
color: #7c5a20;
}
body.mh-business-theme .card {
padding: 16px 16px 14px;
min-height: 108px;
border-radius: 22px;
background: linear-gradient(180deg, rgba(255, 250, 243, 0.98) 0%, rgba(247, 238, 225, 0.94) 100%);
border: 1px solid rgba(214, 193, 163, 0.78);
color: #173328;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.75),
0 14px 30px rgba(15, 58, 47, 0.08);
backdrop-filter: blur(10px);
display: flex;
flex-direction: column;
justify-content: center;
}
body.mh-business-theme .card.management {
background: linear-gradient(180deg, rgba(255, 246, 232, 0.98) 0%, rgba(250, 236, 208, 0.96) 100%);
border-color: rgba(214, 138, 58, 0.42);
}
body.mh-business-theme .card .k {
color: rgba(23, 51, 40, 0.68);
font-size: 11px;
font-weight: 900;
letter-spacing: 0.04em;
}
body.mh-business-theme .card .v {
margin-top: 7px;
color: #173328;
font-size: clamp(19px, 1.55vw, 27px);
font-weight: 900;
letter-spacing: -0.03em;
white-space: nowrap;
}
body.mh-business-theme .card .n {
margin-top: 5px;
color: rgba(63, 84, 74, 0.88);
font-size: 12px;
font-weight: 700;
line-height: 1.4;
}
body.mh-business-theme .panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 26px;
box-shadow: var(--shadow);
overflow: hidden;
position: relative;
z-index: 1;
}
body.mh-business-theme .table-wrap {
overflow: auto;
}
body.mh-business-theme table {
width: 100%;
min-width: 1250px;
border-collapse: collapse;
}
body.mh-business-theme thead th {
background: #122b23;
color: rgba(247, 240, 228, 0.92);
font-size: 11px;
letter-spacing: 0.08em;
padding: 12px 10px;
text-align: left;
white-space: nowrap;
vertical-align: middle;
}
body.mh-business-theme .th-trigger,
body.mh-business-theme .th-trigger:hover,
body.mh-business-theme .th-trigger.active,
body.mh-business-theme .th-trigger.open {
color: rgba(247, 240, 228, 0.92);
}
body.mh-business-theme .th-mark,
body.mh-business-theme .th-caret,
body.mh-business-theme .th-meta {
color: #f2c484;
}
body.mh-business-theme tbody td {
padding: 12px 10px;
border-bottom: 1px solid #ece1cf;
font-size: 13px;
background: #fffaf3;
}
body.mh-business-theme th:nth-child(1),
body.mh-business-theme td:nth-child(1) { width: 5%; }
body.mh-business-theme th:nth-child(2),
body.mh-business-theme td:nth-child(2) { width: 6%; }
body.mh-business-theme th:nth-child(3),
body.mh-business-theme td:nth-child(3) { width: 31%; }
body.mh-business-theme th:nth-child(4),
body.mh-business-theme td:nth-child(4) { width: 12%; }
body.mh-business-theme th:nth-child(5),
body.mh-business-theme td:nth-child(5) { width: 7%; }
body.mh-business-theme th:nth-child(6),
body.mh-business-theme td:nth-child(6) { width: 6%; }
body.mh-business-theme th:nth-child(7),
body.mh-business-theme td:nth-child(7) { width: 9%; }
body.mh-business-theme th:nth-child(8),
body.mh-business-theme td:nth-child(8) { width: 8%; }
body.mh-business-theme th:nth-child(9),
body.mh-business-theme td:nth-child(9) { width: 8%; }
body.mh-business-theme th:nth-child(10),
body.mh-business-theme td:nth-child(10) { width: 8%; }
body.mh-business-theme th:nth-child(11),
body.mh-business-theme td:nth-child(11) { width: 5%; }
body.mh-business-theme tbody tr:hover td {
background: #fff5e8;
}
body.mh-business-theme .name,
body.mh-business-theme td strong {
color: #10251d;
}
body.mh-business-theme .subline {
color: #7c8b82;
}
body.mh-business-theme .client-main {
display: block;
font-weight: 800;
color: #10251d;
}
body.mh-business-theme .badge.badge-baron {
border-color: #f0bb75;
background: #fff2df;
color: #b96820;
}
body.mh-business-theme .badge.badge-family {
border-color: #a5cbb6;
background: #eef7f1;
color: #2d6a4f;
}
body.mh-business-theme .group-row td {
padding: 12px 14px 10px;
background: linear-gradient(180deg, #fff9ef 0%, #f5ebdd 100%);
border-top: 1px solid #ead8bc;
border-bottom: 1px solid #ead8bc;
}
body.mh-business-theme .group-chip {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 7px 13px;
border-radius: 999px;
background: #fffdfa;
border: 1px solid #d6c1a3;
color: #244638;
font-size: 12px;
font-weight: 900;
box-shadow: 0 10px 24px rgba(15, 58, 47, 0.10);
cursor: pointer;
}
body.mh-business-theme .group-chip .group-toggle {
margin-left: 4px;
width: 22px;
height: 22px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
background: rgba(242, 196, 132, 0.16);
color: #8a5a1f;
font-size: 14px;
font-weight: 900;
line-height: 1;
}
body.mh-business-theme .detail-row td {
background: linear-gradient(180deg, #fff7ec 0%, #fffdf8 100%);
border-top: 1px solid #ecd8ba;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
body.mh-business-theme .detail-row .inline-panel {
background: transparent;
border-left: 3px solid var(--accent);
}
body.mh-business-theme .detail-row .inline-card,
body.mh-business-theme .detail-row .ledger-block {
box-shadow: 0 10px 24px rgba(15, 58, 47, 0.08);
}
body.mh-business-theme .table-top-note {
display: flex;
justify-content: flex-end;
margin: 0 2px 10px;
}
body.mh-business-theme .table-vat-note {
display: inline-flex;
align-items: center;
padding: 6px 10px;
border-radius: 999px;
background: rgba(255, 248, 238, 0.96);
border: 1px solid rgba(242, 196, 132, 0.46);
color: #6f5528;
font-size: 11px;
font-weight: 900;
letter-spacing: -0.01em;
}
@media (max-width: 1280px) {
body.mh-business-theme .top {
grid-template-columns: 1fr;
}
body.mh-business-theme .controls {
min-width: 0;
justify-self: stretch;
}
body.mh-business-theme .controls-top-row,
body.mh-business-theme .controls-top-actions {
justify-content: flex-start;
}
body.mh-business-theme .search {
width: 100%;
align-self: stretch;
}
body.mh-business-theme .cards {
grid-template-columns: repeat(2, minmax(140px, 1fr));
}
}
@media (max-width: 720px) {
body.mh-business-theme .wrap {
width: calc(100vw - 30px);
max-width: calc(100vw - 30px);
padding: 12px 10px;
}
body.mh-business-theme .top {
padding: 18px 14px 16px;
gap: 14px;
}
body.mh-business-theme .brand-head {
gap: 8px;
align-items: flex-start;
}
body.mh-business-theme .brand-company {
font-size: 16px;
}
body.mh-business-theme .brand-title {
font-size: 30px;
}
body.mh-business-theme .brand-subtitle {
display: inline;
margin-left: 4px;
margin-top: 0;
white-space: normal;
}
}
.filter-row {
display: grid;
grid-template-columns: 1fr 160px 180px 180px;
gap: 12px;
margin-bottom: 14px;
}
.year-summary {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 10px;
margin-bottom: 14px;
}
.year-card {
padding: 14px 16px;
border-radius: 18px;
background: linear-gradient(180deg, #fffdf8 0%, #f3e7d6 100%);
border: 1px solid var(--line);
cursor: pointer;
transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}
.year-card:hover {
transform: translateY(-2px);
box-shadow: 0 10px 22px rgba(18, 48, 30, 0.10);
}
.year-card.active {
background: linear-gradient(145deg, var(--brand-deep) 0%, var(--brand) 62%, var(--brand-soft) 100%);
border-color: rgba(214, 138, 58, 0.42);
box-shadow: 0 14px 30px rgba(15, 58, 47, 0.2);
}
.year-card.active .year-card-label,
.year-card.active .year-card-value,
.year-card.active .year-card-sub {
color: #f4efe6;
}
.year-card-label {
font-size: 11px;
font-weight: 900;
letter-spacing: 0.14em;
color: #7a684d;
}
.year-card-value {
margin-top: 8px;
font-size: clamp(15px, 1.45vw, 18px);
font-weight: 900;
color: var(--brand);
line-height: 1.2;
white-space: nowrap;
letter-spacing: -0.04em;
}
.year-card-sub {
margin-top: 4px;
font-size: 12px;
font-weight: 700;
color: var(--muted);
}
.input, .select {
width: 100%;
border: 1px solid #d7c4a7;
background: #fffdf8;
border-radius: 14px;
padding: 12px 14px;
font-size: 14px;
font-weight: 700;
color: var(--ink);
outline: none;
}
.input:focus, .select:focus {
border-color: var(--brand-soft);
box-shadow: 0 0 0 3px rgba(47, 153, 115, 0.12);
}
.chip-row {
display: flex;
gap: 8px;
flex-wrap: wrap;
margin-bottom: 12px;
}
.chip {
padding: 8px 12px;
border-radius: 999px;
background: #efe3cf;
color: #315243;
font-size: 12px;
font-weight: 900;
}
.table-wrap {
overflow: auto;
border-top: 1px solid var(--line);
}
.table-summary {
display: flex;
justify-content: flex-end;
gap: 18px;
padding: 14px 20px 18px;
border-top: 1px solid var(--line);
background: #fbf4ea;
font-size: 13px;
font-weight: 800;
color: #244233;
}
.table-summary strong {
color: #12301e;
font-size: 15px;
}
table {
width: 100%;
min-width: 1180px;
border-collapse: separate;
border-spacing: 0;
}
th, td {
border-right: 1px solid #ecdfcc;
border-bottom: 1px solid #ecdfcc;
padding: 11px 12px;
vertical-align: middle;
text-align: left;
font-size: 13px;
line-height: 1.55;
white-space: nowrap;
}
th:last-child, td:last-child { border-right: none; }
thead th {
position: sticky;
top: 0;
z-index: 1;
background: linear-gradient(180deg, var(--brand-deep) 0%, var(--brand) 100%);
color: #f4efe6;
font-size: 12px;
font-weight: 900;
text-align: center;
border-bottom: 1px solid rgba(242, 196, 132, 0.3);
}
tbody tr:nth-child(even) td {
background: #fbf4ea;
}
.money {
white-space: nowrap;
font-weight: 900;
color: var(--brand-soft);
}
.muted {
color: var(--muted);
font-size: 12px;
}
.cell-filter {
padding: 0;
border: none;
background: transparent;
color: #12301e;
font: inherit;
font-weight: 800;
cursor: pointer;
white-space: nowrap;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
}
.cell-filter:hover {
color: var(--mint);
}
.chip-action {
border: 1px solid #d9c8af;
background: #fffaf2;
cursor: pointer;
}
.chip-action:hover {
border-color: var(--mint);
color: var(--mint);
}
.empty {
padding: 24px;
text-align: center;
color: var(--muted);
font-weight: 800;
}
.page {
position: relative;
}
.page::before {
content: "";
position: fixed;
inset: 0;
background:
linear-gradient(rgba(15, 58, 47, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(15, 58, 47, 0.03) 1px, transparent 1px);
background-size: 32px 32px;
mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.34), transparent 82%);
pointer-events: none;
z-index: 0;
}
.hero {
padding: 28px 34px 24px;
border-radius: 32px;
box-shadow: 0 30px 70px rgba(15, 58, 47, 0.22);
}
.hero-grid {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 24px;
align-items: end;
}
.hero-grid > div:first-child {
position: relative;
min-height: 108px;
padding-right: 260px;
}
.brand-kicker {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 9px 14px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(242, 196, 132, 0.24);
color: rgba(255, 244, 230, 0.86);
font-size: 11px;
font-weight: 900;
letter-spacing: 0.22em;
text-transform: uppercase;
}
.brand-kicker::before {
content: "";
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--accent-soft);
box-shadow: 0 0 0 6px rgba(242, 196, 132, 0.12);
}
.brand-line {
display: grid;
grid-template-columns: 76px minmax(0, 1fr);
gap: 20px;
align-items: center;
margin-top: 0;
}
.hero-logo {
position: relative;
width: 76px;
height: 76px;
display: grid;
place-items: center;
border-radius: 24px;
background:
radial-gradient(circle at 30% 26%, rgba(255, 255, 255, 0.24), transparent 20%),
radial-gradient(circle at 68% 72%, rgba(242, 196, 132, 0.34), transparent 18%),
linear-gradient(145deg, rgba(242, 196, 132, 0.18) 0%, rgba(255, 255, 255, 0.04) 100%);
border: 1px solid rgba(242, 196, 132, 0.24);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 18px 36px rgba(10, 42, 34, 0.24);
}
.hero-logo::before {
content: "";
position: absolute;
inset: 10px;
border-radius: 18px;
border: 1px solid rgba(242, 196, 132, 0.16);
}
.hero-logo::after {
content: "";
position: absolute;
left: 50%;
top: 50%;
width: 28px;
height: 28px;
transform: translate(-50%, -50%);
border-radius: 50%;
background: radial-gradient(circle, rgba(242, 196, 132, 0.92), rgba(214, 138, 58, 0.18));
box-shadow:
0 0 0 8px rgba(242, 196, 132, 0.06),
0 0 24px rgba(242, 196, 132, 0.24);
}
.hero-logo-core {
display: none;
}
.hero-copy {
display: none;
}
.hero-side {
display: grid;
gap: 12px;
}
.hero-mini-card {
position: relative;
padding: 16px 18px 16px 58px;
border-radius: 22px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.11) 0%, rgba(255, 255, 255, 0.06) 100%);
border: 1px solid rgba(255, 255, 255, 0.12);
min-height: 88px;
}
.hero-mini-card::before {
content: attr(data-mark);
position: absolute;
left: 16px;
top: 16px;
width: 30px;
height: 30px;
border-radius: 12px;
display: grid;
place-items: center;
background: rgba(242, 196, 132, 0.18);
color: #ffe6bf;
font-size: 11px;
font-weight: 1000;
letter-spacing: 0.08em;
}
.hero-mini-label {
color: rgba(255, 244, 230, 0.62);
font-size: 11px;
font-weight: 900;
letter-spacing: 0.16em;
text-transform: uppercase;
}
.hero-mini-value {
margin-top: 8px;
color: #fff7eb;
font-size: 24px;
font-weight: 1000;
letter-spacing: -0.03em;
}
.hero-mini-sub {
margin-top: 6px;
color: rgba(255, 244, 230, 0.76);
font-size: 13px;
line-height: 1.5;
font-weight: 700;
}
.tabs-shell {
margin-top: 18px;
padding: 12px;
border-radius: 24px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.68) 0%, rgba(255, 250, 243, 0.92) 100%);
border: 1px solid rgba(217, 197, 168, 0.8);
box-shadow: 0 18px 36px rgba(15, 58, 47, 0.08);
backdrop-filter: blur(10px);
}
.tabs-shell .tabs {
margin-top: 0;
}
.page > .hero:not(.hero-reimagined),
.page > .tabs:not(.tabs-reimagined) {
display: none;
}
.summary-card {
min-height: 122px;
overflow: hidden;
transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.summary-card:hover {
transform: translateY(-3px);
box-shadow: 0 18px 30px rgba(10, 42, 34, 0.16);
}
.summary-card::after {
content: "";
position: absolute;
inset: auto -14px -28px auto;
width: 96px;
height: 96px;
border-radius: 50%;
background: radial-gradient(circle, rgba(242, 196, 132, 0.14), transparent 70%);
}
.summary-top {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
display: none;
}
.summary-icon {
width: 42px;
height: 42px;
border-radius: 14px;
display: grid;
place-items: center;
background: rgba(255, 255, 255, 0.14);
border: 1px solid rgba(255, 255, 255, 0.12);
color: #fff3df;
font-size: 11px;
font-weight: 1000;
letter-spacing: 0.08em;
}
.summary-tail {
margin-top: auto;
padding-top: 8px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
color: rgba(255, 244, 230, 0.74);
font-size: 11px;
font-weight: 800;
}
.summary-card .summary-value {
margin-top: 0;
}
.summary-line {
flex: 1;
height: 4px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.12);
overflow: hidden;
}
.summary-line span {
display: block;
height: 100%;
width: 64%;
border-radius: inherit;
background: linear-gradient(90deg, rgba(242, 196, 132, 0.96), rgba(47, 153, 115, 0.88));
}
.panel {
position: relative;
}
.panel::before {
content: "";
position: absolute;
inset: 0 0 auto 0;
height: 4px;
background: linear-gradient(90deg, var(--accent), #edd6af 38%, var(--mint) 100%);
opacity: 0.9;
}
tbody tr:hover td {
background: #f5ecdf;
}
@media (max-width: 1180px) {
.hero-grid {
grid-template-columns: 1fr;
}
.hero-grid > div:first-child {
min-height: auto;
padding-right: 0;
}
.brand-line {
grid-template-columns: 92px minmax(0, 1fr);
gap: 16px;
}
.hero-logo {
width: 68px;
height: 68px;
}
.hero-actions {
position: static;
margin-top: 18px;
justify-content: flex-start;
}
.layout {
grid-template-columns: 1fr;
}
.filter-row {
grid-template-columns: 1fr;
}
.summary {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 720px) {
h1 {
font-size: 34px;
}
.summary {
grid-template-columns: 1fr;
}
}