m2-market/solutions/mm-pdf-report/payload/templates/dark.css

236 lines
4 KiB
CSS

/* MM Dark Design System — WeasyPrint / Marp compatible */
:root {
--cover-bg: #0a0e1a;
--accent: #4bb8d4;
--section-bg: #3d4550;
--body-bg: #111827;
--body-text: #e2e8f0;
--muted: #94a3b8;
--code-bg: #1e2533;
--border: #2d3748;
--white: #ffffff;
}
/* --- PAGE --- */
@page {
size: A4;
margin: 15mm 18mm 15mm 18mm;
}
body {
font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
font-size: 10pt;
line-height: 1.6;
color: var(--body-text);
background: var(--body-bg);
margin: 0;
padding: 0;
}
.body-content {
padding: 0;
}
/* --- COVER PAGE --- */
.cover {
background: var(--cover-bg);
min-height: 100vh;
padding: 52px 52px 40px 52px;
display: flex;
flex-direction: column;
justify-content: space-between;
page-break-after: always;
}
.cover .logo {
font-size: 11pt;
font-weight: 700;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--accent);
}
.cover .title {
font-size: 28pt;
font-weight: 800;
color: var(--white);
line-height: 1.15;
margin: 0;
}
.cover .subtitle {
font-size: 13pt;
color: var(--accent);
margin-top: 8px;
font-weight: 400;
}
.cover .meta {
font-size: 9pt;
color: var(--muted);
margin-top: 32px;
}
.cover .version-badge {
display: inline-block;
background: var(--accent);
color: var(--cover-bg);
font-size: 8pt;
font-weight: 700;
padding: 3px 10px;
border-radius: 3px;
letter-spacing: 0.08em;
}
/* --- SECTION BANNERS --- */
.section-banner, h2 {
background: var(--section-bg);
color: var(--white);
padding: 8px 16px;
margin: 24px -18mm 16px -18mm;
font-size: 10pt;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
/* --- KICKER --- */
.kicker {
display: block;
font-size: 8pt;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 4px;
}
/* --- HEADINGS --- */
h1 {
font-size: 20pt;
font-weight: 800;
color: var(--white);
margin: 0 0 8px 0;
}
h3 {
font-size: 11pt;
font-weight: 700;
color: var(--accent);
margin: 16px 0 6px 0;
}
h4 {
font-size: 10pt;
font-weight: 600;
color: var(--white);
margin: 12px 0 4px 0;
}
/* --- KPI CARDS --- */
.kpi-row {
display: flex;
gap: 12px;
margin: 16px 0;
}
.kpi {
flex: 1;
background: var(--code-bg);
border: 1px solid var(--border);
border-top: 3px solid var(--accent);
padding: 12px 14px;
border-radius: 4px;
font-size: 9pt;
color: var(--muted);
}
.kpi strong {
display: block;
font-size: 16pt;
font-weight: 800;
color: var(--white);
margin-bottom: 2px;
}
/* --- TABLES --- */
table {
width: 100%;
border-collapse: collapse;
margin: 12px 0;
font-size: 9pt;
}
th {
background: var(--section-bg);
color: var(--white);
padding: 7px 10px;
text-align: left;
font-weight: 600;
letter-spacing: 0.05em;
text-transform: uppercase;
font-size: 8pt;
}
td {
padding: 6px 10px;
border-bottom: 1px solid var(--border);
color: var(--body-text);
}
tr:nth-child(even) td {
background: rgba(255,255,255,0.02);
}
/* --- CODE BLOCKS --- */
pre, code {
background: var(--code-bg);
border: 1px solid var(--border);
border-radius: 3px;
font-family: 'JetBrains Mono', 'Fira Code', monospace;
font-size: 8.5pt;
color: #a5d6a7;
}
pre {
padding: 12px 14px;
overflow-x: auto;
}
code { padding: 1px 5px; }
/* --- CALLOUTS --- */
.callout {
background: rgba(75, 184, 212, 0.08);
border-left: 3px solid var(--accent);
padding: 10px 14px;
margin: 12px 0;
border-radius: 0 4px 4px 0;
font-size: 9pt;
color: var(--body-text);
}
.callout.warn {
border-left-color: #f6a623;
background: rgba(246, 166, 35, 0.06);
}
.callout.danger {
border-left-color: #e53e3e;
background: rgba(229, 62, 62, 0.06);
}
/* --- FOOTER --- */
@page {
@bottom-center {
content: "Machine.Machine — Confidential";
font-size: 7.5pt;
color: #4a5568;
}
@bottom-right {
content: counter(page);
font-size: 7.5pt;
color: #4a5568;
}
}