/* ══ Shared Calendar Styles ═════════════════════════════════ */

/* ── Main ── */
.main { max-width: 1400px; margin: 0 auto; padding: 32px 40px 60px; }

/* ── Timeline grid ── */
.ruler-container { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); box-shadow: var(--shadow-sm); overflow: hidden; margin-bottom: 24px; }
.day-ruler { display: grid; grid-template-columns: 300px repeat(31, 1fr); border-bottom: 1px solid var(--border); background: var(--dark); color: var(--white); position: sticky; top: 0; z-index: 10; }
.ruler-label { padding: 10px 16px; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.6); border-right: 1px solid rgba(255,255,255,0.1); }
.ruler-day { padding: 10px 0; text-align: center; font-size: 12px; font-weight: 500; font-family: 'Roboto Mono', monospace; border-right: 1px solid rgba(255,255,255,0.06); }
.ruler-day.wknd { color: rgba(255,255,255,0.35); }

.swimlane { border-bottom: 1px solid var(--border); }
.swimlane:last-child { border-bottom: none; }
.swimlane-header { display: grid; grid-template-columns: 300px 1fr; background: var(--bg); border-bottom: 1px solid var(--border); }
.swimlane-title { padding: 8px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--blue); border-right: 1px solid var(--border); display: flex; align-items: center; gap: 6px; }
.swimlane-title .ct { background: var(--blue); color: white; font-size: 10px; padding: 1px 6px; border-radius: 10px; font-weight: 500; }
.dow-row { display: grid; grid-template-columns: repeat(31, 1fr); align-items: center; }
.dow { text-align: center; font-size: 10px; font-weight: 600; color: var(--text-light); letter-spacing: 0.3px; }
.dow.wknd { color: rgba(0,0,0,0.2); }

.r { display: grid; grid-template-columns: 300px repeat(31, 1fr); min-height: 40px; align-items: center; border-bottom: 1px solid rgba(0,0,0,0.03); }
.r:last-child { border-bottom: none; }
.n { padding: 7px 12px; font-size: 12px; font-weight: 400; color: var(--text); border-right: 1px solid var(--border); line-height: 1.35; }
.c { text-align: center; }

/* Owner tags */
.t { display: inline-block; font-size: 9px; font-weight: 700; padding: 1px 6px; border-radius: 3px; margin-left: 3px; vertical-align: middle; position: relative; top: -1px; }
.t.km { background: var(--purple-light); color: var(--purple); }
.t.dn { background: var(--teal-light);   color: var(--teal); }
.t.lr { background: var(--teal-light);   color: var(--teal); }
.t.br { background: var(--green-light);  color: var(--green); }
.t.ch { background: var(--green-light);  color: var(--green); }
.t.kh { background: var(--amber-light);  color: var(--amber); }
.t.lz { background: var(--amber-light);  color: var(--amber); }
.t.th { background: var(--amber-light);  color: var(--amber); }
.t.js { background: var(--amber-light);  color: var(--amber); }
.t.di { background: var(--amber-light);  color: var(--amber); }
.t.md { background: var(--purple-light); color: var(--purple); }

/* Full pips (monthly / quarterly dots) */
.p { display: inline-block; width: 22px; height: 22px; border-radius: 5px; }
.p.km   { background: var(--purple); box-shadow: 0 1px 4px rgba(124,58,237,0.3); }
.p.dn   { background: var(--teal);   box-shadow: 0 1px 4px rgba(14,116,144,0.3); }
.p.lr   { background: var(--teal);   box-shadow: 0 1px 4px rgba(14,116,144,0.3); }
.p.br   { background: var(--green);  box-shadow: 0 1px 4px rgba(30,138,76,0.3); }
.p.ch   { background: var(--green);  box-shadow: 0 1px 4px rgba(30,138,76,0.3); }
.p.lz   { background: var(--amber);  box-shadow: 0 1px 4px rgba(180,83,9,0.3); }
/* Split pips */
.p.km-dn  { background: linear-gradient(135deg, var(--purple) 50%, var(--teal)   50%); box-shadow: 0 1px 4px rgba(124,58,237,0.2); }
.p.km-br  { background: linear-gradient(135deg, var(--purple) 50%, var(--green)  50%); box-shadow: 0 1px 4px rgba(124,58,237,0.2); }
.p.lr-ch  { background: linear-gradient(135deg, var(--teal)  50%, var(--green)  50%); box-shadow: 0 1px 4px rgba(14,116,144,0.2); }
.p.br-lz  { background: linear-gradient(135deg, var(--green) 50%, var(--amber)  50%); box-shadow: 0 1px 4px rgba(30,138,76,0.2); }
.p.lz-ch  { background: linear-gradient(135deg, var(--amber) 50%, var(--green)  50%); box-shadow: 0 1px 4px rgba(180,83,9,0.2); }

