@page {
  size: A4 portrait;
  /*
   * The visible sheet remains at the same physical 6mm origin, while a
   * 0.5mm internal buffer on every edge prevents browser rounding from
   * spilling an otherwise exact 285mm sheet onto a blank second page.
   */
  margin: 5.5mm;
}

* {
  box-sizing: border-box !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

html,
body {
  width: auto !important;
  min-width: 0 !important;
  height: 286mm !important;
  min-height: 0 !important;
  max-height: 286mm !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  color: #111 !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.no-print,
.topbar,
.command-deck,
.mobile-nav,
.mobile-now,
.boot-screen,
.auth-screen,
dialog,
.round-action,
.block-front-badge {
  display: none !important;
}

.print-only,
.fiducial {
  display: block !important;
}

.planner,
.workbench {
  width: auto !important;
  height: 286mm !important;
  min-height: 0 !important;
  max-height: 286mm !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: block !important;
}

.planner {
  padding: 0 !important;
}

.workbench {
  padding: .5mm 0 0 !important;
}

.day-page {
  position: relative !important;
  width: 198mm !important;
  height: 285mm !important;
  min-width: 198mm !important;
  min-height: 285mm !important;
  max-width: 198mm !important;
  max-height: 285mm !important;
  margin: 0 auto !important;
  padding: 4mm !important;
  display: grid !important;
  grid-template-rows: 9mm 14mm 154mm 91mm 3mm !important;
  gap: 1.5mm !important;
  overflow: hidden !important;
  border: .35mm solid #111 !important;
  background: #fff !important;
  box-shadow: none !important;
  break-inside: avoid !important;
  break-after: avoid !important;
  page-break-inside: avoid !important;
  page-break-after: avoid !important;
}

.fiducial {
  position: absolute !important;
  z-index: 20 !important;
  width: 2.2mm !important;
  height: 2.2mm !important;
  background: #000 !important;
}

.fiducial-nw {
  top: 1mm !important;
  left: 1mm !important;
}

.fiducial-ne {
  top: 1mm !important;
  right: 1mm !important;
}

.fiducial-sw {
  bottom: 1mm !important;
  left: 1mm !important;
}

.fiducial-se {
  right: 1mm !important;
  bottom: 1mm !important;
}

input,
textarea {
  color: #111 !important;
  caret-color: transparent !important;
}

textarea::placeholder,
input::placeholder {
  color: transparent !important;
}

.page-masthead {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 25mm minmax(0, 1fr) 31mm !important;
  border-top: .55mm solid #111 !important;
  border-bottom: .25mm solid #111 !important;
}

.page-masthead label {
  border-right: .2mm solid #b8b8b8 !important;
}

.page-masthead label:last-child {
  border-right: 0 !important;
}

.page-masthead input {
  padding: 0 1.5mm !important;
  border: 0 !important;
  background: transparent !important;
  font: 800 6.7pt/1 Arial, sans-serif !important;
  letter-spacing: .4pt !important;
}

.mast-motto input {
  font: 700 7.2pt/1 Georgia, serif !important;
  letter-spacing: .55pt !important;
}

.order-band {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 35mm minmax(0, 1fr) 29mm !important;
  border-bottom: .25mm solid #111 !important;
}

.day-identity {
  padding: 1.2mm 1.5mm 1.2mm 0 !important;
  border-right: .2mm solid #b8b8b8 !important;
}

.day-identity p {
  font: 700 5pt/1 Arial, sans-serif !important;
  letter-spacing: .45pt !important;
}

.day-identity strong {
  margin-top: .9mm !important;
  font: 700 9pt/1 Georgia, serif !important;
}

.day-identity span {
  margin-top: .8mm !important;
  font: 400 5pt/1 Arial, sans-serif !important;
}

.central-order {
  padding: 1mm 2mm !important;
  gap: .5mm !important;
  border-right: .2mm solid #b8b8b8 !important;
}

.central-order > span {
  font: 800 4.8pt/1 Arial, sans-serif !important;
  letter-spacing: .45pt !important;
}

.central-order textarea {
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  font: 700 8pt/1.15 Georgia, serif !important;
}

.completion {
  padding: 1mm 0 1mm 2mm !important;
  gap: 1.5mm !important;
}

.completion-value {
  width: 9.5mm !important;
  height: 9.5mm !important;
  border: .2mm solid #111 !important;
}

.completion-value strong {
  font: 800 6.5pt/1 Arial, sans-serif !important;
}

.completion-value span {
  font: 700 4pt/1 Arial, sans-serif !important;
}

.completion > div:last-child > span {
  font: 700 4.3pt/1 Arial, sans-serif !important;
}

.completion p {
  margin-top: .6mm !important;
  font: 400 4.8pt/1.15 Arial, sans-serif !important;
}

.page-core {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.64fr) minmax(51mm, .72fr) !important;
  gap: 1.5mm !important;
}

/*
 * Print must never inherit the currently selected phone tab. Explicit IDs
 * also beat the responsive [data-mobile-section] visibility selectors.
 */
#agendaPanel,
#frontsPanel,
#allocationPanel,
#statePanel,
#reviewPanel {
  display: grid !important;
}

