/* Concrete Precision field extension; DESIGN_GUIDELINES.md is authoritative. */
:root{--field-card-padding:16px;--field-touch:48px;--field-scrim:rgba(20,37,61,.6)}
body>header{padding-top:14px;padding-bottom:14px}body>header>button{margin-left:auto;background:var(--action-surface);color:var(--primary);min-width:var(--field-touch)}.brand-mark{border-radius:var(--radius-control);background:var(--action-surface);color:var(--action)}.brand-mark svg{width:24px;height:24px}
.part-nav{grid-template-columns:repeat(5,minmax(0,1fr));border-radius:var(--radius-card);gap:4px}.part-nav button{border-radius:var(--radius-control);min-width:0}.part-nav button[aria-current=page]{background:var(--action-surface);color:var(--action);font-weight:700}.part-number svg{width:22px;height:22px}
.tracker-heading{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;margin:var(--space-6) 0 var(--space-4)}.tracker-heading h2{font-size:1.5rem;margin:4px 0}.tracker-heading button{display:flex;align-items:center;gap:8px;flex-shrink:0}.tracker-heading svg{width:18px;height:18px}
.tracker-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border-radius:var(--radius-control);background:var(--action-surface)}.tracker-tabs button{background:transparent;color:var(--primary);padding:8px;min-height:var(--field-touch);border-radius:var(--radius-control)}.tracker-tabs button[aria-pressed=true]{background:var(--primary);color:var(--surface)}
.tracker-connection{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:16px 0;color:var(--muted);font-size:.8rem}.calendar-card,.lot-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:var(--field-card-padding);margin:12px 0;box-shadow:none}.calendar-month{display:flex;align-items:center;gap:8px}.calendar-month h3{flex:1;margin:0;font-size:1rem}.calendar-month button{min-width:48px;padding:8px;background:var(--action-surface);color:var(--primary)}.calendar-month button:first-child,.calendar-month button:last-child{font-size:1.5rem}.calendar-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.calendar-filters button{font-size:.8rem;padding:8px 12px;border-radius:var(--radius-control);min-height:48px}.calendar-filters button[aria-pressed=true]{background:var(--primary);color:var(--surface)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday{text-align:center;color:var(--muted);font-size:.8rem;padding:8px 0}.calendar-day{padding:4px 0;background:var(--surface);color:var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;border:1px solid transparent;border-radius:var(--radius-control);font-family:var(--font-number);font-size:.85rem}.calendar-day small{min-height:17px;font:600 .66rem var(--font-ui);color:var(--action)}.calendar-day[data-events=true]{background:var(--action-surface)}.calendar-day[data-today=true]{border-color:var(--action)}.calendar-day[aria-pressed=true]{background:var(--primary);color:var(--surface)}.calendar-day[aria-pressed=true] small{color:var(--surface)}.calendar-day:hover{background:var(--action-surface);color:var(--primary)}
.lot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lot-list .lot-card{margin:0}.lot-card{border-left:4px solid var(--action);overflow-wrap:anywhere}.lot-card[data-tone=fail]{border-left-color:var(--error)}.lot-card[data-tone=pass]{border-left-color:var(--success)}.lot-card-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.lot-card-head strong{font-size:.9rem}.mono{font-family:var(--font-number);font-variant-numeric:tabular-nums}.lot-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;padding:12px;background:var(--background);border-radius:var(--radius-control)}.lot-metrics dt{font-size:.75rem;color:var(--muted)}.lot-metrics dd{font-size:.875rem;margin:4px 0 0;font-weight:600}.lot-result{font-family:var(--font-number);font-size:1.1rem;font-weight:600;color:var(--primary)}.lot-card .buttons button{font-size:.85rem;padding:10px 12px}.lot-card details summary{min-height:48px;cursor:pointer;padding:10px 0}.investigation-note{padding:12px;background:var(--warning-surface);color:var(--warning-text);border-radius:var(--radius-control);font-size:.875rem}.tracker-empty{text-align:center;padding:36px 16px;border:1px dashed var(--border);background:var(--surface);border-radius:var(--radius-card);margin:12px 0}.tracker-empty>svg{width:32px;height:32px;color:var(--action)}.tracker-empty h3{font-size:1.1rem}
.active-test{padding:16px;border:1px solid var(--border);border-left:4px solid var(--action);border-radius:var(--radius-card);background:var(--surface);margin:16px 0}.active-test p{margin:4px 0}.active-test .buttons{margin:8px 0}.active-test #roundStatus{color:var(--muted)}
.lot-dialog{width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--border);border-radius:var(--radius-dialog);padding:20px;background:var(--surface);color:var(--primary);overflow-y:auto;overscroll-behavior:contain}.lot-dialog::backdrop{background:var(--field-scrim)}.lot-dialog:not([open]){display:none}.lot-dialog [type=submit]{width:100%;margin-top:16px}.lot-dialog fieldset{border:1px solid var(--border);border-radius:var(--radius-control);margin-top:16px;padding:12px}.lot-dialog legend{font-weight:600;font-size:.875rem}.age-picks{display:flex;flex-wrap:wrap;gap:8px}.age-picks label{display:flex;gap:4px;align-items:center;margin:0;padding:8px;background:var(--action-surface);border-radius:var(--radius-control);min-height:48px}.age-picks input{min-height:22px}.lot-dialog h2{font-size:1.1rem}.lot-dialog .pair{align-items:start}.lot-dialog label{font-size:.875rem}.lot-dialog input,.lot-dialog select{min-height:48px}.lot-dialog .field-error:empty{display:none}
.card,.sample,.result-details,.sample-details{box-shadow:none;border-radius:var(--radius-card)}.card{padding:20px}.sample{padding:16px}.sample-live{font-family:var(--font-number)}.card input,.card select{min-height:48px}.part-lead{margin-top:20px}.part-lead h2{font-size:1.4rem}.live-summary{border-radius:var(--radius-card)}
@media(min-width:760px){.calendar-card .calendar-grid{gap:8px}.calendar-day{min-height:76px}.tracker #trackerContent{max-width:800px;margin:auto}.lot-dialog .pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:759px){body{padding-bottom:calc(200px + env(safe-area-inset-bottom))}.wrap{padding-left:12px;padding-right:12px}.part-nav{border-radius:0}.part-nav button{min-height:60px;min-width:48px}.part-nav .mobile-name{font-size:.7rem}.tracker-heading{margin-top:20px;gap:8px}.tracker-heading h2{font-size:1.25rem}.tracker-heading .eyebrow{font-size:.7rem}.tracker-heading button{padding:10px;font-size:.85rem}.tracker-tabs button{font-size:.8rem}.lot-list{grid-template-columns:1fr}.lot-dialog{padding:16px}.lot-dialog .pair{grid-template-columns:1fr}.calendar-card{padding:12px}.calendar-grid{gap:2px}.calendar-day{min-height:54px}.card{padding:16px}.active-test .buttons button{flex:1}.tracker .buttons button{flex:1}.calendar-month h3{font-size:.9rem}.calendar-month button{padding:6px}.live-summary{bottom:calc(80px + env(safe-area-inset-bottom))}}
@media print{.tracker,.active-test,.lot-dialog{display:none!important}}