/* Weekly recurring markers (16x16) */
.w-del  { display: inline-block; width: 16px; height: 16px; border-radius: 3px; background: var(--teal);   box-shadow: 0 1px 3px rgba(14,116,144,0.25); }
.w-eng  { display: inline-block; width: 16px; height: 16px; border-radius: 3px; background: var(--green);  box-shadow: 0 1px 3px rgba(30,138,76,0.25); }
.w-sd   { display: inline-block; width: 16px; height: 16px; border-radius: 3px; background: var(--amber);  box-shadow: 0 1px 3px rgba(180,83,9,0.25); }
.w-dir  { display: inline-block; width: 16px; height: 16px; border-radius: 3px; background: var(--purple); box-shadow: 0 1px 3px rgba(124,58,237,0.25); }
.w-team { display: inline-block; width: 16px; height: 16px; border-radius: 3px; background: linear-gradient(135deg, var(--purple) 50%, var(--teal) 50%); box-shadow: 0 1px 3px rgba(124,58,237,0.2); }

/* Daily compact markers (12x12) */
.wd-sd   { display: inline-block; width: 12px; height: 12px; border-radius: 2px; background: var(--amber);  opacity: 0.85; }
.wd-eng  { display: inline-block; width: 12px; height: 12px; border-radius: 2px; background: var(--green);  opacity: 0.85; }
.wd-del  { display: inline-block; width: 12px; height: 12px; border-radius: 2px; background: var(--teal);   opacity: 0.85; }
.wd-team { display: inline-block; width: 12px; height: 12px; border-radius: 2px; background: linear-gradient(135deg, var(--purple) 50%, var(--teal) 50%); opacity: 0.85; }

/* Annual / quarterly month grid */
.dow-row-annual { display: grid; grid-template-columns: repeat(12, 1fr); align-items: center; }
.dow-month { text-align: center; font-size: 10px; font-weight: 600; color: var(--text-light); letter-spacing: 0.3px; }
.ra { display: grid; grid-template-columns: 300px repeat(12, 1fr); min-height: 40px; align-items: center; border-bottom: 1px solid rgba(0,0,0,0.03); }
.ra:last-child { border-bottom: none; }

