/* CLGC Sponsorship Tracker: styled to match countylongfordgolfclub.com */
.clgc-st {
	--st-navy: #13294b;
	--st-navy-2: #162e5d;
	--st-navy-dark: #0d1d38;
	--st-gold: #b38600;
	--st-gold-2: #cba135;
	--st-gold-soft: #f3ead2;
	--st-bg: #f6f4ec;
	--st-paper: #ffffff;
	--st-line: #e6e3d8;
	--st-muted: #5b6473;
	--st-ok: #2a7a6e;
	--st-ok-soft: #e3f1ee;
	--st-warn: #a8841a;
	--st-warn-soft: #f8efd4;
	--st-bad: #b4382f;
	--st-bad-soft: #f8e4e1;
	--st-idle: #c9c5b8;
	--st-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--st-sans: "Montserrat", -apple-system, "Segoe UI", Roboto, sans-serif;
	--st-ui: "REM", "Montserrat", sans-serif;

	font-family: var(--st-sans);
	color: var(--st-navy);
	background: var(--st-bg);
	padding: 48px 20px 64px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
.clgc-st *, .clgc-st *::before, .clgc-st *::after { box-sizing: border-box; }
.clgc-st .st-wrap { max-width: 1180px; margin: 0 auto; }
.clgc-st button, .clgc-st input, .clgc-st select, .clgc-st textarea { font: inherit; color: inherit; }
/* Neutralise theme / Elementor global button + heading styles inside the tracker */
.clgc-st button, .clgc-st [role="button"], .clgc-st h2, .clgc-st h3, .clgc-st h4,
.clgc-st .st-row *, .clgc-st .st-month-head *, .clgc-st .st-stage * {
	text-transform: none !important; letter-spacing: normal !important;
}
.clgc-st button { box-shadow: none; text-shadow: none; min-height: 0; }
.clgc-st button:hover, .clgc-st button:focus { text-decoration: none; }
.clgc-st .st-stage-step, .clgc-st .st-kpi-label, .clgc-st .st-eyebrow, .clgc-st .st-cols, .clgc-st .st-cols *, .clgc-st .st-fieldset h4, .clgc-st .st-now {
	text-transform: uppercase !important; letter-spacing: 1.2px !important;
}
.clgc-st .st-btn-primary:hover, .clgc-st .st-btn-primary:focus { background: var(--st-navy-dark) !important; color: #fff !important; }
.clgc-st .st-btn-ghost:hover, .clgc-st .st-btn-ghost:focus { background: var(--st-paper) !important; color: var(--st-navy) !important; }
.clgc-st .st-btn-danger:hover, .clgc-st .st-btn-danger:focus { background: var(--st-bad-soft) !important; color: var(--st-bad) !important; }
.clgc-st .st-chipbtn:hover { background: var(--st-gold-soft) !important; color: #6e5020 !important; }
.clgc-st .st-menu-list button:hover, .clgc-st .st-menu-list button:focus { background: var(--st-bg) !important; color: var(--st-navy) !important; }
.clgc-st .st-x:hover { background: var(--st-line) !important; color: var(--st-navy) !important; }
.clgc-st .st-seg button:hover { color: var(--st-navy); background: transparent; }
.clgc-st .st-seg button.on-yes:hover { background: var(--st-ok) !important; color: #fff !important; }
.clgc-st .st-seg button.on-partial:hover { background: var(--st-warn) !important; color: #fff !important; }
.clgc-st .st-seg button.on-no:hover { background: #fff !important; color: var(--st-navy) !important; }
.clgc-st .st-loading { text-align: center; color: var(--st-muted); padding: 60px 0; }

/* ---------- Header ---------- */
.clgc-st .st-head { text-align: center; margin-bottom: 36px; }
.clgc-st .st-eyebrow {
	display: inline-block; font-family: var(--st-ui); font-size: 12px; font-weight: 600;
	letter-spacing: 1.5px; text-transform: uppercase; color: var(--st-gold);
	background: var(--st-gold-soft); border: 1px solid #ead9a8; padding: 6px 14px; border-radius: 999px;
}
.clgc-st h2.st-title {
	font-family: var(--st-serif); font-weight: 600; font-size: clamp(28px, 4vw, 40px);
	line-height: 1.15; margin: 16px 0 0; color: var(--st-navy); text-transform: none; letter-spacing: 0;
}
.clgc-st .st-rule { width: 80px; height: 3px; background: var(--st-gold-2); border-radius: 2px; margin: 18px auto; }
.clgc-st .st-sub { color: var(--st-muted); font-weight: 500; font-size: 15px; margin: 0; }
.clgc-st .st-saved { font-size: 13px; color: var(--st-muted); margin-top: 8px; min-height: 20px; }
.clgc-st .st-saved.is-saving { color: var(--st-gold); }
.clgc-st .st-saved.is-error { color: var(--st-bad); font-weight: 600; }

/* ---------- KPI cards ---------- */
.clgc-st .st-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.clgc-st .st-kpi {
	background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 16px;
	padding: 20px 22px; box-shadow: 0 1px 2px rgba(19, 41, 75, .04); min-width: 0;
}
.clgc-st .st-kpi-label { font-family: var(--st-ui); font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--st-muted); font-weight: 600; }
.clgc-st .st-kpi-value { font-family: var(--st-serif); font-weight: 600; font-size: 32px; line-height: 1.1; margin-top: 8px; font-variant-numeric: tabular-nums; }
.clgc-st .st-kpi-value .eur { color: var(--st-gold); font-size: .6em; vertical-align: .55em; margin-right: 2px; }
.clgc-st .st-kpi-foot { font-size: 13px; color: var(--st-muted); margin-top: 6px; }
.clgc-st .st-kpi.is-gold { border-color: var(--st-gold-2); }
.clgc-st .st-kpi.is-alert .st-kpi-value { color: var(--st-bad); }
.clgc-st .st-meter { height: 6px; background: var(--st-line); border-radius: 999px; margin-top: 12px; overflow: hidden; }
.clgc-st .st-meter span { display: block; height: 100%; background: var(--st-gold-2); border-radius: 999px; }

/* ---------- Deadline pipeline ---------- */
.clgc-st .st-pipe {
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; background: var(--st-paper);
	border: 1px solid var(--st-line); border-radius: 16px; overflow: hidden; margin-bottom: 28px;
}
.clgc-st .st-stage {
	appearance: none; background: none; border: 0; border-right: 1px solid var(--st-line);
	padding: 16px 18px; text-align: left; cursor: pointer; position: relative; transition: background .15s; min-width: 0; overflow-wrap: anywhere;
}
.clgc-st .st-stage:last-child { border-right: 0; }
.clgc-st .st-stage:hover { background: #fbfaf5; }
.clgc-st .st-stage.is-active { background: var(--st-navy); color: #fff; }
.clgc-st .st-stage.is-active .st-stage-due, .clgc-st .st-stage.is-active .st-stage-count { color: #e9dfc2; }
.clgc-st .st-stage-step { font-family: var(--st-ui); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--st-gold); font-weight: 600; }
.clgc-st .st-stage-name { font-weight: 700; font-size: 14px; line-height: 1.3; margin-top: 2px; }
.clgc-st .st-stage-due { font-size: 13px; color: var(--st-muted); margin-top: 2px; }
.clgc-st .st-stage-count { font-size: 13px; margin-top: 8px; font-weight: 600; color: var(--st-ok); }
.clgc-st .st-stage-count.is-late { color: var(--st-bad); }

/* ---------- Toolbar ---------- */
.clgc-st .st-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 20px; }
.clgc-st .st-search { flex: 1 1 240px; position: relative; }
.clgc-st .st-search svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--st-muted); }
.clgc-st .st-input, .clgc-st .st-select {
	width: 100%; background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 10px;
	padding: 11px 14px; font-size: 14px; font-weight: 500; outline: none; transition: border-color .15s, box-shadow .15s;
}
.clgc-st .st-search .st-input { padding-left: 40px; }
.clgc-st .st-select { width: auto; min-width: 170px; padding-right: 34px; cursor: pointer;
	-webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%2313294b' stroke-width='1.8'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center;
}
.clgc-st .st-input:focus, .clgc-st .st-select:focus { border-color: var(--st-gold-2); box-shadow: 0 0 0 3px rgba(203, 161, 53, .2); }

.clgc-st .st-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--st-ui); font-size: 14px; font-weight: 700; letter-spacing: .3px;
	border-radius: 10px; padding: 11px 18px; border: 1px solid transparent; cursor: pointer;
	text-decoration: none; transition: background .15s, transform .05s; white-space: nowrap; line-height: 1.2;
}
.clgc-st .st-btn:active { transform: translateY(1px); }
.clgc-st .st-btn-primary { background: var(--st-navy); color: #fff; }
.clgc-st .st-btn-primary:hover { background: var(--st-navy-dark); color: #fff; }
.clgc-st .st-btn-gold { background: #6e5020; color: #fff; }
.clgc-st .st-btn-gold:hover { background: #5a411a; }
.clgc-st .st-btn-ghost { background: var(--st-paper); border-color: var(--st-line); color: var(--st-navy); }
.clgc-st .st-btn-ghost:hover { border-color: var(--st-gold-2); }
.clgc-st .st-btn-danger { background: none; color: var(--st-bad); border-color: #ecc9c4; }
.clgc-st .st-btn-danger:hover { background: var(--st-bad-soft); }
.clgc-st .st-chipbtn {
	appearance: none; border: 1px solid var(--st-line); background: var(--st-paper); border-radius: 999px;
	padding: 8px 14px; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--st-navy);
}
.clgc-st .st-chipbtn.is-on { background: var(--st-gold-soft); border-color: var(--st-gold-2); color: #6e5020; }
.clgc-st .st-menu { position: relative; }
.clgc-st .st-menu-list {
	position: absolute; right: 0; top: calc(100% + 6px); background: #fff; border: 1px solid var(--st-line);
	border-radius: 12px; box-shadow: 0 12px 32px rgba(13, 29, 56, .14); padding: 6px; min-width: 200px; z-index: 30; display: none;
}
.clgc-st .st-menu.is-open .st-menu-list { display: block; }
.clgc-st .st-menu-list button { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 10px 12px; border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 500; }
.clgc-st .st-menu-list button:hover { background: var(--st-bg); }

/* ---------- Legend ---------- */
.clgc-st .st-legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; color: var(--st-muted); margin: -6px 0 18px; }
.clgc-st .st-legend span { display: inline-flex; align-items: center; gap: 6px; }

/* ---------- Month groups ---------- */
.clgc-st .st-month { background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 16px; margin-bottom: 16px; overflow: hidden; }
.clgc-st .st-month-head {
	width: 100%; appearance: none; border: 0; background: none; cursor: pointer; text-align: left;
	display: grid; grid-template-columns: 1fr auto auto 20px; gap: 18px; align-items: center; padding: 18px 22px;
}
.clgc-st .st-month { border-color: var(--st-navy); }
.clgc-st .st-month-head { background: var(--st-navy); color: #fff; transition: background .15s; }
.clgc-st .st-month-head:hover, .clgc-st .st-month-head:focus-visible { background: var(--st-navy-dark); outline: none; }
.clgc-st .st-month-head:focus-visible { box-shadow: inset 0 0 0 2px var(--st-gold-2); }
.clgc-st .st-month-name { font-family: var(--st-serif); font-weight: 600; font-size: 22px; line-height: 1.2; color: #fff; }
.clgc-st .st-month-name small { font-family: var(--st-sans); font-size: 13px; font-weight: 600; color: #e9d48f; margin-left: 10px; }
.clgc-st .st-month-name .st-now { display: inline-block; font-family: var(--st-ui); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; background: var(--st-gold-2); color: var(--st-navy-dark); border-radius: 999px; padding: 2px 9px; margin-left: 10px; vertical-align: 3px; }
.clgc-st .st-month-total { font-weight: 700; font-variant-numeric: tabular-nums; color: #fff; font-size: 17px; }
.clgc-st .st-month-head .st-meter { background: rgba(255,255,255,.18); }
.clgc-st .st-month-prog { width: 120px; }
.clgc-st .st-month-prog .st-meter { margin-top: 0; }
.clgc-st .st-month-prog div:last-child { font-size: 12px; color: #cfd6e4; margin-top: 4px; text-align: right; }
.clgc-st .st-caret { transition: transform .2s; color: var(--st-gold-2); display: grid; place-items: center; }
.clgc-st .st-month.is-closed .st-caret { transform: rotate(-90deg); }
.clgc-st .st-month.is-closed .st-month-body { display: none; }

.clgc-st .st-cols, .clgc-st .st-row {
	display: grid; grid-template-columns: minmax(220px, 2.2fr) 90px minmax(120px, 1fr) 300px 28px; gap: 16px; align-items: center;
}
.clgc-st .st-cols {
	padding: 10px 22px; border-top: 1px solid var(--st-line); background: #fbfaf5;
	font-family: var(--st-ui); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--st-muted); font-weight: 600;
}
.clgc-st .st-cols .st-stagehead { display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; }
.clgc-st .st-row {
	padding: 14px 22px; border-top: 1px solid var(--st-line); cursor: pointer; transition: background .12s;
	width: 100%; background: none; border-left: 0; border-right: 0; border-bottom: 0; text-align: left;
}
.clgc-st .st-row:hover, .clgc-st .st-row:focus-visible { background: #f8f3e3; outline: none; }
.clgc-st .st-row:hover .st-arrow { color: var(--st-gold); }
.clgc-st .st-addrow { display: flex; align-items: center; gap: 8px; padding: 12px 22px; border-top: 1px dashed var(--st-line); color: var(--st-gold); font-weight: 700; font-size: 13px; cursor: pointer; }
.clgc-st .st-addrow:hover, .clgc-st .st-addrow:focus-visible { background: #fbf7ea; color: #6e5020; outline: none; }
/* Season tabs */
.clgc-st .st-seasons { display: inline-flex; gap: 4px; background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 999px; padding: 4px; margin-top: 18px; }
.clgc-st .st-season { padding: 7px 18px; border-radius: 999px; font-weight: 700; font-size: 14px; cursor: pointer; color: var(--st-muted); }
.clgc-st .st-season:hover { color: var(--st-navy); }
.clgc-st .st-season.is-on { background: var(--st-navy); color: #fff; }
.clgc-st .st-season.is-new { color: var(--st-gold); }
.clgc-st .st-row:focus-visible { box-shadow: inset 3px 0 0 var(--st-gold-2); }
.clgc-st .st-sponsor { font-weight: 700; font-size: 15px; }
.clgc-st .st-sponsor.is-tbd { color: var(--st-bad); }
.clgc-st .st-comp { font-size: 13px; color: var(--st-muted); font-weight: 500; }
.clgc-st .st-comp .st-tag { display: inline-block; background: var(--st-gold-soft); color: #6e5020; font-size: 11px; font-weight: 700; border-radius: 6px; padding: 1px 7px; margin-left: 4px; }
.clgc-st .st-amt { font-weight: 700; font-variant-numeric: tabular-nums; }
.clgc-st .st-amt.is-empty { color: var(--st-idle); font-weight: 500; }
.clgc-st .st-member { font-size: 14px; font-weight: 500; }
.clgc-st .st-member.is-empty { color: var(--st-idle); }
.clgc-st .st-chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.clgc-st .st-chip {
	display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 12px; font-weight: 600;
	border-radius: 999px; padding: 5px 6px; background: #f1efe8; color: #8a8576; white-space: nowrap;
}
.clgc-st .st-chip i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.clgc-st .st-chip.yes { background: var(--st-ok-soft); color: var(--st-ok); }
.clgc-st .st-chip.partial { background: var(--st-warn-soft); color: var(--st-warn); }
.clgc-st .st-chip.late { background: var(--st-bad-soft); color: var(--st-bad); }
.clgc-st .st-chip .lbl-m { display: none; }
.clgc-st .st-arrow { color: var(--st-idle); }
.clgc-st .st-empty { text-align: center; padding: 48px 20px; color: var(--st-muted); background: var(--st-paper); border: 1px dashed var(--st-line); border-radius: 16px; }

/* ---------- Activity ---------- */
.clgc-st .st-log { margin-top: 28px; font-size: 13px; color: var(--st-muted); }
.clgc-st .st-log summary { cursor: pointer; font-weight: 600; color: var(--st-navy); }
.clgc-st .st-log ul { list-style: none; padding: 0; margin: 10px 0 0; }
.clgc-st .st-log li { padding: 6px 0; border-bottom: 1px solid var(--st-line); }

/* ---------- Drawer / modal ---------- */
.clgc-st.clgc-st-overlay { padding: 0; background: rgba(13, 29, 56, .45); }
.clgc-st-overlay {
	position: fixed; inset: 0; background: rgba(13, 29, 56, .45); z-index: 99998; display: flex; justify-content: flex-end;
	animation: clgcStFade .15s ease-out;
}
@keyframes clgcStFade { from { opacity: 0; } }
@keyframes clgcStSlide { from { transform: translateX(30px); opacity: 0; } }
.clgc-st-overlay .st-drawer {
	background: var(--st-bg); width: min(560px, 100%); height: 100%; overflow-y: auto; display: flex; flex-direction: column;
	box-shadow: -12px 0 40px rgba(13, 29, 56, .25); animation: clgcStSlide .2s ease-out;
}
.clgc-st .st-drawer-head { padding: 22px 26px 16px; background: var(--st-paper); border-bottom: 1px solid var(--st-line); display: flex; justify-content: space-between; align-items: start; gap: 12px; position: sticky; top: 0; z-index: 2; }
.clgc-st .st-drawer-head h3 { font-family: var(--st-serif); font-weight: 600; font-size: 24px; margin: 0; line-height: 1.2; text-transform: none; letter-spacing: 0; color: var(--st-navy); }
.clgc-st .st-drawer-head p { margin: 4px 0 0; font-size: 13px; color: var(--st-muted); }
.clgc-st .st-x { appearance: none; border: 0; background: var(--st-bg); width: 36px; height: 36px; border-radius: 50%; cursor: pointer; display: grid; place-items: center; flex: none; }
.clgc-st .st-drawer-body { padding: 22px 26px; flex: 1; }
.clgc-st .st-fieldset { background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 14px; padding: 18px; margin-bottom: 16px; }
.clgc-st .st-fieldset h4 { font-family: var(--st-ui); font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--st-gold); margin: 0 0 14px; font-weight: 600; }
.clgc-st .st-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.clgc-st .st-field { display: block; margin-bottom: 14px; }
.clgc-st .st-field:last-child { margin-bottom: 0; }
.clgc-st .st-field > span { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.clgc-st .st-field textarea.st-input { min-height: 74px; resize: vertical; }
.clgc-st .st-field .st-select { width: 100%; }
.clgc-st .st-statusrow { display: grid; grid-template-columns: 130px 1fr; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--st-line); }
.clgc-st .st-statusrow:first-of-type { border-top: 0; padding-top: 0; }
.clgc-st .st-statusrow .nm { font-weight: 700; font-size: 14px; }
.clgc-st .st-statusrow .due { font-size: 12px; color: var(--st-muted); font-weight: 500; }
.clgc-st .st-seg { display: inline-flex; background: var(--st-bg); border-radius: 10px; padding: 3px; gap: 2px; }
.clgc-st .st-seg button { appearance: none; border: 0; background: none; padding: 7px 12px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--st-muted); }
.clgc-st .st-seg button.on-yes { background: var(--st-ok); color: #fff; }
.clgc-st .st-seg button.on-partial { background: var(--st-warn); color: #fff; }
.clgc-st .st-seg button.on-no { background: #fff; color: var(--st-navy); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.clgc-st .st-statusrow .st-input { margin-top: 8px; padding: 8px 12px; font-size: 13px; }
.clgc-st .st-drawer-foot { padding: 16px 26px; background: var(--st-paper); border-top: 1px solid var(--st-line); display: flex; gap: 10px; justify-content: space-between; position: sticky; bottom: 0; }
.clgc-st .st-drawer-foot .grp { display: flex; gap: 10px; }
.clgc-st .st-meta { font-size: 12px; color: var(--st-muted); margin-top: 6px; }

/* ---------- Gate (logged out) ---------- */
.clgc-st .st-gate {
	max-width: 520px; margin: 0 auto; text-align: center; background: var(--st-paper);
	border: 1px solid var(--st-gold-2); border-radius: 18px; padding: 44px 32px;
}
.clgc-st .st-gate-icon { width: 60px; height: 60px; border-radius: 50%; background: var(--st-gold-soft); color: var(--st-gold); display: grid; place-items: center; margin: 0 auto 16px; }
.clgc-st .st-gate h2 { font-family: var(--st-serif); font-weight: 600; font-size: 28px; margin: 0 0 8px; text-transform: none; color: var(--st-navy); }
.clgc-st .st-gate p { color: var(--st-muted); margin: 0 0 24px; }

/* ---------- Breadcrumb ---------- */
.clgc-st .st-crumbs { display: flex; align-items: center; gap: 10px; margin: -8px 0 22px; font-size: 14px; flex-wrap: wrap; }
.clgc-st .st-crumb { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--st-navy) !important; text-decoration: none !important; background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 999px; padding: 7px 14px 7px 10px; }
.clgc-st .st-crumb:hover { border-color: var(--st-gold-2); }
.clgc-st .st-crumb-here { color: var(--st-muted); font-weight: 600; }
.clgc-st .st-crumb-here::before { content: "/"; margin-right: 10px; color: var(--st-idle); }

/* ---------- Committee home cards ---------- */
.clgc-st .st-hub { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 1000px; margin: 0 auto; }
.clgc-st .st-hubcard {
	position: relative; display: flex; flex-direction: column; gap: 16px; text-decoration: none !important; color: var(--st-navy) !important;
	background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 18px; padding: 28px; overflow: hidden;
	box-shadow: 0 1px 2px rgba(19,41,75,.04), 0 10px 24px -18px rgba(13,29,56,.35);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.clgc-st .st-hubcard::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6e5020, var(--st-gold-2), #6e5020); }
.clgc-st .st-hubcard:hover { transform: translateY(-3px); border-color: var(--st-gold-2); box-shadow: 0 4px 10px rgba(19,41,75,.06), 0 20px 36px -18px rgba(13,29,56,.45); }
.clgc-st .st-hub-top { display: flex; align-items: center; gap: 16px; }
.clgc-st .st-hub-icon { width: 54px; height: 54px; border-radius: 14px; background: var(--st-navy); color: var(--st-gold-2); display: grid; place-items: center; flex: none; }
.clgc-st .st-hub-icon svg { width: 28px; height: 28px; }
.clgc-st .st-hub-k { font-family: var(--st-ui); font-size: 12px; font-weight: 600; letter-spacing: 1.2px !important; text-transform: uppercase !important; color: var(--st-gold); }
.clgc-st .st-hubcard h3 { font-family: var(--st-serif); font-weight: 600; font-size: 28px; line-height: 1.15; margin: 2px 0 0; color: var(--st-navy); }
.clgc-st .st-hubcard p { margin: 0; color: var(--st-muted); font-size: 15px; font-weight: 500; }
.clgc-st .st-hub-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.clgc-st .st-hub-stats > div { min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 4px; background: var(--st-bg); border-radius: 12px; padding: 12px 14px; text-align: left; }
.clgc-st .st-hub-stats b { display: block; font-family: var(--st-serif); font-size: 22px !important; font-weight: 600; line-height: 1.15 !important; letter-spacing: 0 !important; white-space: nowrap; font-variant-numeric: tabular-nums; margin: 0; }
.clgc-st .st-hub-stats span { display: block; font-family: var(--st-ui); font-size: 12px !important; line-height: 1.3 !important; letter-spacing: 0 !important; color: var(--st-muted); font-weight: 600; margin: 0; }
.clgc-st .st-hub-stats .is-bad b { color: var(--st-bad); }
.clgc-st .st-hub-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--st-line); font-size: 13px; color: var(--st-muted); font-weight: 600; }
.clgc-st .st-hub-go { display: inline-flex; align-items: center; gap: 6px; background: var(--st-navy); color: #fff; border-radius: 10px; padding: 10px 16px; font-family: var(--st-ui); font-size: 14px; font-weight: 700; white-space: nowrap; transition: background .15s; }
.clgc-st .st-hubcard:hover .st-hub-go { background: #6e5020; }

/* ---------- Analysis ---------- */
.clgc-st .st-section { margin-bottom: 36px; }
.clgc-st .st-section-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.clgc-st .st-section-head h3 { font-family: var(--st-serif); font-weight: 600; font-size: 24px; margin: 0; color: var(--st-navy); }
.clgc-st .st-reportbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: var(--st-navy); color: #fff; border-radius: 16px 16px 0 0; padding: 12px 16px; }
.clgc-st .st-reportbar .st-select { min-width: 260px; flex: 0 1 420px; }
.clgc-st .st-reportname { font-family: var(--st-serif); font-weight: 600; font-size: 18px; color: #fff; }
.clgc-st .st-reportmeta { font-size: 13px; color: #cfd6e4; flex: 1; }
.clgc-st .st-reportbar .st-btn-ghost { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.35); }
.clgc-st .st-reportbar .st-btn-ghost:hover { border-color: var(--st-gold-2); }
.clgc-st .st-reportwrap { border: 1px solid var(--st-navy); border-top: 0; border-radius: 0 0 16px 16px; overflow: hidden; background: #0b1226; }
.clgc-st .st-report-frame { display: block; width: 100%; height: min(85vh, 1100px); border: 0; background: #0b1226; }
.clgc-st .st-files { display: grid; gap: 8px; }
.clgc-st .st-file { display: flex; align-items: center; gap: 14px; background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 12px; padding: 12px 14px; }
.clgc-st .st-ext { flex: none; width: 46px; height: 46px; border-radius: 10px; background: var(--st-gold-soft); color: #6e5020; display: grid; place-items: center; font-size: 11px; font-weight: 800; letter-spacing: .5px !important; }
.clgc-st .st-file-main { flex: 1; min-width: 0; }
.clgc-st .st-file-title { font-weight: 700; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clgc-st .st-file-meta { font-size: 12px; color: var(--st-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clgc-st .st-iconbtn { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--st-line); background: var(--st-paper); color: var(--st-navy) !important; cursor: pointer; padding: 0; text-decoration: none !important; }
.clgc-st .st-iconbtn:hover { border-color: var(--st-gold-2) !important; background: var(--st-paper) !important; color: var(--st-navy) !important; }
.clgc-st .st-iconbtn.is-danger { color: var(--st-bad) !important; }
.clgc-st .st-iconbtn.is-danger:hover { background: var(--st-bad-soft) !important; color: var(--st-bad) !important; border-color: #ecc9c4 !important; }
.clgc-st .st-drop { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 120px; border: 2px dashed var(--st-gold-2); border-radius: 14px; background: #fdfaf1; text-align: center; padding: 18px; cursor: pointer; }
.clgc-st .st-drop:hover { background: var(--st-gold-soft); }
.clgc-st .st-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.clgc-st .st-drop-txt { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #6e5020; }
.clgc-st .st-drop-sel { font-size: 13px; font-weight: 600; color: var(--st-navy); word-break: break-word; }
.clgc-st .st-upmsg { font-size: 14px; font-weight: 600; color: var(--st-gold); min-height: 20px; }
.clgc-st .st-upmsg.is-error { color: var(--st-bad); }

@media (max-width: 760px) {
	.clgc-st .st-hub { grid-template-columns: 1fr; }
	.clgc-st .st-hubcard { padding: 22px 18px; }
	.clgc-st .st-hubcard h3 { font-size: 24px; }
	.clgc-st .st-hub-stats { gap: 6px; }
	.clgc-st .st-hub-stats > div { padding: 10px 8px; align-items: center; text-align: center; }
	.clgc-st .st-hub-stats b { font-size: clamp(14px, 4.3vw, 18px) !important; }
	.clgc-st .st-hub-stats span { font-size: 11px !important; }
	.clgc-st .st-hub-foot { flex-direction: column; align-items: stretch; }
	.clgc-st .st-hub-go { justify-content: center; }
	.clgc-st .st-reportbar .st-select { min-width: 0; flex: 1 1 100%; }
	.clgc-st .st-report-frame { height: 80vh; }
	.clgc-st .st-file { gap: 10px; padding: 10px; }
	.clgc-st .st-ext { width: 38px; height: 38px; }
}

/* ---------- Floating section bar ---------- */
.clgc-st.clgc-st-dock {
	position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 99990;
	padding: 0; background: transparent; width: auto; max-width: calc(100% - 24px);
}
.clgc-st .st-dock {
	display: flex; gap: 4px; padding: 6px; border-radius: 999px;
	background: rgba(13, 29, 56, .96); border: 1px solid rgba(212, 180, 90, .45);
	box-shadow: 0 10px 30px rgba(11, 18, 38, .35), 0 2px 6px rgba(11, 18, 38, .25);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.clgc-st .st-dock-btn {
	appearance: none; border: 0; background: transparent; color: #dfe5f0; cursor: pointer;
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px;
	font-family: var(--st-ui); font-size: 14px; font-weight: 700; white-space: nowrap; line-height: 1.1;
	transition: background .15s, color .15s;
}
.clgc-st .st-dock-btn:hover, .clgc-st .st-dock-btn:focus-visible { background: rgba(255,255,255,.1) !important; color: #fff !important; outline: none; }
.clgc-st .st-dock-btn.is-on, .clgc-st .st-dock-btn.is-on:hover { background: var(--st-gold-2) !important; color: var(--st-navy-dark) !important; }
.clgc-st .st-dock-ic { display: grid; place-items: center; }
.clgc-st .st-dock-ic svg { width: 18px; height: 18px; }
#clgc-st-app { padding-bottom: 110px !important; }
@media (max-width: 760px) {
	.clgc-st.clgc-st-dock { left: 0; right: 0; bottom: 0; transform: none; max-width: none; }
	.clgc-st .st-dock { border-radius: 0; border-width: 1px 0 0; justify-content: space-around; padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); }
	.clgc-st .st-dock { gap: 2px; }
	.clgc-st .st-dock-btn { flex: 1 1 0; min-width: 0; flex-direction: column; gap: 3px; padding: 8px 2px; border-radius: 12px; font-size: 11px; white-space: normal; text-align: center; overflow-wrap: anywhere; }
	.clgc-st .st-dock-ic svg { width: 20px; height: 20px; }
}
@media (max-width: 380px) {
	.clgc-st .st-kpi { padding: 12px; }
	.clgc-st .st-dock-btn { font-size: 10px; }
	.clgc-st .st-hubcard { padding: 20px 14px; }
}
@media print { .clgc-st.clgc-st-dock { display: none !important; } }

.clgc-st .st-date { display: inline-block; font-weight: 700; color: var(--st-navy); margin-right: 8px; font-variant-numeric: tabular-nums; }
.clgc-st .st-next { display: inline-block; background: var(--st-gold-2); color: var(--st-navy-dark); font-size: 10px; font-weight: 800; letter-spacing: .8px !important; text-transform: uppercase !important; border-radius: 999px; padding: 2px 8px; margin-right: 8px; vertical-align: 1px; }
.clgc-st .st-dow { font-style: normal; color: var(--st-gold); font-weight: 700; margin-left: 6px; }

.clgc-st .st-radio { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid var(--st-line); border-radius: 12px; margin-bottom: 10px; cursor: pointer; font-size: 13px; color: var(--st-muted); }
.clgc-st .st-radio strong { color: var(--st-navy); font-size: 14px; }
.clgc-st .st-radio input { margin-top: 3px; accent-color: var(--st-navy); }
.clgc-st .st-radio:has(input:checked) { border-color: var(--st-gold-2); background: #fdfaf1; }
.clgc-st .st-expbtns { display: grid; gap: 10px; }
.clgc-st .st-expbtn { display: flex; align-items: center; gap: 14px; text-align: left; width: 100%; background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 12px; padding: 12px; cursor: pointer; font-size: 13px; color: var(--st-muted); }
.clgc-st .st-expbtn strong { color: var(--st-navy); font-size: 15px; }
.clgc-st .st-expbtn:hover, .clgc-st .st-expbtn:focus { border-color: var(--st-gold-2) !important; background: #fdfaf1 !important; color: var(--st-muted) !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.clgc-st .st-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.clgc-st .st-pipe { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.clgc-st .st-stage { padding: 14px 12px; }
	.clgc-st .st-cols, .clgc-st .st-row { grid-template-columns: minmax(180px, 2fr) 80px minmax(100px, 1fr) 260px 20px; gap: 12px; }
}
@media (max-width: 760px) {
	.clgc-st { padding: 32px 14px 48px; }
	.clgc-st .st-kpi { padding: 16px; }
	.clgc-st .st-pipe { grid-template-columns: 1fr; overflow: hidden; }
	.clgc-st .st-stage { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: center; border-right: 0; border-bottom: 1px solid var(--st-line); padding: 12px 16px; }
	.clgc-st .st-stage:last-child { border-bottom: 0; }
	.clgc-st .st-stage > * { grid-column: 1; }
	.clgc-st .st-stage .st-stage-count { grid-column: 2; grid-row: 1 / span 3; margin-top: 0; text-align: right; max-width: 130px; }
	.clgc-st .st-kpi-value { font-size: clamp(20px, 6.4vw, 26px); }
	.clgc-st .st-kpis { gap: 10px; }
	.clgc-st .st-kpi-label { letter-spacing: .6px !important; }
	.clgc-st .st-select { flex: 1 1 140px; min-width: 0; }
	.clgc-st .st-cols { display: none; }
	.clgc-st .st-row { grid-template-columns: 1fr auto; grid-template-areas: "who amt" "mem mem" "chips chips"; gap: 6px 12px; padding: 14px 16px; }
	.clgc-st .st-row .c-who { grid-area: who; }
	.clgc-st .st-row .c-amt { grid-area: amt; text-align: right; }
	.clgc-st .st-row .c-mem { grid-area: mem; font-size: 13px; }
	.clgc-st .st-row .c-mem::before { content: "Assigned: "; color: var(--st-muted); }
	.clgc-st .st-row .c-chips { grid-area: chips; margin-top: 4px; }
	.clgc-st .st-row .st-arrow { display: none; }
	.clgc-st .st-chip .lbl-m { display: inline; }
	.clgc-st .st-month-head { grid-template-columns: 1fr auto 20px; padding: 16px; gap: 10px; }
	.clgc-st .st-month-prog { display: none; }
	.clgc-st .st-month-name { font-size: 19px; }
	.clgc-st .st-month-name small { display: block; margin: 2px 0 0; }
	.clgc-st .st-addrow { padding: 12px 16px; }
	.clgc-st .st-grid2 { grid-template-columns: 1fr; }
	.clgc-st .st-statusrow { grid-template-columns: 1fr; gap: 6px; }
	.clgc-st .st-drawer-head, .clgc-st .st-drawer-body, .clgc-st .st-drawer-foot { padding-left: 18px; padding-right: 18px; }
}

/* ---------- Print ---------- */
@media print {
	.clgc-st { background: #fff; padding: 0; }
	.clgc-st .st-toolbar, .clgc-st .st-legend, .clgc-st .st-log, .clgc-st .st-arrow, .clgc-st .st-saved, .clgc-st .st-caret { display: none !important; }
	.clgc-st .st-month.is-closed .st-month-body { display: block; }
	.clgc-st .st-addrow, .clgc-st .st-seasons { display: none !important; }
	.clgc-st .st-month, .clgc-st .st-kpi, .clgc-st .st-pipe { break-inside: avoid; box-shadow: none; }
	.clgc-st .st-row { break-inside: avoid; }
}

/* ---------- Hub: three cards ---------- */
.clgc-st .st-hub { grid-template-columns: repeat(3, 1fr); max-width: 1180px; }
.clgc-st .st-hubcard h3 { font-size: 24px; }
.clgc-st .st-hub-stats b { font-size: 19px; }

/* ---------- Rules document ---------- */
.clgc-st .st-rules-actions { align-items: flex-start; }
.clgc-st .st-rules-actions .grp { display: flex; gap: 8px; flex-wrap: wrap; }
.clgc-st .st-toc { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; min-width: 0; }
.clgc-st .st-toc .st-chipbtn { font-size: 12px; padding: 6px 12px; }
.clgc-st .st-doc {
	background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 18px; padding: 36px 44px; max-width: 920px; margin: 0 auto;
	font-size: 15px; line-height: 1.65; color: #1c2333; box-shadow: 0 1px 2px rgba(19,41,75,.04);
}
.clgc-st .st-doc h2 { font-family: var(--st-serif); font-weight: 600; font-size: 24px; color: var(--st-navy); margin: 34px 0 10px; padding-bottom: 8px; border-bottom: 2px solid #efe6cc; line-height: 1.25; }
.clgc-st .st-doc h2:first-child { margin-top: 0; }
.clgc-st .st-doc h3 { font-family: var(--st-sans); font-weight: 700; font-size: 16px; color: var(--st-navy); margin: 18px 0 6px; }
.clgc-st .st-doc p { margin: 0 0 10px; }
.clgc-st .st-doc ol, .clgc-st .st-doc ul { margin: 0 0 12px; padding-left: 24px; }
.clgc-st .st-doc li { margin: 0 0 6px; padding-left: 2px; }
.clgc-st .st-doc ol > li::marker { color: var(--st-gold); font-weight: 700; }
.clgc-st .st-doc ul > li::marker { color: var(--st-gold-2); }
.clgc-st .st-doc li > ul, .clgc-st .st-doc li > p { margin-top: 6px; }
.clgc-st .st-doc strong, .clgc-st .st-doc b { color: var(--st-navy); }
.clgc-st .st-doc table { width: 100%; border-collapse: collapse; margin: 8px 0 14px; font-size: 14px; }
.clgc-st .st-doc th { background: var(--st-navy); color: #fff; text-align: left; padding: 8px 10px; font-weight: 700; }
.clgc-st .st-doc td { padding: 8px 10px; border-bottom: 1px solid var(--st-line); }
.clgc-st .st-doc tr:nth-child(even) td { background: #fbf9f3; }
.clgc-st .st-doc.is-editing { outline: none; border: 2px dashed var(--st-gold-2); background: #fffefb; cursor: text; }
.clgc-st .st-doc.is-editing:focus { border-style: solid; box-shadow: 0 0 0 4px rgba(203,161,53,.18); }
.clgc-st .st-rtitle { max-width: 920px; margin: 0 auto 14px; }
.clgc-st .st-rtools-slot { max-width: 920px; margin: 0 auto 14px; }
.clgc-st .st-rtools.is-floating { position: fixed !important; z-index: 99980; margin: 0 !important; max-width: none; box-shadow: 0 12px 30px -8px rgba(13,29,56,.55); }
.clgc-st .st-rtools {
	position: relative; z-index: 50; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; max-width: 920px; margin: 0;
	background: var(--st-navy); border-radius: 14px; padding: 8px; box-shadow: 0 8px 24px -10px rgba(13,29,56,.5);
}
.clgc-st .st-rtools > button:not(.st-btn) {
	appearance: none; border: 0; background: transparent; color: #e6ebf3; font-size: 13px; font-weight: 700; padding: 8px 11px; border-radius: 8px; cursor: pointer; font-family: var(--st-sans);
}
.clgc-st .st-rtools > button:not(.st-btn):hover { background: rgba(255,255,255,.12) !important; color: #fff !important; }
.clgc-st .st-rsep { width: 1px; height: 22px; background: rgba(255,255,255,.2); margin: 0 4px; }
.clgc-st .st-rgrow { flex: 1; }
.clgc-st .st-rtools .st-btn { padding: 8px 14px; }
.clgc-st .st-rtools .st-btn-ghost { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.35); }
.clgc-st .st-rtools .st-btn-primary { background: var(--st-gold-2) !important; color: var(--st-navy-dark) !important; }

@media (max-width: 1024px) { .clgc-st .st-hub { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
	.clgc-st .st-hub { grid-template-columns: 1fr; }
	.clgc-st .st-doc { padding: 22px 18px; font-size: 14.5px; }
	.clgc-st .st-doc h2 { font-size: 20px; }
	.clgc-st .st-doc table { display: block; overflow-x: auto; font-size: 13px; }
	.clgc-st .st-rules-actions .grp { width: 100%; }
	.clgc-st .st-rules-actions .grp .st-btn { flex: 1; }
	.clgc-st .st-rgrow { flex-basis: 100%; height: 0; }
	.clgc-st .st-rtools .st-btn { flex: 1; }
}

/* Pinned rules toolbar (lives on <body> while pinned) */
.clgc-st.clgc-st-floatbar { padding: 0; background: transparent; position: static; }
.clgc-st.clgc-st-floatbar .st-rtools { position: fixed !important; z-index: 2147483000; }

/* Report tabs */
.clgc-st .st-reptabs { display: flex; gap: 6px; overflow-x: auto; padding: 0 2px; margin-bottom: -1px; position: relative; z-index: 1; }
.clgc-st .st-reptab {
	appearance: none; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; cursor: pointer;
	background: #e9e4d6; color: var(--st-navy); border: 1px solid var(--st-line); border-bottom: 0; border-radius: 12px 12px 0 0;
	padding: 10px 16px; font-family: var(--st-sans); font-size: 14px; font-weight: 700;
}
.clgc-st .st-reptab:hover { background: #f3ead2 !important; color: var(--st-navy) !important; }
.clgc-st .st-reptab.is-on, .clgc-st .st-reptab.is-on:hover { background: var(--st-navy) !important; color: #fff !important; border-color: var(--st-navy); }
.clgc-st .st-reptab-ext { font-size: 10px; font-weight: 800; letter-spacing: .5px !important; background: rgba(179,134,0,.18); color: #6e5020; border-radius: 5px; padding: 2px 5px; }
.clgc-st .st-reptab.is-on .st-reptab-ext { background: var(--st-gold-2); color: var(--st-navy-dark); }
.clgc-st .st-reportbar.has-tabs { border-top-left-radius: 0; }
.clgc-st .st-file .st-btn { padding: 8px 12px; font-size: 13px; }

/* ---------- Hub cards: uniform alignment (v1.6.5) ---------- */
.clgc-st .st-hub { align-items: stretch; }
.clgc-st .st-hubcard { gap: 18px; }
.clgc-st .st-hub-top { align-items: center; min-height: 64px; }
/* stat tiles: number on top, label underneath, same top line in every tile */
.clgc-st .st-hub-stats { align-items: stretch; gap: 10px; }
.clgc-st .st-hub-stats > div { container-type: inline-size; justify-content: flex-start; align-items: flex-start; text-align: left; padding: 14px 10px 14px 12px; gap: 6px; min-height: 84px; }
.clgc-st .st-hub-stats b { font-size: 19px !important; }
@supports (font-size: 1cqi) { .clgc-st .st-hub-stats b { font-size: clamp(15px, 21cqi, 24px) !important; } }
/* footer: text then a full-width button, pinned to the bottom of the card */
.clgc-st .st-hub-foot { flex-direction: column; align-items: stretch; justify-content: flex-end; gap: 12px; margin-top: auto; }
.clgc-st .st-hub-foot > span:first-child { min-height: 2.6em; line-height: 1.3; display: flex; align-items: flex-start; }
.clgc-st .st-hub-go { justify-content: center; padding: 12px 16px; }
/* when cards sit side by side, line up every row across them */
@supports (grid-template-rows: subgrid) {
	@media (min-width: 761px) {
		.clgc-st .st-hub { grid-auto-rows: auto; row-gap: 22px; }
		.clgc-st .st-hubcard { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 18px; }
		.clgc-st .st-hub-foot { margin-top: 0; }
	}
}
@media (max-width: 760px) {
	.clgc-st .st-hub-top { min-height: 0; }
	.clgc-st .st-hub-stats { gap: 6px; }
	.clgc-st .st-hub-stats > div { align-items: center; text-align: center; padding: 10px 6px; min-height: 0; }
	.clgc-st .st-hub-foot > span:first-child { min-height: 0; }
}

/* ---------- Activity log (v1.7.0) ---------- */
.clgc-st .st-actpanel { max-width: 1180px; margin: 26px auto 0; background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 18px; padding: 22px 26px; box-shadow: 0 1px 2px rgba(19,41,75,.04); }
.clgc-st .st-actpanel-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.clgc-st .st-actpanel h3, .clgc-st .st-people h3 { font-family: var(--st-serif); font-weight: 600; font-size: 22px; margin: 2px 0 0; color: var(--st-navy); }
.clgc-st .st-actlist { list-style: none; margin: 0; padding: 0; }
.clgc-st .st-act { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--st-line); }
.clgc-st .st-actlist .st-act:first-child { border-top: 0; }
.clgc-st .st-act-ic { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--st-bg); color: var(--st-navy); }
.clgc-st .st-act-ic svg { width: 18px; height: 18px; }
.clgc-st .st-act-ic.is-sponsors { background: #f3ead2; color: #6e5020; }
.clgc-st .st-act-ic.is-rules { background: #e3e9f4; color: var(--st-navy); }
.clgc-st .st-act-ic.is-files { background: #e2f0ea; color: #1d6b51; }
.clgc-st .st-act-ic.is-login { background: #eeeeee; color: #555; }
.clgc-st .st-act-main { flex: 1; min-width: 0; }
.clgc-st .st-act-what { font-size: 14.5px; color: #1c2333; line-height: 1.4; overflow-wrap: anywhere; }
.clgc-st .st-act-what b { color: var(--st-navy); }
.clgc-st .st-act-when { font-size: 12px; color: var(--st-muted); margin-top: 3px; font-weight: 600; }
.clgc-st .st-act-detail { margin: 6px 0 2px; padding: 8px 12px 8px 26px; background: var(--st-bg); border-radius: 10px; font-size: 13px; color: #374151; }
.clgc-st .st-act-detail li { margin: 2px 0; overflow-wrap: anywhere; }
.clgc-st .st-act-day { font-family: var(--st-ui); font-size: 12px; font-weight: 700; letter-spacing: 1px !important; text-transform: uppercase !important; color: var(--st-gold); margin: 26px 0 4px; }
.clgc-st .st-act-empty { font-size: 14px; color: var(--st-muted); padding: 8px 0; }
.clgc-st .st-act-tools { align-items: center; }
.clgc-st .st-segs { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 auto; }
.clgc-st .st-act-tools .st-select { flex: 0 1 220px; }
.clgc-st .st-people { background: var(--st-paper); border: 1px solid var(--st-line); border-radius: 18px; padding: 22px 26px; margin-bottom: 22px; }
.clgc-st .st-people .st-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.clgc-st .st-people table { width: 100%; border-collapse: collapse; font-size: 14px; }
.clgc-st .st-people th { text-align: left; font-size: 11px; letter-spacing: .8px !important; text-transform: uppercase !important; color: var(--st-muted); font-weight: 700; padding: 8px 10px; border-bottom: 1px solid var(--st-line); white-space: nowrap; }
.clgc-st .st-people td { padding: 10px; border-bottom: 1px solid var(--st-line); white-space: nowrap; }
.clgc-st .st-people .n { text-align: right; font-variant-numeric: tabular-nums; }
.clgc-st .st-people .st-tag { display: inline-block; background: var(--st-gold-soft); color: #6e5020; font-size: 10px; font-weight: 800; border-radius: 6px; padding: 1px 6px; margin-left: 4px; vertical-align: 1px; }
.clgc-st .st-note { font-size: 12px; color: var(--st-muted); margin: 10px 0 0; }
.clgc-st .st-more { text-align: center; margin-top: 18px; }
.clgc-st .st-log .st-mt { margin-top: 12px; }
/* rules history + compare */
.clgc-st .st-ver { flex-wrap: wrap; }
.clgc-st .st-ver-btns { display: flex; gap: 8px; align-items: center; }
.clgc-st .st-ver .st-file-title { white-space: normal; }
.clgc-st .st-diff-sum { font-size: 14px; margin: 0 0 12px; color: #374151; }
.clgc-st .st-diff-key { margin-left: 8px; font-size: 13px; }
.clgc-st .st-diff-sec { font-family: var(--st-serif); font-weight: 600; font-size: 17px; color: var(--st-navy); margin: 18px 0 8px; padding-bottom: 4px; border-bottom: 2px solid #efe6cc; }
.clgc-st .st-diff-item { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; background: #fbfaf5; margin-bottom: 8px; font-size: 14px; line-height: 1.55; color: #1c2333; border-left: 4px solid var(--st-line); }
.clgc-st .st-diff-item.is-add { border-left-color: #2e8b57; background: #f0f8f3; }
.clgc-st .st-diff-item.is-del { border-left-color: #c0453a; background: #fbf0ee; text-decoration: line-through; text-decoration-color: rgba(192,69,58,.6); color: #7a2e27; }
.clgc-st .st-diff-item.is-mod { border-left-color: var(--st-gold-2); }
.clgc-st .st-diff-tag { flex: none; font-size: 10px; font-weight: 800; letter-spacing: .6px !important; text-transform: uppercase !important; color: var(--st-muted); padding-top: 3px; width: 62px; }
.clgc-st .st-diff ins, .clgc-st .st-diff-key ins { background: #cfeedd; color: #14532d; text-decoration: none; border-radius: 3px; padding: 0 2px; }
.clgc-st .st-diff del, .clgc-st .st-diff-key del { background: #f8d4cf; color: #8a2a20; text-decoration: line-through; border-radius: 3px; padding: 0 2px; }
@media (max-width: 760px) {
	.clgc-st .st-actpanel, .clgc-st .st-people { padding: 18px 16px; }
	.clgc-st .st-actpanel-head .st-btn { width: 100%; justify-content: center; }
	.clgc-st .st-act-tools .st-select { flex: 1 1 100%; }
	.clgc-st .st-diff-item { flex-direction: column; gap: 4px; }
}
@media (max-width: 760px) {
	.clgc-st .st-people thead { display: none; }
	.clgc-st .st-people table, .clgc-st .st-people tbody, .clgc-st .st-people tr, .clgc-st .st-people td { display: block; width: 100%; }
	.clgc-st .st-people tr { padding: 10px 0; border-bottom: 1px solid var(--st-line); }
	.clgc-st .st-people td { border: 0; padding: 2px 0; white-space: normal; display: flex; justify-content: space-between; gap: 12px; text-align: right; }
	.clgc-st .st-people td.st-pname { display: block; text-align: left; padding-bottom: 4px; font-size: 15px; }
	.clgc-st .st-people td[data-l]::before { content: attr(data-l); color: var(--st-muted); font-size: 12.5px; font-weight: 600; text-align: left; }
}
