/* Shared TPW website chrome. Screen-only layout never changes printable form geometry. */
@font-face { font-family: 'Degular'; src: url('fonts/degular-text-500.woff2') format('woff2'); font-weight: 400 500; font-display: swap; }
@font-face { font-family: 'Degular'; src: url('fonts/degular-text-700.woff2') format('woff2'); font-weight: 700 800; font-display: swap; }
@font-face { font-family: 'Rubik One'; src: url('fonts/rubik-one.woff2') format('woff2'); font-weight: 400; font-display: swap; }
:root { --tpw-gutter: clamp(22px, 4.4vw, 84px); --tpw-text: 'Degular', ui-sans-serif, -apple-system, sans-serif; }
.tpw-site { margin: 0; background: #fff; }
.tpw-site .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tpw-site .tpw-header { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 32px; width: 100%; max-width: none; margin: 0; padding: 22px var(--tpw-gutter); background: #fff; color: #000; font-family: var(--tpw-text); line-height: 1.5; }
.tpw-site .tpw-header .logo { flex: 0 0 auto; display: block; line-height: 0; }
.tpw-site .tpw-header .logo img { display: block; width: 220px; max-width: 100%; height: auto; }
.tpw-site .tpw-header nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; width: auto; gap: 16px 28px; font-size: 18px; }
.tpw-site .tpw-header nav a { color: #000; font-weight: 400; text-decoration: none; white-space: nowrap; }
.tpw-site .tpw-header nav a:hover, .tpw-site .tpw-header nav a[aria-current] { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.tpw-site .tpw-header a:focus-visible, .tpw-site .tpw-footer a:focus-visible, .tpw-site .tpw-member-nav a:focus-visible { outline: 3px solid #7cc089; outline-offset: 5px; }
.tpw-site > .shell { max-width: none; padding-inline: var(--tpw-gutter); }
.tpw-site .tpw-footer { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: 64px var(--tpw-gutter) 32px; background: #000; color: #fff; font: 18px/1.5 var(--tpw-text); }
.tpw-footer .tpw-footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.tpw-footer .tpw-footer-logo img { display: block; width: 220px; max-width: 100%; height: auto; }
.tpw-footer nav { display: grid; justify-items: end; gap: 10px; }
.tpw-site .tpw-footer a { color: #fff; text-decoration: none; }
.tpw-site .tpw-footer a:hover { text-decoration: underline; text-decoration-color: #7cc089; text-underline-offset: 4px; }
.tpw-footer .tpw-social { display: flex; gap: 18px; margin-top: 22px; font-size: 14px; }
.tpw-footer .tpw-legal { max-width: none; margin: 48px 0 0; font-size: 16px; }
.tpw-site .tpw-disclosure { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: 16px var(--tpw-gutter) 32px; border-top: 1px solid #292929; background: #000; color: #aaa; font: 13px/1.5 var(--tpw-text); }
.tpw-site .tpw-disclosure a { color: #ccc; }
.tpw-disclosure .logo { display: none; }
.tpw-disclosure .shell { max-width: none; padding: 0; }
.tpw-disclosure .cols { gap: 24px; }
.tpw-site .tpw-prototype-note { margin: 24px 0 0; color: #aaa; font-size: 13px; }

/* Logging is the primary task. Flat page, two quiet links, no workspace card/sidebar. */
.tpw-site .tpw-member-nav { display: flex; flex-wrap: wrap; gap: 28px; margin: 0 var(--tpw-gutter); padding: 12px 0 0; border-bottom: 1px solid #e5e5e5; font: 17px/1.5 var(--tpw-text); }
.tpw-member-nav a { display: block; padding: 10px 0 12px; border-bottom: 2px solid transparent; color: #666; text-decoration: none; }
.tpw-member-nav a:hover { color: #000; }
.tpw-member-nav a[aria-current] { border-bottom-color: #000; color: #000; font-weight: 700; }
.tpw-site .dashboard-layout, .tpw-site .tpw-workspace { display: block; width: calc(100% - 2 * var(--tpw-gutter)); max-width: none; min-height: 60vh; margin: 0 var(--tpw-gutter) 64px; padding: 0; border: 0; border-radius: 0; background: #fff; overflow: visible; }
.tpw-site .dashboard-sidebar { display: none !important; }
.tpw-site .workspace-content, .tpw-site .tpw-workspace-content { min-width: 0; padding: 36px 0 32px; background: #fff; }
.tpw-site .dashboard-heading { background: #fff; }
.tpw-site .tpw-page-title { max-width: none; margin: 0 0 24px; color: #000; font: 400 clamp(1.8rem, 4vw, 2.5rem)/1.15 'Rubik One', sans-serif; }
.tpw-site .tpw-workspace .wrap, .tpw-site .tpw-workspace .controls { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: 0 0 32px; }
.tpw-site .wrap:has(.demo-panel) { max-width: none; }
.tpw-site .demo-panel { margin: 0; width: 100%; }
.tpw-site .demo-panel iframe, .tpw-site #checkin-form { display: block; width: 100%; min-height: 0; height: 640px; border: 0; background: #fff; }
.tpw-site .tpw-workspace .tabs { max-width: none; margin: 0 0 24px; }
.tpw-site .tpw-workspace .tabs a { padding: 8px 0; margin-right: 22px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: #666; }
.tpw-site .tpw-workspace .tabs a[aria-current] { border-bottom-color: #5d8d67; background: none; color: #42674b; font-weight: 700; }
.tpw-site .tpw-workspace .page-heading { background: none; padding: 0 0 28px; }
.tpw-site .tpw-workspace .page-heading .shell { padding: 0; }
.tpw-site .tpw-workspace .page-heading h1 { font-size: clamp(1.8rem, 4vw, 3rem); text-transform: none; }
.tpw-site .tpw-workspace .form-section { padding: 0; background: #fff; }
.tpw-site .tpw-workspace .form-section > .shell { max-width: 100%; padding: 0; }
.tpw-site .tpw-workspace .demo-form { max-width: 100%; margin: 0; padding: 0; border: 0; background: #fff; }
.tpw-site .tpw-workspace .demo-form:not(.program-mode) { max-width: none; margin-inline: 0; }
.tpw-site .tpw-sheet-preview { width: 100%; overflow-x: auto; padding: 12px 0 32px; }
@media screen { .tpw-site .tpw-sheet-preview .page { transform: none; transform-origin: initial; margin: 0 auto; } }

/* Embedded forms use the parent's gutters, not another page shell. */
body.embed { min-height: 0; display: block; }
body.embed main { flex: initial; }
body.embed .form-section { padding: 8px 0 24px; }
body.embed .form-section > .shell { max-width: none; padding-inline: 0; }
body.embed .form-section:has(.program-mode) > .shell { max-width: none; }
body.embed .demo-form { max-width: none; margin: 0; }
@media (min-width: 900px) {
  .tpw-workspace .field[data-key="org"], .tpw-workspace .field[data-key="program"] { grid-column: span 1; }
}
@media (max-width: 1000px) {
  .tpw-site .tpw-header { gap: 24px; }
  .tpw-site .tpw-header .logo img { width: 168px; }
  .tpw-site .tpw-header nav { gap: 12px 20px; font-size: 17px; }
}
@media (max-width: 760px) {
  .tpw-site .tpw-header { flex-wrap: wrap; padding-block: 20px; gap: 18px; }
  .tpw-site .tpw-header .logo img { width: 144px; }
  .tpw-site .tpw-header nav { width: 100%; justify-content: flex-start; gap: 12px 20px; font-size: 16px; }
  .tpw-site .dashboard-layout, .tpw-site .tpw-workspace { margin-bottom: 40px; }
  .tpw-site .workspace-content, .tpw-site .tpw-workspace-content { padding: 28px 0 24px; }
  .tpw-site .tpw-footer { padding-top: 44px; }
  .tpw-footer .tpw-footer-inner { align-items: flex-start; }
  .tpw-footer .tpw-footer-logo img { width: 156px; }
  .tpw-footer .tpw-social { display: grid; gap: 8px; }
  .tpw-footer .tpw-legal { margin-top: 32px; font-size: 14px; }
}
@media print {
  .tpw-site .tpw-header, .tpw-site .tpw-footer, .tpw-site .tpw-disclosure, .tpw-site .tpw-member-nav, .tpw-site .devbar { display: none !important; }
  .tpw-site .tpw-workspace, .tpw-site .tpw-workspace-content, .tpw-site .tpw-sheet-preview { display: block; width: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; overflow: visible; background: #fff; }
}
