:root{color:#1f2937;background:radial-gradient(circle at 0 0,#d9f99d 0%,#f7fee7 35%,#f8fafc 100%);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{min-height:100vh;margin:0}.page-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{color:#f0fdf4;background:#14532d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.brand{color:#f0fdf4;font-weight:700;text-decoration:none}.topnav{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:10px;display:flex}.topnav-main,.topnav-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topnav a{color:#dcfce7;border:1px solid #dcfce766;border-radius:8px;padding:6px 10px;font-size:14px;text-decoration:none}.topnav a.active{color:#fff;background:#166534}.topnav-actions{margin-left:auto}.topnav-welcome{color:#f0fdf4;white-space:nowrap;font-size:14px}.nav-logout{color:#dcfce7;background:0 0;border:1px solid #dcfce766}.content{width:100%;margin:24px auto}.content.content-public>*{width:min(1100px,100% - 24px);margin:0 auto}.content.content-public>.page-container-form{width:min(1100px,100% - 24px)}.content.content-public>.page-container-table{width:min(96vw,1900px)}.content.content-authenticated>*{width:calc(100% - 30px);max-width:none;margin:0 auto}.content.content-authenticated>.page-container-form,.content.content-authenticated>.page-container-table{width:calc(100% - 30px);max-width:none}.card{background:#fff;border:1px solid #d1d5db;border-radius:14px;padding:22px;box-shadow:0 8px 20px #0f172a0f}.card.wide{width:100%}h1{margin:0;font-size:28px}.subtitle{color:#475569;margin:10px 0 18px}.form-grid,.stage-builder{gap:14px;display:grid}.stage-card{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;gap:10px;padding:12px;display:grid}.stage-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.stage-card-header h3{margin:0;font-size:16px}.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stage-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stage-domain-card{background:#fff;border:1px solid #bfdbfe;border-radius:10px;gap:8px;padding:10px;display:grid}.stage-domain-card h4{margin:0;font-size:14px}.stage-rule-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.guideline-row-invalid{background:#fef2f2;border:1px solid #dc2626;border-radius:10px;padding:10px;scroll-margin-top:96px}.guideline-row-invalid input[aria-invalid=true]{border-color:#dc2626}.guideline-row-errors{color:#b91c1c;grid-column:1/-1;font-size:13px}.guideline-row-error-title{margin:0 0 4px;font-weight:600}.guideline-row-errors p{margin:0 0 2px}.guideline-error-summary{margin:6px 0 6px 18px;padding:0}.guideline-error-summary li{margin-bottom:4px}.guideline-error-summary .link-button{text-align:left}.template-summary-header{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:14px 16px}.template-summary-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.template-summary-top h1{margin:0 0 4px}.template-summary-meta{color:#475569;margin:0;font-size:14px}.template-summary-actions{margin-bottom:0}.template-guide-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:10px;margin-bottom:14px;padding:12px 14px;display:grid}.template-guide-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.template-guide-section-header h2{margin:0 0 2px;font-size:17px}.template-guide-hint{color:#64748b;margin:0;font-size:13px}.version-select-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.version-select-row label{color:#334155;font-size:14px;font-weight:600;display:inline}.version-select-row select{width:auto;min-width:220px}.lifecycle-navigator{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:8px;margin-bottom:14px;padding:10px 12px;display:grid}.lifecycle-navigator-label{color:#64748b;justify-content:space-between;font-size:12px;display:flex}.lifecycle-navigator-track{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.lifecycle-chip{color:#166534;white-space:nowrap;background:#fff;border:1px solid #bbf7d0;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:600}.lifecycle-chip:hover{background:#f0fdf4}.stage-summary-list{gap:12px;display:grid}.stage-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:12px 14px;scroll-margin-top:12px;display:grid}.stage-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.stage-summary-title{color:#0f172a;margin:0;font-size:16px}.stage-summary-code{color:#94a3b8;margin:2px 0 0;font-size:12px}.stage-summary-range{color:#475569;white-space:nowrap;font-size:13px}.stage-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stage-summary-column{align-content:start;gap:6px;display:grid}.stage-summary-column h4{color:#334155;margin:0;font-size:13px}.stage-summary-line-group{gap:1px;display:grid}.stage-summary-line-group+.stage-summary-line-group{margin-top:6px}.stage-vaccination-guidance>.stage-summary-line-group+.stage-summary-line-group{border-left:2px solid #d1fae5;margin-top:5px;padding-left:8px}.stage-summary-line-group span{color:#0f172a;font-size:13px;line-height:1.4}.stage-summary-muted{color:#94a3b8!important;font-size:12px!important}.stage-summary-strong{font-weight:600}.stage-summary-line{color:#0f172a;margin:0;font-size:13px;line-height:1.4}.stage-summary-empty{color:#94a3b8;margin:0;font-size:13px}.stage-detail-panel{border-top:1px solid #e2e8f0;gap:8px;padding-top:10px;display:grid}.stage-detail-domain h4{color:#334155;margin:0 0 4px;font-size:13px}.stage-detail-domain p{color:#0f172a;margin:0 0 4px;font-size:13px}.stage-detail-note{color:#0f172a;margin:0;font-size:13px}.batch-form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.batch-form-section h3{margin:0 0 12px}.batch-form-grid{gap:12px;display:grid}.batch-form-grid--1{grid-template-columns:minmax(0,1fr)}.batch-form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.batch-form-grid--population{grid-template-columns:repeat(5,minmax(0,1fr))}.batch-form-field{min-width:0}.batch-form-field small{color:#475569;font-size:12px}.batch-form-field--full{grid-column:1/-1}.batch-form-readonly{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;padding:10px 12px}.batch-form-readonly strong{color:#334155;margin-bottom:6px;font-size:13px;display:block}.batch-form-readonly p{color:#0f172a;margin:0;font-weight:600}.batch-form-warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin-top:10px;padding:10px 12px}.batch-form-warning p{margin:0}.batch-form-actions{justify-content:flex-end;margin-top:4px}label{color:#334155;gap:6px;font-size:14px;display:grid}input{border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 12px;font-size:15px}select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 12px;font-size:15px}textarea{resize:vertical;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:15px}.program-guide-field{gap:8px;display:grid}.program-guide-label{color:#334155;font-size:14px;font-weight:500}.program-guide-toolbar{flex-wrap:wrap;gap:8px;display:flex}.program-guide-toolbar button{color:#1f2937;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;font-size:13px}.program-guide-toolbar button.active{background:#dcfce7;border-color:#86efac}.program-guide-editor{background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-height:180px;padding:12px;line-height:1.5}.program-guide-editor:focus{border-color:#16a34a;outline:none}.program-guide-editor p{margin:0 0 8px}.program-guide-editor p:last-child{margin-bottom:0}.program-guide-field small{color:#64748b;font-size:12px}button{color:#fff;cursor:pointer;background:#166534;border:none;border-radius:10px;padding:10px 14px;font-weight:600}button:disabled{opacity:.7;cursor:default}button.danger{background:#b91c1c}button.outline{color:#166534;background:#fff;border:1px solid #166534}.inline-links{flex-wrap:wrap;gap:16px;margin-top:16px;display:flex}.inline-links a{color:#166534;font-weight:600;text-decoration:none}.alert{border-radius:10px;margin-bottom:12px;padding:10px 12px}.alert-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.alert-error{color:#991b1b;white-space:pre-line;background:#fef2f2;border:1px solid #fecaca}.password-requirements{background:#f8fafc;border:1px solid #d1d5db;border-radius:10px;padding:12px}.password-requirements-title{color:#334155;margin:0 0 8px;font-size:14px;font-weight:600}.password-rules{gap:6px;margin:0;padding:0;list-style:none;display:grid}.password-rules li{align-items:center;gap:8px;font-size:14px;display:flex}.rule-valid{color:#166534}.rule-invalid{color:#b91c1c}.password-strength{margin-top:10px}.password-strength-row{color:#334155;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;display:flex}.password-meter{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.password-meter-fill{height:100%;transition:width .2s;display:block}.password-meter-fill.weak{background:#dc2626}.password-meter-fill.medium{background:#ca8a04}.password-meter-fill.strong{background:#16a34a}.password-meter-fill.very-strong{background:#166534}.profile-grid{gap:12px;margin:6px 0 18px;display:grid}.profile-grid>div{border:1px solid #e2e8f0;border-radius:10px;gap:4px;padding:10px;display:grid}.profile-grid>div.profile-guide-row{gap:8px}.program-guide-render{color:#0f172a;line-height:1.55}.program-guide-render p{margin:0 0 8px}.program-guide-render p:last-child{margin-bottom:0}.profile-page{gap:14px;display:grid}.profile-page .profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;margin:0}.profile-column{align-content:start;gap:16px;display:grid}.profile-card{background:#fff;border:1px solid #d1d5db;border-radius:14px;box-shadow:0 8px 20px #0f172a0f}.profile-section{padding:18px}.profile-section h2{color:#0f172a;margin:0;font-size:20px}.profile-subscription-card{border-color:#bbf7d0}.profile-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.profile-info-stack{gap:10px;display:grid}.profile-field-card{box-shadow:none;border-color:#e2e8f0;border-radius:10px;width:100%;padding:12px}.profile-field-card strong{color:#334155;margin-bottom:6px;font-size:13px;display:block}.profile-field-card span{color:#0f172a;word-break:break-word;line-height:1.35;display:block}.batch-detail-page{gap:12px;display:grid}.batch-detail-header{gap:8px;display:grid}.batch-detail-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.batch-detail-heading h1{margin:0}.batch-detail-subtitle{color:#475569;margin:0;font-size:14px}.batch-detail-actions{margin-bottom:0}.batch-detail-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:12px;display:grid}.batch-detail-section h2{color:#0f172a;margin:0;font-size:18px}.batch-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.batch-summary-card{background:#fff;border:1px solid #dbeafe;border-radius:10px;padding:10px}.batch-summary-card strong{color:#334155;margin-bottom:6px;font-size:12px;display:block}.batch-summary-card span{color:#0f172a;word-break:break-word;font-size:15px;font-weight:700;line-height:1.3;display:block}.batch-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.batch-snapshot-note{color:#475569;margin-top:4px;font-size:12px;display:block}.batch-detail-two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.batch-detail-list{gap:8px;margin:0;padding:0;display:grid}.batch-detail-list div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(120px,1fr) minmax(0,1.6fr);align-items:start;gap:10px;padding:8px 10px;display:grid}.batch-detail-list dt{color:#334155;font-size:13px;font-weight:600}.batch-detail-list dd{color:#0f172a;word-break:break-word;margin:0}.batch-detail-toggle{justify-self:start}.batch-detail-expand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.batch-audit-grid,.batch-dashboard-summary,.batch-program-summary-grid,.batch-stage-guidance-grid,.batch-telemetry-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.batch-dashboard-card,.batch-program-summary,.batch-unit-operations,.batch-attention-panel,.batch-lifecycle-dashboard,.batch-secondary-information{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:8px 0;padding:12px}.batch-lifecycle-dashboard{min-width:0;max-width:100%}.batch-dashboard-card h2,.batch-program-summary h2,.batch-unit-operations h2,.batch-attention-panel h2,.batch-lifecycle-dashboard h2{margin:0 0 8px;font-size:16px}.batch-dashboard-card dl,.batch-program-summary-grid,.batch-stage-guidance-grid,.batch-telemetry-metrics{margin:0}.batch-dashboard-card dl div,.batch-program-summary-grid div,.batch-stage-guidance-grid div,.batch-telemetry-metrics div{gap:2px;display:grid}.batch-dashboard-card dt,.batch-program-summary-grid strong,.batch-stage-guidance-grid strong,.batch-telemetry-metrics strong{color:#475569;font-size:12px}.batch-dashboard-card dd{margin:0;font-weight:600}.batch-flock-primary{grid-column:1/-1}.batch-flock-primary dd{color:#14532d;font-size:28px;line-height:1}.card-divider{border:none;border-top:1px solid #e2e8f0;margin:10px 0}.batch-flock-sex-row{gap:18px;display:flex}.batch-flock-sex-row span{align-items:baseline;gap:6px;display:inline-flex}.batch-flock-sex-row dt,.batch-flock-sex-row dd{display:inline}.batch-lifecycle-age-row dd.care-value-emphasis,.care-value-emphasis{color:#166534;font-size:18px;font-weight:700}.care-value-water{color:#1d4ed8}.card-heading-icon,.section-heading-icon{vertical-align:-3px;color:#166534;stroke:currentColor;fill:currentColor;width:18px;height:18px;margin-right:6px}.batch-dashboard-card-schedule dl.batch-schedule-stack{text-align:center;grid-template-columns:1fr}.batch-dashboard-card small{color:#64748b;font-size:11px}.batch-schedule-stack{gap:4px;display:grid}.batch-schedule-arrow{color:#16a34a;align-self:center;font-size:20px;font-weight:700}.batch-snapshot-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.batch-snapshot-heading-row h2{margin:0}.batch-snapshot-updated{color:#64748b;align-items:center;gap:5px;display:inline-flex}.freshness-dot{background:#16a34a;border-radius:999px;width:7px;height:7px;display:inline-block}.batch-snapshot-unit-link{color:#15803d;cursor:pointer;font-weight:700;text-decoration:underline}.batch-snapshot-unit-link:focus-visible{outline-offset:2px;outline:2px solid #166534}.controller-status-dot{background:#94a3b8;border-radius:999px;width:8px;height:8px;display:inline-block}.controller-status-dot.is-online{background:#16a34a}.batch-attention-panel{background:#fffbeb;border-color:#fcd34d;flex-wrap:wrap;align-items:center;gap:14px;display:flex}.batch-attention-panel h2{align-items:center;margin:0;display:flex}.batch-attention-panel .section-heading-icon{color:#b45309}.batch-attention-panel ul{flex-wrap:wrap;flex:420px;gap:0;margin:0;padding:0;list-style:none;display:flex}.batch-attention-panel li{gap:3px;min-width:200px;padding:0 16px;display:grid}.batch-attention-panel li+li{border-left:1px solid #fde68a}.batch-attention-panel li a{font-size:12px;font-weight:600}.batch-lifecycle-scroll-viewport{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.batch-lifecycle-track{align-items:flex-start;gap:20px;width:max-content;min-width:100%;padding:6px 2px 10px;display:flex}.batch-lifecycle-group{flex-direction:column;flex:none;min-width:max-content;display:flex}.batch-lifecycle-group-heading{letter-spacing:.03em;color:#64748b;margin-bottom:6px;font-size:11px;font-weight:700;display:block;position:static}.batch-lifecycle-group-past .batch-lifecycle-group-heading{color:#94a3b8}.batch-lifecycle-group-current .batch-lifecycle-group-heading{color:#166534}.batch-lifecycle-group-upcoming .batch-lifecycle-group-heading{color:#2563eb}.batch-lifecycle-group-items{flex-wrap:nowrap;gap:8px;width:max-content;display:flex}.batch-lifecycle-chip{box-sizing:border-box;text-align:left;color:#0f172a;overflow-wrap:break-word;background:#fff;border:1px solid #94a3b8;border-radius:8px;flex:0 0 150px;align-content:start;gap:5px;width:150px;min-width:150px;min-height:120px;padding:10px;display:grid}.batch-lifecycle-group-current .batch-lifecycle-chip{flex-basis:175px;width:175px;min-width:175px}.batch-lifecycle-chip>span:first-child{color:#475569;font-size:12px;font-weight:700}.batch-lifecycle-chip.is-past{color:#64748b;opacity:.78;background:#f8fafc;border-color:#e2e8f0}.batch-lifecycle-chip.is-past em:before{content:"✓ "}.batch-lifecycle-chip.is-current{color:#fff;background:#166534;border-color:#14532d;box-shadow:0 4px 10px #14532d40}.batch-lifecycle-chip.is-current>span:first-child{color:#dcfce7}.batch-lifecycle-chip.is-upcoming{opacity:.85;background:#fff;border-color:#93c5fd}.batch-lifecycle-chip.is-selected{outline-offset:1px;outline:2px solid #166534}.batch-lifecycle-chip em{font-size:11px;font-style:normal;font-weight:700}.batch-selected-stage{background:#fff;border:1px solid #d1fae5;border-radius:8px;gap:8px;padding:12px;display:grid}.batch-selected-stage h3,.batch-selected-stage p{margin:0 0 6px}.batch-selected-stage-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.batch-selected-stage-header h3{margin:0}.batch-selected-stage-header .compact-action{white-space:nowrap}.batch-program-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.batch-program-summary-header h2{margin:0}.batch-unit-controls-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.batch-unit-controls-header h2{margin:0}.controller-status-pill{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.controller-status-pill.is-online{color:#166534;background:#dcfce7}.controller-status-pill .controller-status-dot{background:currentColor}.batch-daily-log-status{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;padding:12px;display:flex}.batch-daily-log-status-text h3{align-items:center;margin:0 0 2px;font-size:15px;display:flex}.batch-daily-log-status-text p{color:#64748b;margin:0;font-size:13px}.batch-daily-log-status-text p.feed-water-status{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.feed-water-status.is-positive{color:#166534}.feed-water-status.is-attention{color:#b45309}.feed-water-status.is-neutral{color:#64748b}.batch-daily-log-status-text p.daily-log-status-recorded{color:#166534;font-weight:600}.batch-daily-log-status-text p.daily-log-status-pending{color:#b45309;font-weight:600}.batch-daily-log-status-actions{flex-wrap:wrap}.daily-log-drawer-backdrop{z-index:1100;background:#0f172a59;justify-content:flex-end;display:flex;position:fixed;inset:0}.daily-log-drawer{background:#fff;flex-direction:column;width:min(460px,100vw);max-width:100vw;height:100vh;animation:.18s ease-out daily-log-drawer-slide-in;display:flex;box-shadow:-8px 0 24px #0f172a26}@keyframes daily-log-drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.daily-log-drawer-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 0;display:flex}.daily-log-drawer-header h2{align-items:center;margin:0;font-size:18px;display:flex}.daily-log-drawer-date{color:#475569;margin:2px 0 0;font-size:13px}.daily-log-drawer-close{color:#475569;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.daily-log-drawer-close:hover{color:#0f172a}.daily-log-drawer-context{color:#14532d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:8px 16px 0;padding:8px 10px;font-size:13px}.daily-log-drawer-body{flex:auto;gap:12px;padding:12px 16px 16px;display:grid;overflow-y:auto}.daily-log-drawer-actions{background:#fff;border-top:1px solid #e2e8f0;flex:none;justify-content:flex-end;align-items:center;gap:10px;padding:12px 16px;display:flex}.daily-log-drawer-actions-note{color:#64748b;margin-right:auto;font-size:11px}.daily-log-form{gap:14px;display:grid}.daily-log-section{border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.daily-log-section h3{align-items:center;margin:0;font-size:14px;display:flex}.daily-log-section label{color:#334155;gap:4px;font-size:12px;font-weight:600;display:grid}.daily-log-section input,.daily-log-section select,.daily-log-section textarea{font-size:14px}.feed-water-inline-form{border-top:1px solid #e2e8f0;gap:8px;padding-top:8px;display:grid}.feed-water-inline-form .button-row{justify-content:flex-end}.daily-log-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.daily-log-readonly-row{justify-content:space-between;align-items:baseline;margin:0;display:flex}.daily-log-readonly-row dt{color:#64748b;font-size:12px;font-weight:600}.daily-log-readonly-row dd{margin:0}.daily-log-recommendation{color:#475569;margin:0;font-size:12.5px}.daily-log-recommendation strong{color:#166534;margin-right:4px}.population-operations-section{gap:12px;display:grid}.population-operations-section h3{align-items:center;margin:0 0 8px;font-size:14px;display:flex}.population-record-group{border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.population-record-header{justify-content:space-between;align-items:center;display:flex}.population-record-header h4{margin:0;font-size:13px;font-weight:600}.record-count{color:#64748b;background:#f8fafc;border-radius:4px;padding:2px 6px;font-size:11px}.population-record-list{gap:6px;padding-bottom:8px;display:grid}.population-record-item{background:#f8fafc;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.record-summary{flex:1;align-items:center;gap:8px;display:flex}.record-summary span{color:#334155}.record-detail{color:#64748b;font-size:12px}.form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding-top:8px;display:flex}@media (width<=900px){.daily-log-drawer{width:min(420px,100vw)}}@media (width<=600px){.daily-log-drawer{width:100vw}.daily-log-field-row{grid-template-columns:minmax(0,1fr)}}.section-heading,.batch-unit-device header,.batch-program-summary,.batch-section-heading,.batch-unit-device header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.batch-section-heading p,.batch-unit-device p{color:#475569;margin:0}.batch-unit-device{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.batch-unit-device h3{margin:0;font-size:15px}.batch-telemetry-metrics{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:10px}.batch-telemetry-metrics small{color:#64748b}.relay-controls-compact{box-shadow:none;border-radius:8px;margin-top:0;padding:10px}.relay-controls-compact .relay-card-grid{gap:8px}.relay-controls-compact .relay-card{gap:6px;padding:8px}.relay-controls-compact .relay-card h3{font-size:14px}.relay-controls-compact .relay-card-compact-header,.relay-controls-compact .relay-card-status-row{gap:6px}.relay-controls-compact .relay-toggle-row{grid-template-columns:auto;justify-content:start;gap:0}.relay-controls-compact .relay-toggle-switch{min-height:36px}.batch-secondary-information{gap:10px;display:grid}.batch-secondary-tabs{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.batch-secondary-tabs button{color:#166534;background:#fff;border:1px solid #bbf7d0;padding:7px 10px}.batch-secondary-tabs button.active{color:#fff;background:#166534;border-color:#166534}@media (width<=900px){.batch-dashboard-summary,.batch-program-summary-grid,.daily-care-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.batch-dashboard-summary,.batch-program-summary-grid,.batch-stage-guidance-grid,.daily-care-grid{grid-template-columns:minmax(0,1fr)}.daily-care-grid .daily-care-card:nth-child(3){grid-row:auto}.batch-attention-panel li{min-width:100%;padding:0}.batch-attention-panel li+li{border-top:1px solid #fde68a;border-left:none;padding-top:8px}}.daily-care-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.daily-care-grid .daily-care-card:nth-child(3){grid-row:span 2}.stage-now-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;gap:3px;padding:8px 12px;display:grid}.stage-now-card h3{margin:0;font-size:15px}.stage-now-title{color:#14532d;margin:0;font-size:17px;font-weight:700}.stage-now-card p{margin:0;font-size:12.5px}.stage-now-card .stage-progress{height:6px;margin-top:2px}.stage-now-title span{color:#475569;font-size:13px;font-weight:600}.stage-now-compact p{color:#334155;margin:0;font-size:13px}.stage-progress{background:#dcfce7;border-radius:999px;height:10px;overflow:hidden}.stage-progress span{background:#16a34a;height:100%;display:block}.daily-care-card{background:#fff;border:1px solid #dbeafe;border-radius:10px;gap:8px;padding:10px;display:grid}.daily-care-card:first-child dd,.daily-care-card:nth-child(2) dd{font-size:15px;font-weight:700}.daily-care-card h3{color:#0f172a;align-items:center;margin:0;font-size:15px;display:flex}.care-card-icon{vertical-align:-2px;color:#166534;width:16px;height:16px;margin-right:6px}.care-value-emphasis{color:#166534;font-weight:700}.care-value-water{color:#1d4ed8;font-weight:700}.care-card-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.care-card-header-row h3{margin:0}.care-card-empty-state{color:#64748b;text-align:center;margin:0;padding:18px 8px}.vaccination-badge-row{flex-wrap:wrap;gap:6px;display:flex}.vaccination-badge{border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700}.vaccination-badge-due{color:#b91c1c;background:#fee2e2}.vaccination-badge-upcoming{color:#1d4ed8;background:#dbeafe}.vaccination-badge-history{color:#92400e;background:#fef3c7}.daily-care-list{gap:8px;margin:0;padding:0;display:grid}.daily-care-list div{grid-template-columns:minmax(120px,1fr) minmax(0,1.8fr);align-items:start;gap:8px;display:grid}.daily-care-list dt{color:#334155;font-size:13px;font-weight:600}.daily-care-list dd{color:#0f172a;word-break:break-word;margin:0}.daily-care-summary{margin:0}.daily-care-vaccination-list{gap:8px;display:grid}.daily-care-vaccination-item{border:1px solid #e2e8f0;border-radius:8px;gap:4px;padding:8px;display:grid}.daily-care-vaccination-item strong{color:#0f172a}.daily-care-vaccination-item span{color:#334155;font-size:13px}.daily-care-vaccination-status{letter-spacing:0;font-weight:700}.daily-care-vaccination-item.vaccination-state-due{background:#fffbeb;border-color:#f59e0b}.daily-care-vaccination-item.vaccination-state-unknown_history,.daily-care-vaccination-item.vaccination-state-unknown{background:#f8fafc;border-color:#64748b}.daily-care-vaccination-item.vaccination-state-completed,.daily-care-vaccination-item.vaccination-state-completed_before_system{background:#f0fdf4;border-color:#16a34a}.batch-lifecycle-timeline{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.batch-lifecycle-stage{border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.batch-lifecycle-stage.is-current{background:#eff6ff;border-color:#2563eb}.batch-lifecycle-stage.is-past{color:#64748b}.batch-lifecycle-marker{min-width:16px;font-size:14px}.batch-lifecycle-body{flex:220px;gap:2px;min-width:0;display:grid}.batch-lifecycle-body small{color:#64748b;font-size:12px}.batch-lifecycle-status{color:#475569;white-space:nowrap;font-size:12px;font-weight:600}.profile-actions{gap:10px;margin-top:12px;display:grid}.security-actions-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.security-action-button{flex:150px}.profile-embedded-section{border-top:1px solid #e2e8f0;gap:14px;padding-top:10px;display:grid}.profile-subscription-summary-block{margin-top:12px}.password-field{align-items:center;gap:8px;display:flex}.password-field input{flex:1}.password-field button{white-space:nowrap}.form-section{border:1px solid #e2e8f0;border-radius:10px;gap:12px;padding:12px;display:grid}.form-section h2{color:#0f172a;margin:0;font-size:18px}.status-panel{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin:10px 0 14px;padding:12px}.status-title{color:#065f46;margin:0;font-size:13px;font-weight:600}.status-panel-warning{background:#fffbeb;border-color:#fcd34d}.status-panel-warning .status-title{color:#92400e}.status-panel-warning p{color:#78350f;margin:4px 0 0;font-size:13px}.status-panel-ok .status-title{color:#065f46}.status-value{color:#166534;margin:6px 0 0;font-size:18px;font-weight:700}.status-pill{text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.pending{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.status-pill.active{color:#166534;background:#dcfce7;border:1px solid #86efac}.status-pill.suspended{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.status-pill.inactive,.status-pill.archived{color:#334155;background:#e2e8f0;border:1px solid #cbd5e1}.status-pill.draft{color:#334155;background:#f8fafc;border:1px solid #cbd5e1}.status-pill.scheduled{color:#155e75;background:#ecfeff;border:1px solid #67e8f9}.status-pill.running{color:#166534;background:#dcfce7;border:1px solid #86efac}.status-pill.completed{color:#0c4a6e;background:#e0f2fe;border:1px solid #7dd3fc}.status-pill.cancelled{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.status-pill.manufactured,.status-pill.unregistered,.status-pill.claimed,.status-pill.assigned,.status-pill.retired,.status-pill.blocked{color:#334155;background:#f8fafc;border:1px solid #cbd5e1}.status-pill.claim-token-ready,.status-pill.claim-code-ready{color:#155e75;background:#ecfeff;border:1px solid #67e8f9}.status-pill.under-maintenance{color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.status-pill.default{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.status-pill.manufactured,.status-pill.claimed,.status-pill.claim-token-ready{color:#166534;background:#dcfce7;border:1px solid #86efac}.status-pill.unregistered,.status-pill.not-generated{color:#334155;background:#e2e8f0;border:1px solid #cbd5e1}.status-pill.claim-code-ready{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.connection-pill{align-items:center;gap:8px;display:inline-flex}.connection-pill.prominent{padding:8px 14px;font-size:14px}.connection-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.connection-pill.prominent .connection-dot{width:10px;height:10px}.connection-dot.online{background:#16a34a}.connection-dot.offline{background:#dc2626}.connection-dot.never{background:#64748b}.connection-dot.unknown{background:linear-gradient(135deg,#ca8a04 0 50%,#94a3b8 50% 100%)}.connection-status-highlight{margin-bottom:10px}.button-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.tab-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tab-button{color:#166534;background:#fff;border:1px solid #166534}.tab-button.active{color:#fff;background:#166534}.button-link{color:#fff;background:#166534;border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex}.button-link.secondary{color:#166534;background:#fff;border:1px solid #166534}.toolbar,.list-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:flex}.list-toolbar-main{flex-wrap:wrap;flex:520px;align-items:end;gap:10px;display:flex}.list-toolbar-actions{flex-wrap:wrap;align-items:end;gap:10px;margin-left:auto;display:flex}.list-toolbar .button-link,.list-toolbar button{white-space:nowrap}.list-search-input{flex:260px;min-width:220px}.list-filter-select{min-width:170px}.checkbox-inline{align-items:center;gap:8px;display:flex}.checkbox-inline input{width:auto}.muted-text{color:#475569;margin:0}.operations-overview-subtitle{margin:0 0 12px}.telemetry-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.telemetry-section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:10px;display:flex}.telemetry-section-last-updated{align-self:center}.telemetry-section-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.telemetry-history-link{white-space:normal;text-align:center;line-height:1.25}.telemetry-section-subtitle{margin:8px 0 12px}.telemetry-table{min-width:1080px}.telemetry-channel-stack,.telemetry-age-stack,.telemetry-freshness-stack{gap:4px;display:grid}.relay-controls-header{gap:8px;margin-bottom:12px;display:grid}.relay-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.relay-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:12px;display:grid}.relay-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.relay-row{gap:8px}.relay-card-compact-header{gap:10px;display:grid}.relay-card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.relay-row-header{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.relay-row-title-group{align-items:center;gap:10px;min-width:0;display:flex}.relay-equipment-icon{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.relay-equipment-icon svg{fill:currentColor;width:18px;height:18px}.relay-row-title-group h3{color:#0f172a;margin:0;font-size:15px;line-height:1.25}.relay-port-label{color:#64748b;margin:2px 0 0;font-size:12px}.relay-row-status-group{justify-items:start;gap:4px;display:grid}.relay-card-status-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.relay-confirmed-pill{letter-spacing:.02em;border:1px solid #cbd5e1;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.relay-confirmed-on{color:#166534;background:#f0fdf4;border-color:#86efac}.relay-confirmed-off{color:#334155;background:#f8fafc;border-color:#cbd5e1}.relay-confirmed-unknown{color:#64748b;background:#f8fafc;border-color:#cbd5e1}.relay-waiting-pill,.relay-failed-pill{letter-spacing:.02em;border:1px solid #cbd5e1;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.relay-waiting-pill{color:#92400e;background:#fffbeb;border-color:#fcd34d}.relay-failed-pill{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.relay-toggle-row{grid-template-columns:auto minmax(80px,1fr) auto;justify-content:start;align-items:center;gap:10px;display:grid}.relay-toggle-side-label{color:#64748b;font-size:12px;font-weight:600}.relay-toggle-switch{justify-content:center;align-items:center;min-height:44px;display:inline-flex;position:relative}.relay-toggle-switch input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relay-toggle-track{background:#cbd5e1;border:1px solid #94a3b8;border-radius:999px;align-items:center;width:64px;height:34px;transition:background-color .2s,border-color .2s;display:inline-flex;position:relative}.relay-toggle-knob{background:#fff;border-radius:999px;width:26px;height:26px;transition:left .2s;position:absolute;left:3px;box-shadow:0 1px 3px #0f172a38}.relay-toggle-switch input:checked+.relay-toggle-track{background:#22c55e;border-color:#16a34a}.relay-toggle-switch input:checked+.relay-toggle-track .relay-toggle-knob{left:33px}.relay-toggle-track.waiting:after{content:"";border:2px solid #fffc;border-top-color:#fff3;border-radius:999px;animation:.8s linear infinite relay-spin;position:absolute;inset:8px}.relay-toggle-switch input:focus-visible+.relay-toggle-track{outline-offset:2px;outline:2px solid #2563eb}.relay-toggle-switch.disabled{opacity:.7}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relay-operational-pill{color:#1f2937;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.relay-status-indicator{flex:none;display:inline-flex}.relay-status-dot{border-radius:999px;width:10px;height:10px}.relay-status-dot-on{background:#16a34a}.relay-status-dot-off{background:#64748b}.relay-status-dot-failed{background:#dc2626}.relay-status-dot-unknown{background:0 0;border:1px solid #94a3b8}.relay-status-spinner{border:2px solid #fde68a;border-top-color:#ca8a04;border-radius:999px;width:12px;height:12px;animation:.8s linear infinite relay-spin}.relay-status-secondary{color:#64748b;font-size:12px}.relay-operational-on{color:#166534;background:#f0fdf4;border-color:#86efac}.relay-operational-off{color:#334155;background:#f8fafc;border-color:#cbd5e1}.relay-operational-waiting{color:#92400e;background:#fffbeb;border-color:#fcd34d}.relay-operational-failed{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.relay-operational-unknown{color:#64748b;background:#f8fafc;border-color:#cbd5e1}.relay-connection-pill{text-transform:uppercase;letter-spacing:.02em;border:1px solid #cbd5e1;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.relay-connection-online{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd}.relay-connection-offline{color:#4b5563;background:#f3f4f6;border-color:#d1d5db}.relay-connection-unknown{color:#64748b;background:#f8fafc;border-color:#cbd5e1}.relay-state-pill{color:#1f2937;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.relay-state-on{color:#166534;background:#f0fdf4;border-color:#86efac}.relay-state-off{color:#334155;background:#f8fafc;border-color:#cbd5e1}.relay-state-waiting,.relay-progress-waiting{color:#92400e;background:#fffbeb;border-color:#fcd34d}.relay-state-offline,.relay-connection-offline{color:#4b5563;background:#f3f4f6;border-color:#d1d5db}.relay-state-unknown,.relay-progress-unknown,.relay-connection-unknown{color:#64748b;background:#f8fafc;border-color:#cbd5e1}.relay-progress-confirmed,.relay-connection-online{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd}.relay-progress-failed{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.relay-actions-compact{grid-template-columns:repeat(2,minmax(0,1fr));min-width:180px}.relay-actions-single{grid-template-columns:minmax(140px,1fr);min-width:160px}.relay-expand-button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;min-width:38px;min-height:38px;padding:0;display:inline-flex}.relay-expand-button:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.relay-expand-arrow{color:#334155;transition:transform .2s;display:inline-block}.relay-expand-arrow.expanded{transform:rotate(180deg)}.relay-details-grid{margin-top:2px}.relay-card-header h3{color:#0f172a;margin:0;font-size:16px}.relay-card-grid-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.relay-card-grid-info div{gap:4px;display:grid}.relay-card-grid-info strong{color:#334155;font-size:12px}.relay-card-grid-info span{color:#0f172a;word-break:break-word;font-size:14px}.relay-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.relay-actions button{min-height:40px}@media (width<=1280px){.relay-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.relay-card-grid{grid-template-columns:1fr}}@keyframes relay-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.relay-failure-reason,.relay-disable-reason{font-size:13px}.relay-history-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.relay-history-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.relay-history-list{gap:10px;display:grid}.relay-history-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:12px;display:grid}.relay-history-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.relay-history-card-header h3{color:#0f172a;margin:0;font-size:16px}.relay-history-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.relay-history-grid div{gap:4px;display:grid}.relay-history-grid strong{color:#334155;font-size:12px}.relay-history-grid span{color:#0f172a;font-size:14px}.relay-history-failure{font-size:13px}.farm-selector-readonly{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.farm-selector-readonly p{color:#334155;margin:8px 0 0}.empty-state{color:#334155;border:1px dashed #cbd5e1;border-radius:10px;padding:14px}.empty-state p{color:#475569;margin:6px 0 0}.farm-subscription-section{margin-top:12px}.subscription-feature-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.subscription-feature-summary strong{margin-bottom:8px;display:block}.subscription-feature-summary ul{color:#334155;gap:4px;margin:0;padding-left:18px;display:grid}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.port-mapping-table{min-width:980px}.data-table th,.data-table td{text-align:left;color:#334155;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:10px;font-size:14px}.data-table th{color:#0f172a;font-weight:700}.channel-cell-stack{gap:6px;display:grid}.channel-cell-stack input,.channel-cell-stack select{min-width:0}.port-mapping-profile-cell{min-width:220px}.sensor-profile-summary{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:4px;padding:8px 10px;font-size:12px;display:grid}.channel-sensor-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.channel-sensor-grid label{color:#334155;gap:4px;font-size:12px;display:grid}.field-error{color:#b91c1c;font-size:12px}.action-row{flex-wrap:wrap;gap:8px;display:flex}.action-row a{color:#166534;font-weight:600;text-decoration:none}.action-row button{padding:6px 10px;font-size:13px}.device-summary-cell{gap:4px;min-width:180px;display:grid}.device-summary-primary{color:#0f172a;font-weight:600}.device-summary-link{color:#166534;text-decoration:none}.device-summary-link:hover{text-decoration:underline}.device-summary-secondary{font-size:12px}.device-summary-secondary-link{color:#166534;font-size:12px;font-weight:600;text-decoration:none}.device-summary-secondary-link:hover{text-decoration:underline}.device-summary-status{align-items:center;gap:4px;display:inline-flex}.device-summary-dot{border-radius:999px;width:8px;height:8px;display:inline-block}.device-summary-dot.online{background:#16a34a}.device-summary-dot.offline{background:#64748b}.device-summary-dot.blocked{background:#d97706}.pagination-row{color:#475569;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:14px;display:flex}.two-column-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.hardware-template-table input,.hardware-template-table select{min-width:0}.reserved-port-row{background:#f8fafc}.dialog-backdrop{z-index:1000;background:#0f172a66;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border:1px solid #d1d5db;border-radius:12px;width:min(520px,100%);padding:16px}.dialog-wide{width:min(860px,100%)}.dialog h2{margin:0 0 8px;font-size:20px}.dialog p{color:#475569;margin:0 0 14px}.role-selector{border:1px solid #d1d5db;border-radius:10px;margin:0;padding:12px}.role-selector legend{color:#334155;padding:0 6px;font-weight:600}.role-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.role-option{border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.role-option input{width:auto;margin:0}.iot-device-form{gap:12px}.iot-device-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.iot-device-details-grid>div{border:1px solid #e2e8f0;border-radius:10px;gap:4px;padding:10px;display:grid}.iot-device-details-grid strong{color:#334155;font-size:13px}.iot-device-details-grid span{word-break:break-word}.link-button{color:#166534;background:0 0;border:1px solid #cbd5e1;padding:6px 10px;font-size:13px}.link-button:hover{border-color:#166534}.session-list{gap:12px;display:grid}.session-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.session-item.current{background:#f0fdf4;border-color:#16a34a}.session-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.session-item ul{gap:4px;margin:0 0 10px;padding:0;list-style:none;display:grid}.badge{color:#fff;background:#166534;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-block}.badge-row{flex-wrap:wrap;gap:6px;display:flex}@media (width<=1200px){.batch-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.batch-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.batch-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-summary-grid .daily-care-grid{grid-template-columns:minmax(0,1fr)}.batch-summary-grid .daily-care-grid .daily-care-card:nth-child(3){grid-row:auto}.batch-summary-grid .batch-attention-panel ul{flex-basis:100%}.batch-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-detail-two-column,.stage-grid,.stage-domain-grid,.stage-summary-grid{grid-template-columns:1fr}}@media (width<=720px){.content{margin:12px auto}.content.content-public>*,.content.content-authenticated>*,.content.content-public>.page-container-table,.content.content-authenticated>.page-container-table{width:calc(100% - 16px)}.card{padding:16px}h1{font-size:24px}.pagination-row{align-items:flex-start}.topnav-actions{margin-left:0}.topnav-welcome{white-space:normal}.list-toolbar-actions{margin-left:0}.list-search-input,.list-filter-select{flex:100%;min-width:100%}.profile-page .profile-grid{grid-template-columns:1fr}.profile-section{padding:14px}.profile-info-grid{grid-template-columns:1fr}.batch-detail-heading{align-items:flex-start}.batch-summary-grid,.batch-snapshot-grid,.batch-audit-grid,.batch-detail-expand-grid{grid-template-columns:1fr}.batch-detail-list div{grid-template-columns:minmax(0,1fr);gap:4px}.batch-form-grid--3,.batch-form-grid--population,.stage-rule-grid{grid-template-columns:1fr}.password-field{flex-wrap:wrap}.security-action-button{flex:100%}.relay-card-grid-info{grid-template-columns:1fr}.relay-row-header{grid-template-columns:1fr;align-items:stretch}.relay-actions-compact,.relay-actions-single{width:100%;min-width:0}.relay-expand-button{justify-self:start}.telemetry-section-actions{justify-content:flex-start;width:100%}.telemetry-section-last-updated{width:100%}.telemetry-section-buttons{justify-content:flex-start;width:100%}.telemetry-history-link{flex:240px}}@media (width>=721px) and (width<=1100px){.batch-form-grid--3,.batch-form-grid--population{grid-template-columns:repeat(2,minmax(0,1fr))}}html,body,#root{min-height:100%}
