:root{color:#172019;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f7f2;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.account-management-console{gap:18px;min-width:0;padding:20px;display:grid}.account-management-title{align-items:center}.account-message{border:1px solid;border-radius:8px;padding:11px 13px;font-size:13px;font-weight:700}.account-message.success{color:#1f5f3c;background:#edf6e7;border-color:#bcd4af}.account-message.error,.field-error{color:#992f1c}.account-message.error{background:#fff0eb;border-color:#efc1b5}.account-metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.account-metric-row article{color:#31553c;background:#f7faf4;border:1px solid #dce7d5;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:64px;padding:12px;display:grid}.account-metric-row span{color:#687565;font-size:13px}.account-metric-row strong{color:#183a27;font-size:20px}.account-source-note,.account-password-note{color:#31553c;background:#f1f7ec;border:1px solid #cfe0c5;border-radius:8px;align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.account-source-note svg,.account-password-note svg{flex:none;margin-top:2px}.account-source-note strong,.account-source-note p{margin:0}.account-source-note p{color:#667461;margin-top:4px;font-size:13px;line-height:1.5}.account-table-wrap{border:1px solid #dce7d5;border-radius:8px;overflow-x:auto}.account-table{border-collapse:collapse;width:100%;min-width:980px}.account-table th,.account-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e4ecdf;padding:13px 12px}.account-table th{color:#61705e;background:#f4f8f0;font-size:12px;font-weight:800}.account-table td{color:#233229;font-size:13px}.account-table tbody tr:last-child td{border-bottom:0}.account-table tbody tr:hover td{background:#fbfdf9}.account-table td strong,.account-table td small{display:block}.account-table td small{color:#778374;margin-top:4px}.account-status{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.account-status.enabled{color:#1f6840;background:#e8f4e1}.account-status.disabled{color:#805b32;background:#f7ead9}.account-edit-button{color:#1e5838;background:#f5f9f1;border:1px solid #cadabf;border-radius:7px;align-items:center;gap:6px;min-height:34px;padding:0 10px;display:inline-flex}.account-form{gap:18px;display:grid}.account-form-grid,.account-identity-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.account-field{gap:8px;display:grid}.account-field-wide{width:min(720px,100%)}.account-field>span,.account-identity-summary span{color:#5e6d5a;font-size:13px;font-weight:800}.account-field input,.account-field select{color:#172019;background:#fff;border:1px solid #cadabf;border-radius:8px;width:100%;min-height:46px;padding:0 12px}.account-field input:focus,.account-field select:focus{border-color:#237044;outline:2px solid #23704426}.account-field small{color:#6c7868;font-size:12px;line-height:1.5}.account-field small.field-error{color:#992f1c}.account-identity-summary article{background:#f8faf6;border:1px solid #dce7d5;border-radius:8px;gap:7px;min-height:76px;padding:13px 14px;display:grid}.account-identity-summary strong{color:#21372a;overflow-wrap:anywhere}.account-password-note{align-items:center;font-size:13px}.account-form-actions{grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr);gap:14px;display:grid}.account-empty-state{color:#657260;text-align:center;place-items:center;gap:8px;min-height:140px;padding:24px;display:grid}.account-empty-state p{max-width:560px;margin:0;line-height:1.6}@media (width<=1100px){.account-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.account-management-title{flex-direction:column;align-items:stretch}.account-metric-row,.account-form-grid,.account-identity-summary,.account-form-actions{grid-template-columns:1fr}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.login-page{color:#12241e;background:#003d2d;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:20px;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.login-page:before{background:#f6e5c5;width:250px;height:250px;top:-110px;right:-90px}.login-page:after{background:#f0442e;width:110px;height:110px;top:-58px;right:-36px}.login-panel{z-index:1;background:#fff;border:1px solid #d9ded9;border-top:5px solid #f6c844;border-radius:14px;gap:20px;width:min(460px,100%);padding:28px;display:grid;position:relative;box-shadow:0 18px 48px #00191233}.login-panel .brand-mark{background:#f6e5c5;border-radius:10px;width:58px;height:58px}.login-panel p,.login-panel h1{margin:0}.login-panel p{color:#6d7a74;font-weight:700}.login-panel h1{color:#12241e}.login-form{gap:14px;display:grid}.login-hint{color:#003d2d;background:#f7f3ea;border:1px solid #d9ded9;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700}.login-form label{gap:8px;display:grid}.login-form span{color:#12241e;font-size:13px;font-weight:700}.login-form input{background:#fff;border:1px solid #d9ded9;border-radius:9px;min-height:44px;padding:0 12px}.login-form input:focus{border-color:#003d2d;outline:3px solid #003d2d1a}.login-panel .primary-action{background:#003d2d;border-color:#003d2d}.login-error{color:#9f2f20;background:#fff0ec;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700}.login-legal,.app-error-legal{z-index:1;color:#ffffffb3;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;font-size:13px;line-height:1.6;display:flex;position:relative}.icp-filing-link{color:#f6e5c5;text-underline-offset:3px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.icp-filing-link:hover{color:#f6c844}.icp-filing-link:focus-visible{outline-offset:3px;border-radius:3px;outline:3px solid #f6c844b8}.app-error-page{background:#003d2d;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.app-error-panel{z-index:1;background:#fff;border:1px solid #d9ded9;border-top:5px solid #f6c844;border-radius:14px;gap:14px;width:min(640px,100%);padding:28px;display:grid;position:relative;box-shadow:0 18px 48px #00191233}.app-error-panel h1,.app-error-panel p{margin:0}.app-error-panel code{overflow-wrap:anywhere;color:#9f2f20;background:#fff0ec;border-radius:9px;padding:12px;display:block}.app-error-legal{border-top:1px solid #f6e5c559;padding-top:4px}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:340px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.screen-mode{background:#081b42;display:block}.app-shell.screen-mode .side-nav{display:none}.app-shell.screen-mode .workspace{min-height:100vh;padding:0;overflow:auto}.side-nav{color:#f6fbef;background:#122015;height:100vh;padding:22px 16px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark{color:#172019;background:#e6c95c;border-radius:8px;place-items:center;width:46px;height:46px;display:grid;overflow:hidden}.brand-logo{object-fit:contain;width:86%;height:86%;display:block}.brand strong,.brand span{display:block}.brand strong{white-space:nowrap;font-size:18px}.brand span{color:#aebca8;white-space:nowrap;margin-top:3px;font-size:12px;line-height:1.35}.side-nav nav{gap:8px;display:grid}.side-nav button{color:#dce8d6;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;display:flex}.side-nav button:hover,.side-nav .nav-active{color:#172019;background:#f0d979}.workspace{padding:24px;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.topbar p,.panel-title p{color:#6b7668;margin:0 0 5px;font-size:13px}h1,h2{letter-spacing:0;margin:0}h1{font-size:clamp(24px,3vw,34px);line-height:1.15}h2{font-size:18px}.primary-action,.secondary-action,.danger-action{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:inline-flex}.primary-action{color:#fff;background:#237044}.secondary-action{color:#1e4d34;background:#eef6e6;border-color:#cadabf}.secondary-action.selected{color:#fff;background:#237044;border-color:#237044}.danger-action{color:#a12f20;background:#fff4f1;border-color:#e5b9b0}.danger-action:hover:not(:disabled){color:#fff;background:#b23a2a;border-color:#b23a2a}.danger-action:disabled{cursor:not-allowed;opacity:.52}.danger-action.compact{min-height:34px;padding:0 10px;font-size:13px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.metric-card,.panel{background:#fffdfa;border:1px solid #dbe4d3;border-radius:8px;box-shadow:0 14px 32px #2836230f}.metric-card{color:#172019;text-align:left;min-height:138px;padding:16px}.metric-card-action{border:1px solid #dbe4d3;width:100%}.metric-card-action:hover{border-color:#237044;transform:translateY(-1px);box-shadow:0 18px 38px #2836231a}.metric-icon{color:#237044;background:#e7f3df;border-radius:8px;place-items:center;width:40px;height:40px;margin-bottom:16px;display:grid}.metric-icon.warning{color:#865300;background:#fff0bf}.metric-card span{color:#6b7668;font-size:13px}.metric-card strong{margin-top:4px;font-size:26px;display:block}.metric-card p{color:#6b7668;margin:7px 0 0;font-size:13px}.main-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:16px;display:grid}.dashboard-main-grid{align-items:start}.dashboard-house-table .table-head,.dashboard-house-table .table-row{grid-template-columns:.9fr 1fr 1fr 1.35fr .9fr .8fr 112px 128px}.dashboard-alert-panel{align-self:stretch}.metric-with-source{flex-direction:column;gap:2px;line-height:1.3;display:flex}.metric-with-source small{font-size:11px}.camera-watch-button{color:#22663f;white-space:nowrap;background:#eef8e9;border:1px solid #bad7b1;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-weight:900;display:inline-flex}.camera-watch-button:hover{background:#e0f2d8;border-color:#2f8d54}.camera-modal-backdrop{z-index:80;background:#0f18129e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.camera-modal{background:#fffdfa;border:1px solid #d7e5cf;border-radius:8px;gap:14px;width:min(860px,100%);padding:18px;display:grid;box-shadow:0 24px 70px #08120a40}.camera-modal-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.camera-modal-title p,.camera-modal-title h2{margin:0}.camera-modal-title p{color:#6b7668;font-size:13px;font-weight:800}.camera-modal-title h2{margin-top:3px}.camera-modal-title button{color:#394838;background:#f7faf2;border:1px solid #cfdcc8;border-radius:8px;min-height:36px;padding:0 14px;font-weight:900}.unsaved-changes-backdrop{z-index:130;background:#0f181294;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.unsaved-changes-dialog{background:#fffdfa;border:1px solid #d8e3d2;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;width:min(480px,100%);padding:22px;display:grid;box-shadow:0 24px 70px #08120a47}.unsaved-changes-icon{color:#8b5e00;background:#fff2cc;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.unsaved-changes-copy{min-width:0}.unsaved-changes-copy h2,.unsaved-changes-copy p{margin:0}.unsaved-changes-copy h2{font-size:20px}.unsaved-changes-copy p{color:#455344;margin-top:8px;line-height:1.65}.unsaved-changes-copy small{color:#738071;margin-top:8px;font-weight:700;display:block}.unsaved-changes-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.unsaved-changes-actions button{min-height:42px}.unsaved-discard-action{color:#9c3024;background:#fff7f5;border:1px solid #d8a39b;border-radius:8px;padding:0 16px;font-weight:900}.immunization-execution-dialog{width:min(620px,100%)}.immunization-execution-dialog.is-error .unsaved-changes-icon,.immunization-execution-dialog.is-warning .unsaved-changes-icon{color:#a73524;background:#ffe8e2}.immunization-override-field{color:#3f4d3e;gap:7px;margin-top:16px;font-size:13px;font-weight:900;display:grid}.immunization-override-field textarea{color:#17231a;width:100%;min-height:96px;font:inherit;resize:vertical;background:#fff;border:1px solid #d4a398;border-radius:8px;padding:11px 12px;line-height:1.55}.immunization-override-field textarea:focus{border-color:#a73524;outline:2px solid #a7352429}.immunization-override-field small{color:#7b8779;margin:0;font-weight:700}.immunization-override-field strong{color:#a73524;font-size:13px}.immunization-force-action{color:#fff;background:#a73524;border:1px solid #9f2f20;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 16px;font-weight:900;display:inline-flex}.immunization-force-action:disabled{cursor:wait;opacity:.62}.unsaved-discard-action:hover{background:#ffebe7;border-color:#bd574b}.camera-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.camera-selector-grid button{color:#172019;text-align:left;background:#f7faf2;border:1px solid #d8e7d0;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;min-height:112px;padding:14px;display:grid}.camera-selector-grid button:hover{background:#edf8e8;border-color:#2f8d54}.camera-selector-grid svg{color:#2f8d54}.camera-selector-grid span,.camera-selector-grid strong,.camera-selector-grid small{min-width:0}.camera-selector-grid span{font-size:17px;font-weight:900}.camera-selector-grid strong{color:#52634e;grid-column:2;font-size:13px}.camera-selector-grid small{color:#6b7668;grid-column:2;font-weight:800}.camera-player-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.camera-player-toolbar button{color:#394838;background:#f7faf2;border:1px solid #cfdcc8;border-radius:8px;min-height:34px;padding:0 12px;font-weight:900}.camera-player-toolbar span{color:#52634e;font-weight:900}.camera-player{background:#111b16;border-radius:8px;overflow:hidden}.camera-player video,.camera-webrtc-frame,.camera-live-placeholder{aspect-ratio:16/9;width:100%}.camera-player video,.camera-webrtc-frame{background:#111b16;display:block}.camera-webrtc-frame{border:0}.camera-live-placeholder{background:linear-gradient(120deg,#ffffff14,#0000 18%,#ffffff0f 34%,#0000 48%),repeating-linear-gradient(90deg,#ffffff0d 0 1px,#0000 1px 80px),linear-gradient(145deg,#223225,#111b16 54%,#2c221a);position:relative;overflow:hidden}.camera-live-placeholder:before{content:"";background:radial-gradient(circle at 24% 78%,#d9c4875c,#0000 10%),radial-gradient(circle at 70% 40%,#7ca76f5c,#0000 14%);border:1px solid #d2ecc540;border-radius:8px;position:absolute;inset:12%}.camera-scanline{background:linear-gradient(#0000 0 46%,#94de922e 50%,#0000 54% 100%);animation:2.8s linear infinite cameraScan;position:absolute;inset:0}.camera-feed-overlay{color:#f4fff0;text-shadow:0 2px 12px #0000008c;gap:4px;display:grid;position:absolute;bottom:16px;left:18px}.camera-feed-overlay span,.camera-feed-overlay small{letter-spacing:0;font-size:13px;font-weight:900}.camera-feed-overlay strong{font-size:34px}.camera-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.camera-meta-grid article{background:#f5faf1;border-radius:8px;gap:4px;padding:12px;display:grid}.camera-meta-grid span{color:#6b7668;font-size:12px;font-weight:800}.camera-meta-grid strong{color:#172019;font-size:16px}@keyframes cameraScan{0%{transform:translateY(-52%)}to{transform:translateY(52%)}}.missing-report-banner{color:#9a2a18;background:#fff4ef;border:1px solid #f0b8aa;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.45;display:flex}.missing-report-banner svg{flex:none}.table-row.missing-report-row{background:#fff7f3;box-shadow:inset 4px 0 #b23a2a}.dashboard-side-button{width:100%;margin-top:12px}.immunization-reminder-panel,.antibody-reminder-panel{margin:0 0 16px}.antibody-reminder-list{gap:10px;display:grid}.antibody-reminder-item{background:#fffaf0;border:1px solid #ecd8aa;border-radius:8px;grid-template-columns:minmax(130px,.8fr) minmax(120px,.8fr) minmax(105px,.6fr) minmax(120px,.7fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.antibody-reminder-item div{min-width:0}.antibody-reminder-item span{color:#756d5e;font-size:12px;line-height:1.35;display:block}.antibody-reminder-item strong{overflow-wrap:anywhere;color:#29251c;font-size:15px;line-height:1.35;display:block}.antibody-reminder-status{text-align:center;white-space:nowrap;background:#ffebc8;border-radius:999px;padding:8px 12px;font-weight:900;color:#9a4d0a!important;font-size:13px!important}.antibody-register-button{white-space:nowrap;border-radius:8px;min-height:38px;padding:0 14px}.immunization-reminder-list{gap:10px;display:grid}.immunization-reminder-item{background:#f7fbf4;border:1px solid #26734a29;border-radius:8px;grid-template-columns:minmax(160px,1.15fr) minmax(86px,.55fr) minmax(118px,.7fr) minmax(140px,.9fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.immunization-reminder-item div{min-width:0}.immunization-reminder-item span{color:#6b7668;font-size:12px;line-height:1.35;display:block}.immunization-reminder-item strong{overflow-wrap:anywhere;color:#14251b;font-size:15px;line-height:1.35;display:block}.immunization-reminder-status{color:#1f7a45;text-align:center;white-space:nowrap;background:#e8f4df;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}.immunization-reminder-status.today{color:#936000;background:#fff1c7}.immunization-reminder-status.overdue{color:#a73524;background:#fde2dd}.immunization-confirm-button{white-space:nowrap;border-radius:8px;min-height:38px;padding:0 14px}.immunization-execution-form{background:#fff;border:1px solid #26734a33;border-radius:8px;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;padding:16px;display:grid;box-shadow:inset 3px 0 #26734a}.immunization-execution-heading{border-bottom:1px solid #e3ece0;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.immunization-execution-heading>div{align-items:center;gap:10px;min-width:0;display:flex}.immunization-execution-heading strong,.immunization-execution-heading small{display:block}.immunization-execution-heading strong{color:#17231a;font-size:16px}.immunization-execution-heading small,.immunization-execution-heading>span{color:#687667;font-size:12px}.immunization-execution-heading>span{color:#326244;background:#edf5e8;border-radius:999px;flex:none;padding:5px 8px;font-weight:800}.immunization-execution-icon{color:#26734a;background:#e8f4df;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.immunization-execution-form label{color:#52634e;grid-column:span 4;gap:7px;min-width:0;font-size:13px;font-weight:900;display:grid}.immunization-execution-form input,.immunization-execution-form select,.immunization-execution-form textarea{color:#132116;background:#fff;border:1px solid #c3dcbb;border-radius:8px;width:100%;min-width:0;min-height:42px;padding:0 12px;font-size:14px}.immunization-unit-input{grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.immunization-unit-input>input{border-radius:8px 0 0 8px}.immunization-unit-input>span{color:#426046;white-space:nowrap;background:#f1f7ed;border:1px solid #c3dcbb;border-left:0;border-radius:0 8px 8px 0;justify-content:center;align-items:center;min-width:62px;min-height:42px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.immunization-stock-display{background:#f4f9f1;border-left:3px solid #4f9367;grid-column:span 3;align-content:center;min-height:68px;padding:9px 12px;display:grid}.immunization-execution-form .execution-house-field{grid-column:span 5}.immunization-execution-form .execution-batch-field{grid-column:span 4}.immunization-stock-display span,.immunization-stock-display small{color:#647260;font-size:12px}.immunization-stock-display strong{color:#183725;margin:2px 0;font-size:18px}.immunization-usage-check{color:#40543f;background:#f8fbf6;border:1px solid #d8e4d3;border-radius:8px;grid-column:1/-1;align-items:center;gap:12px;min-height:48px;padding:9px 12px;display:flex}.immunization-usage-check strong,.immunization-usage-check span,.immunization-usage-check small{display:block}.immunization-usage-check strong{flex:none}.immunization-usage-check span{flex:auto;min-width:0}.immunization-usage-check small{text-align:right;flex:none}.immunization-usage-check.reasonable{color:#17623a;background:#eef8ef;border-color:#9dcca9}.immunization-usage-check.waste,.immunization-usage-check.insufficient,.immunization-usage-check.incompatible{color:#9f2f20;background:#fff2ef;border-color:#efb3a9}.immunization-execution-form textarea{resize:vertical;min-height:68px;padding:10px 12px;line-height:1.5}.immunization-field-label{align-items:baseline;gap:6px;display:flex}.immunization-field-label small{color:#7b8779;font-size:11px;font-weight:700}.immunization-execution-form .wide-field,.immunization-execution-form .button-row{grid-column:1/-1}.immunization-execution-form>.import-status{grid-column:1/-1;width:100%;margin:0}.immunization-execution-form .button-row{justify-content:flex-end;padding-top:2px}@media (width<=1200px){.immunization-execution-form label,.immunization-execution-form .execution-house-field,.immunization-execution-form .execution-batch-field,.immunization-stock-display{grid-column:span 6}}@media (width<=900px){.immunization-reminder-item,.antibody-reminder-item{grid-template-columns:1fr}.immunization-execution-form{grid-template-columns:1fr;padding:14px}.immunization-execution-form label,.immunization-execution-form .execution-house-field,.immunization-execution-form .execution-batch-field,.immunization-stock-display{grid-column:1/-1}.immunization-execution-heading,.immunization-usage-check{flex-direction:column;align-items:flex-start}.immunization-usage-check small{text-align:left}.immunization-reminder-status,.immunization-confirm-button,.antibody-reminder-status,.antibody-register-button{width:100%}}.immunization-confirm-button:disabled{cursor:not-allowed;opacity:.55}.dashboard-insights{grid-template-columns:minmax(0,1.25fr) minmax(260px,.65fr) minmax(280px,.72fr);align-items:stretch;gap:16px;margin-top:16px;display:grid}.health-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.risk-list{gap:10px;display:grid}.risk-list article{background:#f7faf2;border-radius:8px;gap:7px;padding:12px;display:grid}.risk-list article>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.risk-list span{color:#1f6840;background:#dff3e5;border-radius:999px;min-width:fit-content;padding:4px 8px;font-size:12px;font-weight:700}.panel{padding:16px}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.house-table{gap:8px;display:grid}.table-head,.table-row{grid-template-columns:1fr 1fr 1.25fr 1fr 1fr 96px;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:grid}.table-head{color:#6b7668;font-size:12px}.table-row{background:#f7faf2;border-radius:8px;font-size:14px}small{color:#6b7668}.badge,.status,.priority{border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.badge.ok{color:#1f6840;background:#dff3e5}.badge.danger,.priority.high{color:#9a2a18;background:#ffe1d9}.badge.missing{color:#fff;background:#b23a2a}.badge.neutral{color:#50594d;background:#edf1e9}.priority.medium{color:#865300;background:#fff0bf}.alert-list,.task-list,.checklist{gap:10px;display:grid}.alert-item{background:#f7faf2;border-radius:8px;grid-template-columns:12px 1fr;gap:10px;padding:12px;display:grid}.alert-item p,.reason-box p,.review-box p,.step p{color:#5f6f5b;margin:5px 0 0;font-size:13px;line-height:1.55}.dot{border-radius:999px;width:9px;height:9px;margin-top:6px}.dot.red{background:#d84b33}.dot.amber{background:#e2a11a}.workflow,.task-command-grid{grid-template-columns:300px minmax(360px,1fr) 380px;gap:16px;margin-top:16px;display:grid}.task-command-grid{align-items:start}.task-detail-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.task-operation-error{margin:-8px 0 16px}.task-card{color:#172019;text-align:left;background:#fff;border:1px solid #dbe4d3;border-radius:8px;gap:8px;width:100%;padding:13px;display:grid;position:relative}.task-card.selected{border-color:#237044;box-shadow:inset 4px 0 #237044}.task-card .priority,.status{width:fit-content}.status.waiting{color:#50594d;background:#edf1e9}.status.working{color:#865300;background:#fff0bf}.status.submitted{color:#174f73;background:#dceff8}.status.done{color:#1f6840;background:#dff3e5}.task-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.info-block{background:#f7faf2;border-radius:8px;gap:6px;min-height:94px;padding:12px;display:grid}.info-block svg{color:#237044}.info-block span{color:#6b7668;font-size:12px}.info-block strong{font-size:14px}.reason-box,.review-box{background:#fff8df;border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:flex}.reason-box svg,.review-box svg{color:#956511;flex:none}.checklist{margin-top:12px}.checklist label{background:#f7faf2;border-radius:8px;align-items:center;gap:10px;min-height:38px;padding:0 10px;font-size:14px;display:flex}.field{gap:8px;margin-bottom:12px;display:grid}.field span{color:#596755;font-size:13px;font-weight:700}textarea,.upload-row{background:#fff;border:1px solid #cadabf;border-radius:8px;width:100%}textarea{resize:vertical;color:#172019;min-height:112px;padding:11px}.upload-row{align-items:center;gap:8px;min-height:42px;padding:0 10px;display:flex;position:relative}.upload-row svg{color:#237044;flex:none}.upload-row input{border:0;outline:0;width:100%;min-width:0}.upload-row span{color:#596755;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;overflow:hidden}.photo-upload-field{gap:10px;display:grid}.photo-upload-status{background:#f8fbf6}.photo-source-actions{position:relative}.photo-source-actions button{color:#fff;cursor:pointer;background:#247b49;border:1px solid #247b49;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:42px;padding:0 10px;font-size:13px;font-weight:900;display:flex;overflow:hidden}.photo-source-actions button.disabled{cursor:not-allowed;opacity:.55}.photo-source-actions input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo-upload-field img{object-fit:cover;background:#f7faf2;border:1px solid #dce8d5;border-radius:8px;width:100%;max-height:180px}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.button-row.compact{justify-content:flex-end;display:flex}.employee-switch{background:#fffdfa;border:1px solid #cadabf;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 10px;display:flex}.employee-switch span{color:#596755;font-size:12px;font-weight:700}.employee-switch select{color:#172019;background:0 0;border:0;outline:0;min-height:30px;font-weight:700}.review-box{background:#eef6e6}.review-box small{margin-top:6px;line-height:1.4;display:block}.timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.step{color:#fff;background:#172019;border-radius:8px;min-height:118px;padding:14px}.step div{color:#f0d979;margin-bottom:10px}.step p{color:#c9d6c3}.admin-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.8fr);gap:16px;margin-top:16px;display:grid}.admin-layout{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.admin-grid.lower{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)}.admin-metrics{margin-bottom:0}.admin-panel-large{min-width:0}.icon-command{color:#237044;background:#eef6e6;border:1px solid #cadabf;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.module-panel{background:#fffdfa;border:1px solid #dbe4d3;padding:16px;box-shadow:0 14px 32px #2836230f}.module-panel .panel-title{display:flex}.module-menu{gap:12px;display:grid}.module-group{background:#f7faf2;border-radius:8px;gap:9px;padding:12px;display:grid}.module-group strong{color:#172019;letter-spacing:0;font-size:14px;line-height:1.2}.module-group div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.module-group button{color:#2d553c;letter-spacing:0;background:#fff;border:1px solid #dbe4d3;border-radius:8px;min-height:32px;font-size:12px;font-weight:700}.module-group button:hover{color:#237044;border-color:#237044}.module-group button.module-active{color:#fff;background:#237044;border-color:#237044}.module-group button.module-locked{color:#9aa399;background:#edf1e9;border-color:#e1e8dc}.module-group button.module-locked:hover{color:#865300;border-color:#e6c95c}.admin-right-stack{gap:16px;min-width:0;display:grid}.permission-manager{min-width:0}.position-settings-console{gap:14px;min-width:0;display:grid}.position-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.position-summary-grid article{background:#fffdfa;border:1px solid #dbe4d3;border-radius:8px;gap:5px;min-height:94px;padding:14px;display:grid}.position-summary-grid span,.position-summary-grid small{color:#687466;font-size:12px}.position-summary-grid strong{color:#1f653f;font-size:26px}.position-settings-panel{min-width:0}.position-settings-panel>.panel-title .primary-action{width:auto}.position-settings-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:14px;display:grid}.position-template-list,.position-rule-editor{background:#f7faf2;border-radius:8px;min-width:0}.position-template-list{gap:8px;padding:12px;display:grid}.position-template-list>button{color:#263828;text-align:left;background:#fff;border:1px solid #dbe4d3;border-radius:8px;gap:7px;width:100%;padding:12px;display:grid}.position-template-list>button:hover,.position-template-list>button.selected{background:#edf7e8;border-color:#2a7c4b}.position-template-list>button.selected{box-shadow:inset 3px 0 #237044}.position-list-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.position-list-title strong{color:#172019;font-size:15px}.position-list-title em{color:#25603c;background:#e4f2dc;border-radius:999px;padding:3px 7px;font-size:11px;font-style:normal;font-weight:800}.position-list-title em.disabled{color:#7b8579;background:#ecefeb}.position-template-list>button>span:not(.position-list-title),.position-template-list>button>small{color:#657263;font-size:12px;line-height:1.45}.position-rule-editor{padding:14px}.position-editor-head{justify-content:space-between;align-items:flex-start;gap:14px;padding:2px 2px 14px;display:flex}.position-editor-head h3,.position-editor-head p{margin:0}.position-editor-head h3{margin-top:3px;font-size:22px}.position-editor-head>div>span,.position-editor-head p{color:#687466;font-size:12px}.position-editor-head p{margin-top:6px;line-height:1.5}.position-rule-count{color:#1e5a38;background:#e5f2de;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:800}.position-tabs{background:#fff;border:1px solid #d9e4d3;border-radius:8px;gap:6px;margin-bottom:14px;padding:5px;display:flex;overflow-x:auto}.position-tabs button{color:#586656;background:0 0;border:0;border-radius:7px;flex:1 0 auto;min-height:38px;padding:0 12px;font-weight:800}.position-tabs button.selected{color:#fff;background:#237044}.position-feedback{border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:800}.position-feedback.error{color:#9d3d2d;background:#fff1ed;border:1px solid #e9b9ae}.position-feedback.success{color:#23603b;background:#eef8e9;border:1px solid #bcd9b0}.position-basic-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.position-basic-grid label{gap:7px;display:grid}.position-basic-grid label.wide{grid-column:1/-1}.position-basic-grid label>span{color:#536450;font-size:13px;font-weight:800}.position-basic-grid input,.position-basic-grid select,.position-basic-grid textarea{background:#fff;border:1px solid #cbdcc2;border-radius:8px;width:100%}.position-basic-grid input,.position-basic-grid select{min-height:44px;padding:0 12px}.position-basic-grid textarea{resize:vertical;min-height:116px;padding:12px}.position-basic-grid input:disabled{color:#566054;background:#eef1ec}.position-basic-grid small{color:#768273;font-size:12px;line-height:1.45}.position-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.position-option-grid>button{color:#263828;text-align:left;background:#fff;border:1px solid #d5e1cf;border-radius:8px;gap:7px;min-height:116px;padding:13px 13px 13px 42px;display:grid;position:relative}.position-option-grid>button:hover,.position-option-grid>button.selected{background:#edf7e8;border-color:#2c8250}.position-option-grid>button strong{font-size:14px}.position-option-grid>button small{color:#667464;font-size:12px;line-height:1.5}.option-check,.option-radio{color:#237044;background:#fff;border:1px solid #bcd1b2;border-radius:6px;place-items:center;width:20px;height:20px;font-size:12px;font-weight:900;display:grid;position:absolute;top:13px;left:13px}.option-radio{background:0 0;border:0;border-radius:50%;font-size:18px}.position-scope-note{color:#24583a;background:#eef8e9;border:1px solid #bcd9b0;border-radius:8px;grid-column:1/-1;gap:10px;padding:13px;display:flex}.position-scope-note p{color:#55705b;margin:4px 0 0;font-size:12px;line-height:1.5}.position-permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:560px;padding-right:3px;display:grid;overflow:auto}.position-permission-grid article{background:#fff;border:1px solid #dde7d8;border-radius:8px;align-content:start;gap:7px;padding:12px;display:grid}.position-permission-section-head{border-bottom:1px solid #e8eee4;justify-content:space-between;align-items:center;gap:8px;padding-bottom:6px;display:flex}.position-permission-section-head label{color:#667363;align-items:center;gap:7px;min-height:27px;font-size:12px;font-weight:700;display:flex}.position-permission-labels,.position-permission-row{grid-template-columns:minmax(0,1fr) 42px 42px 42px;align-items:center;gap:4px;display:grid}.position-permission-labels{color:#7a8677;text-align:center;padding:2px 0 4px;font-size:10px;font-weight:800}.position-permission-labels span:first-child{text-align:left}.position-permission-row{color:#445441;min-height:29px;font-size:12px}.position-permission-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.position-permission-row label{place-items:center;min-height:28px;display:grid}.position-employee-list{gap:9px;display:grid}.position-employee-list article{background:#fff;border:1px solid #dce6d7;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(140px,.7fr);align-items:center;gap:12px;padding:12px;display:grid}.position-employee-list article>div{align-items:baseline;gap:10px;display:flex}.position-employee-list span,.position-employee-list p{color:#667464;margin:0;font-size:12px}.position-empty{color:#71806e;text-align:center;background:#fff;border:1px dashed #cbd9c5;border-radius:8px;padding:24px}.position-editor-actions{border-top:1px solid #dce6d7;justify-content:flex-end;gap:9px;margin-top:16px;padding-top:14px;display:flex}.position-editor-actions button{width:auto}.role-permission-layout{grid-template-columns:220px minmax(0,1.15fr) minmax(0,.85fr);gap:12px;margin-bottom:16px;display:grid}.role-profile,.role-template-panel,.role-summary-panel{background:#f7faf2;border-radius:8px;padding:14px}.role-profile{align-content:start;gap:9px;display:grid}.role-profile strong{font-size:22px}.role-profile span{color:#1e4d34;background:#e7f3df;border-radius:999px;width:fit-content;padding:5px 9px;font-size:12px;font-weight:700}.role-profile p,.section-caption small,.role-template-grid span,.role-summary-list p{color:#5f6f5b;margin:0;font-size:13px;line-height:1.45}.section-caption{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.section-caption span{font-weight:800}.detail-caption{margin-top:4px}.role-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.role-template-grid button{color:#172019;text-align:left;background:#fff;border:1px solid #dbe4d3;border-radius:8px;gap:6px;min-height:96px;padding:12px;display:grid}.role-template-grid button:hover{background:#eef6e6;border-color:#237044}.role-summary-list{gap:8px;max-height:260px;display:grid;overflow:auto}.role-summary-list article{background:#fff;border-radius:8px;padding:10px}.role-summary-list strong{margin-bottom:5px;display:block}.permission-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.permission-section{background:#f7faf2;border-radius:8px;gap:10px;padding:12px;display:grid}.permission-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.permission-section-head label{color:#596755;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.permission-checks{gap:7px;display:grid}.permission-checks label{align-items:center;gap:7px;min-height:28px;font-size:12px;display:flex}.permission-checks span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.module-workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;min-width:0;display:grid}.module-workspace.flock-workspace,.module-workspace.is-form-mode{grid-template-columns:minmax(0,1fr)}@media (width>=1280px){.module-workspace.is-form-mode .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.module-summary{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.module-stat{background:#fffdfa;border:1px solid #dbe4d3;border-radius:8px;min-height:86px;padding:13px}.module-stat span{color:#6b7668;font-size:12px}.module-stat strong{margin-top:8px;font-size:18px;display:block}.module-main,.module-side{min-width:0}.segmented{background:#f7faf2;border:1px solid #cadabf;border-radius:8px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:#53624f;background:0 0;border:0;border-radius:6px;min-height:32px;padding:0 12px;font-weight:700}.segmented button.selected{color:#fff;background:#237044}.filter-bar{background:#f7faf2;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;padding:12px;display:grid}.filter-bar label,.module-form label{align-content:start;gap:7px;display:grid}.module-form .field{min-height:116px}.module-form .wide-field{min-height:auto}.field-label{justify-content:space-between;align-items:center;gap:10px;display:flex}.field-label em{color:#5f6f5b;white-space:nowrap;background:#eef6e6;border-radius:999px;padding:3px 7px;font-size:11px;font-style:normal;font-weight:700}.source-link{color:#5f6f5b;white-space:nowrap;background:#eef6e6;border:0;border-radius:999px;min-height:24px;padding:3px 8px;font-size:11px;font-weight:800}.source-link:hover{color:#fff;background:#237044}.source-link:disabled{cursor:default;color:#8a9686;background:#edf1e9}.multi-select-field,.recurring-frequency-field,.recurring-weekday-picker{gap:10px;width:100%;display:grid}.recurring-weekday-options button{min-width:54px}.multi-select-summary{color:#172019;background:#fff;border:1px solid #cadabf;border-radius:8px;align-items:center;min-height:38px;padding:0 10px;display:flex}.employee-house-scope-summary{background:#f4faef;border:1px solid #c9dbc0;border-radius:8px;gap:5px;min-height:66px;padding:12px;display:grid}.employee-house-scope-summary strong{color:#205b3a;font-size:14px}.employee-house-scope-summary p{color:#657461;margin:0;font-size:12px;line-height:1.45}.multi-select-options{flex-wrap:wrap;gap:8px;display:flex}.multi-select-options button{color:#25583d;background:#fff;border:1px solid #cadabf;border-radius:999px;min-height:32px;padding:5px 11px;font-size:13px;font-weight:800}.multi-select-options button.selected{color:#fff;background:#237044;border-color:#237044}.filter-bar span{color:#596755;font-size:12px;font-weight:700}.filter-bar input,.filter-bar select,.module-form input,.module-form select{color:#172019;background:#fff;border:1px solid #cadabf;border-radius:8px;width:100%;min-width:0;min-height:38px;padding:0 10px}.module-form .field small{color:#b23a2a;font-size:12px;font-weight:700}.module-form .field-error input,.module-form .field-error select,.module-form .field-error .recurring-weekday-picker .multi-select-summary{background:#fff8f6;border-color:#d84b33}.input-with-unit{background:#fff;border:1px solid #cadabf;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.module-form .input-with-unit input{border:0;border-radius:0}.module-form .input-with-unit span{color:#596755;padding:0 12px 0 4px;font-size:14px;font-weight:800}.module-form .field-error .input-with-unit{background:#fff8f6;border-color:#d84b33}.env-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.env-card{background:#fff;border:1px solid #dbe4d3;border-radius:8px;gap:14px;padding:14px;display:grid}.env-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.env-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.env-value{background:#f7faf2;border-radius:8px;gap:5px;min-height:82px;padding:10px;display:grid}.env-value svg{color:#237044}.env-value span,.report-tile span{color:#6b7668;font-size:12px}.env-value strong{font-size:14px}.admin-table{gap:8px;display:grid;overflow-x:auto}.table-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.table-toolbar .primary-action,.table-toolbar .secondary-action{min-height:34px;padding:0 11px;font-size:13px}.upload-toolbar-action{cursor:pointer}.upload-toolbar-action input{display:none}.upload-toolbar-action.is-disabled{cursor:not-allowed;opacity:.55}.immunization-import-select{color:#253e2d;max-width:min(320px,100%);min-height:34px;font:inherit;background:#fff;border:1px solid #c9d9c1;border-radius:6px;padding:0 34px 0 10px;font-size:13px}.import-status{color:#2d553c;background:#fbfdf8;border:1px solid #dce8d5;border-radius:8px;margin:-2px 0 12px;padding:10px 12px;font-size:13px;font-weight:700}.raw-material-prerequisite{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.raw-material-prerequisite.is-warning{color:#76511d;background:#fff9ec;border-color:#e7cfa3}.raw-material-prerequisite .secondary-action{flex:none;min-height:32px;padding:0 10px;font-size:12px}.antibody-import-preview,.antibody-monthly-analysis{background:#fbfdf8;border-top:1px solid #dce8d5;border-bottom:1px solid #dce8d5;margin:0 0 16px;padding:14px 0}.antibody-section-head{justify-content:space-between;align-items:center;gap:12px;padding:0 14px;display:flex}.antibody-section-head>div{min-width:0}.antibody-section-head span{color:#697666;font-size:12px;font-weight:700;display:block}.antibody-section-head h3{overflow-wrap:anywhere;margin:3px 0 0;font-size:16px}.antibody-section-head select{color:#253e2d;min-height:36px;font:inherit;background:#fff;border:1px solid #c9d9c1;border-radius:6px;padding:0 34px 0 10px;font-size:13px;font-weight:700}.antibody-analysis-filters{grid-template-columns:minmax(180px,1.25fr) minmax(150px,1fr) minmax(140px,.8fr);gap:9px;width:min(720px,68%);display:grid}.antibody-analysis-filters label,.antibody-analysis-lab-scope{gap:5px;min-width:0;display:grid}.antibody-analysis-lab-scope strong{overflow-wrap:anywhere;color:#253e2d;background:#f3f8ee;border:1px solid #c9d9c1;border-radius:6px;align-items:center;min-height:36px;padding:7px 10px;font-size:13px;display:flex}.antibody-analysis-filters select{width:100%;min-width:0}.antibody-confidence{background:#fff5d7;border:1px solid #e3b34c;border-radius:6px;flex:none;padding:6px 9px;color:#76520c!important}.antibody-confidence.is-high{background:#edf7e8;border-color:#a8c997;color:#225b39!important}.antibody-preview-meta,.antibody-analysis-summary{background:#dce8d5;border:1px solid #dce8d5;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:12px 14px;display:grid;overflow:hidden}.supplier-import-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.antibody-preview-meta>span,.antibody-analysis-summary>span{background:#fff;min-width:0;padding:9px 10px}.antibody-preview-meta small,.antibody-analysis-summary small{color:#748070;font-size:11px;display:block}.antibody-preview-meta strong,.antibody-analysis-summary strong{overflow-wrap:anywhere;margin-top:4px;font-size:13px;display:block}.antibody-preview-warning{color:#6f4e0f;background:#fff7df;border:1px solid #e7c76f;border-radius:7px;align-items:flex-start;gap:8px;margin:0 14px 12px;padding:9px 10px;font-size:12px;font-weight:700;display:flex}.antibody-preview-warning svg{flex:none}.antibody-preview-table-wrap{background:#fff;border:1px solid #dce8d5;border-radius:8px;margin:0 14px;overflow-x:auto}.supplier-import-table{min-width:760px}.supplier-import-more{color:#6b7668;border-top:1px solid #edf2e9;margin:0;padding:9px 10px;font-size:12px}.antibody-analysis-table{border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.antibody-analysis-table.monthly{min-width:1050px}.antibody-analysis-table th,.antibody-analysis-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf2e9;padding:8px 10px}.antibody-analysis-table th{color:#5f6d5c;background:#f3f8ee;font-weight:800;position:sticky;top:0}.antibody-analysis-table tbody tr:last-child td{border-bottom:0}.antibody-analysis-table tbody tr:hover td{background:#f9fcf6}.antibody-preview-actions{justify-content:flex-end;gap:8px;padding:12px 14px 0;display:flex}.antibody-analysis-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.antibody-analysis-summary .is-warning{color:#a53224;background:#fff0ec}.antibody-chart-grid{grid-template-columns:minmax(0,1.7fr) minmax(330px,.8fr);gap:12px;margin:0 14px 12px;display:grid}.antibody-chart-panel{background:#fff;border:1px solid #dce8d5;border-radius:8px;min-width:0;padding:12px}.antibody-chart-panel>header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.antibody-chart-panel>header span,.antibody-chart-panel>header strong{color:#748070;font-size:11px;font-weight:800}.antibody-chart-panel>header h4{margin:3px 0 0;font-size:14px}.antibody-chart-content,.antibody-svg-wrap{min-width:0}.antibody-chart-legend{background:#f7faf4;border-radius:6px;gap:6px;min-height:24px;padding:5px 8px;display:grid}.antibody-chart-legend-group{flex-wrap:wrap;align-items:center;gap:7px 13px;display:flex}.antibody-chart-legend-group b{color:#7a8677;width:30px;font-size:10px}.antibody-chart-legend span{color:#52604f;align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.antibody-chart-legend i{border-radius:2px;width:16px;height:3px}.antibody-chart-legend i.is-line{background:0 0;border-top:3px solid #4f6151;border-radius:0;height:0}.antibody-svg-wrap{overflow-x:auto}.antibody-trend-chart,.antibody-change-chart{width:100%;min-width:420px;height:auto;display:block}.antibody-trend-chart.is-compact,.antibody-change-chart.is-compact{min-width:0}.antibody-chart-gridline,.antibody-change-zero{stroke:#dfe7dc}.antibody-chart-gridline{stroke-width:1px}.antibody-chart-axis-label,.antibody-change-house,.antibody-change-value,.antibody-change-threshold-label{fill:#697666;font-size:10px;font-weight:700}.antibody-chart-line{fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.antibody-chart-point{fill:#fff;stroke-width:2.4px}.antibody-change-zero{stroke-width:1.3px}.antibody-change-threshold{stroke:#c33f31;stroke-width:1.2px;stroke-dasharray:4 4}.antibody-change-threshold-label{fill:#a53224}.antibody-change-house{fill:#3d4b3a;font-size:11px}.antibody-change-bar{fill:#8b9787}.antibody-change-bar.is-down{fill:#d57a3d}.antibody-change-bar.is-up{fill:#2d8a55}.antibody-change-value.is-down{fill:#ae4d22}.antibody-change-value.is-up{fill:#1f7041}.antibody-change-missing{fill:#9da89a}.antibody-chart-empty{color:#7a8677;text-align:center;background:#f8faf5;place-items:center;min-height:210px;font-size:12px;font-weight:700;display:grid}.antibody-analysis-note{color:#657161;margin:0 14px 10px;font-size:12px}.antibody-trend{color:#546250;text-align:center;background:#edf2e9;border-radius:6px;min-width:58px;padding:4px 7px;font-weight:800;display:inline-block}.antibody-trend.trend-明显下降{color:#9f2f24;background:#ffe7e1}.antibody-trend.trend-小幅下降,.value-down{color:#b05220}.antibody-trend.trend-小幅下降{background:#fff1dc}.antibody-trend.trend-上升,.value-up{color:#1f7041}.antibody-trend.trend-上升{background:#e5f5e9}.antibody-monthly-analysis.is-empty{color:#566453;align-items:center;gap:10px;padding:14px;display:flex}.antibody-monthly-analysis.is-empty svg{color:#237044;flex:none}.antibody-monthly-analysis.is-empty strong,.antibody-monthly-analysis.is-empty span{display:block}.antibody-monthly-analysis.is-empty span{color:#748070;margin-top:3px;font-size:12px}.record-file-link{appearance:none;color:#1f7041;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-family:inherit;font-size:12px;font-weight:800;text-decoration:underline}.record-file-link:disabled{cursor:wait;opacity:.65}.table-toolbar button:disabled{cursor:not-allowed;opacity:.46}.column-picker{background:#fbfdf8;border:1px solid #dce8d5;border-radius:8px;flex-wrap:wrap;gap:8px 14px;margin:-2px 0 12px;padding:12px;display:flex}.column-picker>span{color:#596755;width:100%;font-size:12px;font-weight:800}.column-picker label{color:#2d553c;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.empty-table-state{color:#6b7668;background:#f7faf2;border-radius:8px;place-items:center;min-height:92px;font-size:14px;font-weight:700;display:grid}.admin-table-head,.admin-table-row{grid-template-columns:var(--table-columns,repeat(var(--column-count), minmax(112px, 1fr)));min-width:max(760px, max-content);align-items:center;gap:10px;min-height:44px;padding:0 12px;display:grid}.admin-table-head>span,.admin-table-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-table-head{color:#6b7668;font-size:12px;font-weight:700}.admin-table-row{color:#172019;text-align:left;cursor:pointer;background:#f7faf2;border:0;border-radius:8px;font-size:14px}.admin-table-row:hover,.admin-table-row.selected-row,.admin-table-row:focus-visible{background:#eef6e6;box-shadow:inset 4px 0 #237044}.admin-table-row[title=双击编辑]:hover{border-color:#237044}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.row-actions button{color:#1e4d34;background:#fff;border:1px solid #cadabf;border-radius:7px;min-height:28px;padding:0 8px;font-size:12px;font-weight:700}.row-actions button:hover{background:#eef6e6;border-color:#237044}.module-form{gap:14px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wide-field{grid-column:1/-1}.review-layout{gap:12px;display:grid}.review-card{background:#eef6e6;border-radius:8px;gap:10px;padding:13px;display:flex}.review-card svg,.agent-advice svg{color:#237044;flex:none}.review-card p,.agent-advice p{color:#5f6f5b;margin:5px 0 0;font-size:13px;line-height:1.45}.module-side{grid-template-rows:auto minmax(0,1fr) auto;max-height:min(700px,100vh - 32px);padding:0;display:grid;position:sticky;top:16px;overflow:hidden}.module-side-head{border-bottom:1px solid #e0e8dc;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.module-side-head>div{min-width:0}.module-side-head p{color:#6b7668;margin:0 0 6px;font-size:12px}.module-side-head>svg{color:#237044;flex:none}.record-summary-title{align-items:center;gap:8px;min-width:0;display:flex}.record-summary-title h2{overflow-wrap:anywhere;min-width:0;font-size:19px;line-height:1.3}.record-status{color:#586456;background:#f4f7f0;border:1px solid #d5dfcf;border-radius:999px;flex:none;padding:3px 7px;font-size:11px;font-weight:800}.record-status.is-positive{color:#1f7041;background:#eaf6e9;border-color:#c4dfc9}.record-status.is-warning{color:#8d411f;background:#fff2e6;border-color:#edc9a2}.module-side-scroll{min-height:0;padding:14px 16px 16px;overflow-y:auto}.record-summary-meta{border-bottom:1px solid #e5ebe1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:13px;display:grid}.record-summary-meta div{min-width:0}.record-summary-meta span,.record-summary-meta strong{display:block}.record-summary-meta span{color:#788474;font-size:11px}.record-summary-meta strong{overflow-wrap:anywhere;margin-top:4px;font-size:13px;line-height:1.35}.agent-advice{background:#fff8df;border:1px solid #eadcae;border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:flex}.agent-advice.is-warning{background:#fff2e6;border-color:#edc9a2}.agent-advice.is-warning svg,.agent-advice.is-warning p{color:#8d411f}.agent-advice.is-module-tip{background:#f1f7ec;border-color:#cfe0c8}.side-detail-section{margin-top:16px}.side-detail-section>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;display:flex}.side-detail-section h3{margin:0;font-size:14px}.side-detail-section>header span{color:#788474;font-size:11px;font-weight:700}.side-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;display:grid}.side-detail-item{border-bottom:1px solid #e5ebe1;min-width:0;padding:10px 0}.side-detail-item.is-wide{grid-column:1/-1}.side-detail-item span,.side-detail-item strong,.side-detail-item a{display:block}.side-detail-item span{color:#788474;font-size:11px}.side-detail-item strong,.side-detail-item a{overflow-wrap:anywhere;margin-top:5px;font-size:13px;line-height:1.4}.side-detail-toggle{color:#2c6742;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;width:100%;min-height:34px;margin-top:4px;font-size:12px;font-weight:800;display:flex}.side-detail-toggle:hover{background:#f5f8f1}.side-empty-count{color:#8a9487;text-align:right;margin:10px 0 0;font-size:11px}.side-empty-state{color:#788474;text-align:center;justify-items:center;gap:6px;padding:22px 8px 12px;display:grid}.side-empty-state svg{color:#8ba486}.side-empty-state strong{color:#273128;font-size:14px}.side-empty-state span{font-size:12px}.medicine-group-summary{border-bottom:1px solid #e0e8dc;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-bottom:12px;display:grid}.medicine-group-summary div{min-width:0;padding:8px 0}.medicine-group-summary span,.medicine-group-summary strong{display:block}.medicine-group-summary span{color:#788474;font-size:11px}.medicine-group-summary strong{overflow-wrap:anywhere;margin-top:4px;font-size:14px}.medicine-batch-section{margin-top:16px}.medicine-batch-section>header{border-bottom:1px solid #e0e8dc;justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex}.medicine-batch-section h3{margin:0;font-size:14px}.medicine-batch-section>header span{color:#788474;font-size:11px;font-weight:700}.medicine-batch-item{border-bottom:1px solid #e0e8dc;padding:14px 0}.medicine-batch-item>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.medicine-batch-item>header div{min-width:0}.medicine-batch-item>header div>span,.medicine-batch-item>header div>strong{display:block}.medicine-batch-item>header div>span{color:#788474;font-size:11px}.medicine-batch-item>header div>strong{overflow-wrap:anywhere;margin-top:4px;font-size:14px}.medicine-batch-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:8px;display:grid}.medicine-batch-fields div{min-width:0;padding:7px 0}.medicine-batch-fields span,.medicine-batch-fields strong{display:block}.medicine-batch-fields span{color:#788474;font-size:11px}.medicine-batch-fields strong{overflow-wrap:anywhere;margin-top:3px;font-size:12px;line-height:1.4}.medicine-batch-item>footer{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.medicine-batch-item>footer .secondary-action{min-height:34px;padding:7px 10px;font-size:12px}.medicine-batch-item>footer .danger-action{color:#9a3527;background:#fff4f1;border-color:#e5b9b0}.side-actions{background:#fffdfa;border-top:1px solid #e0e8dc;flex-wrap:wrap;gap:9px;padding:13px 16px 16px;display:flex}.side-actions .primary-action{flex:1 0 100%}.side-actions .secondary-action{flex:120px}.record-drawer-backdrop{z-index:95;background:#121c1547;justify-content:flex-end;display:flex;position:fixed;inset:0}.record-detail-drawer{background:#fffdfa;border-left:1px solid #cdddc6;grid-template-rows:auto minmax(0,1fr) auto;width:min(560px,100vw - 24px);height:100%;animation:.18s ease-out record-drawer-enter;display:grid;box-shadow:-18px 0 52px #152d1d33}@keyframes record-drawer-enter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.record-drawer-head{border-bottom:1px solid #e0e8dc;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px;display:flex}.record-drawer-head>div{min-width:0}.record-drawer-head span,.record-drawer-head small{color:#6b7668;font-size:12px;font-weight:700;display:block}.record-drawer-head h2{margin-top:4px}.record-drawer-head small{overflow-wrap:anywhere;margin-top:7px}.record-drawer-head .icon-command{flex:none;padding:0}.record-drawer-body{min-height:0;padding:16px 18px 18px;overflow-y:auto}.record-attention-panel{color:#8d411f;background:#fff2e6;border:1px solid #edc9a2;border-radius:7px;align-items:flex-start;gap:9px;margin-bottom:12px;padding:11px 12px;display:flex}.record-attention-panel svg{flex:none;margin-top:1px}.record-attention-panel strong,.record-attention-panel span{display:block}.record-attention-panel span{margin-top:4px;font-size:12px;line-height:1.45}.record-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.record-detail-field{background:#f7faf2;border:1px solid #e2eadf;border-radius:7px;min-width:0;min-height:72px;padding:10px 11px}.record-detail-field.is-wide{grid-column:1/-1}.record-detail-field span{color:#6b7668;font-size:12px;display:block}.record-detail-field strong,.record-detail-field a{overflow-wrap:anywhere;margin-top:7px;font-size:13px;line-height:1.45;display:block}.record-drawer-actions{background:#fffdfa;border-top:1px solid #e0e8dc;justify-content:flex-end;gap:9px;padding:13px 18px;display:flex}@media (prefers-reduced-motion:reduce){.record-detail-drawer{animation:none}}.no-access{text-align:center;place-items:center;min-height:360px;display:grid}.no-access svg{color:#865300}.no-access p{color:#5f6f5b;max-width:520px;margin:0;line-height:1.6}.setting-list,.rule-list,.permission-grid,.audit-list{gap:10px;display:grid}.setting-row{background:#f7faf2;border-radius:8px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;min-height:76px;padding:12px;display:grid}.setting-row.muted{background:#f2f4ef}.setting-icon{color:#237044;background:#e7f3df;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.setting-row p,.rule-card p,.audit-item p{color:#5f6f5b;margin:5px 0 0;font-size:13px;line-height:1.45}.rule-card,.audit-item{background:#fff;border:1px solid #dbe4d3;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px;display:flex}.rule-card small,.audit-item small{margin-top:7px;display:block}.permission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.permission-card{background:#f7faf2;border-radius:8px;gap:9px;min-height:148px;padding:14px;display:grid}.permission-card span{color:#33533d;background:#e7f3df;border-radius:999px;align-items:center;min-height:28px;padding:0 8px;font-size:12px;font-weight:700;display:flex}.report-review-panel{background:#fffaf0;border:1px solid #e4c475;border-radius:10px;gap:13px;margin-bottom:16px;padding:16px;display:grid;box-shadow:0 14px 32px #4b360d14}.report-review-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.report-review-heading p,.report-review-heading h2{margin:0}.report-review-heading p{color:#8c6114;font-size:12px;font-weight:800}.report-review-heading h2{color:#3d321e;margin-top:3px;font-size:20px}.report-review-heading span{color:#786a51;margin-top:5px;font-size:13px;display:block}.report-review-heading>strong{color:#754e08;background:#f4dfaa;border-radius:999px;flex:none;padding:8px 11px;font-size:13px}.report-review-feedback{border:1px solid;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:700}.report-review-feedback.is-error{color:#992f1c;background:#fff0eb;border-color:#efc1b5}.report-review-feedback.is-success{color:#1f5f3c;background:#edf6e7;border-color:#bcd4af}.report-review-list{gap:10px;display:grid}.report-review-row{background:#fff;border:1px solid #ead9ae;border-radius:8px;grid-template-columns:minmax(320px,1.2fr) minmax(260px,1fr) auto;align-items:end;gap:13px;padding:13px;display:grid}.report-review-record{min-width:0}.report-review-record>div{color:#31553c;align-items:center;gap:7px;display:flex}.report-review-record>div span{color:#7c765f;margin-left:auto;font-size:12px}.report-review-record dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 0;display:grid}.report-review-record dl div{background:#f6f8f2;border-radius:6px;gap:2px;min-width:0;padding:7px 8px;display:grid}.report-review-record dt{color:#727d6e;font-size:11px}.report-review-record dd{color:#26382c;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:800;overflow:hidden}.report-review-row label{gap:6px;min-width:0;display:grid}.report-review-row label span{color:#615844;font-size:12px;font-weight:800}.report-review-row textarea{resize:vertical;color:#172019;width:100%;min-height:76px;font:inherit;background:#fffdfa;border:1px solid #d8c897;border-radius:8px;padding:9px 10px}.report-review-row textarea:focus{border-color:#237044;outline:2px solid #23704424}.report-review-approve{justify-content:center;min-width:122px}.report-filter-panel{background:#fffdfa;border:1px solid #dbe4d3;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr)) 150px;align-items:end;gap:12px;margin-bottom:16px;padding:14px;display:grid;box-shadow:0 14px 32px #2836230f}.report-filter-panel label{gap:7px;display:grid}.report-filter-panel label span{color:#596755;font-size:12px;font-weight:700}.report-filter-panel input,.report-filter-panel select{color:#172019;background:#fff;border:1px solid #cadabf;border-radius:8px;width:100%;min-width:0;min-height:42px;padding:0 11px}.report-filter-summary{color:#fff;background:#237044;border-radius:8px;align-content:center;min-height:42px;padding:8px 12px;display:grid}.report-filter-summary strong{font-size:20px;line-height:1}.report-filter-summary span{margin-top:4px;font-size:12px}.quick-date-ranges{flex-wrap:wrap;grid-column:1/-1;gap:8px;padding-top:2px;display:flex}.quick-date-ranges button{color:#1e4d34;background:#eef6e6;border:1px solid #cadabf;border-radius:999px;min-height:34px;padding:0 13px;font-weight:800}.quick-date-ranges button.selected{color:#fff;background:#237044;border-color:#237044}.feed-meal-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.feed-meal-summary-grid article{background:#fffdfa;border:1px solid #dbe4d3;border-radius:8px;align-content:center;gap:6px;min-height:116px;padding:15px;display:grid;box-shadow:0 14px 32px #2836230f}.feed-meal-summary-grid article.warning{background:#fff6f2;border-color:#efb9aa}.feed-meal-summary-grid span,.feed-meal-summary-grid small{color:#6b7668;font-size:12px}.feed-meal-summary-grid strong{font-size:22px}.feed-meal-message,.feed-meal-empty,.feed-meal-detection-note{color:#35513e;background:#f7faf2;border:1px solid #dbe4d3;border-radius:8px;margin-bottom:16px}.feed-meal-message{padding:13px 15px;font-weight:700}.feed-meal-message.warning{color:#853b2e;background:#fff5f1;border-color:#efc2b6}.feed-meal-house-summary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:16px;display:grid}.feed-meal-house-summary button{color:#172019;text-align:left;background:#fffdfa;border:1px solid #d7e3d0;border-radius:8px;gap:5px;min-height:138px;padding:14px;display:grid}.feed-meal-house-summary button:hover,.feed-meal-house-summary button.selected{background:#eef6e6;border-color:#237044;box-shadow:inset 4px 0 #237044}.feed-meal-house-summary span,.feed-meal-house-summary small,.feed-meal-house-summary em{color:#657262;font-size:12px;font-style:normal}.feed-meal-house-summary em:first-of-type{color:#1d5937;font-weight:800}.feed-meal-house-summary strong{font-size:20px}.feed-meal-detection-note{align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.feed-meal-detection-note svg{color:#237044;flex:none;margin-top:2px}.feed-meal-detection-note p{color:#596755;margin:0;font-size:13px;line-height:1.65}.feed-meal-groups{gap:14px;display:grid}.feed-meal-group-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.feed-meal-group-head>div:last-child{text-align:right}.feed-meal-group-head span,.feed-meal-group-head small{color:#6b7668;font-size:12px;display:block}.feed-meal-group-head h2,.feed-meal-group-head strong{margin:3px 0 0;font-size:20px}.feed-meal-desktop-table{gap:7px;display:grid;overflow-x:auto}.feed-meal-table-row{background:#f7faf2;border-radius:8px;grid-template-columns:minmax(82px,.65fr) minmax(100px,.8fr) minmax(110px,.85fr) minmax(190px,1.5fr) minmax(76px,.65fr) minmax(150px,1.05fr);align-items:center;gap:10px;min-width:820px;min-height:54px;padding:8px 12px;font-size:13px;display:grid}.feed-meal-table-row.head{color:#6b7668;background:0 0;min-height:34px;font-size:12px;font-weight:800}.feed-meal-table-row.alert{background:#fff3ee;border:1px solid #efb8aa}.feed-meal-table-row>span{min-width:0}.feed-meal-table-row>span small{color:#7b8877;margin-top:3px;font-size:11px;display:block}.deviation-alert{color:#bf3f2d;font-weight:900}.feed-meal-status{justify-items:start;gap:3px;min-width:0;display:grid}.feed-meal-status strong{color:#286b43;font-size:13px}.feed-meal-status.neutral strong{color:#6b7668}.feed-meal-status.alert strong{color:#b63727}.feed-meal-status.working strong{color:#8a5b0c}.feed-meal-status small{color:#788574;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.feed-meal-status button{color:#933727;background:#fff;border:1px solid #d2a79b;border-radius:999px;min-height:28px;padding:0 9px;font-size:11px;font-weight:800}.feed-meal-mobile-cards{display:none}.feed-meal-mobile-cards>article{background:#f7faf2;border:1px solid #dbe4d3;border-radius:10px;gap:11px;padding:13px;display:grid}.feed-meal-mobile-cards>article.alert{background:#fff3ee;border-color:#efb8aa}.feed-meal-mobile-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.feed-meal-mobile-card-head span{color:#237044;font-weight:900}.feed-meal-mobile-cards dl{gap:7px;margin:0;display:grid}.feed-meal-mobile-cards dl>div{grid-template-columns:82px minmax(0,1fr);gap:8px;display:grid}.feed-meal-mobile-cards dt,.feed-meal-mobile-cards dd{margin:0;font-size:12px}.feed-meal-mobile-cards dt{color:#748071}.feed-meal-empty{text-align:center;place-items:center;gap:8px;min-height:160px;padding:22px;display:grid}.feed-meal-empty svg{color:#237044}.feed-meal-empty span{color:#6b7668;font-size:13px}.report-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.metric-history-backdrop{z-index:1200;background:#1420167a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.metric-history-dialog{background:#fffdfa;border:1px solid #d6e2ce;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(880px,100%);max-height:min(86vh,920px);display:grid;overflow:hidden;box-shadow:0 30px 80px #162a1b47}.metric-history-heading,.metric-history-footer{justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.metric-history-heading{border-bottom:1px solid #e4eadf}.metric-history-heading p,.metric-history-heading h2{margin:0}.metric-history-heading p,.metric-history-heading span,.metric-history-footer>span{color:#6b7668;font-size:12px}.metric-history-heading h2{margin:3px 0;font-size:22px}.metric-history-heading>button{color:#275a3d;background:#fff;border:1px solid #cadabf;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;padding:0;display:grid}.metric-history-table-wrap{min-height:220px;overflow:auto}.metric-history-table{border-collapse:collapse;width:100%}.metric-history-table th,.metric-history-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0e9;padding:11px 22px}.metric-history-table th{z-index:1;color:#5f6f60;background:#f4f8f0;font-size:12px;position:sticky;top:0}.metric-history-table td{color:#344239;font-size:13px}.metric-history-table td:last-child strong{color:#164f31}.metric-history-empty{color:#6b7668;text-align:center;margin:0;padding:48px 22px}.metric-history-footer{border-top:1px solid #e4eadf;flex-wrap:wrap}.metric-history-pages{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.metric-history-pages button{color:#275a3d;background:#fff;border:1px solid #cadabf;border-radius:7px;min-width:34px;min-height:32px;padding:0 10px}.metric-history-pages button.selected{color:#fff;background:#237044;border-color:#237044}.metric-history-pages button:disabled{cursor:not-allowed;opacity:.42}@media (width<=720px){.metric-history-backdrop{padding:10px}.metric-history-dialog{max-height:92vh}.metric-history-heading,.metric-history-footer,.metric-history-table th,.metric-history-table td{padding-left:14px;padding-right:14px}}.feed-factory-report-workspace{gap:16px;min-width:0;display:grid}.feed-factory-report-workspace .report-filter-panel,.feed-factory-report-workspace .report-metrics{margin-bottom:0}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.report-grid>.wide{grid-column:1/-1}.report-table-toolbar,.report-pagination{align-items:center;display:flex}.report-table-toolbar{color:#64715f;justify-content:flex-end;gap:10px;font-size:12px}.report-pagination{gap:6px}.report-pagination strong{color:#2d553c;text-align:center;min-width:52px;font-size:12px}.report-pagination button{color:#1e4d34;background:#fff;border:1px solid #cadabf;border-radius:6px;place-items:center;width:30px;height:30px;padding:0;display:inline-grid}.report-pagination button:hover:not(:disabled){background:#eef6e6;border-color:#237044}.report-pagination button:disabled{cursor:not-allowed;opacity:.42}.report-chart-panel{min-width:0}.trend-selector{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.trend-selector button{color:#2d553c;background:#fff;border:1px solid #cadabf;border-radius:8px;min-height:30px;padding:0 10px;font-size:12px;font-weight:700}.trend-selector button.selected{color:#fff;background:#237044;border-color:#237044}.report-svg{width:100%;min-height:280px;overflow:visible}.report-svg line{stroke:#cadabf;stroke-width:1px}.report-svg text{fill:#5f6f5b;font-size:12px;font-weight:700}.chart-bar{fill:#e7f3df}.chart-bar-label{fill:#2f5a3f;letter-spacing:0;font-size:10px}.chart-date-label{fill:#6b7668;letter-spacing:0}.chart-rate-label{fill:#172019;letter-spacing:0;font-size:12px}.chart-line{fill:none;stroke:#237044;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#237044;stroke:#fffdfa;stroke-width:3px}.mini-trend-svg{width:100%;min-height:210px;overflow:visible}.mini-trend-svg.large{min-height:250px}.mini-trend-svg line{stroke:#cadabf;stroke-width:1px}.mini-trend-svg text{fill:#5f6f5b;font-size:12px;font-weight:700}.mini-trend-bar{fill:#e7f3df}.mini-trend-line{fill:none;stroke:#237044;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.mini-trend-dot{fill:#237044;stroke:#fffdfa;stroke-width:3px}.mini-trend-value{fill:#172019}.tone-amber .mini-trend-bar{fill:#fff0bf}.tone-amber .mini-trend-line,.tone-amber .mini-trend-dot{stroke:#b57911}.tone-amber .mini-trend-dot{fill:#b57911}.tone-red .mini-trend-bar{fill:#ffe1d9}.tone-red .mini-trend-line,.tone-red .mini-trend-dot{stroke:#c3422e}.tone-red .mini-trend-dot{fill:#c3422e}.house-rate-chart,.report-insight-list{gap:12px;display:grid}.house-rate-chart article,.report-insight-list article{background:#f7faf2;border-radius:8px;gap:8px;padding:12px;display:grid}.house-rate-chart article>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.house-rate-chart span,.house-rate-chart small,.report-insight-list p{color:#5f6f5b;font-size:13px;line-height:1.45}.rate-bar-track{background:#e4eadf;border-radius:999px;height:12px;overflow:hidden}.rate-bar-track span{border-radius:inherit;background:#237044;height:100%;display:block}.house-rate-chart article.missing-report-card{background:#fff7f3;border:1px solid #f0b8aa}.house-rate-chart article.missing-report-card span{color:#9a2a18}.rate-bar-track.muted{background:#f2d6cf}.rate-bar-track.muted span{background:#d99686}.report-insight-list p{margin:0}.empty-chart{color:#6b7668;text-align:center;background:#f7faf2;border-radius:8px;place-items:center;min-height:250px;display:grid}.empty-chart svg{color:#237044}.batch-history-view{gap:18px;display:grid}.batch-history-head{background:#f7faf2;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px;display:flex}.batch-history-head p,.batch-history-head h3{margin:0}.batch-history-head p,.batch-history-head span,.batch-kpi-grid span{color:#687666}.batch-history-head h3{color:#172019;margin:6px 0;font-size:20px}.batch-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.batch-kpi-grid article{background:#f7faf2;border-radius:8px;gap:8px;padding:14px;display:grid}.batch-kpi-grid strong{color:#172019;font-size:22px}.batch-chart-card,.batch-history-section{gap:12px;min-width:0;display:grid}.batch-growth-svg{width:100%;min-height:260px;overflow:visible}.batch-growth-svg line{stroke:#cadabf;stroke-width:1px}.batch-growth-svg text{fill:#5f6f5b;font-size:12px;font-weight:700}.actual-growth-line,.standard-growth-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.actual-growth-line{stroke:#237044;stroke-width:4px}.standard-growth-line{stroke:#b57911;stroke-width:3px;stroke-dasharray:7 7}.actual-growth-dot{fill:#237044;stroke:#fffdfa;stroke-width:3px}.growth-weight-label{fill:#172019}.growth-legend text{font-size:11px}.report-tile{background:#f7faf2;border-radius:8px;min-height:122px;padding:14px}.report-tile strong{margin-top:8px;font-size:24px;display:block}.report-tile p{color:#5f6f5b;margin:8px 0 0;font-size:13px;line-height:1.45}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-grid button{color:#1e4d34;background:#eef6e6;border:1px solid #dbe4d3;border-radius:8px;min-height:46px;font-weight:700}.notice-list{background:#fff8df;border-radius:8px;gap:9px;margin-top:14px;padding:13px;display:grid}.notice-list p{color:#5f6f5b;margin:0;font-size:13px;line-height:1.45}.leader-screen{color:#d8eeff;background:linear-gradient(#071636fa,#0d2654f7),#081b42;border-radius:0;min-height:100vh;padding:18px 22px 22px;overflow:hidden}.leader-screen-header{justify-items:center;min-height:92px;display:grid;position:relative}.screen-back-button{z-index:3;color:#cfe8ff;background:#07234eb8;border:1px solid #59d5ff7a;border-radius:4px;min-height:36px;padding:0 14px;font-weight:800;position:absolute;top:8px;right:0}.screen-back-button:hover{color:#071d36;background:#39b9ef}.leader-screen-header h1{z-index:1;color:#cdeaff;letter-spacing:0;text-shadow:0 0 16px #3daaff75;margin:4px 0 0;font-size:28px;position:relative}.screen-title-frame{border:2px solid #3691f2ad;border-top:0;border-radius:0 0 72px 72px;width:min(760px,74%);height:72px;position:absolute;top:0;box-shadow:0 0 18px #2a89ed57}.screen-time{z-index:2;color:#041d35;text-align:center;background:#39b9ef;align-self:end;min-width:430px;padding:8px 18px;font-size:20px;font-weight:800;position:relative}.leader-screen-grid{grid-template-columns:minmax(320px,.8fr) minmax(620px,1.65fr) minmax(320px,.85fr);align-items:stretch;gap:16px;display:grid}.leader-column,.leader-center{gap:18px;display:grid}.leader-center{grid-template-rows:auto minmax(420px,1fr)}.screen-panel{background:#0f2c60c7;border:1px solid #2f94ffb8;position:relative;box-shadow:inset 0 0 28px #2889ff1f,0 0 18px #0b5cb429}.screen-panel:before,.screen-panel:after{content:"";border-style:solid;border-color:#2f99ff;width:18px;height:18px;position:absolute}.screen-panel:before{border-width:3px 0 0 3px;top:-1px;left:-1px}.screen-panel:after{border-width:0 3px 3px 0;bottom:-1px;right:-1px}.big-chart{padding:14px 14px 10px}.big-panel-caption,.warning-panel h2,.house-data-panel h2{color:#eef8ff;background:#1b52abad;margin:0;font-size:15px;font-weight:800}.big-panel-caption{min-width:190px;padding:7px 12px;display:inline-flex}.big-chart svg{width:100%;height:170px;margin-top:8px}.big-chart-empty{color:#89cfff;background:#0925535c;border:1px dashed #59d5ff61;place-items:center;height:170px;margin-top:8px;font-size:14px;font-weight:800;display:grid}.big-chart-grid{stroke:#2adaf457;stroke-dasharray:4 4}.big-chart-axis{stroke:#59d5ffa3}.big-chart-area{fill:#38d9ff2e}.big-chart-line{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.big-chart-dot{stroke:#0b2a5a;stroke-width:3px}.big-chart-value,.big-chart-date{fill:#cfe8ff;font-size:12px;font-weight:800}.kpi-panel{padding:22px 24px}.screen-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;display:grid}.screen-kpi{background:#285ba9b8;border-radius:8px;justify-items:center;gap:8px;min-height:124px;padding:16px 12px;display:grid;overflow:hidden}.screen-kpi svg{color:#dbeaffb3}.screen-kpi strong{text-align:center;white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:2px 4px;max-width:100%;line-height:1;display:flex}.screen-kpi .screen-kpi-value{color:#ff8b1c;white-space:nowrap;max-width:100%;font-size:clamp(20px,1.65vw,30px);font-weight:900}.screen-kpi small{color:#ffb66e;white-space:nowrap;font-size:14px;font-weight:900}.screen-kpi .screen-kpi-label{color:#fff;text-align:center;font-weight:800}.screen-kpi.cyan{background:#177897b3}.screen-kpi.green{background:#4c7852a6}.screen-kpi.gold{background:#877145a8}.screen-kpi.purple{background:#754682a3}.house-data-panel{padding:18px}.house-data-panel h2,.warning-panel h2{text-align:center;padding:10px 14px;font-size:20px}.screen-table{border:1px solid #2e97ffcc;gap:0;margin-top:24px;display:grid}.screen-table-head,.screen-table-row{grid-template-columns:1.1fr 1fr .7fr 1fr .9fr .8fr;display:grid}.screen-table-head span,.screen-table-row span,.screen-table-row strong{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #2e97ffb8;border-right:1px solid #2e97ffb8;justify-content:center;align-items:center;min-height:42px;padding:0 8px;display:flex;overflow:hidden}.screen-table-head span{color:#38a7ff;background:#143f7ed1;font-weight:900}.screen-table-row strong,.screen-table-row span{color:#edf7ff;font-weight:800}.screen-tag{background:#70e0b0;justify-self:center;width:74px;margin-top:7px;color:#08254b!important;border:0!important;min-height:28px!important}.screen-tag.danger{background:#ff6b3d;color:#fff!important}.screen-tag.brooding{background:#b7c7da;color:#08254b!important}.warning-panel{min-height:210px;padding:14px}.warning-table{gap:0;margin-top:10px;display:grid}.warning-table>div{border-bottom:1px solid #1f539abd;grid-template-columns:1.15fr 1fr 1fr;min-height:36px;display:grid}.warning-table>div.two-col{grid-template-columns:1.7fr .8fr}.warning-table span,.warning-table strong{color:#39a9ff;text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 8px;font-size:13px;font-weight:800;display:flex;overflow:hidden}.warning-table strong{color:#e8f6ff}.warning-table p{color:#94bce7;text-align:center;margin:18px 0 0;font-weight:800}.mobile-app-shell{color:#132116;background:radial-gradient(circle at 0 0,#f5d65a38,#0000 32%),linear-gradient(#0f2818 0%,#f4f8f0 34%,#f8fbf5 100%);min-height:100vh;padding:0 0 92px}.mobile-hero{color:#f8fff4;padding:22px 16px 18px}.mobile-brand-row,.mobile-user-card,.mobile-section-title,.mobile-task-head,.mobile-photo-picker,.mobile-tabbar,.mobile-tabbar button{align-items:center;display:flex}.mobile-brand-row .brand-mark{flex:none}.mobile-brand-row strong,.mobile-brand-row span{display:block}.mobile-brand-row strong{font-size:18px;line-height:1.25}.mobile-brand-row span{color:#f8fff4b8;margin-top:4px;font-size:12px}.mobile-user-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #ffffff29;border-radius:14px;justify-content:space-between;gap:12px;margin-top:18px;padding:15px}.mobile-user-card span,.mobile-user-card small{color:#f8fff4b8;display:block}.mobile-user-card strong{margin:5px 0;font-size:22px;display:block}.mobile-user-card button{color:#f8fff4;background:#ffffff1f;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-weight:800;display:inline-flex}.mobile-page{gap:14px;padding:0 14px;display:grid}.mobile-data-center-card{background:radial-gradient(circle at 100% 0,#cae78c4d,#0000 38%),#fffffff0;overflow:hidden}.mobile-data-center-card .mobile-section-title>small{color:#71806e;font-size:11px;font-weight:800}.mobile-data-center-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobile-data-center-grid.single{grid-template-columns:1fr}.mobile-data-center-grid button{color:#f8fff4;min-height:138px;font:inherit;text-align:left;border:0;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;padding:15px;display:grid;box-shadow:0 12px 28px #154a2b29}.mobile-data-center-grid button.report{background:linear-gradient(145deg,#1a5635,#398b4d)}.mobile-data-center-icon{color:#194f35;background:#e8f5b8;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.mobile-data-center-grid button>span:nth-child(2){min-width:0}.mobile-data-center-grid strong,.mobile-data-center-grid small{display:block}.mobile-data-center-grid strong{font-size:15px;line-height:1.35}.mobile-data-center-grid small{color:#f8fff4c2;margin-top:6px;font-size:11px;line-height:1.45}.mobile-data-center-grid b{color:#eff9d6;grid-column:1/-1;align-self:end;padding-top:3px;font-size:12px}.mobile-report-shell{background:#f4f8f0;padding-bottom:28px}.mobile-report-header{z-index:20;padding:max(14px, env(safe-area-inset-top)) 14px 14px;color:#f8fff4;background:linear-gradient(135deg,#102b1a,#216c40);align-items:center;gap:12px;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #10371f33}.mobile-report-header button{color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;min-height:38px;padding:0 13px;font-weight:800}.mobile-report-header span,.mobile-report-header strong{display:block}.mobile-report-header span{color:#f8fff4b3;font-size:11px}.mobile-report-header strong{margin-top:2px;font-size:17px}.mobile-report-page{min-width:0;padding-top:14px}.mobile-report-page>section,.mobile-report-page .report-filter-panel,.mobile-report-page .report-grid,.mobile-report-page .metric-grid{min-width:0}.mobile-report-page .topbar{display:none}.mobile-report-page .report-filter-panel,.mobile-report-page .report-grid,.mobile-report-page .metric-grid{grid-template-columns:1fr}.mobile-report-page .report-filter-panel{border-radius:16px;margin-bottom:0}.mobile-report-page .quick-date-ranges{grid-column:1}.mobile-report-page .panel,.mobile-report-page .metric,.mobile-report-page .report-card{border-radius:16px}.mobile-report-page .table-wrap,.mobile-report-page .admin-table-wrap{overscroll-behavior-inline:contain;overflow-x:auto}.mobile-environment-page{padding-bottom:12px}.mobile-environment-page .env-history-shell{gap:12px}.mobile-environment-page .env-history-header{background:#fffffff0;border:1px solid #d3e4cc;border-radius:16px;padding:14px;box-shadow:0 12px 34px #1e4d2d14}.mobile-environment-page .env-history-header h1{font-size:22px}.mobile-environment-page .env-history-header p,.mobile-environment-page .env-history-retention-strip span{line-height:1.5}.mobile-environment-page .env-house-live-card,.mobile-environment-page .env-device-status-panel,.mobile-environment-page .env-history-filter-panel,.mobile-environment-page .env-history-chart-panel,.mobile-environment-page .env-history-detail-panel{border-radius:16px;box-shadow:0 12px 34px #1e4d2d12}.mobile-environment-page .env-history-table{overscroll-behavior-inline:contain;overflow-x:auto}.mobile-environment-page .env-history-table-row{min-width:720px}.mobile-kpi-grid,.mobile-task-summary,.mobile-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobile-kpi-grid article,.mobile-kpi-grid .mobile-kpi-button,.mobile-task-summary article,.mobile-card{background:#ffffffeb;border:1px solid #d3e4cc;border-radius:16px;box-shadow:0 12px 34px #1e4d2d14}.mobile-kpi-grid article,.mobile-kpi-grid .mobile-kpi-button,.mobile-task-summary article{gap:9px;min-height:118px;padding:16px;display:grid}.mobile-kpi-grid .mobile-kpi-button{color:#132116;font:inherit;text-align:left;cursor:pointer}.mobile-kpi-grid article.warning,.mobile-task-summary article.warning{background:#fff4ef;border-color:#f3c7bd}.mobile-kpi-grid span,.mobile-task-summary span{color:#6a7868;font-size:13px;font-weight:700}.mobile-kpi-grid strong,.mobile-task-summary strong{font-size:24px;line-height:1}.mobile-kpi-grid .mobile-kpi-button small{color:#778474;font-size:11px;line-height:1.35}.mobile-immunization-card{background:radial-gradient(circle at 100% 0,#f4c54e2e,#0000 38%),#fffffff5;overflow:hidden}.mobile-immunization-card .mobile-section-title>svg{color:#247b49;flex:none}.mobile-immunization-summary{color:#1b6039;background:#edf7e9;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;padding:11px 12px;display:flex}.mobile-immunization-summary.warning{color:#a2392c;background:#fff0eb}.mobile-immunization-summary strong{font-size:15px}.mobile-immunization-summary span{text-align:right;font-size:12px;font-weight:800}.mobile-immunization-list{gap:10px;display:grid}.mobile-immunization-item{background:#fbfdf9;border:1px solid #d5e5ce;border-radius:14px;gap:8px;min-width:0;padding:13px;display:grid}.mobile-immunization-item-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.mobile-immunization-item-head small,.mobile-immunization-item p,.mobile-immunization-readonly{color:#6c7a68;font-size:12px}.mobile-immunization-item>strong{overflow-wrap:anywhere;font-size:16px;line-height:1.4}.mobile-immunization-item p{margin:0;line-height:1.5}.mobile-immunization-status{border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.mobile-immunization-status.today{color:#875d00;background:#fff0bf}.mobile-immunization-status.upcoming{color:#1c7043;background:#def2e2}.mobile-immunization-item button{color:#fff;min-height:42px;font:inherit;background:#247b49;border:0;border-radius:11px;font-weight:900}.mobile-immunization-readonly{font-weight:800}.mobile-immunization-more{color:#6d7969;text-align:center;margin:11px 0 0;font-size:12px;line-height:1.5}.mobile-immunization-empty{color:#6b7868;text-align:center;background:#f8fbf5;border:1px dashed #c9d9c3;border-radius:13px;padding:18px 12px;font-size:13px;font-weight:800;line-height:1.5}.mobile-immunization-empty.success{color:#256a40;background:#eff8ef;border-color:#b9d9bc}.feed-meal-mobile-page .report-filter-panel{border-radius:16px;grid-template-columns:1fr;margin-bottom:0}.feed-meal-mobile-page .quick-date-ranges{grid-column:1}.feed-meal-mobile-page .feed-meal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.feed-meal-mobile-page .feed-meal-summary-grid article,.feed-meal-mobile-page .feed-meal-group,.feed-meal-mobile-page .feed-meal-message,.feed-meal-mobile-page .feed-meal-detection-note,.feed-meal-mobile-page .feed-meal-empty{border-radius:16px}.feed-meal-mobile-page .feed-meal-house-summary,.feed-meal-mobile-page .feed-meal-message,.feed-meal-mobile-page .feed-meal-detection-note{margin-bottom:0}.feed-meal-mobile-page .feed-meal-desktop-table{display:none}.feed-meal-mobile-page .feed-meal-mobile-cards{gap:9px;display:grid}.feed-meal-mobile-intro p{color:#667563;margin:0;font-size:13px;line-height:1.65}.mobile-section-title{justify-content:space-between;gap:12px;margin-bottom:14px}.mobile-section-title span{color:#788574;font-size:13px;font-weight:800;display:block}.mobile-section-title strong{margin-top:3px;font-size:20px;display:block}.mobile-section-title button,.mobile-action-grid button,.mobile-primary{color:#1c5b38;background:#eff7e9;border:1px solid #bfdbb7;border-radius:12px;font-weight:900}.mobile-section-title button{min-height:36px;padding:0 14px}.mobile-house-list,.mobile-task-list{gap:10px;display:grid}.mobile-house-list article{background:#f6faf2;border-radius:13px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) auto;align-items:center;gap:10px;min-height:78px;padding:12px;display:grid}.mobile-house-list strong,.mobile-house-list span,.mobile-house-list b,.mobile-house-list small{display:block}.mobile-house-list strong{font-size:18px}.mobile-house-list em{text-align:center;border-radius:999px;min-width:58px;padding:8px 10px;font-style:normal;font-weight:900}.mobile-house-list em.ok{color:#1d7446;background:#dff3e5}.mobile-task-card{background:#fff;border:1px solid #d4e5cc;border-radius:16px;gap:11px;padding:15px;display:grid;box-shadow:0 10px 28px #1e4d2d12}.mobile-task-head{justify-content:space-between}.mobile-task-card strong{font-size:18px}.mobile-task-card p,.mobile-task-card small{color:#687764;margin:0;line-height:1.5}.mobile-task-evidence{color:#40543d;gap:6px;font-size:13px;font-weight:800;display:grid}.mobile-task-evidence textarea{resize:vertical;color:#263823;min-height:76px;font:inherit;background:#fbfdf9;border:1px solid #c9dbc3;border-radius:11px;padding:10px 11px;line-height:1.5}.mobile-photo-picker{color:#215a3a;background:#f7fbf4;border:1px dashed #b7d4ad;border-radius:12px;gap:8px;min-height:44px;padding:0 12px;font-weight:800;position:relative}.mobile-photo-picker input{opacity:0;position:absolute;inset:0}.mobile-photo-picker .photo-upload-field{width:100%}.mobile-primary{color:#fff;background:#247b49;justify-content:center;align-items:center;gap:8px;min-height:46px;display:inline-flex}.mobile-primary:disabled{cursor:not-allowed;opacity:.55}.mobile-entry-panel{overflow:hidden}.mobile-entry-open{padding-bottom:24px}.mobile-entry-open .mobile-hero{padding:max(12px, env(safe-area-inset-top)) 14px 12px}.mobile-entry-open .mobile-brand-row .brand-mark{width:42px;height:42px}.mobile-entry-open .mobile-brand-row strong{font-size:16px}.mobile-entry-open .mobile-brand-row span{margin-top:2px}.mobile-entry-open .mobile-user-card{margin-top:10px;padding:10px 12px}.mobile-entry-open .mobile-user-card>div>span{display:none}.mobile-entry-open .mobile-user-card strong{margin:0 0 2px;font-size:18px}.mobile-entry-open .mobile-user-card button{min-height:34px}.mobile-entry-open .mobile-page{gap:0;padding:0 12px 24px}.mobile-entry-open .mobile-entry-panel{border-radius:18px;padding:15px}.mobile-entry-open .mobile-section-title{align-items:center;margin-bottom:16px}.mobile-entry-open .mobile-section-title strong{font-size:22px}.mobile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mobile-registration-form{grid-template-columns:1fr;gap:14px}.mobile-registration-form>*{grid-column:1}.mobile-registration-form .mobile-photo-picker{border-radius:14px;min-height:0;padding:12px;display:block}.mobile-required-photo-label{color:#9f2f24;margin-bottom:8px;font-size:14px;font-weight:750;display:block}.mobile-registration-form .photo-upload-status{background:0 0;border:0;min-height:0;margin-bottom:10px;padding:0}.mobile-registration-form .photo-upload-status span{text-overflow:clip;white-space:normal;line-height:1.5;overflow:visible}.mobile-registration-form .photo-source-actions button,.mobile-registration-form .mobile-primary{border-radius:13px;min-height:50px;font-size:15px}.mobile-form-grid label{color:#52634e;gap:7px;min-width:0;font-size:13px;font-weight:900;display:grid}.mobile-form-grid label.full,.mobile-calc-card,.mobile-form-grid .mobile-primary,.mobile-save-message{grid-column:1/-1}.mobile-form-grid input,.mobile-form-grid select,.mobile-form-grid textarea{color:#132116;background:#fff;border:1px solid #c3dcbb;border-radius:12px;width:100%;min-width:0;min-height:46px;padding:0 12px;font-size:16px}.mobile-form-grid .immunization-unit-input>input{border-radius:12px 0 0 12px}.mobile-form-grid .immunization-unit-input>span{border-radius:0 12px 12px 0;min-height:46px;font-size:14px}.mobile-form-grid textarea{resize:vertical;min-height:96px;padding:12px;line-height:1.5}.mobile-calc-card{background:#f4faf0;border:1px solid #cfe3c7;border-radius:8px;gap:6px;padding:13px;display:grid}.mobile-calc-card span{color:#687764;font-size:13px;font-weight:900}.mobile-calc-card strong{font-size:24px}.mobile-calc-card p{color:#5f6f5b;margin:0;line-height:1.5}.mobile-calc-card small{color:#6f7f69;font-size:12px;line-height:1.45}.mobile-save-message{color:#42503f;text-align:left;background:#f4f7f2;border:2px solid #c9d7c5;border-radius:15px;align-items:flex-start;gap:12px;padding:14px;display:flex;box-shadow:0 8px 22px #22381f1a}.mobile-save-message.success{color:#126737;background:linear-gradient(135deg,#e8f8ed,#f7fff9);border-color:#35a55f;animation:.36s ease-out mobile-save-success-pop;box-shadow:0 10px 26px #19844433}.mobile-save-message.error{color:#9f2f20;background:#fff1ee;border-color:#e08272}.mobile-save-message.loading{color:#225d9c;background:#eff6ff;border-color:#7da5d9}.mobile-save-message-icon{background:#ffffffc7;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.mobile-save-message.success .mobile-save-message-icon{color:#fff;background:#249552}.mobile-save-message-copy{gap:3px;min-width:0;line-height:1.45;display:grid}.mobile-save-message-copy strong{font-size:18px;font-weight:1000}.mobile-save-message-copy>span{font-size:14px;font-weight:750}@keyframes mobile-save-success-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-action-grid button{text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:82px;padding:12px;font-size:15px;display:grid}.mobile-action-grid button b{grid-column:1/-1}.mobile-daily-reminder-card{background:linear-gradient(145deg,#fff9ebfa,#fffffff5);border-color:#edc7a8;box-shadow:0 16px 38px #7e45191f}.mobile-reminder-count{background:#fff0d8;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;color:#8a4b1e!important;font-size:12px!important;display:inline-flex!important}.mobile-reminder-action-grid{gap:10px;display:grid}.mobile-reminder-action,.mobile-entry-action{color:#203b29;cursor:pointer;background:#f7fbf5;border:1px solid #d8e6d3;border-radius:15px;width:100%;position:relative}.mobile-reminder-action{min-height:76px;font:inherit;text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;display:grid}.mobile-reminder-icon{color:#27724a;background:#e3f2e2;border-radius:13px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.mobile-reminder-copy{min-width:0}.mobile-reminder-copy strong,.mobile-reminder-copy small{display:block}.mobile-reminder-copy strong{font-size:16px;line-height:1.3}.mobile-reminder-copy small{color:#657462;margin-top:4px;font-size:12px;font-weight:700;line-height:1.45}.mobile-reminder-action b,.mobile-entry-action b{color:#336045;white-space:nowrap;background:#e8f3e5;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 9px;font-size:11px;display:inline-flex}.mobile-reminder-action.medicine,.mobile-entry-action.medicine{background:#f2f8fc;border-color:#b9d5e9}.mobile-reminder-action.medicine .mobile-reminder-icon,.mobile-entry-action.medicine .mobile-reminder-icon{color:#286b97;background:#dceefa}.mobile-reminder-action.vaccine,.mobile-entry-action.vaccine{background:#f7f5ff;border-color:#c9c5eb}.mobile-reminder-action.vaccine .mobile-reminder-icon,.mobile-entry-action.vaccine .mobile-reminder-icon{color:#6454a7;background:#e9e4ff}.mobile-note-card,.mobile-profile-card{gap:8px;display:grid}.mobile-note-card{color:#50634e;grid-template-columns:auto 1fr;align-items:start}.mobile-note-card p{margin:0;line-height:1.6}.mobile-profile-card{text-align:center;justify-items:center}.mobile-profile-card strong{font-size:24px}.mobile-profile-card span,.mobile-profile-card p{color:#6b7968;margin:0}.mobile-update-card{gap:13px;display:grid}.mobile-update-card .mobile-section-title{align-items:center;margin-bottom:0}.mobile-update-card .mobile-section-title>svg{color:#247b49}.mobile-update-current,.mobile-update-release{background:#f4f9f0;border-radius:13px;gap:5px;padding:13px;display:grid}.mobile-update-current span,.mobile-update-current small,.mobile-update-release span,.mobile-update-hint{color:#6b7968}.mobile-update-current strong,.mobile-update-release strong{font-size:17px}.mobile-update-release{background:#edf7e8;border:1px solid #b7d8ad}.mobile-update-release>div{justify-content:space-between;gap:10px;display:flex}.mobile-update-release p,.mobile-update-message{color:#50634e;white-space:pre-wrap;margin:0;line-height:1.55}.mobile-update-message{background:#f4f7f2;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:800}.mobile-chip-row{flex-wrap:wrap;gap:8px;display:flex}.mobile-chip-row span{color:#1c5b38;background:#eef7e8;border-radius:999px;padding:8px 12px;font-weight:900}.mobile-empty{color:#6b7968;text-align:center;background:#f5faf1;border-radius:12px;padding:18px;font-weight:800}.mobile-tabbar{right:14px;bottom:max(12px, env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(24px)saturate(145%);background:linear-gradient(#fffffff7,#f8fcf6f0);border:1px solid #ffffffc2;border-radius:25px;justify-content:space-between;min-height:70px;padding:7px 9px;position:fixed;left:14px;box-shadow:0 18px 46px #13301d2e,0 4px 12px #13301d14,inset 0 1px #ffffffe6}.mobile-tabbar button{color:#6d7a6b;letter-spacing:.02em;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:18px;flex-direction:column;justify-content:center;gap:3px;min-width:62px;min-height:54px;padding:3px 13px;font-size:11px;font-weight:800;transition:color .18s,background .18s,box-shadow .18s,transform .18s;position:relative}.mobile-tabbar button:active{transform:scale(.96)}.mobile-tabbar-icon{border-radius:11px;place-items:center;width:30px;height:28px;transition:transform .18s;display:grid}.mobile-tabbar-label{line-height:1.1}.mobile-tabbar button.active{color:#fff;background:linear-gradient(145deg,#2b8d57 0%,#176b3e 100%);box-shadow:0 9px 20px #1c774640,inset 0 1px #fff3}.mobile-tabbar button.active .mobile-tabbar-icon{transform:translateY(-1px)}.mobile-tabbar button.mobile-tabbar-entry:not(.active) .mobile-tabbar-icon{color:#236f45;background:#f1f7ef;border:1px solid #d9e7d5;width:34px;height:30px}.mobile-app-shell{--vis-green:#003d2d;--vis-green-soft:#e9f0ed;--vis-red:#f0442e;--vis-red-soft:#fff0ec;--vis-cream:#f6e5c5;--vis-cream-soft:#fbf2df;--vis-yellow:#f6c844;--vis-pink:#e97c6d;--vis-paper:#f7f3ea;--vis-ink:#12241e;--vis-muted:#6d7a74;--vis-line:#d9ded9;background:var(--vis-paper);min-height:100vh;color:var(--vis-ink);padding-bottom:96px;font-family:Noto Sans CJK SC,Source Han Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.mobile-hero{padding:max(22px, env(safe-area-inset-top)) 18px 22px;background:var(--vis-green);color:#fff;position:relative;overflow:hidden}.mobile-hero:after{border:22px solid var(--vis-cream);background:var(--vis-red);content:"";pointer-events:none;border-radius:50%;width:138px;height:138px;position:absolute;top:-52px;right:-44px}.mobile-brand-row,.mobile-user-card{z-index:1;position:relative}.mobile-brand-row{gap:13px}.mobile-brand-row .brand-mark{background:var(--vis-cream);width:52px;height:52px;box-shadow:none;border:1px solid #f6e5c5b8;border-radius:10px}.mobile-brand-row strong{color:#fff;letter-spacing:.01em;max-width:260px;font-size:19px;font-weight:850}.mobile-brand-row span{color:#ffffffb3;letter-spacing:.06em;font-size:12px}.mobile-user-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f6e5c514;border:1px solid #f6e5c566;border-radius:14px;margin-top:20px;padding:16px}.mobile-user-card span,.mobile-user-card small{color:#ffffffad}.mobile-user-card strong{color:#fff;font-weight:900}.mobile-user-card button{color:#fff;background:0 0;border-color:#f6e5c580;border-radius:10px}.mobile-page{gap:14px;padding:16px 14px 0}.mobile-kpi-grid,.mobile-task-summary,.mobile-action-grid{gap:10px}.mobile-kpi-grid article,.mobile-kpi-grid .mobile-kpi-button,.mobile-task-summary article,.mobile-card,.mobile-task-card{border:1px solid var(--vis-line);background:#fff;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 6px 18px #003d2d0f}.mobile-kpi-grid article,.mobile-kpi-grid .mobile-kpi-button,.mobile-task-summary article{border-top:3px solid var(--vis-green);min-height:116px;padding:15px}.mobile-kpi-grid article:nth-child(2){border-top-color:var(--vis-yellow)}.mobile-kpi-grid .mobile-kpi-button{border-top-color:var(--vis-cream)}.mobile-kpi-grid article.warning,.mobile-task-summary article.warning{border-color:#f0442e5c;border-top-color:var(--vis-red);background:var(--vis-red-soft)}.mobile-kpi-grid article svg,.mobile-kpi-grid .mobile-kpi-button svg,.mobile-task-summary article svg{color:var(--vis-green)}.mobile-kpi-grid article.warning svg{color:var(--vis-red)}.mobile-kpi-grid span,.mobile-task-summary span,.mobile-kpi-grid .mobile-kpi-button small{color:var(--vis-muted)}.mobile-kpi-grid strong,.mobile-task-summary strong{color:var(--vis-ink);font-size:25px;font-weight:900}.mobile-card{padding:16px}.mobile-section-title span{color:var(--vis-muted);letter-spacing:.02em}.mobile-section-title strong{color:var(--vis-ink);font-weight:900}.mobile-section-title button,.mobile-action-grid button,.mobile-primary{border-color:var(--vis-green);background:var(--vis-green);color:#fff;border-radius:10px}.mobile-daily-reminder-card{border-color:#ead8b7;border-top:4px solid var(--vis-yellow);background:var(--vis-cream-soft);box-shadow:0 6px 18px #5f401012}.mobile-reminder-count{background:var(--vis-cream);color:var(--vis-green)!important}.mobile-reminder-action,.mobile-entry-action{border-color:var(--vis-line);color:var(--vis-ink);background:#fff;border-radius:12px}.mobile-action-grid .mobile-entry-action{border-color:var(--vis-line);color:var(--vis-ink);background:#fff}.mobile-action-grid .mobile-entry-action .mobile-reminder-copy strong{color:var(--vis-ink)}.mobile-action-grid .mobile-entry-action .mobile-reminder-copy small{color:var(--vis-muted)}.mobile-reminder-icon{color:var(--vis-green);background:var(--vis-green-soft);border-radius:9px}.mobile-reminder-copy small{color:var(--vis-muted)}.mobile-reminder-action b,.mobile-entry-action b{color:var(--vis-green);background:var(--vis-green-soft)}.mobile-reminder-action.urgent,.mobile-entry-action.urgent{background:var(--vis-red-soft);border-color:#f0442e59}.mobile-reminder-action.urgent .mobile-reminder-icon,.mobile-entry-action.urgent .mobile-reminder-icon{color:var(--vis-red);background:#ffdcd5}.mobile-reminder-action.urgent b,.mobile-entry-action.urgent b{color:#a72e20;background:#ffd9d2}.mobile-reminder-action.warning,.mobile-entry-action.warning,.mobile-reminder-action.egg,.mobile-entry-action.egg{background:var(--vis-cream-soft);border-color:#ead8b7}.mobile-reminder-action.warning .mobile-reminder-icon,.mobile-entry-action.warning .mobile-reminder-icon,.mobile-reminder-action.egg .mobile-reminder-icon,.mobile-entry-action.egg .mobile-reminder-icon{color:#6b5200;background:var(--vis-yellow)}.mobile-reminder-action.medicine,.mobile-entry-action.medicine,.mobile-reminder-action.vaccine,.mobile-entry-action.vaccine{border-color:var(--vis-line);background:#fff}.mobile-reminder-action.medicine .mobile-reminder-icon,.mobile-entry-action.medicine .mobile-reminder-icon,.mobile-reminder-action.vaccine .mobile-reminder-icon,.mobile-entry-action.vaccine .mobile-reminder-icon{color:var(--vis-green);background:var(--vis-green-soft)}.mobile-reminder-action.feed,.mobile-entry-action.feed{background:var(--vis-green-soft);border-color:#003d2d3d}.mobile-reminder-action.feed .mobile-reminder-icon,.mobile-entry-action.feed .mobile-reminder-icon{color:#fff;background:var(--vis-green)}.mobile-immunization-card,.mobile-data-center-card{background:#fff}.mobile-immunization-card{border-top:4px solid var(--vis-red)}.mobile-immunization-card .mobile-section-title>svg,.mobile-update-card .mobile-section-title>svg{color:var(--vis-green)}.mobile-immunization-summary{background:var(--vis-green-soft);color:var(--vis-green)}.mobile-immunization-summary.warning{background:var(--vis-red-soft);color:#a52e20}.mobile-immunization-item{border-color:var(--vis-line);background:#fff;border-radius:11px}.mobile-immunization-item-head small,.mobile-immunization-item p,.mobile-immunization-readonly,.mobile-immunization-more{color:var(--vis-muted)}.mobile-immunization-status.overdue{color:#a52e20;background:#ffdcd5}.mobile-immunization-status.today{background:var(--vis-yellow);color:#594500}.mobile-immunization-status.upcoming{background:var(--vis-green-soft);color:var(--vis-green)}.mobile-immunization-status.unknown{color:var(--vis-muted);background:#eef0ee}.mobile-immunization-item button{background:var(--vis-green);border-radius:9px}.mobile-immunization-empty,.mobile-immunization-empty.success{border-color:var(--vis-line);background:var(--vis-paper);color:var(--vis-muted)}.mobile-data-center-card{border-top:4px solid var(--vis-green)}.mobile-data-center-grid button{min-height:132px;box-shadow:none;border:0;border-radius:12px}.mobile-data-center-grid button.environment{background:var(--vis-green)}.mobile-data-center-grid button.report{background:var(--vis-cream);color:var(--vis-green);border:1px solid #ead8b7}.mobile-data-center-grid button.report small{color:#003d2dad}.mobile-data-center-grid button.report b{color:var(--vis-green)}.mobile-data-center-icon{color:var(--vis-green);background:var(--vis-cream);border-radius:9px}.mobile-data-center-grid button.report .mobile-data-center-icon{color:#fff;background:var(--vis-red)}.mobile-house-list article{border:1px solid var(--vis-line);background:#fff;border-radius:11px}.mobile-house-list strong,.mobile-house-list b{color:var(--vis-ink)}.mobile-house-list span,.mobile-house-list small{color:var(--vis-muted)}.mobile-house-list em{border-radius:8px}.mobile-house-list em.ok{background:var(--vis-green-soft);color:var(--vis-green)}.mobile-house-list em.danger,.mobile-house-list em.missing{color:#a52e20;background:#ffdcd5}.mobile-task-card{border-left:4px solid var(--vis-green)}.mobile-task-card p,.mobile-task-card small{color:var(--vis-muted)}.mobile-app-shell .priority.high{color:#a52e20;background:#ffdcd5}.mobile-app-shell .priority.medium,.mobile-app-shell .status.working{color:#594500;background:var(--vis-yellow)}.mobile-app-shell .status.waiting{color:var(--vis-muted);background:#eef0ee}.mobile-app-shell .status.submitted,.mobile-app-shell .status.done{color:var(--vis-green);background:var(--vis-green-soft)}.mobile-task-evidence{color:var(--vis-ink)}.mobile-task-evidence textarea,.mobile-form-grid input,.mobile-form-grid select,.mobile-form-grid textarea{border-color:var(--vis-line);color:var(--vis-ink);box-shadow:none;background:#fff;border-radius:10px}.mobile-task-evidence textarea:focus,.mobile-form-grid input:focus,.mobile-form-grid select:focus,.mobile-form-grid textarea:focus{border-color:var(--vis-green);outline:3px solid #003d2d1a}.mobile-photo-picker{background:var(--vis-paper);color:var(--vis-green);border-color:#003d2d6b;border-radius:10px}.mobile-registration-form .photo-source-actions button{border-color:var(--vis-green);background:var(--vis-green);color:#fff;box-shadow:none;border-radius:10px}.mobile-registration-form .photo-source-actions button.disabled{color:#f5f5f5;opacity:1;background:#aeb7b2;border-color:#aeb7b2}.mobile-required-photo-label{color:var(--vis-red)}.mobile-primary{background:var(--vis-green);box-shadow:none}.mobile-primary:disabled{color:#f5f5f5;opacity:1;background:#aeb7b2;border-color:#aeb7b2}.mobile-entry-panel{border-top:4px solid var(--vis-green)}.mobile-entry-open{background:var(--vis-paper)}.mobile-entry-open .mobile-entry-panel{border-radius:14px}.mobile-form-grid label{color:var(--vis-ink)}.mobile-calc-card,.mobile-update-current,.mobile-update-message{border-color:var(--vis-line);background:var(--vis-paper);border-radius:10px}.mobile-calc-card span,.mobile-calc-card p,.mobile-calc-card small,.mobile-update-current span,.mobile-update-current small,.mobile-update-release span,.mobile-update-hint{color:var(--vis-muted)}.mobile-guide-card{background:var(--vis-cream-soft);border-color:#ead8b7}.mobile-vaccine-validation.reasonable{color:var(--vis-green);background:var(--vis-green-soft);border-color:#003d2d4d}.mobile-vaccine-validation.waste,.mobile-vaccine-validation.insufficient,.mobile-vaccine-validation.incompatible{color:#9f2f20;background:var(--vis-red-soft);border-color:#f0442e5c}.mobile-save-message{border:1px solid var(--vis-line);border-left:4px solid var(--vis-green);color:var(--vis-ink);box-shadow:none;background:#fff;border-radius:10px}.mobile-save-message.success{border-color:var(--vis-green);background:var(--vis-green-soft);color:var(--vis-green);box-shadow:none}.mobile-save-message.error{border-color:var(--vis-red);background:var(--vis-red-soft);color:#9f2f20}.mobile-save-message.loading{border-color:var(--vis-yellow);background:var(--vis-cream-soft);color:var(--vis-green)}.mobile-save-message.success .mobile-save-message-icon{background:var(--vis-green)}.mobile-profile-card{border-top:4px solid var(--vis-green)}.mobile-profile-card>svg{color:var(--vis-green)}.mobile-profile-card span,.mobile-profile-card p,.mobile-note-card,.mobile-update-release p,.mobile-update-message{color:var(--vis-muted)}.mobile-update-release{background:var(--vis-cream-soft);border-color:#ead8b7}.mobile-chip-row span{background:var(--vis-green-soft);color:var(--vis-green);border:1px solid #003d2d24;border-radius:8px}.mobile-empty{border:1px dashed var(--vis-line);color:var(--vis-muted);background:#fff}.mobile-app-shell .panel{border-color:var(--vis-line);background:#fff;border-radius:12px;box-shadow:0 5px 16px #003d2d0d}.mobile-report-shell{background:var(--vis-paper)}.mobile-report-header{background:var(--vis-green);box-shadow:none}.mobile-report-header button{background:0 0;border-color:#f6e5c580;border-radius:9px}.mobile-report-page .report-filter-panel,.mobile-report-page .panel,.mobile-report-page .metric,.mobile-report-page .report-card,.feed-meal-mobile-page .report-filter-panel,.feed-meal-mobile-page .feed-meal-summary-grid article,.feed-meal-mobile-page .feed-meal-group,.feed-meal-mobile-page .feed-meal-message,.feed-meal-mobile-page .feed-meal-detection-note,.feed-meal-mobile-page .feed-meal-empty,.mobile-environment-page .env-history-header,.mobile-environment-page .env-house-live-card,.mobile-environment-page .env-device-status-panel,.mobile-environment-page .env-history-filter-panel,.mobile-environment-page .env-history-chart-panel,.mobile-environment-page .env-history-detail-panel{border-color:var(--vis-line);background-color:#fff;border-radius:12px;box-shadow:0 5px 16px #003d2d0d}.mobile-environment-page .env-history-header{border-top:4px solid var(--vis-green)}.mobile-environment-page .env-history-header-actions button,.mobile-environment-page .env-history-filter-panel button{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-paper);border-radius:9px}.mobile-environment-page .env-history-header-actions .env-history-back{border-color:var(--vis-green);color:#fff;background:var(--vis-green)}.mobile-environment-page .env-history-retention-strip{background:var(--vis-cream-soft);color:var(--vis-green);border-color:#ead8b7}.mobile-environment-page .env-house-live-card.selected{border-color:var(--vis-green);box-shadow:inset 0 0 0 1px var(--vis-green)}.mobile-environment-page .env-house-primary,.mobile-environment-page .env-house-card-head strong,.mobile-environment-page .env-house-live-card footer em{color:var(--vis-green)}.mobile-environment-page .env-house-card-head strong,.mobile-environment-page .env-house-live-card dl div{background:var(--vis-green-soft)}.mobile-environment-page .env-house-live-card.offline{background:var(--vis-cream-soft);border-color:#ead8b7}.feed-meal-mobile-page .report-filter-panel label span,.mobile-report-page .report-filter-panel label span{color:var(--vis-ink)}.feed-meal-mobile-page .report-filter-panel input,.feed-meal-mobile-page .report-filter-panel select,.mobile-report-page .report-filter-panel input,.mobile-report-page .report-filter-panel select{border-color:var(--vis-line);color:var(--vis-ink);background:#fff;border-radius:10px}.feed-meal-mobile-page .report-filter-summary,.mobile-report-page .report-filter-summary{background:var(--vis-green);border-radius:10px}.feed-meal-mobile-page .quick-date-ranges button,.mobile-report-page .quick-date-ranges button{color:var(--vis-green);background:var(--vis-cream-soft);border-color:#ead8b7;border-radius:9px}.feed-meal-mobile-page .quick-date-ranges button.selected,.mobile-report-page .quick-date-ranges button.selected{border-color:var(--vis-green);color:#fff;background:var(--vis-green)}.feed-meal-mobile-page .feed-meal-summary-grid article{border-top:3px solid var(--vis-green)}.feed-meal-mobile-page .feed-meal-summary-grid article.warning{border-color:#f0442e59;border-top-color:var(--vis-red);background:var(--vis-red-soft)}.feed-meal-mobile-page .feed-meal-summary-grid span,.feed-meal-mobile-page .feed-meal-summary-grid small,.feed-meal-mobile-page .feed-meal-group-head span,.feed-meal-mobile-page .feed-meal-group-head small,.feed-meal-mobile-page .feed-meal-status small{color:var(--vis-muted)}.feed-meal-mobile-page .feed-meal-house-summary button,.feed-meal-mobile-page .feed-meal-mobile-cards>article{border-color:var(--vis-line);color:var(--vis-ink);background:#fff;border-radius:10px}.feed-meal-mobile-page .feed-meal-house-summary button:hover,.feed-meal-mobile-page .feed-meal-house-summary button.selected{border-color:var(--vis-green);background:var(--vis-green-soft);box-shadow:inset 4px 0 0 var(--vis-green)}.feed-meal-mobile-page .feed-meal-detection-note{color:var(--vis-green);background:var(--vis-paper)}.feed-meal-mobile-page .feed-meal-detection-note svg,.feed-meal-mobile-page .feed-meal-status strong{color:var(--vis-green)}.feed-meal-mobile-page .feed-meal-message.warning,.feed-meal-mobile-page .feed-meal-status.alert strong{color:#9f2f20;background:var(--vis-red-soft);border-color:#f0442e59}.feed-meal-mobile-page .feed-meal-status.working strong{color:#594500}.feed-meal-mobile-page .feed-meal-status button{color:#9f2f20;background:#fff;border-color:#f0442e59}.mobile-app-shell button:focus-visible,.mobile-app-shell input:focus-visible,.mobile-app-shell select:focus-visible,.mobile-app-shell textarea:focus-visible{outline-offset:2px;outline:3px solid #f6c844b8}.mobile-app-shell button:active:not(:disabled){transform:translateY(1px)}.feed-meal-mobile-intro p{color:var(--vis-muted)}.mobile-tabbar{right:12px;bottom:max(10px, env(safe-area-inset-bottom));border:1px solid var(--vis-line);-webkit-backdrop-filter:none;background:#fff;border-radius:18px;min-height:68px;padding:7px 8px;left:12px;box-shadow:0 10px 28px #003d2d24}.mobile-tabbar button{min-height:52px;color:var(--vis-muted);border-radius:12px}.mobile-tabbar button.active{background:var(--vis-green);color:#fff;box-shadow:none}.mobile-tabbar button:not(.active) .mobile-tabbar-icon{color:var(--vis-green)}.mobile-tabbar button.mobile-tabbar-entry:not(.active) .mobile-tabbar-icon{background:var(--vis-cream);color:var(--vis-green);border-color:#ead8b7;border-radius:9px}@media (width<=360px){.mobile-tabbar{padding-inline:6px;left:8px;right:8px}.mobile-tabbar button{min-width:56px;padding-inline:9px}}@media (width<=1500px){.admin-layout{grid-template-columns:1fr}.module-menu,.position-option-grid,.position-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.report-review-row{grid-template-columns:1fr}.report-review-approve{justify-self:start}.module-side{max-height:none;position:static}.module-side-scroll{overflow-y:visible}.metric-grid,.feed-meal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-grid,.workflow,.task-command-grid,.dashboard-insights,.admin-layout,.admin-grid,.admin-grid.lower,.report-filter-panel,.module-workspace,.role-permission-layout,.position-settings-layout{grid-template-columns:1fr}.task-list,.permission-grid,.env-grid,.module-summary,.permission-module-grid,.role-template-grid,.position-summary-grid,.position-option-grid,.position-permission-grid,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.leader-screen-grid,.antibody-chart-grid{grid-template-columns:1fr}.screen-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.report-review-panel{border-radius:16px;padding:13px}.report-review-heading{flex-direction:column;align-items:stretch}.report-review-heading>strong{align-self:flex-start}.report-review-record>div{flex-wrap:wrap;align-items:flex-start}.report-review-record>div span{width:100%;margin-left:26px}.report-review-record dl{grid-template-columns:repeat(2,minmax(0,1fr))}.report-review-approve{width:100%}.record-summary-meta,.side-detail-grid,.medicine-group-summary,.medicine-batch-fields{grid-template-columns:1fr}.side-detail-item.is-wide{grid-column:auto}.app-shell{grid-template-columns:1fr}.side-nav{height:auto;position:static}.side-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:12px}.topbar{flex-direction:column;align-items:stretch}.metric-grid,.feed-meal-summary-grid,.task-list,.task-detail-grid,.permission-grid,.env-grid,.env-values,.report-grid,.dashboard-insights,.task-command-grid,.report-filter-panel,.module-summary,.permission-module-grid,.role-template-grid,.position-summary-grid,.position-option-grid,.position-permission-grid,.position-basic-grid,.position-employee-list article,.filter-bar,.form-grid,.timeline{grid-template-columns:1fr}.feed-meal-desktop-table{display:none}.feed-meal-mobile-cards{gap:9px;display:grid}.antibody-section-head{flex-direction:column;align-items:stretch}.antibody-section-head select{width:100%}.antibody-analysis-filters{grid-template-columns:1fr;width:100%}.antibody-preview-meta,.antibody-analysis-summary,.supplier-import-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.record-detail-drawer{border-left:0;width:100%}.record-detail-grid{grid-template-columns:1fr}.record-detail-field.is-wide{grid-column:auto}.feed-meal-group-head{align-items:flex-start}.position-basic-grid label.wide{grid-column:auto}.position-editor-head{flex-direction:column;align-items:stretch}.table-head{display:none}.table-row{grid-template-columns:1fr 1fr;min-height:auto;padding:12px}.camera-modal-backdrop,.unsaved-changes-backdrop{padding:12px}.unsaved-changes-dialog{grid-template-columns:1fr;padding:18px}.unsaved-changes-actions{flex-direction:column;grid-column:auto}.unsaved-changes-actions button{width:100%}.camera-selector-grid,.camera-meta-grid{grid-template-columns:1fr}.camera-player-toolbar{flex-direction:column;align-items:stretch}.button-row{grid-template-columns:1fr}.module-group{border-radius:8px;gap:9px;padding:12px}.module-group strong{font-size:14px}.module-group div{grid-template-columns:1fr 1fr;gap:8px}.module-group button{min-height:36px;font-size:12px}.button-row.compact{display:grid}.employee-switch{justify-content:space-between}.table-toolbar,.quick-grid{grid-template-columns:1fr;display:grid}.setting-row,.rule-card,.audit-item{grid-template-columns:1fr;align-items:stretch}}.app-shell:not(.screen-mode){--vis-brand-green:#003d2d;--vis-brand-red:#f0442e;--vis-brand-cream:#f6e5c5;--vis-brand-yellow:#f6c844;--vis-brand-pink:#e97c6d;--vis-green:#2f735e;--vis-green-strong:#255c4c;--vis-rail:#003d2d;--vis-red:#d56f5c;--vis-red-ink:#a94f42;--vis-cream:#f3e9d9;--vis-yellow:#c9a84f;--vis-yellow-ink:#705b28;--vis-pink:#df9a8d;--vis-paper:#f7f8f4;--vis-surface-muted:#f1f5f2;--vis-ink:#21352e;--vis-muted:#64766e;--vis-line:#dce5e0;--vis-line-strong:#bfcec7;--vis-white:#fff;--vis-green-soft:#e4f1ea;--vis-green-selected:#d8ebe2;--vis-cream-soft:#fbf3e4;--vis-pink-soft:#fceeea;--vis-red-soft:#faece8;--vis-yellow-soft:#faf3df;--vis-shadow:0 1px 2px #20483c06, 0 9px 26px #20483c0e;--vis-shadow-hover:0 2px 5px #20483c0a, 0 14px 32px #20483c13;--vis-shadow-float:0 18px 48px #20483c29;--primary:var(--vis-green);--muted:var(--vis-muted);--ink:var(--vis-ink);--line:var(--vis-line);width:100%;max-width:100vw;color:var(--vis-ink);background:radial-gradient(circle at 90% 0%, #f6c84417, transparent 26rem), var(--vis-paper);grid-template-columns:264px minmax(0,1fr);font-family:Noto Sans CJK SC,Source Han Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif;overflow-x:hidden}.app-shell:not(.screen-mode) *,.app-shell:not(.screen-mode) :before,.app-shell:not(.screen-mode) :after{box-sizing:border-box}.app-shell:not(.screen-mode) .workspace{background:radial-gradient(circle at 96% 1%, #f6c8441a, transparent 25rem), linear-gradient(180deg, #fbfcf8 0, var(--vis-paper) 360px);background-color:var(--vis-paper);background-repeat:no-repeat;width:100%;min-width:0;max-width:calc(100vw - 264px);padding:30px 34px 44px;overflow:clip}.app-shell:not(.screen-mode) .workspace>*{min-width:0;max-width:100%}.app-shell:not(.screen-mode) h1,.app-shell:not(.screen-mode) h2,.app-shell:not(.screen-mode) h3,.app-shell:not(.screen-mode) strong{color:var(--vis-ink)}.app-shell:not(.screen-mode) small{color:var(--vis-muted)}.app-shell:not(.screen-mode) button,.app-shell:not(.screen-mode) input,.app-shell:not(.screen-mode) select,.app-shell:not(.screen-mode) textarea{font-family:inherit}.app-shell:not(.screen-mode) button:focus-visible,.app-shell:not(.screen-mode) input:focus-visible,.app-shell:not(.screen-mode) select:focus-visible,.app-shell:not(.screen-mode) textarea:focus-visible,.app-shell:not(.screen-mode) [tabindex]:focus-visible{outline-offset:2px;outline:3px solid #5f927e}.app-shell:not(.screen-mode) .side-nav button:focus-visible{outline-color:var(--vis-brand-yellow)}.app-shell:not(.screen-mode) .side-nav{z-index:30;height:100vh;color:var(--vis-brand-cream);background:radial-gradient(circle at 16% -3%, #f6c84424, transparent 230px), linear-gradient(180deg, #f6e5c51a 0%, #f6e5c509 44%, transparent 100%), var(--vis-brand-green);scrollbar-color:#f6e5c547 transparent;border-right:1px solid #f6e5c524;padding:24px 16px 20px;position:sticky;top:0;overflow:auto}.app-shell:not(.screen-mode) .brand{border-bottom:1px solid #f6e5c533;gap:12px;margin-bottom:26px;padding:0 2px 20px}.app-shell:not(.screen-mode) .brand-mark{width:48px;height:48px;color:var(--vis-brand-green);background:var(--vis-brand-yellow);border:1px solid #f6e5c585;border-radius:11px;flex:none;box-shadow:0 8px 20px #00191233,0 0 0 1px #f6e5c538}.app-shell:not(.screen-mode) .brand strong{color:var(--vis-white);font-size:17px;line-height:1.25}.app-shell:not(.screen-mode) .brand span{color:#f6e5c5db;white-space:normal;margin-top:3px;font-size:11px}.app-shell:not(.screen-mode) .side-nav nav{gap:6px}.app-shell:not(.screen-mode) .side-nav button{color:#f6e5c5d1;background:0 0;border:1px solid #0000;border-radius:10px;min-height:43px;padding:0 12px;font-size:14px;font-weight:700;transition:color .14s,background-color .14s,border-color .14s;position:relative}.app-shell:not(.screen-mode) .side-nav button:hover{color:var(--vis-white);background:#f6e5c516;border-color:#f6e5c51f}.app-shell:not(.screen-mode) .side-nav .nav-active{color:var(--vis-white);box-shadow:inset 3px 0 0 var(--vis-brand-yellow), 0 8px 22px #0019121f;background:linear-gradient(90deg,#f6e5c52b,#f6e5c517);border-color:#f6e5c52e}.app-shell:not(.screen-mode) .side-nav .nav-active:before{display:none}.app-shell:not(.screen-mode) .side-nav .nav-active svg{color:var(--vis-brand-yellow)}.app-shell:not(.screen-mode) .side-nav button:last-child{color:#f6e5c5c2;background:#f6e5c509;border-color:#f6e5c52e;margin-top:9px}.app-shell:not(.screen-mode) .side-nav button:last-child:hover{color:var(--vis-white);background:#f0442e24;border-color:#f0442e52}.app-shell:not(.screen-mode) .topbar,.app-shell:not(.screen-mode) .auto-collection-header,.app-shell:not(.screen-mode) .env-history-header,.app-shell:not(.screen-mode) .experiment-workspace-header{border-bottom:1px solid var(--vis-line);min-width:0;margin-bottom:22px;padding:0 0 18px}.app-shell:not(.screen-mode) .topbar p,.app-shell:not(.screen-mode) .panel-title p,.app-shell:not(.screen-mode) .auto-collection-header span,.app-shell:not(.screen-mode) .auto-collection-header p,.app-shell:not(.screen-mode) .env-history-header span,.app-shell:not(.screen-mode) .env-history-header p{color:var(--vis-muted)}.app-shell:not(.screen-mode) h1{color:var(--vis-brand-green);letter-spacing:-.028em;font-size:clamp(27px,2.45vw,34px);font-weight:740}.app-shell:not(.screen-mode) h2{letter-spacing:-.015em;font-weight:720}.app-shell:not(.screen-mode) .topbar-actions{gap:10px}.app-shell:not(.screen-mode) .primary-action,.app-shell:not(.screen-mode) .secondary-action,.app-shell:not(.screen-mode) .danger-action{min-height:42px;box-shadow:none;border-radius:10px;padding:0 15px;font-weight:700}.app-shell:not(.screen-mode) .primary-action{border-color:var(--vis-brand-green);color:var(--vis-white);background:var(--vis-brand-green)}.app-shell:not(.screen-mode) .primary-action:hover:not(:disabled){border-color:var(--vis-green-strong);background:var(--vis-green-strong)}.app-shell:not(.screen-mode) .secondary-action{border-color:var(--vis-line);color:var(--vis-brand-green);background:var(--vis-white)}.app-shell:not(.screen-mode) .secondary-action:hover:not(:disabled){border-color:var(--vis-line-strong);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .secondary-action.selected{color:var(--vis-green-strong);background:var(--vis-green-selected);border-color:#2f735e2e}.app-shell:not(.screen-mode) .danger-action,.app-shell:not(.screen-mode) .unsaved-discard-action,.app-shell:not(.screen-mode) .audit-danger-action{color:var(--vis-red-ink);background:var(--vis-red-soft);border-color:#c661523d}.app-shell:not(.screen-mode) .danger-action:hover:not(:disabled),.app-shell:not(.screen-mode) .unsaved-discard-action:hover,.app-shell:not(.screen-mode) .audit-danger-action:hover:not(:disabled){border-color:var(--vis-red-ink);color:var(--vis-white);background:var(--vis-red-ink)}.app-shell:not(.screen-mode) .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.app-shell:not(.screen-mode) .metric-card,.app-shell:not(.screen-mode) .panel,.app-shell:not(.screen-mode) .module-panel,.app-shell:not(.screen-mode) .module-stat,.app-shell:not(.screen-mode) .account-metric-row article,.app-shell:not(.screen-mode) .feed-meal-summary-grid article{border:1px solid var(--vis-line);min-width:0;color:var(--vis-ink);background:var(--vis-white);box-shadow:var(--vis-shadow);border-radius:14px}.app-shell:not(.screen-mode) .metric-card{--metric-wash:var(--vis-green-soft);--metric-icon-bg:var(--vis-green-soft);background:linear-gradient(145deg, var(--vis-white) 0%, var(--vis-white) 72%, var(--metric-wash) 145%);border-top-width:1px;min-height:144px;padding:19px;position:relative;overflow:hidden}.app-shell:not(.screen-mode) .dashboard-metrics .metric-card:nth-child(4n+1){--metric-wash:var(--vis-cream-soft);--metric-icon-bg:var(--vis-cream-soft)}.app-shell:not(.screen-mode) .dashboard-metrics .metric-card:nth-child(4n+2){--metric-wash:var(--vis-green-soft);--metric-icon-bg:var(--vis-green-soft)}.app-shell:not(.screen-mode) .dashboard-metrics .metric-card:nth-child(4n+3){--metric-wash:var(--vis-pink-soft);--metric-icon-bg:var(--vis-pink-soft)}.app-shell:not(.screen-mode) .dashboard-metrics .metric-card:nth-child(4n){--metric-wash:var(--vis-yellow-soft);--metric-icon-bg:var(--vis-cream-soft)}.app-shell:not(.screen-mode) .metric-card:has(.metric-icon.warning){border-color:var(--vis-line)}.app-shell:not(.screen-mode) .metric-card-action{text-align:left;width:100%}.app-shell:not(.screen-mode) .metric-card-action:hover{border-color:var(--vis-line-strong);box-shadow:var(--vis-shadow-hover);transform:translateY(-1px)}.app-shell:not(.screen-mode) .metric-icon{width:40px;height:40px;color:var(--vis-brand-green);background:var(--metric-icon-bg);border:1px solid #2f735e1a;border-radius:12px;margin-bottom:15px}.app-shell:not(.screen-mode) .metric-icon.warning{color:var(--vis-brand-red);background:#f0442e13;border-color:#f0442e24}.app-shell:not(.screen-mode) .metric-card span,.app-shell:not(.screen-mode) .metric-card p{color:var(--vis-muted)}.app-shell:not(.screen-mode) .metric-card strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;max-width:100%;margin-top:6px;font-size:clamp(23px,2.05vw,29px);font-weight:720;line-height:1.15}.app-shell:not(.screen-mode) .metric-card p{line-height:1.45}.app-shell:not(.screen-mode) .panel{padding:20px}.app-shell:not(.screen-mode) .panel-title{margin-bottom:16px}.app-shell:not(.screen-mode) .panel-title>svg{box-sizing:content-box;color:var(--vis-brand-green);background:var(--vis-green-soft);border-radius:10px;flex:none;padding:8px}.app-shell:not(.screen-mode) .info-block,.app-shell:not(.screen-mode) .risk-list article,.app-shell:not(.screen-mode) .alert-item,.app-shell:not(.screen-mode) .checklist label,.app-shell:not(.screen-mode) .empty-table-state,.app-shell:not(.screen-mode) .review-card{border:1px solid var(--vis-line);background:var(--vis-surface-muted);border-radius:11px}.app-shell:not(.screen-mode) .info-block svg,.app-shell:not(.screen-mode) .review-card svg,.app-shell:not(.screen-mode) .agent-advice svg{color:var(--vis-green)}.app-shell:not(.screen-mode) .risk-list span,.app-shell:not(.screen-mode) .badge.ok,.app-shell:not(.screen-mode) .status.done{color:var(--vis-green);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .immunization-reminder-panel{background:linear-gradient(180deg, #fbf3e4d1 0, var(--vis-white) 122px);border-top-width:1px}.app-shell:not(.screen-mode) .antibody-reminder-panel{background:linear-gradient(180deg, #e4f1eab8 0, var(--vis-white) 122px);border-top-width:1px}.app-shell:not(.screen-mode) .immunization-reminder-item,.app-shell:not(.screen-mode) .antibody-reminder-item{border:1px solid var(--vis-line);background:var(--vis-surface-muted);border-radius:12px}.app-shell:not(.screen-mode) .immunization-reminder-status,.app-shell:not(.screen-mode) .antibody-reminder-status{color:var(--vis-yellow-ink);background:var(--vis-yellow-soft)}.app-shell:not(.screen-mode) .immunization-reminder-status.overdue{color:var(--vis-red-ink);background:var(--vis-red-soft)}.app-shell:not(.screen-mode) .missing-report-banner{color:var(--vis-red-ink);background:var(--vis-red-soft);border-color:#c6615233;border-radius:11px}.app-shell:not(.screen-mode) .table-row.missing-report-row{box-shadow:none;background:#fdfaf9;border-color:#c6615233}.app-shell:not(.screen-mode) .alert-item{grid-template-columns:12px minmax(0,1fr)}.app-shell:not(.screen-mode) .alert-item p,.app-shell:not(.screen-mode) .reason-box p,.app-shell:not(.screen-mode) .review-box p,.app-shell:not(.screen-mode) .step p{color:var(--vis-muted)}.app-shell:not(.screen-mode) .dot.red{background:var(--vis-red)}.app-shell:not(.screen-mode) .dot.amber{background:var(--vis-yellow)}.app-shell:not(.screen-mode) .house-table,.app-shell:not(.screen-mode) .admin-table{gap:0}.app-shell:not(.screen-mode) .table-head,.app-shell:not(.screen-mode) .admin-table-head,.app-shell:not(.screen-mode) .feed-meal-table-row.head{border:1px solid var(--vis-line);min-height:40px;color:var(--vis-ink);background:var(--vis-surface-muted);border-radius:12px 12px 0 0;font-weight:700}.app-shell:not(.screen-mode) .table-row,.app-shell:not(.screen-mode) .admin-table-row,.app-shell:not(.screen-mode) .feed-meal-table-row{border:1px solid var(--vis-line);min-width:0;color:var(--vis-ink);background:var(--vis-white);border-top:0;border-radius:0}.app-shell:not(.screen-mode) .table-row:last-child,.app-shell:not(.screen-mode) .admin-table-row:last-child,.app-shell:not(.screen-mode) .feed-meal-table-row:last-child{border-radius:0 0 12px 12px}.app-shell:not(.screen-mode) .table-row:hover,.app-shell:not(.screen-mode) .admin-table-row:hover,.app-shell:not(.screen-mode) .admin-table-row.selected-row,.app-shell:not(.screen-mode) .admin-table-row:focus-visible{border-color:var(--vis-line-strong);box-shadow:none;background:#fafbf9}.app-shell:not(.screen-mode) .badge,.app-shell:not(.screen-mode) .status,.app-shell:not(.screen-mode) .priority{border:1px solid #0000;min-height:28px;font-weight:700}.app-shell:not(.screen-mode) .badge.danger,.app-shell:not(.screen-mode) .badge.missing,.app-shell:not(.screen-mode) .priority.high{color:var(--vis-red-ink);background:var(--vis-red-soft);border-color:#c661522e}.app-shell:not(.screen-mode) .badge.neutral,.app-shell:not(.screen-mode) .status.waiting{border-color:var(--vis-line);color:var(--vis-muted);background:var(--vis-paper)}.app-shell:not(.screen-mode) .priority.medium,.app-shell:not(.screen-mode) .status.working{color:var(--vis-yellow-ink);background:var(--vis-yellow-soft);border-color:#b99a5538}.app-shell:not(.screen-mode) .status.submitted{color:#9f4034;background:#fff0ed;border-color:#e97c6d6b}.app-shell:not(.screen-mode) .camera-watch-button{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-white)}.app-shell:not(.screen-mode) .camera-watch-button:hover{border-color:var(--vis-line-strong);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .row-actions button,.app-shell:not(.screen-mode) .icon-command{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-paper);border-radius:9px}.app-shell:not(.screen-mode) .row-actions button:hover,.app-shell:not(.screen-mode) .icon-command:hover{border-color:var(--vis-line-strong);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .admin-layout{grid-template-columns:270px minmax(0,1fr);gap:18px;margin-top:18px}.app-shell:not(.screen-mode) .module-panel{padding:15px}.app-shell:not(.screen-mode) .module-menu{gap:10px}.app-shell:not(.screen-mode) .module-group{border:0;border-bottom:1px solid var(--vis-line);background:0 0;border-radius:0;gap:9px;padding:10px 4px 14px}.app-shell:not(.screen-mode) .module-group strong{color:var(--vis-ink)}.app-shell:not(.screen-mode) .module-group button{min-height:34px;color:var(--vis-green);background:0 0;border-color:#0000;border-radius:9px}.app-shell:not(.screen-mode) .module-group button:hover{color:var(--vis-green);background:var(--vis-surface-muted);border-color:#0000}.app-shell:not(.screen-mode) .module-group button.module-active{color:var(--vis-green-strong);background:var(--vis-green-selected);border-color:#2f735e29}.app-shell:not(.screen-mode) .module-group button.module-locked{border-color:var(--vis-line);color:#98a29d;background:#f0efea}.app-shell:not(.screen-mode) .module-workspace{gap:18px}.app-shell:not(.screen-mode) .module-summary{gap:12px}.app-shell:not(.screen-mode) .module-stat{border-top-width:1px;min-height:92px;padding:15px}.app-shell:not(.screen-mode) .module-stat span{color:var(--vis-muted)}.app-shell:not(.screen-mode) .segmented{border-color:var(--vis-line);background:var(--vis-paper);border-radius:11px;padding:4px}.app-shell:not(.screen-mode) .segmented button{color:var(--vis-muted);border-radius:8px}.app-shell:not(.screen-mode) .segmented button.selected{color:var(--vis-green-strong);background:var(--vis-white);box-shadow:0 1px 4px #20483c14}.app-shell:not(.screen-mode) .filter-bar,.app-shell:not(.screen-mode) .report-filter-panel,.app-shell:not(.screen-mode) .ai-filter-band,.app-shell:not(.screen-mode) .audit-filter-panel,.app-shell:not(.screen-mode) .env-history-filter-panel{border:1px solid var(--vis-line);background:var(--vis-surface-muted);box-shadow:none;border-radius:13px}.app-shell:not(.screen-mode) .filter-bar{padding:14px}.app-shell:not(.screen-mode) .filter-bar span,.app-shell:not(.screen-mode) .field span,.app-shell:not(.screen-mode) .field-label,.app-shell:not(.screen-mode) .module-form label,.app-shell:not(.screen-mode) .report-filter-panel label span{color:var(--vis-muted)}.app-shell:not(.screen-mode) .filter-bar input,.app-shell:not(.screen-mode) .filter-bar select,.app-shell:not(.screen-mode) .module-form input,.app-shell:not(.screen-mode) .module-form select,.app-shell:not(.screen-mode) .module-form textarea,.app-shell:not(.screen-mode) .multi-select-summary,.app-shell:not(.screen-mode) .input-with-unit,.app-shell:not(.screen-mode) textarea,.app-shell:not(.screen-mode) .upload-row,.app-shell:not(.screen-mode) .report-filter-panel input,.app-shell:not(.screen-mode) .report-filter-panel select,.app-shell:not(.screen-mode) .account-field input,.app-shell:not(.screen-mode) .account-field select,.app-shell:not(.screen-mode) .position-basic-grid input,.app-shell:not(.screen-mode) .position-basic-grid select,.app-shell:not(.screen-mode) .position-basic-grid textarea{border-color:var(--vis-line);color:var(--vis-ink);background:var(--vis-white);border-radius:10px}.app-shell:not(.screen-mode) .filter-bar input:focus,.app-shell:not(.screen-mode) .filter-bar select:focus,.app-shell:not(.screen-mode) .module-form input:focus,.app-shell:not(.screen-mode) .module-form select:focus,.app-shell:not(.screen-mode) .module-form textarea:focus,.app-shell:not(.screen-mode) .report-filter-panel input:focus,.app-shell:not(.screen-mode) .report-filter-panel select:focus,.app-shell:not(.screen-mode) .account-field input:focus,.app-shell:not(.screen-mode) .account-field select:focus{border-color:var(--vis-green);outline:3px solid #759488}.app-shell:not(.screen-mode) .field-label em,.app-shell:not(.screen-mode) .source-link,.app-shell:not(.screen-mode) .multi-select-options button{border:1px solid var(--vis-line);color:var(--vis-green);background:var(--vis-white)}.app-shell:not(.screen-mode) .source-link:hover,.app-shell:not(.screen-mode) .multi-select-options button.selected{color:var(--vis-green-strong);background:var(--vis-green-selected);border-color:#2f735e2e}.app-shell:not(.screen-mode) .employee-house-scope-summary,.app-shell:not(.screen-mode) .photo-upload-status,.app-shell:not(.screen-mode) .review-box{border-color:var(--vis-line);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .photo-source-actions button{border-color:var(--vis-green);color:var(--vis-white);background:var(--vis-green)}.app-shell:not(.screen-mode) .reason-box,.app-shell:not(.screen-mode) .notice-list{background:var(--vis-yellow-soft);border:1px solid #b99a5533}.app-shell:not(.screen-mode) .step{border:1px solid var(--vis-line);color:var(--vis-ink);background:var(--vis-green-soft);border-radius:12px}.app-shell:not(.screen-mode) .step strong{color:var(--vis-ink)}.app-shell:not(.screen-mode) .step div{color:var(--vis-green)}.app-shell:not(.screen-mode) .task-card{border-color:var(--vis-line);color:var(--vis-ink);background:var(--vis-white);border-radius:12px}.app-shell:not(.screen-mode) .task-card:hover{border-color:var(--vis-line-strong)}.app-shell:not(.screen-mode) .task-card.selected{background:var(--vis-green-selected);border-color:#2f735e38;box-shadow:0 0 0 1px #2f735e14}.app-shell:not(.screen-mode) .report-filter-panel{background:var(--vis-white);border-top-width:1px}.app-shell:not(.screen-mode) .report-filter-summary{color:var(--vis-ink);background:var(--vis-green-soft);border-radius:10px}.app-shell:not(.screen-mode) .quick-date-ranges button,.app-shell:not(.screen-mode) .trend-selector button,.app-shell:not(.screen-mode) .report-pagination button,.app-shell:not(.screen-mode) .metric-history-pages button{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-white);border-radius:9px}.app-shell:not(.screen-mode) .quick-date-ranges button.selected,.app-shell:not(.screen-mode) .trend-selector button.selected,.app-shell:not(.screen-mode) .metric-history-pages button.selected{color:var(--vis-green-strong);background:var(--vis-green-selected);border-color:#2f735e2e}.app-shell:not(.screen-mode) .feed-meal-summary-grid article{border-top-width:1px;min-height:122px}.app-shell:not(.screen-mode) .feed-meal-summary-grid article.warning,.app-shell:not(.screen-mode) .feed-meal-table-row.alert{background:#fdfaf9;border-color:#c6615233}.app-shell:not(.screen-mode) .feed-meal-message,.app-shell:not(.screen-mode) .feed-meal-empty,.app-shell:not(.screen-mode) .feed-meal-detection-note{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-paper);border-radius:12px}.app-shell:not(.screen-mode) .feed-meal-message.warning{color:var(--vis-red-ink);background:var(--vis-red-soft);border-color:#c6615233}.app-shell:not(.screen-mode) .feed-meal-house-summary button{border-color:var(--vis-line);color:var(--vis-ink);background:var(--vis-white);border-radius:13px}.app-shell:not(.screen-mode) .feed-meal-house-summary button:hover,.app-shell:not(.screen-mode) .feed-meal-house-summary button.selected{border-color:var(--vis-line-strong);background:var(--vis-green-selected);box-shadow:none}.app-shell:not(.screen-mode) .feed-meal-status strong{color:var(--vis-green)}.app-shell:not(.screen-mode) .feed-meal-status.alert strong,.app-shell:not(.screen-mode) .deviation-alert{color:var(--vis-red)}.app-shell:not(.screen-mode) .feed-meal-status.working strong{color:#8a6500}.app-shell:not(.screen-mode) .chart-bar,.app-shell:not(.screen-mode) .mini-trend-bar{fill:#d9e2dc}.app-shell:not(.screen-mode) .chart-line,.app-shell:not(.screen-mode) .mini-trend-line{stroke:var(--vis-green)}.app-shell:not(.screen-mode) .chart-dot,.app-shell:not(.screen-mode) .mini-trend-dot{fill:var(--vis-green);stroke:var(--vis-white)}.app-shell:not(.screen-mode) .report-svg line,.app-shell:not(.screen-mode) .mini-trend-svg line{stroke:var(--vis-line)}.app-shell:not(.screen-mode) .rate-bar-track{background:var(--vis-line)}.app-shell:not(.screen-mode) .rate-bar-track span{background:var(--vis-green)}.app-shell:not(.screen-mode) .house-rate-chart article,.app-shell:not(.screen-mode) .report-insight-list article{border:1px solid var(--vis-line);background:var(--vis-paper);border-radius:11px}.app-shell:not(.screen-mode) .account-management-console{gap:20px;padding:0}.app-shell:not(.screen-mode) .account-metric-row article{border-top-width:1px;min-height:76px;padding:14px}.app-shell:not(.screen-mode) .account-source-note,.app-shell:not(.screen-mode) .account-password-note,.app-shell:not(.screen-mode) .account-identity-summary article{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-paper);border-radius:11px}.app-shell:not(.screen-mode) .account-table-wrap{border-color:var(--vis-line);background:var(--vis-white);border-radius:12px}.app-shell:not(.screen-mode) .account-table th{color:var(--vis-ink);background:var(--vis-surface-muted)}.app-shell:not(.screen-mode) .account-table th,.app-shell:not(.screen-mode) .account-table td{border-color:var(--vis-line)}.app-shell:not(.screen-mode) .account-status.enabled{color:var(--vis-green);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .account-status.disabled{color:var(--vis-yellow-ink);background:var(--vis-yellow-soft)}.app-shell:not(.screen-mode) .position-summary-grid article,.app-shell:not(.screen-mode) .position-template-list,.app-shell:not(.screen-mode) .position-rule-editor,.app-shell:not(.screen-mode) .permission-section,.app-shell:not(.screen-mode) .role-profile,.app-shell:not(.screen-mode) .role-template-panel,.app-shell:not(.screen-mode) .role-summary-panel{border-color:var(--vis-line);background:var(--vis-white);border-radius:13px}.app-shell:not(.screen-mode) .position-template-list>button,.app-shell:not(.screen-mode) .position-option-grid>button,.app-shell:not(.screen-mode) .role-template-grid button{border-color:var(--vis-line);color:var(--vis-ink);background:var(--vis-paper);border-radius:10px}.app-shell:not(.screen-mode) .position-template-list>button:hover,.app-shell:not(.screen-mode) .position-template-list>button.selected,.app-shell:not(.screen-mode) .position-option-grid>button:hover,.app-shell:not(.screen-mode) .position-option-grid>button.selected,.app-shell:not(.screen-mode) .role-template-grid button:hover{border-color:var(--vis-line-strong);background:var(--vis-green-selected)}.app-shell:not(.screen-mode) .position-template-list>button.selected{box-shadow:0 0 0 1px #315f5014}.app-shell:not(.screen-mode) .position-tabs{border-color:var(--vis-line);background:var(--vis-paper)}.app-shell:not(.screen-mode) .position-tabs button.selected{color:var(--vis-green-strong);background:var(--vis-white);box-shadow:0 1px 3px #182b240f}.app-shell:not(.screen-mode) .position-feedback.success,.app-shell:not(.screen-mode) .account-message.success{color:var(--vis-green);background:var(--vis-green-soft);border-color:#315f5029}.app-shell:not(.screen-mode) .position-feedback.error,.app-shell:not(.screen-mode) .account-message.error,.app-shell:not(.screen-mode) .field-error{color:var(--vis-red-ink);background:var(--vis-red-soft)}.app-shell:not(.screen-mode) .camera-modal-backdrop,.app-shell:not(.screen-mode) .unsaved-changes-backdrop,.app-shell:not(.screen-mode) .record-drawer-backdrop,.app-shell:not(.screen-mode) .metric-history-backdrop,.app-shell:not(.screen-mode) .audit-drawer-backdrop{background:#121f1a61}.app-shell:not(.screen-mode) .camera-modal,.app-shell:not(.screen-mode) .unsaved-changes-dialog,.app-shell:not(.screen-mode) .record-detail-drawer,.app-shell:not(.screen-mode) .metric-history-dialog,.app-shell:not(.screen-mode) .module-side,.app-shell:not(.screen-mode) .audit-detail-drawer{border-color:var(--vis-line);color:var(--vis-ink);background:var(--vis-white);box-shadow:var(--vis-shadow-float);border-radius:18px}.app-shell:not(.screen-mode) .camera-modal-title button,.app-shell:not(.screen-mode) .camera-player-toolbar button,.app-shell:not(.screen-mode) .metric-history-heading>button{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-white);border-radius:9px}.app-shell:not(.screen-mode) .camera-selector-grid button,.app-shell:not(.screen-mode) .camera-meta-grid article,.app-shell:not(.screen-mode) .record-detail-field,.app-shell:not(.screen-mode) .record-summary-meta div{border-color:var(--vis-line);background:var(--vis-surface-muted);border-radius:11px}.app-shell:not(.screen-mode) .camera-selector-grid button:hover{border-color:var(--vis-line-strong);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .unsaved-changes-icon{color:var(--vis-yellow-ink);background:var(--vis-yellow-soft)}.app-shell:not(.screen-mode) .metric-history-table th{color:var(--vis-ink);background:var(--vis-surface-muted)}.app-shell:not(.screen-mode) .auto-collection-summary-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.app-shell:not(.screen-mode) .auto-collection-summary-grid article,.app-shell:not(.screen-mode) .auto-collection-summary-action,.app-shell:not(.screen-mode) .auto-house-card{border-color:var(--vis-line);background:var(--vis-white);box-shadow:var(--vis-shadow);border-radius:14px}.app-shell:not(.screen-mode) .auto-collection-summary-grid article,.app-shell:not(.screen-mode) .auto-collection-summary-action{border-top-width:1px}.app-shell:not(.screen-mode) .auto-collection-summary-grid article>svg,.app-shell:not(.screen-mode) .auto-collection-summary-action>svg{color:var(--vis-green);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .auto-collection-summary-grid article.warning{background:#fdfaf9;border-color:#c6615233}.app-shell:not(.screen-mode) .auto-collection-source-strip,.app-shell:not(.screen-mode) .env-history-retention-strip,.app-shell:not(.screen-mode) .experiment-source-band,.app-shell:not(.screen-mode) .audit-log-source-note{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-surface-muted);background-image:none;border-radius:12px}.app-shell:not(.screen-mode) .auto-collection-source-strip>svg{color:var(--vis-green)}.app-shell:not(.screen-mode) .auto-house-card>header{border-color:var(--vis-line)}.app-shell:not(.screen-mode) .auto-house-card>header em.online{color:var(--vis-green);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .auto-house-card>header em.stale{color:var(--vis-yellow-ink);background:var(--vis-yellow-soft)}.app-shell:not(.screen-mode) .auto-house-card>header em.missing{color:var(--vis-red-ink);background:var(--vis-red-soft)}.app-shell:not(.screen-mode) .auto-house-metrics section,.app-shell:not(.screen-mode) .auto-meter-list article,.app-shell:not(.screen-mode) .auto-tower-reading-list article{border-color:var(--vis-line);background:var(--vis-surface-muted);border-radius:10px}.app-shell:not(.screen-mode) .env-history-header-actions button,.app-shell:not(.screen-mode) .env-history-filter-panel button{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-white);border-radius:10px}.app-shell:not(.screen-mode) .env-history-header-actions .env-history-back,.app-shell:not(.screen-mode) .env-history-header-actions .env-history-recover,.app-shell:not(.screen-mode) .env-history-filter-panel .env-history-query{border-color:var(--vis-green);color:var(--vis-white);background:var(--vis-green)}.app-shell:not(.screen-mode) .env-house-live-card,.app-shell:not(.screen-mode) .env-device-status-panel,.app-shell:not(.screen-mode) .env-history-chart-panel,.app-shell:not(.screen-mode) .env-history-detail-panel{border-color:var(--vis-line);color:var(--vis-ink);background:var(--vis-white);box-shadow:var(--vis-shadow);border-radius:14px}.app-shell:not(.screen-mode) button.env-house-live-card:hover,.app-shell:not(.screen-mode) .env-house-live-card.selected{border-color:var(--vis-line-strong);background:var(--vis-green-selected);box-shadow:0 0 0 1px #2f735e1a, var(--vis-shadow)}.app-shell:not(.screen-mode) .env-house-live-card.offline{background:var(--vis-yellow-soft);border-color:#b99a5533}.app-shell:not(.screen-mode) .env-house-live-card.waiting{border-color:var(--vis-line);background:var(--vis-paper)}.app-shell:not(.screen-mode) .env-house-card-head strong,.app-shell:not(.screen-mode) .env-device-status-summary span,.app-shell:not(.screen-mode) .env-device-house-tabs button.selected{color:var(--vis-green);background:var(--vis-green-selected)}.app-shell:not(.screen-mode) .env-house-live-card dl div,.app-shell:not(.screen-mode) .env-device-status-card,.app-shell:not(.screen-mode) .env-chart-kpis article{border-color:var(--vis-line);background:var(--vis-paper)}.app-shell:not(.screen-mode) .env-house-primary,.app-shell:not(.screen-mode) .env-device-status-icon{color:var(--vis-green)}.app-shell:not(.screen-mode) .env-history-message{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .env-history-message.warning{color:var(--vis-red-ink);background:var(--vis-red-soft);border-color:#c6615233}.app-shell:not(.screen-mode) .env-history-table-row.head{color:var(--vis-ink);background:var(--vis-surface-muted)}.app-shell:not(.screen-mode) .env-history-table-row:not(.head){border-color:var(--vis-line);background:var(--vis-white)}.app-shell:not(.screen-mode) .ai-assistant,.app-shell:not(.screen-mode) .audit-log-workspace,.app-shell:not(.screen-mode) .experiment-chicken-workspace,.app-shell:not(.screen-mode) .salary-statistics-console{color:var(--vis-ink)}.app-shell:not(.screen-mode) .ai-tabs{border-color:var(--vis-line);background:var(--vis-surface-muted)}.app-shell:not(.screen-mode) .ai-tabs button.selected{color:var(--vis-green-strong);background:var(--vis-white);box-shadow:0 1px 3px #182b240f}.app-shell:not(.screen-mode) .ai-provider-state,.app-shell:not(.screen-mode) .ai-kpi-grid,.app-shell:not(.screen-mode) .ai-summary-band,.app-shell:not(.screen-mode) .ai-answer,.app-shell:not(.screen-mode) .ai-manager-briefing,.app-shell:not(.screen-mode) .ai-query-box,.app-shell:not(.screen-mode) .ai-section,.app-shell:not(.screen-mode) .ai-timeline-content,.app-shell:not(.screen-mode) .audit-log-metrics article,.app-shell:not(.screen-mode) .audit-table-wrap,.app-shell:not(.screen-mode) .audit-snapshot,.app-shell:not(.screen-mode) .experiment-comparison-grid article,.app-shell:not(.screen-mode) .experiment-group-summary,.app-shell:not(.screen-mode) .experiment-chart-panel,.app-shell:not(.screen-mode) .experiment-data-table-panel,.app-shell:not(.screen-mode) .salary-statistics-header,.app-shell:not(.screen-mode) .salary-statistics-metrics article,.app-shell:not(.screen-mode) .salary-position-chart,.app-shell:not(.screen-mode) .salary-position-table{border-color:var(--vis-line);color:var(--vis-ink);background:var(--vis-white);box-shadow:var(--vis-shadow);background-image:none;border-radius:14px}.app-shell:not(.screen-mode) .ai-provider-state,.app-shell:not(.screen-mode) .ai-answer,.app-shell:not(.screen-mode) .ai-summary-band,.app-shell:not(.screen-mode) .ai-manager-briefing,.app-shell:not(.screen-mode) .ai-query-box,.app-shell:not(.screen-mode) .ai-timeline-content{background:var(--vis-surface-muted);box-shadow:none;border-radius:10px}.app-shell:not(.screen-mode) .ai-summary-band{border-left:2px solid #315f503d}.app-shell:not(.screen-mode) .ai-kpi-grid>div{border-color:var(--vis-line);background:var(--vis-white)}.app-shell:not(.screen-mode) .ai-section{box-shadow:none}.app-shell:not(.screen-mode) .ai-kpi-grid>div,.app-shell:not(.screen-mode) .audit-log-metrics article,.app-shell:not(.screen-mode) .salary-statistics-metrics article{border-top-width:1px}.app-shell:not(.screen-mode) .ai-level.is-高,.app-shell:not(.screen-mode) .ai-message.is-error,.app-shell:not(.screen-mode) .audit-log-message.error,.app-shell:not(.screen-mode) .experiment-message.is-error{color:var(--vis-red-ink);background:var(--vis-red-soft)}.app-shell:not(.screen-mode) .ai-level.is-中,.app-shell:not(.screen-mode) .ai-effect-pending,.app-shell:not(.screen-mode) .salary-statistics-warning,.app-shell:not(.screen-mode) .experiment-message.is-warning{color:var(--vis-yellow-ink);background:var(--vis-yellow-soft)}.app-shell:not(.screen-mode) .ai-level.is-低,.app-shell:not(.screen-mode) .ai-message.is-success,.app-shell:not(.screen-mode) .audit-log-message.success,.app-shell:not(.screen-mode) .experiment-message.is-success{color:var(--vis-green);background:var(--vis-green-soft)}.app-shell:not(.screen-mode) .ai-timeline-marker>span,.app-shell:not(.screen-mode) .salary-position-track>span{background:var(--vis-green);background-image:none}.app-shell:not(.screen-mode) .ai-timeline-marker:after{background:var(--vis-line-strong)}.app-shell:not(.screen-mode) .audit-log-table thead,.app-shell:not(.screen-mode) .experiment-data-table-panel thead{color:var(--vis-ink);background:var(--vis-surface-muted)}.app-shell:not(.screen-mode) .audit-action-badge,.app-shell:not(.screen-mode) .audit-view-button{border-color:var(--vis-line);color:var(--vis-green);background:var(--vis-white)}.app-shell:not(.screen-mode) .audit-rollback-panel,.app-shell:not(.screen-mode) .audit-rollback-confirm{color:var(--vis-red-ink);background:var(--vis-red-soft);border-color:#c6615233}.app-shell:not(.screen-mode) .experiment-group-summary.is-experiment,.app-shell:not(.screen-mode) .experiment-group-summary.is-control{border-color:var(--vis-line);border-top-width:1px;border-top-color:var(--vis-line)}@media (width<=1420px){.app-shell:not(.screen-mode){grid-template-columns:260px minmax(0,1fr)}.app-shell:not(.screen-mode) .workspace{max-width:calc(100vw - 260px);padding-left:24px;padding-right:24px}.app-shell:not(.screen-mode) .workflow,.app-shell:not(.screen-mode) .task-command-grid{grid-template-columns:280px minmax(0,1fr)}.app-shell:not(.screen-mode) .workflow>:last-child,.app-shell:not(.screen-mode) .task-command-grid>:last-child{grid-column:1/-1}.app-shell:not(.screen-mode) .module-workspace,.app-shell:not(.screen-mode) .module-menu{grid-template-columns:1fr}.app-shell:not(.screen-mode) .module-side{max-height:none;position:static}}@media (width<=1240px){.app-shell:not(.screen-mode) .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell:not(.screen-mode) .main-grid,.app-shell:not(.screen-mode) .dashboard-insights,.app-shell:not(.screen-mode) .report-grid,.app-shell:not(.screen-mode) .module-workspace{grid-template-columns:1fr}.app-shell:not(.screen-mode) .module-side{max-height:none;position:static}.app-shell:not(.screen-mode) .admin-layout{grid-template-columns:1fr}.app-shell:not(.screen-mode) .module-menu,.app-shell:not(.screen-mode) .module-summary,.app-shell:not(.screen-mode) .account-metric-row,.app-shell:not(.screen-mode) .position-summary-grid,.app-shell:not(.screen-mode) .feed-meal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.app-shell:not(.screen-mode){grid-template-columns:1fr}.app-shell:not(.screen-mode) .side-nav{height:auto;padding-bottom:18px;position:static}.app-shell:not(.screen-mode) .workspace{max-width:100vw}.app-shell:not(.screen-mode) .side-nav nav{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell:not(.screen-mode) .side-nav button:last-child{margin-top:0}.app-shell:not(.screen-mode) .admin-layout,.app-shell:not(.screen-mode) .workflow,.app-shell:not(.screen-mode) .task-command-grid{grid-template-columns:1fr}.app-shell:not(.screen-mode) .workflow>:last-child,.app-shell:not(.screen-mode) .task-command-grid>:last-child{grid-column:auto}}@media (width<=760px){.app-shell:not(.screen-mode) .table-head+.table-row{border-top:1px solid var(--vis-line);border-radius:12px 12px 0 0}}@media (width<=700px){.app-shell:not(.screen-mode) .workspace{padding:18px 14px 30px}.app-shell:not(.screen-mode) .side-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell:not(.screen-mode) .topbar{flex-direction:column;align-items:stretch}.app-shell:not(.screen-mode) .topbar-actions>button{flex:auto}.app-shell:not(.screen-mode) .metric-grid,.app-shell:not(.screen-mode) .module-menu,.app-shell:not(.screen-mode) .module-summary,.app-shell:not(.screen-mode) .account-metric-row,.app-shell:not(.screen-mode) .position-summary-grid,.app-shell:not(.screen-mode) .feed-meal-summary-grid{grid-template-columns:1fr}}.app-shell:not(.screen-mode)[data-view=environment]{--module-accent:#003d2d;--module-accent-ink:#2f735e;--module-soft:#e7f3ed;--module-soft-strong:#d7eadf;--module-secondary:#f6c844;--module-secondary-soft:#fff5d1;--module-halo:#f6c84433;--module-line:#c9ded3}.app-shell:not(.screen-mode)[data-view=flockManagement]{--module-accent:#e97c6d;--module-accent-ink:#a84e41;--module-soft:#fff0ed;--module-soft-strong:#f9ddd7;--module-secondary:#f6c844;--module-secondary-soft:#fff6d7;--module-halo:#e97c6d2b;--module-line:#ead0ca}.app-shell:not(.screen-mode)[data-view=productionManagement]{--module-accent:#f6c844;--module-accent-ink:#84650d;--module-soft:#fff7db;--module-soft-strong:#f7e8aa;--module-secondary:#003d2d;--module-secondary-soft:#e5f1eb;--module-halo:#f6c84438;--module-line:#eadca8}.app-shell:not(.screen-mode)[data-view=eggWarehouse]{--module-accent:#f6c844;--module-accent-ink:#84650d;--module-soft:#fff8e6;--module-soft-strong:#f6e5c5;--module-secondary:#e97c6d;--module-secondary-soft:#fff0ed;--module-halo:#f6e5c580;--module-line:#e9d9bb}.app-shell:not(.screen-mode)[data-view=materialManagement]{--module-accent:#003d2d;--module-accent-ink:#2f735e;--module-soft:#e8f3ed;--module-soft-strong:#d8ebe2;--module-secondary:#e97c6d;--module-secondary-soft:#fff0ed;--module-halo:#e97c6d21;--module-line:#cbded4}.app-shell:not(.screen-mode)[data-view=feedFactory]{--module-accent:#f6c844;--module-accent-ink:#84650d;--module-soft:#fff6d8;--module-soft-strong:#f6e5c5;--module-secondary:#003d2d;--module-secondary-soft:#e7f2ec;--module-halo:#f6c8443b;--module-line:#e8d69a}.app-shell:not(.screen-mode)[data-view=admin]{--module-accent:#003d2d;--module-accent-ink:#2f735e;--module-soft:#e9f3ee;--module-soft-strong:#d9ebe2;--module-secondary:#f6c844;--module-secondary-soft:#fff5d2;--module-halo:#f6e5c570;--module-line:#cbded4}.app-shell:not(.screen-mode)[data-view=agentCenter]{--module-accent:#e97c6d;--module-accent-ink:#a84e41;--module-soft:#fff0ed;--module-soft-strong:#f8dcd6;--module-secondary:#f6c844;--module-secondary-soft:#fff6d7;--module-halo:#e97c6d2b;--module-line:#ead0ca}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .workspace{background:radial-gradient(circle at 94% 0%, var(--module-halo), transparent 28rem), linear-gradient(180deg, #fff 0, #f8faf6 390px, var(--vis-paper) 100%)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) :is(.topbar,.env-history-header){border:1px solid var(--module-line);border-left:4px solid var(--module-accent);background:linear-gradient(108deg, #fffffffa 0%, var(--module-soft) 155%);box-shadow:var(--vis-shadow);border-radius:16px;padding:17px 20px}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .metric-card{--metric-wash:var(--module-soft);--metric-icon-bg:var(--module-soft);border-color:var(--module-line)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .metric-card:nth-child(2n){--metric-wash:var(--module-secondary-soft);--metric-icon-bg:var(--module-secondary-soft)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) :is(.module-panel,.module-main,.module-side){border-color:var(--module-line)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .module-panel{border-top:3px solid var(--module-accent);background:linear-gradient(155deg, #fff 0%, #fff 58%, var(--module-soft) 155%)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .module-group button:hover{color:var(--vis-brand-green);background:var(--module-soft)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .module-group button.module-active{border-color:var(--module-line);color:var(--vis-brand-green);background:var(--module-soft-strong);box-shadow:inset 3px 0 0 var(--module-accent)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .module-stat{border-color:var(--module-line);background:linear-gradient(145deg, #fff 0%, #fff 64%, var(--module-soft) 150%);position:relative;overflow:hidden}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .module-stat:nth-child(2n){background:linear-gradient(145deg, #fff 0%, #fff 64%, var(--module-secondary-soft) 150%)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .module-stat strong{color:var(--vis-brand-green)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .segmented{border-color:var(--module-line);background:var(--module-soft)}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .segmented button.selected{color:var(--vis-brand-green);box-shadow:inset 0 -3px 0 var(--module-accent), 0 2px 6px #20483c14;background:#fff}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) :is(.filter-bar,.ai-filter-band,.audit-filter-panel,.env-history-filter-panel){background:#fbf8f0;border-color:#e7dfd0}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .table-toolbar{border:1px solid var(--module-line);background:linear-gradient(100deg, #fffffff5, var(--module-soft));border-radius:12px;padding:10px}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) :is(.table-head,.admin-table-head,.feed-meal-table-row.head){color:var(--vis-brand-green);background:#eaf2ed;border-color:#d3e0d9;box-shadow:inset 0 -1px #c6d9cf}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) :is(.table-row,.admin-table-row).selected-row{box-shadow:inset 3px 0 0 var(--module-accent);background:#edf7f1;border-color:#b9d1c5}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) :is(.empty-table-state,.account-empty-state,.position-empty,.audit-log-empty){color:#796630;background:#fff9eb;border-style:dashed;border-color:#e4cf95}.app-shell:not(.screen-mode):is([data-view=environment],[data-view=flockManagement],[data-view=productionManagement],[data-view=eggWarehouse],[data-view=materialManagement],[data-view=feedFactory],[data-view=admin],[data-view=agentCenter]) .panel-title>svg{color:var(--module-accent-ink);background:var(--module-soft)}.app-shell:not(.screen-mode)[data-view=environment] .env-history-retention-strip{border-color:#eadba8;border-left:4px solid var(--vis-brand-yellow);background:linear-gradient(100deg,#fffaf0 0%,#fff5d1 100%)}.app-shell:not(.screen-mode)[data-view=environment] .env-house-live-card{border-color:var(--module-line);background:linear-gradient(145deg, #fff 0%, #fff 62%, var(--module-soft) 145%)}.app-shell:not(.screen-mode)[data-view=environment] button.env-house-live-card:hover,.app-shell:not(.screen-mode)[data-view=environment] .env-house-live-card.selected{background:linear-gradient(145deg, #fff 0%, var(--module-soft-strong) 145%);box-shadow:inset 3px 0 0 var(--vis-brand-yellow), var(--vis-shadow-hover);border-color:#a9c9b9}.app-shell:not(.screen-mode)[data-view=environment] .env-house-live-card.offline{background:#fff8df;border-color:#eadba8}.app-shell:not(.screen-mode)[data-view=environment] :is(.env-device-status-panel,.env-history-chart-panel,.env-history-detail-panel){border-color:var(--module-line);background:linear-gradient(#e7f3edb8 0,#fff 110px)}.app-shell:not(.screen-mode)[data-view=environment] .env-device-house-tabs button.selected{box-shadow:inset 0 -3px 0 var(--vis-brand-yellow)}.app-shell:not(.screen-mode)[data-view=environment] .env-history-table-row.head{color:var(--vis-brand-green);background:#eaf2ed;box-shadow:inset 0 -1px #c6d9cf}.app-shell:not(.screen-mode)[data-view=admin] :is(.account-source-note,.audit-log-source-note){border-color:#eadba8;border-left:4px solid var(--vis-brand-yellow);color:var(--vis-brand-green);background:#fff9e8}.app-shell:not(.screen-mode)[data-view=admin] :is(.account-metric-row article,.position-summary-grid article,.audit-log-metrics article,.salary-statistics-metrics article){border-color:var(--module-line);background:linear-gradient(145deg, #fff 0%, #fff 62%, var(--module-soft) 150%)}.app-shell:not(.screen-mode)[data-view=admin] :is(.account-metric-row article,.position-summary-grid article,.audit-log-metrics article,.salary-statistics-metrics article):nth-child(2n){background:linear-gradient(145deg, #fff 0%, #fff 62%, var(--module-secondary-soft) 150%)}.app-shell:not(.screen-mode)[data-view=admin] :is(.account-table th,.audit-log-table thead){color:var(--vis-brand-green);background:#eaf2ed}.app-shell:not(.screen-mode)[data-view=flockManagement] .experiment-source-band{border-color:#eadba8;border-left:4px solid var(--vis-brand-yellow);color:var(--vis-brand-green);background:#fff9e8}.app-shell:not(.screen-mode)[data-view=flockManagement] .experiment-data-table-panel thead{color:var(--vis-brand-green);background:#eaf2ed}.app-shell:not(.screen-mode)[data-view=agentCenter] .ai-tabs{border-color:var(--module-line);background:linear-gradient(100deg, #fff8f5 0%, var(--module-secondary-soft) 100%)}.app-shell:not(.screen-mode)[data-view=agentCenter] .ai-tabs button.selected{color:var(--vis-brand-green);box-shadow:inset 0 -3px 0 var(--vis-brand-pink), 0 2px 6px #20483c14;background:#fff}.app-shell:not(.screen-mode)[data-view=agentCenter] .ai-kpi-grid>div{border-color:var(--module-line);background:linear-gradient(145deg, #fff 0%, #fff 60%, var(--module-soft) 148%)}.app-shell:not(.screen-mode)[data-view=agentCenter] .ai-kpi-grid>div:nth-child(2n){background:linear-gradient(145deg, #fff 0%, #fff 60%, var(--module-secondary-soft) 148%)}.app-shell:not(.screen-mode)[data-view=agentCenter] .ai-summary-band{border-color:#c9ded3;border-left:4px solid var(--vis-brand-green);background:#edf7f1}.app-shell:not(.screen-mode)[data-view=agentCenter] .ai-manager-briefing{background:linear-gradient(120deg,#fff9eb 0%,#fff2ee 100%);border-color:#eadba8}.app-shell:not(.screen-mode)[data-view=agentCenter] .ai-section-title>svg{color:var(--module-accent-ink);background:var(--module-soft)}.app-shell:not(.screen-mode)[data-view=agentCenter] .ai-timeline-marker>span{background:var(--vis-brand-pink)}.app-shell.screen-mode{--vis-green:#4b9177;--vis-red:#d57b6c;--vis-cream:#f1e7d5;--vis-yellow:#d7b55e;--vis-pink:#d99b91;--vis-line-dark:#f1e7d52e}.app-shell.screen-mode .leader-screen{color:#f7f4ed;background:radial-gradient(circle at 50% -22%,#f6c84421,#0000 43%),linear-gradient(145deg,#15483a 0%,#10372d 52%,#0b2b23 100%)}.app-shell.screen-mode .screen-title-frame,.app-shell.screen-mode .screen-panel,.app-shell.screen-mode .screen-table{border-color:var(--vis-line-dark);box-shadow:none}.app-shell.screen-mode .screen-panel{background:#ffffff0e;box-shadow:inset 0 1px #ffffff09}.app-shell.screen-mode .screen-panel:before,.app-shell.screen-mode .screen-panel:after{border-color:#e8e0d14d}.app-shell.screen-mode .leader-screen-header h1,.app-shell.screen-mode .big-panel-caption,.app-shell.screen-mode .warning-panel h2,.app-shell.screen-mode .house-data-panel h2{color:#f7f4ed;text-shadow:none}.app-shell.screen-mode .screen-time{color:var(--vis-cream);background:#ffffff14;border:1px solid #f6c8443d;border-radius:999px}.app-shell.screen-mode .big-panel-caption,.app-shell.screen-mode .warning-panel h2,.app-shell.screen-mode .house-data-panel h2{color:var(--vis-cream);background:#fff1;border-left:2px solid #f6c84494}.app-shell.screen-mode .screen-table-head span{color:var(--vis-cream);background:#ffffff0e}.app-shell.screen-mode .screen-back-button{border-color:var(--vis-line-dark);color:var(--vis-cream);background:#ffffff0b}.app-shell.screen-mode .screen-back-button:hover{color:#f7f4ed;background:#ffffff1a}.app-shell.screen-mode .screen-kpi{border:1px solid var(--vis-line-dark);background:#fff1;padding:14px 8px}.app-shell.screen-mode .screen-kpi.cyan{background:#58a98f1c}.app-shell.screen-mode .screen-kpi.green{background:#68b57a1a}.app-shell.screen-mode .screen-kpi.gold{background:#d7b55e1f}.app-shell.screen-mode .screen-kpi.purple{background:#d99b911c}.app-shell.screen-mode .screen-kpi .screen-kpi-value{color:#f7f4ed;font-size:clamp(19px,1.35vw,24px)}.app-shell.screen-mode .screen-kpi small{color:#e8e0d1b8;font-size:11px}.app-shell.screen-mode .screen-kpi strong{flex-direction:column;align-items:center;gap:4px}.app-shell.screen-mode .screen-kpi svg{color:#f1e7d5d1}.app-shell.screen-mode .screen-kpi.cyan svg{color:#94ceb9}.app-shell.screen-mode .screen-kpi.green svg{color:#a9d9ad}.app-shell.screen-mode .screen-kpi.gold svg{color:#e5c976}.app-shell.screen-mode .screen-kpi.purple svg{color:#e0aaa1}.app-shell.screen-mode .screen-kpi .screen-kpi-label{color:#f7f4edc7;font-weight:700}.app-shell.screen-mode .screen-table-head span,.app-shell.screen-mode .screen-table-row span,.app-shell.screen-mode .screen-table-row strong{border-color:var(--vis-line-dark)}.app-shell.screen-mode .screen-tag{background:#ffffff1c;color:#f7f4ed!important}.app-shell.screen-mode .screen-tag.danger{background:#a84e42;color:#fff!important}.app-shell.screen-mode .screen-tag.brooding{background:#c6ad734d;color:#f7f4ed!important}.app-shell.screen-mode .warning-table>div{border-color:var(--vis-line-dark)}.app-shell.screen-mode .warning-table span{color:#e8e0d1c2}.app-shell.screen-mode .warning-table strong{color:#f7f4ed}.app-shell.screen-mode .warning-table p{color:#e8e0d19e}.app-shell.screen-mode .big-chart-grid,.app-shell.screen-mode .big-chart-axis{stroke:#f6e5c524}.app-shell.screen-mode .big-chart-value,.app-shell.screen-mode .big-chart-date{fill:var(--vis-cream)}.app-shell.screen-mode .big-chart-area{fill:#4b91754d}.app-shell.screen-mode .big-chart-dot{stroke:#0e2f28}.app-shell.screen-mode .big-chart-empty{border-color:var(--vis-line-dark);color:var(--vis-cream);background:#ffffff09}.app-shell.screen-mode .screen-kpi-grid{gap:12px}@media (width<=1400px){.app-shell.screen-mode .leader-screen{padding:16px}.app-shell.screen-mode .leader-screen-grid{grid-template-columns:minmax(250px,.72fr) minmax(500px,1.5fr) minmax(250px,.76fr);gap:12px}.app-shell.screen-mode .leader-column,.app-shell.screen-mode .leader-center{gap:12px}.app-shell.screen-mode .screen-kpi-grid{gap:10px}.app-shell.screen-mode .screen-kpi{padding-left:8px;padding-right:8px}}@media (width<=1180px){.app-shell.screen-mode .leader-screen{overflow:auto}.app-shell.screen-mode .leader-screen-grid{grid-template-columns:minmax(0,1fr)}.app-shell.screen-mode .leader-center{grid-template-rows:auto}.app-shell.screen-mode .screen-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.screen-mode .screen-time{width:min(100%,430px);min-width:0;max-width:100%}}@media (width<=700px){.app-shell.screen-mode .screen-time{width:100%;min-width:0;font-size:16px}.app-shell.screen-mode .screen-kpi-grid{grid-template-columns:minmax(0,1fr)}}