.sheet-section {
  min-height: 0 !important;
  overflow: hidden !important;
  border: .25mm solid #111 !important;
  background: #fff !important;
}

.section-heading,
.section-title {
  min-height: 0 !important;
  height: 7mm !important;
  border-bottom: .25mm solid #111 !important;
  background: #f2f2ef !important;
}

.section-title {
  padding: 1mm 1.4mm !important;
}

.section-title p {
  font: 700 4pt/1 Arial, sans-serif !important;
  letter-spacing: .4pt !important;
}

.section-title h2 {
  margin-top: .7mm !important;
  font: 800 5.7pt/1 Arial, sans-serif !important;
  letter-spacing: .25pt !important;
}

.section-title > span {
  font: 600 4.2pt/1 Arial, sans-serif !important;
}

.agenda-section {
  display: grid !important;
  grid-template-rows: 7mm minmax(0, 1fr) !important;
}

.agenda-heading {
  display: grid !important;
  grid-template-columns: 12mm minmax(0, 1fr) minmax(0, 1fr) 8mm !important;
  font: 800 5pt/1 Arial, sans-serif !important;
  letter-spacing: .3pt !important;
}

.agenda-heading > * {
  padding: 0 1mm !important;
  border-right: .2mm solid #b8b8b8 !important;
}

.agenda-heading > *:last-child {
  border-right: 0 !important;
}

.block-list {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: repeat(16, minmax(0, 1fr)) !important;
}

.block-row {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 12mm minmax(0, 1fr) minmax(0, 1fr) 8mm !important;
  border-bottom: .18mm solid #d1d1d1 !important;
  background: #fff !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.block-row:last-child {
  border-bottom: 0 !important;
}

.block-row > * {
  min-height: 0 !important;
  border-right: .18mm solid #d1d1d1 !important;
}

.block-row > *:last-child {
  border-right: 0 !important;
}

.block-time-stack,
.block-segment-stack,
.block-resolution-stack {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: repeat(var(--segment-count, 1), minmax(0, 1fr)) !important;
  overflow: hidden !important;
}

.block-time-stack {
  position: relative !important;
}

