:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203832;background:#f3f5f2;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0}main{max-width:1440px;margin:auto;padding:27px 36px 24px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#647a71}.eyebrow span{margin-left:12px;letter-spacing:.5px;background:#e4eae2;padding:3px 6px;border-radius:4px}h1{font-size:29px;letter-spacing:-1px;font-weight:650;margin:8px 0 0}h2{font-size:14px;font-weight:650;margin:0}.date-label,.month-label{display:flex;align-items:center;gap:12px;font-size:11px;color:#64746d}input,textarea,button{font:inherit}input,textarea{background:#fff;border:1px solid #dce3dc;color:#243e35;border-radius:6px;min-width:0}input:focus,textarea:focus{outline:2px solid #4c8973;outline-offset:2px}input[type=date],input[type=month]{padding:9px 11px;font-size:13px}section{background:#fff;border:1px solid #e0e6de;border-radius:10px;padding:16px 18px;margin-bottom:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.section-heading>span{font-size:9px;color:#7b8c83;letter-spacing:1.1px}.data-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label{font-size:11px;color:#687b70;white-space:nowrap}.field input{width:100%;padding:9px 10px;font-size:23px;font-weight:550;letter-spacing:-.4px;height:46px;font-variant-numeric:tabular-nums}.field input::placeholder{color:#c1cbc2;font-weight:400}.spy-section{background:#edf3ee;border-color:#d4e1d7}.ticker{font-size:12px;background:#285944;color:#fff;border-radius:4px;padding:4px 8px;margin-right:7px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.event-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.event-grid input{font-size:13px;letter-spacing:0;font-weight:400;height:35px;padding:7px 9px}.observation textarea{display:block;width:100%;height:95px;resize:vertical;padding:11px 13px;font-size:13px;line-height:1.6}.observation textarea::placeholder{color:#98a49c}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:5px}.actions{display:flex;gap:9px}button{cursor:pointer;border:1px solid #ced9cf;border-radius:6px;padding:10px 16px;background:#fff;color:#365744;font-size:12px;font-weight:600;white-space:nowrap}button:hover{background:#e8eee7}button:focus-visible{outline:2px solid #39856a;outline-offset:3px}.primary{background:#285944;border-color:#285944;color:#fff}.primary:hover{background:#1b4533}#status{font-size:11px;color:#748478;margin:11px 0 17px;min-height:15px}#status.error{color:#a03432}#history-panel{margin-top:10px}#record-count{font-size:11px;color:#7b8c83;margin-left:8px;font-weight:400}.table-scroll{overflow:auto;max-height:550px}table{border-collapse:separate;border-spacing:0;font-size:12px;width:100%;font-variant-numeric:tabular-nums}th,td{padding:12px 14px;text-align:right;border-bottom:1px solid #e4e9e2;white-space:nowrap}th{font-size:10px;font-weight:600;color:#728174;background:#f4f7f2;position:sticky;top:0;z-index:1}th:first-child,td:first-child{position:sticky;left:0;text-align:left;background:#fff;z-index:2}th:first-child{background:#f4f7f2;z-index:3}td.note{white-space:pre-wrap;text-align:left;min-width:220px;max-width:400px;overflow-wrap:anywhere}td button{border:0;background:transparent;padding:0;color:#285944;text-decoration:underline;text-underline-offset:3px}tbody tr:hover td{background:#f3f7f1}#empty-history{font-size:13px;color:#839184;padding:18px 0}[hidden]{display:none!important}@media(min-width:1500px){main{padding-top:40px}}@media(max-width:1050px){main{padding:22px}.data-grid{gap:8px}.field label{font-size:10px}.field input{font-size:19px}footer{align-items:flex-start;flex-wrap:wrap}}@media(max-width:700px){header{align-items:flex-start;flex-direction:column}h1{font-size:26px}.data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{flex-wrap:wrap}.section-heading>span{font-size:8px}.field label{font-size:11px}main{padding:18px}}
/* Keep the daily form compact on desktop screens. */
@media(min-width:1051px){main{padding-top:20px}header{margin-bottom:16px}section{padding:11px 16px;margin-bottom:9px}.section-heading{margin-bottom:9px}.field{gap:6px}.field input{height:42px}.event-grid input{height:33px}.observation textarea{height:90px}}

/* Same sections and field order, with room for fingers in iPad portrait. */
@media(min-width:701px) and (max-width:1050px) and (orientation:portrait){
  .data-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .field label{font-size:11px}
}
@media(pointer:coarse){
  button,input[type=date],input[type=month],.field input{min-height:44px}
  .event-grid input,.observation textarea,input[type=date],input[type=month]{font-size:16px}
  .actions{flex-wrap:wrap}
  td button{min-width:100px}
}
@media(display-mode:standalone){
  main{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
}
button{touch-action:manipulation}
.backup-controls{margin:0 0 16px;font-size:12px;color:#64746d}.backup-controls summary{cursor:pointer;min-height:32px;display:list-item;width:fit-content}.backup-controls .actions{flex-wrap:wrap;margin:6px 0 12px}