/* ── Frequency badges ── */
.fb { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 2px 8px; border-radius: 3px; white-space: nowrap; }
.fb.dy { background: #FFF0F0; color: #B91C1C; }
.fb.wk { background: #FFF7ED; color: #C2410C; }
.fb.fn { background: #F0F9FF; color: #0369A1; }
.fb.mo { background: #EEF2FF; color: #4338CA; }
.fb.qt { background: #FDF2F8; color: #BE185D; }

/* ── Reference table ── */
.ref-table-wrap { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); box-shadow: var(--shadow-sm); overflow: hidden; margin-top: 32px; }
.ref-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ref-table thead { background: var(--dark); color: var(--white); }
.ref-table th { padding: 10px 16px; text-align: left; font-weight: 500; font-size: 11px; text-transform: uppercase; letter-spacing: 0.8px; }
.ref-table td { padding: 9px 16px; border-bottom: 1px solid var(--border); vertical-align: top; }
.ref-table tbody tr:last-child td { border-bottom: none; }
.mono { font-family: 'Roboto Mono', monospace; font-size: 12px; color: var(--text-light); }
.note { color: var(--text-light); font-size: 12px; }
.on { font-weight: 500; }
.on.ceo   { color: var(--purple); }
.on.del   { color: var(--teal); }
.on.eng   { color: var(--green); }
.on.sd    { color: var(--amber); }
.on.admin { color: var(--purple); }

/* ── Definitions Panel ── */
.definitions-panel { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); box-shadow: var(--shadow-sm); padding: 24px 28px; margin-top: 24px; }
.def-list { display: flex; flex-direction: column; gap: 0; }
.def-item { display: flex; gap: 0; padding: 12px 0; border-bottom: 1px solid var(--border); align-items: baseline; }
.def-item:last-child { border-bottom: none; padding-bottom: 0; }
.def-item:first-child { padding-top: 0; }
.def-term { font-size: 13px; font-weight: 700; color: var(--dark); min-width: 160px; flex-shrink: 0; }
.def-desc { font-size: 13px; color: var(--text); }

/* ── Processes Panel (operations calendar only) ── */
.processes-panel { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); box-shadow: var(--shadow-sm); padding: 24px 28px; margin-top: 24px; }
.proc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.proc-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 11px 14px; }
.proc-name { font-size: 13px; font-weight: 600; color: var(--dark); margin-bottom: 4px; }
.proc-note { font-size: 12px; color: var(--text-light); }

/* ══ Finance Calendar — pip & marker overrides ═════════════ */
.p.k  { background: var(--blue);   box-shadow: 0 1px 4px rgba(10,115,186,0.3); }
.p.m  { background: var(--green);  box-shadow: 0 1px 4px rgba(30,138,76,0.3); }
.p.d  { background: var(--amber);  box-shadow: 0 1px 4px rgba(180,83,9,0.3); }
.p.l  { background: var(--purple); box-shadow: 0 1px 4px rgba(124,58,237,0.3); }
.p.kl { background: linear-gradient(135deg, var(--blue) 50%, var(--purple) 50%); box-shadow: 0 1px 4px rgba(10,115,186,0.2), 0 1px 4px rgba(124,58,237,0.2); }
.w    { display: inline-block; width: 16px; height: 16px; border-radius: 3px; background: var(--green); box-shadow: 0 1px 3px rgba(30,138,76,0.25); }
.wb   { display: inline-block; width: 16px; height: 16px; border-radius: 3px; background: var(--blue);  box-shadow: 0 1px 3px rgba(10,115,186,0.25); }
.systems-panel { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); box-shadow: var(--shadow-sm); padding: 24px 28px; margin-top: 24px; }
.systems-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.sys-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 11px 14px; }
.sys-name { font-size: 13px; font-weight: 600; color: var(--dark); margin-bottom: 5px; }
.sys-owner { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--text-light); }
.sys-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.sys-dot.ceo { background: var(--blue); }
.sys-dot.del { background: var(--teal); }
.sys-dot.eng { background: var(--green); }
.sys-dot.sd  { background: var(--amber); }
.sys-dot.fin { background: var(--purple); }

