Template:CommunityGrowReports/styles.css
Template page
More actions
/* Template:CommunityGrowReports/styles.css
Shared styles for the grow report system.
Used by Template:GrowReport (full page), Template:GrowReportCard (list cards),
Template:Accession grow reports (rollup card on accession pages),
and Community/Grow Reports (the listing page).
Mirrors Template:CommunitySmokeReports/styles.css with a separate .cgr- prefix
so the two systems can diverge without coupling.
*/
/* ===== Listing page header ===== */
.cgr-page-header {
border-bottom: 1px solid #d2ddce;
padding-bottom: 14px;
margin-bottom: 22px;
}
.cgr-page-kicker {
letter-spacing: 0.08em;
text-transform: uppercase;
font-size: 11px;
font-weight: 600;
color: #5a6650;
margin-bottom: 4px;
}
.cgr-page-title {
font-size: 28px;
font-weight: 700;
color: #1a2612;
margin: 0 0 8px 0;
line-height: 1.2;
border-bottom: none;
}
.cgr-page-subtitle {
font-size: 14px;
color: #34402d;
max-width: 70ch;
margin: 0 0 14px 0;
line-height: 1.55;
}
/* ===== Page-level stats strip (under subtitle) ===== */
.cgr-page-stats {
display: flex;
align-items: baseline;
flex-wrap: wrap;
gap: 6px 10px;
padding-top: 4px;
font-size: 13px;
color: #5a6650;
}
.cgr-stat-item {
display: inline-flex;
align-items: baseline;
gap: 5px;
line-height: 1.3;
}
.cgr-stat-num {
font-variant-numeric: tabular-nums;
font-weight: 700;
color: #1a2612;
font-size: 15px;
line-height: 1;
}
.cgr-stat-lbl {
color: #5a6650;
}
.cgr-stat-sep {
color: #b8c2af;
}
/* ===== Two-column layout (listing page and report page) ===== */
.cgr-grid,
.cgr-reportpage-grid {
display: grid;
grid-template-columns: 1fr 320px;
gap: 18px;
}
@media (max-width: 980px) {
.cgr-grid,
.cgr-reportpage-grid {
grid-template-columns: 1fr;
}
}
/* ===== Sections (listing page main column) ===== */
.cgr-section {
border: 1px solid #d2ddce;
border-radius: 8px;
background: #ffffff;
overflow: hidden;
margin-bottom: 14px;
}
.cgr-section-head {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 12px;
background: #f7faf6;
border-bottom: 1px solid #d2ddce;
padding: 10px 14px;
}
.cgr-section-title {
font-weight: 600;
color: #1a2612;
font-size: 14px;
margin: 0;
padding: 0;
border: none;
background: transparent;
}
.cgr-section-meta {
font-size: 11px;
letter-spacing: 0.05em;
text-transform: uppercase;
color: #5a6650;
font-weight: 500;
white-space: nowrap;
}
.cgr-section-body {
padding: 14px;
}
/* ===== Listing-page rich empty state ===== */
.cgr-empty-state {
padding: 28px 20px 22px;
text-align: center;
background: linear-gradient(180deg, #fafbf9 0%, #ffffff 80%);
border: 1px dashed #d2ddce;
border-radius: 6px;
}
.cgr-empty-headline {
font-size: 17px;
font-weight: 600;
color: #1a2612;
margin-bottom: 10px;
}
.cgr-empty-text {
font-size: 13.5px;
color: #34402d;
line-height: 1.55;
max-width: 56ch;
margin: 0 auto 18px;
}
.cgr-empty-cta {
margin-bottom: 22px;
}
.cgr-empty-cta input[type="submit"],
.cgr-empty-cta .pfForminput input[type="submit"] {
background: #2d6a4f;
color: #ffffff;
border: 1px solid #2d6a4f;
border-radius: 6px;
padding: 9px 18px;
font-weight: 600;
cursor: pointer;
font-size: 13.5px;
line-height: 1.2;
}
.cgr-empty-cta input[type="submit"]:hover,
.cgr-empty-cta .pfForminput input[type="submit"]:hover {
background: #1f563e;
border-color: #1f563e;
}
.cgr-empty-steps {
display: flex;
justify-content: center;
gap: 22px;
flex-wrap: wrap;
padding-top: 18px;
border-top: 1px solid #e8ede5;
}
.cgr-empty-step {
display: flex;
align-items: flex-start;
gap: 8px;
font-size: 12px;
color: #5a6650;
line-height: 1.4;
text-align: left;
max-width: 200px;
}
.cgr-empty-stepnum {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 50%;
background: #eef3eb;
color: #2d6a4f;
font-weight: 600;
font-size: 11px;
flex-shrink: 0;
border: 1px solid #d2ddce;
line-height: 1;
}
.cgr-empty-steptext {
padding-top: 3px;
}
/* ===== Sidebar cards ===== */
.cgr-card {
border: 1px solid #d2ddce;
border-radius: 8px;
background: #ffffff;
margin-bottom: 14px;
overflow: hidden;
}
.cgr-card-title {
background: #f7faf6;
border-bottom: 1px solid #d2ddce;
padding: 10px 14px;
font-weight: 600;
color: #1a2612;
font-size: 13px;
}
.cgr-card-body {
padding: 12px 14px;
font-size: 13px;
color: #34402d;
line-height: 1.5;
}
.cgr-card-body p {
margin: 0 0 8px 0;
}
.cgr-card-body p:last-child {
margin-bottom: 0;
}
.cgr-card-body ul,
.cgr-card-body ol {
margin: 0;
padding-left: 18px;
}
.cgr-card-body li {
margin-bottom: 6px;
}
.cgr-card-foot {
margin-top: 12px;
padding-top: 10px;
border-top: 1px solid #eef2eb;
font-size: 12px;
color: #5a6650;
line-height: 1.5;
}
.cgr-card-foot a {
color: #2d6a4f;
}
/* ===== CTA card variant (primary action) ===== */
.cgr-card-cta {
border-color: #c5d6bd;
}
.cgr-card-cta .cgr-card-title {
background: #eef3eb;
border-bottom-color: #c5d6bd;
color: #1a2612;
}
.cgr-card-cta input[type="submit"],
.cgr-card-cta .pfForminput input[type="submit"] {
margin-top: 6px;
background: #2d6a4f;
color: #ffffff;
border: 1px solid #2d6a4f;
border-radius: 6px;
padding: 8px 14px;
font-weight: 600;
cursor: pointer;
font-size: 13px;
line-height: 1.2;
width: 100%;
box-sizing: border-box;
}
.cgr-card-cta input[type="submit"]:hover,
.cgr-card-cta .pfForminput input[type="submit"]:hover {
background: #1f563e;
border-color: #1f563e;
}
/* ===== Numbered list with circular badges ===== */
.cgr-numlist {
counter-reset: cgrnum;
list-style: none;
padding: 0;
margin: 0;
}
.cgr-numlist li {
counter-increment: cgrnum;
position: relative;
padding-left: 30px;
margin-bottom: 11px;
line-height: 1.5;
font-size: 13px;
color: #34402d;
}
.cgr-numlist li:last-child {
margin-bottom: 0;
}
.cgr-numlist li::before {
content: counter(cgrnum);
position: absolute;
left: 0;
top: 1px;
width: 20px;
height: 20px;
border-radius: 50%;
background: #eef3eb;
color: #2d6a4f;
font-weight: 600;
font-size: 11px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #d2ddce;
line-height: 1;
}
/* ===== Browse list with hover-arrow affordance ===== */
.cgr-browselist {
list-style: none;
padding: 0;
margin: 0;
}
.cgr-browselist li {
margin: 0;
border-bottom: 1px solid #eef2eb;
}
.cgr-browselist li:last-child {
border-bottom: none;
}
.cgr-browselist li a {
display: block;
padding: 8px 0;
color: #2d6a4f;
font-size: 13px;
text-decoration: none;
line-height: 1.4;
}
.cgr-browselist li a:hover {
color: #1f563e;
text-decoration: underline;
}
.cgr-browselist li a::before {
content: "→";
color: #b8c2af;
margin-right: 8px;
font-weight: 400;
}
.cgr-browselist li a:hover::before {
color: #2d6a4f;
}
/* ===== Page footer note (replaces sidebar disclaimer card) ===== */
.cgr-page-foot {
margin-top: 8px;
padding: 14px 16px;
border-top: 1px solid #e8ede5;
background: #fafbf9;
border-radius: 0 0 6px 6px;
}
.cgr-page-foot p {
margin: 0;
font-size: 12px;
color: #5a6650;
line-height: 1.55;
max-width: 80ch;
}
/* ===== Card variant (used in listings by GrowReportCard) ===== */
.cgr-report {
border: 1px solid #e1e6df;
border-radius: 6px;
padding: 12px 14px;
margin-bottom: 8px;
background: #ffffff;
}
.cgr-report:hover {
border-color: #d2ddce;
background: #fafbf9;
}
.cgr-report-top {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 10px;
}
.cgr-report-title {
font-weight: 600;
font-size: 15px;
color: #1a2612;
}
.cgr-report-title a {
color: #2d6a4f;
text-decoration: none;
}
.cgr-report-title a:hover {
text-decoration: underline;
}
.cgr-report-date {
font-size: 12px;
color: #7a8472;
white-space: nowrap;
}
.cgr-report-meta {
margin-top: 6px;
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.cgr-tag {
display: inline-block;
padding: 2px 8px;
border-radius: 4px;
border: 1px solid #d2ddce;
background: #f7faf6;
font-size: 11px;
color: #5a6650;
line-height: 1.4;
}
.cgr-tag-accession {
border-color: #b8c8b0;
background: #eef3eb;
}
.cgr-tag-reporter {
color: #34402d;
}
.cgr-tag-environment {
border-color: #b8c8d6;
background: #ecf1f6;
color: #34495e;
}
.cgr-report-summary {
margin-top: 8px;
font-size: 13px;
color: #34402d;
line-height: 1.5;
}
/* ===== Full report page (used by Template:GrowReport) ===== */
.cgr-reportpage-header {
border-bottom: 1px solid #d2ddce;
padding-bottom: 14px;
margin-bottom: 16px;
}
.cgr-reportpage-kicker {
letter-spacing: 0.08em;
text-transform: uppercase;
font-size: 11px;
font-weight: 600;
color: #5a6650;
margin-bottom: 4px;
}
.cgr-reportpage-title {
font-size: 26px;
font-weight: 700;
color: #1a2612;
margin-bottom: 6px;
line-height: 1.2;
}
.cgr-reportpage-sub {
font-size: 13px;
color: #5a6650;
margin-bottom: 10px;
}
.cgr-reportpage-badges {
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.cgr-pill {
display: inline-block;
padding: 3px 10px;
border-radius: 4px;
border: 1px solid #d2ddce;
background: #f7faf6;
font-size: 12px;
color: #34402d;
line-height: 1.4;
}
/* ===== Report-page content blocks ===== */
.cgr-block {
border: 1px solid #d2ddce;
border-radius: 8px;
background: #ffffff;
margin-bottom: 12px;
overflow: hidden;
}
.cgr-block-title {
background: #f7faf6;
border-bottom: 1px solid #d2ddce;
padding: 8px 14px;
font-weight: 600;
font-size: 13px;
color: #1a2612;
}
.cgr-block-body {
padding: 12px 14px;
font-size: 14px;
color: #34402d;
line-height: 1.6;
}
.cgr-block-warn {
border-color: #d4a89a;
}
.cgr-block-warn .cgr-block-title {
background: #fbf2ee;
border-bottom-color: #d4a89a;
color: #8c3922;
}
.cgr-timeline-meta {
margin-top: 8px;
padding-top: 8px;
border-top: 1px solid #e1e6df;
font-size: 12px;
color: #5a6650;
}
/* ===== Accession-page grow report rollup ===== */
.cgr-acc-card {
width: 100%;
max-width: 620px;
box-sizing: border-box;
margin-top: 10px;
border: 1px solid #d2ddce;
border-left: 3px solid #2d6a4f;
border-radius: 10px;
background: #ffffff;
overflow: hidden;
font-size: 13px;
color: #34402d;
box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}
.cgr-acc-body {
padding: 0;
}
.cgr-empty {
padding: 14px 16px 12px 16px;
color: #5a6650;
font-style: normal;
line-height: 1.45;
background: #f7faf6;
}
.cgr-empty strong {
display: block;
color: #1a2612;
font-size: 14px;
font-weight: 600;
margin-bottom: 3px;
}
.cgr-empty span {
display: block;
max-width: 62ch;
}
.cgr-acc-actions {
display: flex;
align-items: center;
gap: 8px;
margin: 0;
padding: 10px 16px 12px 16px;
border-top: 1px solid #e1e6df;
background: #ffffff;
}
.cgr-acc-button a {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 30px;
padding: 5px 12px;
border-radius: 6px;
border: 1px solid #2d6a4f;
background: #2d6a4f;
color: #ffffff;
font-size: 12px;
font-weight: 600;
line-height: 1.3;
text-decoration: none;
}
.cgr-acc-button a:hover {
background: #1f563e;
border-color: #1f563e;
color: #ffffff;
text-decoration: none;
}
.cgr-inline {
padding: 10px 16px;
border-bottom: 1px solid #eef2eb;
line-height: 1.5;
background: #ffffff;
}
.cgr-inline:last-of-type {
border-bottom: none;
}
.cgr-inline a {
color: #2d6a4f;
text-decoration: none;
font-weight: 600;
}
.cgr-inline a:hover {
text-decoration: underline;
}
.cgr-inline-meta {
color: #5a6650;
font-size: 12px;
margin-left: 4px;
}