.calendar-segment {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.block-segment-stack > .calendar-segment + .calendar-segment,
.block-resolution-stack > .calendar-segment + .calendar-segment {
  border-top: .12mm dotted #888 !important;
}

.block-time {
  min-height: 0 !important;
  padding: 0 .8mm 0 1mm !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 4.4mm !important;
  align-items: center !important;
  column-gap: .5mm !important;
  border: 0 !important;
  background: #f5f5f2 !important;
  font: 700 6.1pt/1 Arial, sans-serif !important;
  text-align: left !important;
}

.block-hour-label {
  position: absolute !important;
  z-index: 2 !important;
  left: 1mm !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font: 700 6.1pt/1 Arial, sans-serif !important;
  pointer-events: none !important;
}

.block-minute-label {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  padding-left: .5mm !important;
  display: grid !important;
  align-items: center !important;
  justify-self: stretch !important;
  border-left: .12mm solid #bbb !important;
  color: #555 !important;
  text-align: right !important;
}

.block-time-stack > .block-time + .block-time .block-minute-label {
  border-top: .12mm dotted #888 !important;
}

.block-time-stack.has-area > .block-hour-label {
  padding-left: 1mm !important;
}

.block-row:not(.is-segmented) .block-minute-label {
  font: 700 4.5pt/1 Arial, sans-serif !important;
}

.block-row[data-resolution]:not([data-resolution="60"]) .block-time {
  padding: 0 .8mm 0 1mm !important;
  font: 700 4.1pt/1 Arial, sans-serif !important;
}

.block-time[data-area]:not([data-area=""])::before {
  position: absolute !important;
  left: .4mm !important;
  top: 50% !important;
  width: 1mm !important;
  height: 1mm !important;
  margin: 0 !important;
  background: #555 !important;
  transform: translateY(-50%) !important;
}

.block-cell {
  min-height: 0 !important;
}

.block-cell textarea {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 1mm 1.2mm !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  font: 400 6.6pt/1.16 Arial, sans-serif !important;
}

.block-row[data-resolution]:not([data-resolution="60"]) .block-cell textarea {
  padding: .15mm .6mm !important;
  font: 400 4pt/1 Arial, sans-serif !important;
}

.block-resolution-stack,
.hour-mark-holder,
.segment-mark-holder {
  min-height: 0 !important;
  height: 100% !important;
}

.hour-mark-holder,
.segment-mark-holder {
  display: grid !important;
  place-items: center !important;
}

.block-resolution {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.resolution-mark {
  width: 4mm !important;
  height: 4mm !important;
  border: .22mm solid #555 !important;
  border-radius: .6mm !important;
  background: #fff !important;
  color: #111 !important;
  font: 800 5pt/1 Arial, sans-serif !important;
}

.block-row[data-resolution]:not([data-resolution="60"]) .segment-mark-holder .resolution-mark {
  width: 1.6mm !important;
  height: 1.6mm !important;
  border-width: .15mm !important;
  border-radius: .25mm !important;
  font: 800 3pt/1 Arial, sans-serif !important;
}

.block-row[data-completion-mode="hour"] .hour-mark-holder .resolution-mark {
  width: 4mm !important;
  height: 4mm !important;
  border-width: .22mm !important;
  border-radius: .6mm !important;
  font: 800 5pt/1 Arial, sans-serif !important;
}

.block-resolution[data-state="done"] .resolution-mark {
  border-color: #111 !important;
  background: #fff !important;
  color: #111 !important;
}

.fronts-section {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: 7mm minmax(0, 1fr) !important;
}

.front-list {
  min-height: 0 !important;
  display: grid !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  overflow: hidden !important;
}

.front-card {
  min-height: 0 !important;
  padding: 1.2mm 1.4mm !important;
  grid-template-columns: 1mm minmax(0, 1fr) !important;
  gap: 1.2mm !important;
  overflow: hidden !important;
  border-bottom: .18mm solid #bdbdbd !important;
  background: #fff !important;
}

.front-stripe {
  width: .6mm !important;
  min-height: 4mm !important;
  background: #555 !important;
}

.front-title-line {
  gap: 1mm !important;
}

.front-title-line strong {
  font: 700 6.2pt/1.1 Arial, sans-serif !important;
}

.front-hours {
  font: 700 4.4pt/1 Arial, sans-serif !important;
}

.front-objective,
.front-next {
  margin-top: .8mm !important;
  font: 400 4.8pt/1.15 Arial, sans-serif !important;
}

.front-meta {
  margin-top: .7mm !important;
  gap: .6mm !important;
}

.front-meta span {
  padding: .3mm .6mm !important;
  border: .15mm solid #ccc !important;
  font: 600 3.6pt/1 Arial, sans-serif !important;
}

.empty-copy {
  padding: 5mm 2mm !important;
  font: italic 6pt/1.3 Georgia, serif !important;
}

.page-lower {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(72mm, .92fr) !important;
  grid-template-rows: 44mm 45.5mm !important;
  gap: 1.5mm !important;
}

.allocation-section {
  grid-row: 1 / 3 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: 7mm minmax(0, 1fr) 18mm !important;
}

.allocation-workspace {
  min-height: 0 !important;
  padding: .8mm 1.2mm .2mm !important;
  display: block !important;
  overflow: hidden !important;
}

.allocation-grid,
.allocation-totals {
  display: none !important;
}

.triad-compass {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
}

.triad-compass svg {
  width: auto !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 63mm !important;
  display: block !important;
  overflow: visible !important;
}

.triad-day-ring,
.triad-day-segment {
  fill: none !important;
  stroke-width: 5 !important;
}

.triad-day-ring {
  stroke: #ddd !important;
}

.triad-day-segment.is-ground {
  stroke: #111 !important;
}

.triad-day-segment.is-power {
  stroke: #555 !important;
}

.triad-day-segment.is-living {
  stroke: #999 !important;
}

.triad-field-base {
  fill: #fff !important;
}

.triad-compass [fill^="url("] {
  opacity: .13 !important;
}

.triad-outline {
  fill: none !important;
  stroke: #111 !important;
  stroke-width: 1.4 !important;
}

.triad-grid,
.triad-spoke {
  fill: none !important;
  stroke: #aaa !important;
  stroke-width: .7 !important;
}

.triad-optimum-halo {
  fill: #fff !important;
  stroke: #777 !important;
  stroke-width: .9 !important;
}

.triad-optimum {
  fill: #111 !important;
}

.triad-vector {
  stroke: #555 !important;
  stroke-width: 1.1 !important;
  stroke-dasharray: 3 3 !important;
}

.triad-marker-halo {
  fill: #fff !important;
  stroke: #777 !important;
  stroke-width: 1 !important;
  opacity: .78 !important;
  animation: none !important;
}

.triad-marker {
  fill: #111 !important;
  stroke: #fff !important;
  stroke-width: 2.2 !important;
  filter: none !important;
}

.triad-optimum-label,
.triad-empty-label,
.triad-vertex-label,
.triad-vertex-value {
  fill: #111 !important;
  font-family: Arial, sans-serif !important;
}

.triad-vertex-label {
  font-size: 8.5px !important;
  font-weight: 800 !important;
}

.triad-vertex-value {
  font-size: 7px !important;
  font-weight: 600 !important;
}

.triad-optimum-label,
.triad-empty-label {
  font-size: 6.4px !important;
  font-weight: 700 !important;
}

.triad-paper-fields {
  min-height: 0 !important;
  padding: 1mm 1.2mm 1.2mm !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1mm !important;
}

.triad-paper-fields > div {
  min-width: 0 !important;
  padding: 1mm 1.2mm !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  border: .25mm solid #111 !important;
  background: #fff !important;
}

.triad-paper-fields span {
  font: 800 4.5pt/1 Arial, sans-serif !important;
  letter-spacing: .35pt !important;
  text-transform: uppercase !important;
}

.triad-paper-fields strong {
  font: 800 9pt/1 Arial, sans-serif !important;
  white-space: nowrap !important;
}

.triad-paper-fields small {
  color: #444 !important;
  font: 600 3.8pt/1 Arial, sans-serif !important;
  white-space: nowrap !important;
}

.state-section,
.review-section {
  min-height: 0 !important;
  grid-template-rows: 7mm minmax(0, 1fr) !important;
}

.checkin-grid {
  height: auto !important;
  min-height: 0 !important;
  padding: 1mm !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .8mm !important;
}

.checkin-card {
  min-height: 0 !important;
  padding: 1mm !important;
  gap: .6mm !important;
  border: .15mm solid #c8c8c8 !important;
  background: #fff !important;
}

.checkin-card header {
  padding-bottom: .6mm !important;
  border-bottom: .15mm solid #d5d5d5 !important;
}

.checkin-card header strong {
  font: 800 4.8pt/1 Arial, sans-serif !important;
}

.checkin-card header span {
  font: 600 3.4pt/1 Arial, sans-serif !important;
}

.axis {
  grid-template-columns: 7mm minmax(6mm, 1fr) 7mm !important;
  gap: .5mm !important;
}

.axis > span {
  font: 400 3.6pt/1 Arial, sans-serif !important;
}

.range-track {
  height: 4mm !important;
  background:
    linear-gradient(#999, #999) 25% 50% / .15mm 1.1mm no-repeat,
    linear-gradient(#666, #666) 50% 50% / .15mm 1.6mm no-repeat,
    linear-gradient(#999, #999) 75% 50% / .15mm 1.1mm no-repeat !important;
}

.range-track::before {
  height: .18mm !important;
  background: #111 !important;
}

.range-track::after {
  width: 1.5mm !important;
  height: 1.5mm !important;
  border: .2mm solid #111 !important;
  background: #fff !important;
}

.range-track input {
  opacity: 0 !important;
}

.checkin-note {
  min-height: 5mm !important;
  padding: .5mm .8mm !important;
  overflow: hidden !important;
  border: .15mm solid #ccc !important;
  border-radius: 0 !important;
  background: #fff !important;
  font: 400 4.2pt/1.1 Arial, sans-serif !important;
}

.review-fields {
  height: auto !important;
  min-height: 0 !important;
  padding: 1mm !important;
  display: grid !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  gap: .7mm !important;
}

.review-fields label {
  min-height: 0 !important;
  grid-template-columns: 12mm minmax(0, 1fr) !important;
}

.review-fields label > span {
  padding: 1mm .8mm 0 0 !important;
  font: 700 4pt/1 Arial, sans-serif !important;
}

.review-fields textarea {
  min-height: 0 !important;
  padding: .8mm 1mm !important;
  overflow: hidden !important;
  border: .15mm solid #ccc !important;
  border-radius: 0 !important;
  background: #fff !important;
  font: 400 4.8pt/1.1 Arial, sans-serif !important;
}

.paper-footer {
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  font: 600 3.8pt/1 Arial, sans-serif !important;
  letter-spacing: .35pt !important;
}