/* ══ Category-based calendar blocks ════════════════════════ */
.cat-block { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); box-shadow: var(--shadow-sm); overflow: hidden; margin-bottom: 20px; }
.cat-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; color: var(--white);
}
.cat-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; display: flex; align-items: center; gap: 10px; }
.cat-title .ct { background: rgba(255,255,255,0.2); font-size: 10px; padding: 1px 7px; border-radius: 10px; font-weight: 600; }
.cat-subtitle { font-size: 11px; font-weight: 400; opacity: 0.7; }
.cat-row {
  display: grid; grid-template-columns: 1fr auto;
  min-height: 44px; align-items: center;
  border-bottom: 1px solid rgba(0,0,0,0.04); padding: 0 16px;
}
.cat-row:last-child { border-bottom: none; }
.cat-task { font-size: 13px; font-weight: 400; color: var(--text); line-height: 1.4; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cat-badges { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }

/* Frequency badge pills */
.freq-pill { display: inline-block; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; padding: 2px 8px; border-radius: 8px; white-space: nowrap; }
.freq-pill.weekly      { background: var(--amber-light);  color: var(--amber); }
.freq-pill.fortnightly { background: var(--indigo-light); color: var(--indigo); }
.freq-pill.monthly     { background: var(--blue-light);   color: var(--blue); }
.freq-pill.quarterly   { background: var(--green-light);  color: var(--green); }
.freq-pill.halfyear    { background: var(--purple-light); color: var(--purple); }

/* NEW badge */
.new-badge { display: inline-block; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 1px 5px; border-radius: 3px; background: #FEF3C7; color: #92400E; }

/* Category accent colours */
.cat-website   { background: var(--blue); }
.cat-social    { background: var(--rose); }
.cat-proof     { background: var(--green); }
.cat-email     { background: var(--purple); }
.cat-outreach  { background: var(--teal); }
.cat-network   { background: var(--orange); }
.cat-webinar   { background: var(--indigo); }
.cat-review    { background: var(--dark); }

/* Category legend */
.cat-legend { display: flex; flex-wrap: wrap; gap: 12px; }
.cat-legend-item { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; color: var(--text); }
.cat-legend-dot { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.cat-legend-dot.website  { background: var(--blue); }
.cat-legend-dot.social   { background: var(--rose); }
.cat-legend-dot.proof    { background: var(--green); }
.cat-legend-dot.email    { background: var(--purple); }
.cat-legend-dot.outreach { background: var(--teal); }
.cat-legend-dot.network  { background: var(--orange); }
.cat-legend-dot.webinar  { background: var(--indigo); }

/* Reference table — category badges */
.ref-cat { display: inline-block; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; padding: 2px 8px; border-radius: 8px; white-space: nowrap; }
.ref-cat.website  { background: var(--blue-light);   color: var(--blue); }
.ref-cat.social   { background: var(--rose-light);   color: var(--rose); }
.ref-cat.proof    { background: var(--green-light);  color: var(--green); }
.ref-cat.email    { background: var(--purple-light); color: var(--purple); }
.ref-cat.outreach { background: var(--teal-light);   color: var(--teal); }
.ref-cat.network  { background: var(--orange-light); color: var(--orange); }
.ref-cat.webinar  { background: var(--indigo-light); color: var(--indigo); }
.ref-cat.review   { background: #E5E7EB;            color: var(--dark); }

/* Staff card — contractor rose accent */
.staff-card.contractor { border-left-color: var(--rose); }
.staff-avatar.contractor { background: var(--rose); }

/* ══ Office & Sales Calendars — block layout ═══════════════ */
.freq-block { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); box-shadow: var(--shadow-sm); overflow: hidden; margin-bottom: 20px; }
.freq-header {
  display: grid; grid-template-columns: 220px 1fr;
  background: var(--dark); color: var(--white);
}
.freq-label {
  padding: 11px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1.2px; color: rgba(255,255,255,0.7); border-right: 1px solid rgba(255,255,255,0.1);
  display: flex; align-items: center; gap: 8px;
}
.freq-label .ct {
  background: rgba(255,255,255,0.15); color: white; font-size: 10px;
  padding: 1px 7px; border-radius: 10px; font-weight: 600;
}
.freq-period-row {
  display: flex; align-items: center; padding: 0 12px; gap: 0;
}
.period-cell {
  flex: 1; text-align: center; font-size: 11px; font-weight: 600;
  font-family: 'Roboto Mono', monospace; color: rgba(255,255,255,0.55);
  padding: 11px 0; border-right: 1px solid rgba(255,255,255,0.06);
}
.period-cell:last-child { border-right: none; }
.period-cell.active { color: rgba(255,255,255,0.9); }

/* Task rows (office/sales/finance block layout) */
.task-row {
  display: grid; grid-template-columns: 220px 1fr;
  min-height: 44px; align-items: center;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.task-row:last-child { border-bottom: none; }
.task-name {
  padding: 9px 12px; font-size: 12px; font-weight: 400; color: var(--text);
  border-right: 1px solid var(--border); line-height: 1.4;
}
.task-owner { display: inline-block; font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 3px; margin-left: 5px; vertical-align: middle; position: relative; top: -1px; }
.task-owner.dylan    { background: var(--teal-light);   color: var(--teal); }
.task-owner.theo     { background: var(--amber-light);  color: var(--amber); }
.task-owner.keith    { background: var(--blue-light);   color: var(--blue); }
.task-owner.sarah    { background: var(--rose-light);   color: var(--rose); }
.task-owner.michelle { background: var(--green-light);  color: var(--green); }
.task-owner.les      { background: var(--purple-light); color: var(--purple); }
.task-owner.brodie   { background: var(--green-light);  color: var(--green); }
.task-owner.clayton  { background: var(--green-light);  color: var(--green); }
.task-owner.liam     { background: var(--amber-light);  color: var(--amber); }
.task-owner.keegan   { background: var(--amber-light);  color: var(--amber); }
.task-owner.daniel   { background: var(--amber-light);  color: var(--amber); }
.task-owner.team     { background: var(--dark);         color: var(--white); }

.task-markers { display: flex; align-items: center; padding: 0 12px; gap: 0; }
.marker-cell { flex: 1; display: flex; align-items: center; justify-content: center; border-right: 1px solid rgba(0,0,0,0.03); padding: 8px 4px; }
.marker-cell:last-child { border-right: none; }

/* Pips (office/sales) */
.pip { width: 28px; height: 28px; border-radius: 6px; display: inline-block; }
.pip.dylan    { background: var(--teal);   box-shadow: 0 1px 4px rgba(14,116,144,0.35); }
.pip.theo     { background: var(--amber);  box-shadow: 0 1px 4px rgba(180,83,9,0.35); }
.pip.keith    { background: var(--blue);   box-shadow: 0 1px 4px rgba(10,115,186,0.35); }
.pip.sarah    { background: var(--rose);   box-shadow: 0 1px 4px rgba(190,24,93,0.35); }
.pip.michelle { background: var(--green);  box-shadow: 0 1px 4px rgba(30,138,76,0.35); }
.pip.les      { background: var(--purple); box-shadow: 0 1px 4px rgba(124,58,237,0.35); }
.pip.brodie   { background: var(--green);  box-shadow: 0 1px 4px rgba(30,138,76,0.35); }
.pip.clayton  { background: var(--green);  box-shadow: 0 1px 4px rgba(30,138,76,0.35); }
.pip.liam     { background: var(--amber);  box-shadow: 0 1px 4px rgba(180,83,9,0.35); }
.pip.team     { background: var(--dark);   box-shadow: 0 1px 4px rgba(50,55,60,0.35); }
.pip-sm { width: 18px; height: 18px; border-radius: 4px; display: inline-block; }
.pip-sm.dylan    { background: var(--teal); }
.pip-sm.theo     { background: var(--amber); }
.pip-sm.keith    { background: var(--blue); }
.pip-sm.sarah    { background: var(--rose); }
.pip-sm.michelle { background: var(--green); }
.pip-sm.les      { background: var(--purple); }
.pip-sm.brodie   { background: var(--green); }
.pip-sm.clayton  { background: var(--green); }
.pip-sm.liam     { background: var(--amber); }
.pip-sm.team     { background: var(--dark); }

/* Reference table — frequency & owner badges (office/sales/finance) */
.ref-section { margin-top: 32px; }
.ref-section h2 { font-size: 14px; font-weight: 700; color: var(--dark); margin-bottom: 12px; }
.ref-freq { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; padding: 2px 8px; border-radius: 8px; display: inline-block; white-space: nowrap; }
.ref-freq.daily     { background: var(--teal-light);   color: var(--teal); }
.ref-freq.fortnightly { background: var(--indigo-light); color: var(--indigo); }
.ref-freq.monthly   { background: var(--blue-light);   color: var(--blue); }
.ref-freq.quarterly { background: var(--green-light);   color: var(--green); }
.ref-freq.halfyear  { background: var(--orange-light);  color: var(--orange); }
.ref-freq.weekly    { background: var(--amber-light);   color: var(--amber); }
.ref-freq.annual    { background: var(--purple-light);  color: var(--purple); }
.ref-owner { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; padding: 2px 7px; border-radius: 8px; display: inline-block; white-space: nowrap; }
.ref-owner.dylan    { background: var(--teal-light);   color: var(--teal); }
.ref-owner.theo     { background: var(--amber-light);  color: var(--amber); }
.ref-owner.keith    { background: var(--blue-light);   color: var(--blue); }
.ref-owner.sarah    { background: var(--rose-light);   color: var(--rose); }
.ref-owner.michelle { background: var(--green-light);  color: var(--green); }
.ref-owner.les      { background: var(--purple-light); color: var(--purple); }
.ref-owner.brodie   { background: var(--green-light);  color: var(--green); }
.ref-owner.clayton  { background: var(--green-light);  color: var(--green); }
.ref-owner.liam     { background: var(--amber-light);  color: var(--amber); }
.ref-owner.keegan   { background: var(--amber-light);  color: var(--amber); }
.ref-owner.daniel   { background: var(--amber-light);  color: var(--amber); }

/* ── Responsive ── */
@media (max-width: 1200px) {
  .header { padding: 20px 24px; flex-wrap: wrap; }
  .main { padding: 24px; }
  .ruler-container { overflow-x: auto; }
  .day-ruler, .r, .swimlane-header { min-width: 1060px; }
}

/* ── Print ── */
@media print {
  @page { size: A4 landscape; margin: 12mm; }
  body { background: white; font-size: 10px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .header { padding: 12px 16px; border-bottom: 2px solid var(--dark); }
  .header-title h1 { font-size: 16px; }
  .main { padding: 16px 0; }
  .ruler-container { box-shadow: none; border: 1px solid #ccc; }
  .ref-table-wrap, .systems-panel, .processes-panel { box-shadow: none; page-break-inside: avoid; }
  .day-ruler { background: var(--dark) !important; color: white !important; }
  .p.km   { background: var(--purple) !important; }
  .p.dn, .p.lr { background: var(--teal)  !important; }
  .p.br, .p.ch { background: var(--green) !important; }
  .p.lz   { background: var(--amber)  !important; }
  .p.km-dn  { background: linear-gradient(135deg, var(--purple) 50%, var(--teal)   50%) !important; }
  .p.km-br  { background: linear-gradient(135deg, var(--purple) 50%, var(--green)  50%) !important; }
  .p.lr-ch  { background: linear-gradient(135deg, var(--teal) 50%, var(--green)  50%) !important; }
  .p.br-lz  { background: linear-gradient(135deg, var(--green)50%, var(--amber)  50%) !important; }
  .p.lz-ch  { background: linear-gradient(135deg, var(--amber)50%, var(--green)  50%) !important; }
  .w-del, .w-eng, .w-sd, .w-dir, .w-team { width: 12px; height: 12px; }
  .wd-sd, .wd-eng, .wd-del, .wd-team { width: 9px; height: 9px; }
  .footer { display: none; }
  .ruler-day { font-size: 9px; padding: 6px 0; }
  .n { font-size: 10px; padding: 4px 8px; }
  .r { min-height: 28px; }
  .p { width: 16px; height: 16px; border-radius: 3px; }
  .ref-table th, .ref-table td { padding: 6px 10px; font-size: 10px; }
  /* Finance pip print overrides */
  .p.k  { background: var(--blue)   !important; }
  .p.m  { background: var(--green)  !important; }
  .p.d  { background: var(--amber)  !important; }
  .p.l  { background: var(--purple) !important; }
  .p.kl { background: linear-gradient(135deg, var(--blue) 50%, var(--purple) 50%) !important; }
  .w    { background: var(--green)  !important; width: 12px; height: 12px; }
  .wb   { background: var(--blue)   !important; width: 12px; height: 12px; }
}
