:root{--bg: #f0f2f5;--surface: #ffffff;--surface2: #e5e7eb;--border: #d1d5db;--border-strong: #374151;--text1: #111827;--text2: #374151;--text3: #6b7280;--green: #15803d;--green-bg: #dcfce7;--amber: #92400e;--amber-bg: #fef3c7;--red: #991b1b;--red-bg: #fee2e2;--blue: #1e3a5f;--blue-bg: #eff6ff;--purple: #6d28d9;--purple-bg: #f5f3ff;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text1);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-body);font-weight:700;margin:0}button{font-family:var(--font-body);font-size:inherit}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-shell{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;padding:13px 28px;background:linear-gradient(100deg,#14532d,#166534 55%,#15803d);border-bottom:1px solid #14532d;flex-shrink:0}.topbar h1{font-size:19px;color:#fff;letter-spacing:-.01em}.topbar h1 span{color:#86efac!important}.topbar nav{display:flex;gap:4px;margin-left:auto}.topbar nav{display:flex;flex-wrap:wrap;gap:2px;min-width:0}.topbar nav button{background:none;border:none;color:#bbf7d0;padding:6px 13px;border-radius:6px;cursor:pointer;font-weight:600}.topbar nav button.active{color:#14532d;background:#dcfce7}.topbar nav button:hover:not(.active){color:#fff;background:#ffffff1f}.topbar :focus-visible{outline-color:#bbf7d0}.main-area{flex:1;display:flex;min-height:0}.page{flex:1;overflow-y:auto;padding:22px 28px;background:var(--bg)}.gate{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg)}.gate form{width:320px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:28px}.gate h1{font-size:22px;margin-bottom:4px;color:var(--green)}.gate p{color:var(--text3);font-size:13px;margin:0 0 8px}.gate input{background:var(--surface);border:1px solid var(--border);color:var(--text1);padding:9px 11px;border-radius:5px;font-size:14px}.gate button{background:var(--green);color:#fff;border:none;padding:10px 12px;border-radius:5px;cursor:pointer;font-weight:700}.gate button:hover{background:#106e33}.gate .error{color:var(--red);font-size:13px}.rail{width:250px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;padding:16px 0}.rail h2{font-size:11px;letter-spacing:.04em;color:var(--text3);padding:0 18px 8px;font-weight:700}.rail-row{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text1);padding:9px 18px;cursor:pointer;border-left:3px solid transparent}.rail-row:hover{background:var(--bg)}.rail-row.selected{background:var(--green-bg);border-left-color:var(--green)}.rail-row .name{font-size:14px;font-weight:600;display:block}.rail-row .meta{font-size:12px;color:var(--text3);display:block;margin-top:3px}.rail-row.removed .name{color:var(--text3);font-weight:500}.rail-next{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:11.5px;color:var(--text3);margin-top:4px;padding-top:4px;border-top:1px dotted var(--border)}.rail-next-days{font-weight:600;color:var(--text2)}.rail-divider{margin:14px 0 8px;padding:0 18px;font-size:11px;letter-spacing:.04em;color:var(--text3);font-weight:700}.detail{flex:1;overflow-y:auto;padding:26px 32px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:26px;align-items:start;max-width:1400px}@media (max-width: 1100px){.detail-grid{grid-template-columns:minmax(0,1fr);max-width:820px}}.detail-col{min-width:0}.vitals{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:18px}.vital{background:var(--surface);padding:9px 11px}.vital .k{display:block;font-size:11px;color:var(--text3);margin-bottom:2px}.vital .v{font-size:14px;font-weight:600;color:var(--text1)}.vital .v.dim{color:var(--text3);font-weight:500}.vital .sub{display:block;font-size:11px;color:var(--text3);font-weight:500}.research-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px 14px;margin-bottom:10px}.research-grid .k{display:block;font-size:11px;color:var(--text3)}.research-grid .v{font-size:13px;font-weight:600;color:var(--text1)}.guidance{white-space:pre-line;font-size:12.5px;line-height:1.55;color:var(--text2);border-top:1px solid var(--border);margin-top:10px;padding-top:10px;max-height:260px;overflow-y:auto}.detail-empty{color:var(--text3);padding:40px}.plant-head{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}.plant-head h2{font-size:24px;color:var(--text1)}.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:4px;border:1px solid;background:var(--surface2);border-color:var(--border);color:var(--text2)}.badge.stage-harvested{background:var(--surface2);border-color:var(--border);color:var(--text3)}.plant-sub{color:var(--text3);font-size:13px;margin-bottom:22px}.section{margin-bottom:26px}.section h3{font-size:11px;letter-spacing:.04em;color:var(--text3);font-weight:700;margin-bottom:10px}.engine-card{border:1px solid var(--border);border-radius:6px;padding:14px 16px;background:var(--surface)}.engine-card.unconfident{border-style:dashed;border-color:#fbbf24;background:var(--amber-bg)}.engine-card .note{font-size:13px;color:var(--text2);margin:6px 0 0;max-width:68ch;white-space:pre-line}.engine-card .note.bad{color:var(--red)}.milestones{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;margin-top:12px}.milestone{font-size:12px;background:var(--bg);border-radius:4px;padding:6px 9px}.milestone .k{color:var(--text3);display:block;font-size:10px;letter-spacing:.04em}.milestone .v{font-size:14px;font-weight:600;display:block;margin-top:2px;color:var(--text1)}.task-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.task-row:last-child{border-bottom:none}.task-check{width:18px;height:18px;border-radius:4px;border:1px solid var(--border);background:#fff;cursor:pointer;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;padding:0}.task-row.done .task-check{background:var(--green);border-color:var(--green)}.task-date{width:56px;flex-shrink:0;color:var(--text3);font-size:13px;padding-top:1px}.task-row.done .task-string{color:var(--text3);text-decoration:line-through;text-decoration-color:var(--border-strong)}.note-item{padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.note-item:last-child{border-bottom:none}.note-item .ts{color:var(--text3);font-size:12px;display:block;margin-bottom:2px}.note-form{display:flex;gap:8px;margin-top:10px}.note-form input{flex:1;background:var(--surface);border:1px solid var(--border);color:var(--text1);padding:8px 10px;border-radius:5px;font-size:13px}.btn{background:var(--surface);border:1px solid var(--border);color:var(--text1);padding:7px 12px;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer}.btn:hover{border-color:var(--border-strong)}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:#106e33}.btn.danger{border-color:var(--red);color:var(--red);background:var(--red-bg)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}select,input[type=date],input[type=text]{background:var(--surface);border:1px solid var(--border);color:var(--text1);padding:7px 10px;border-radius:5px;font-size:13px;font-family:var(--font-body)}.loading,.error-msg{padding:24px;color:var(--text3)}.error-msg{color:var(--red)}.breeding-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:22px 28px;overflow-y:auto;align-content:start;flex:1;background:var(--bg)}.cross-card{border:1px solid var(--border);border-left:3px solid var(--purple);border-radius:5px;padding:14px 16px;background:var(--surface)}.cross-card h3{font-size:16px;color:var(--text1);font-weight:700;margin-bottom:4px}.cross-card .meta-line{font-size:12px;color:var(--text3);margin-bottom:8px}.cross-card .note{font-size:13px;color:var(--text2);line-height:1.5;max-width:60ch;white-space:pre-line}.pollen-track{display:flex;align-items:center;gap:6px;margin:10px 0;font-size:12px;color:var(--text3)}.pollen-track .bar{flex:1;height:3px;background:var(--surface2);border-radius:2px;position:relative;overflow:hidden}.pollen-track .bar .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--purple)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}.page-head h2{font-size:22px;margin:0}.page-head .sub{font-size:13px;color:var(--text3);margin-top:3px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px}.stat{border:1px solid var(--border);border-radius:8px;padding:12px 14px;background:var(--surface)}.stat .k{display:block;font-size:12px;color:var(--text3);margin-bottom:4px}.stat .v{font-size:26px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}.stat.tone-total{background:var(--green-bg);border-color:#bbf7d0}.stat.tone-total .v{color:var(--green)}.stat.tone-auto{background:#ecfeff;border-color:#a5f3fc}.stat.tone-auto .v{color:#0e7490}.stat.tone-photo{background:var(--blue-bg);border-color:#bfdbfe}.stat.tone-photo .v{color:var(--blue)}.stat.tone-strains{background:var(--purple-bg);border-color:#ddd6fe}.stat.tone-strains .v{color:var(--purple)}.pill-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;align-items:center}.pill-row .pill-label{font-size:11px;color:var(--text3);margin-right:2px}.pill{border:1px solid var(--border);background:var(--surface);color:var(--text2);border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:600;cursor:pointer;line-height:1.4}.pill:hover{border-color:var(--text3)}.pill.on{background:var(--green);border-color:var(--green);color:#fff}.pill .n{opacity:.7;font-weight:500;margin-left:3px}.pill.sort.on{background:var(--blue);border-color:var(--blue)}.legend{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);margin-bottom:16px}.legend .pill-label{font-size:11px;color:var(--text3)}.gtag{border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;border:1px solid transparent;cursor:pointer}.gtag.indica-strong{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.gtag.indica{background:#4c1d95;color:#fff}.gtag.sativa-strong{background:#166534;color:#fff}.gtag.sativa{background:#dcfce7;color:#14532d;border-color:#bbf7d0}.gtag.balanced{background:#fef9c3;color:#854d0e;border-color:#fde68a}.gtag.off{opacity:.4}.spectrum{height:6px;border-radius:999px;overflow:hidden;display:flex;background:var(--surface2);margin:8px 0 5px}.spectrum .i{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.spectrum .s{background:linear-gradient(90deg,#4ade80,#16a34a)}.spectrum-labels{display:flex;justify-content:space-between;font-size:11px;font-weight:600}.spectrum-labels .i{color:var(--purple)}.spectrum-labels .s{color:var(--green)}.spectrum-labels .dim{color:var(--text3);font-weight:500}.seed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}.seed-card{border:1px solid var(--border);border-radius:9px;background:var(--surface);padding:14px;display:flex;flex-direction:column;border-top:3px solid var(--border)}.seed-card.g-indica-lean{border-top-color:#7c3aed}.seed-card.g-sativa-lean{border-top-color:#16a34a}.seed-card.g-balanced{border-top-color:#eab308}.seed-card.is-out{opacity:.62}.seed-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.seed-card h4{margin:0;font-size:15px;font-weight:700;line-height:1.25}.count-badge{border-radius:7px;min-width:34px;text-align:center;padding:3px 8px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.count-badge.ok{background:var(--green-bg);color:var(--green)}.count-badge.low{background:var(--amber-bg);color:var(--amber)}.count-badge.out{background:var(--red-bg);color:var(--red)}.chip-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.chip{font-size:11px;font-weight:600;border-radius:5px;padding:2px 8px;background:var(--surface2);color:var(--text2)}.chip.cat-auto{background:#cffafe;color:#155e75}.chip.cat-fem{background:var(--blue-bg);color:var(--blue)}.chip.cat-reg{background:#f1f5f9;color:#334155}.chip.thc{background:#fae8ff;color:#86198f}.chip.flower{background:var(--amber-bg);color:var(--amber)}.chip.growing{background:var(--green);color:#fff}.seed-meta{font-size:11.5px;color:var(--text3);margin-top:9px}.seed-research{margin-top:10px;border-top:1px solid var(--border);padding-top:9px;font-size:12px}.seed-research summary{cursor:pointer;font-weight:600;color:var(--blue);font-size:12px;list-style:none}.seed-research summary::-webkit-details-marker{display:none}.seed-research summary:before{content:"▸ "}.seed-research[open] summary:before{content:"▾ "}.seed-research .body{margin-top:8px;color:var(--text2);line-height:1.5}.seed-research .body .row{margin-bottom:5px}.seed-research .body .k{color:var(--text3)}.seed-card .btn-row{margin-top:auto;padding-top:11px}.empty-state{border:1px dashed var(--border);border-radius:8px;padding:34px;text-align:center;color:var(--text3)}.research-card{border-left-width:4px;border-left-color:var(--border)}.research-card.g-indica-dom,.research-card.g-indica-lean{border-left-color:#7c3aed}.research-card.g-sativa-dom,.research-card.g-sativa-lean{border-left-color:#16a34a}.research-card.g-balanced{border-left-color:#eab308}.task-row.kind-feed{border-left:3px solid #16a34a;padding-left:9px}.task-row.kind-harvest{border-left:3px solid #b45309;padding-left:9px}.task-row.kind-check{border-left:3px solid #7c3aed;padding-left:9px}.task-row.kind-water{border-left:3px solid #0891b2;padding-left:9px}.task-row.done{border-left-color:var(--border)!important}.dash-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr);gap:22px;align-items:start;max-width:1400px}@media (max-width: 1000px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.stat.tone-overdue{background:var(--red-bg);border-color:#fecaca}.stat.tone-overdue .v{color:var(--red)}.count-pill{display:inline-block;background:var(--surface2);color:var(--text2);border-radius:999px;font-size:11px;font-weight:700;padding:1px 8px;margin-left:6px;vertical-align:middle}.task-date.overdue{color:var(--red);font-weight:700}.harvest-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:9px 2px;cursor:pointer;color:var(--text1);font-size:13.5px}.harvest-row:last-child{border-bottom:none}.harvest-row:hover{background:var(--bg)}.harvest-row .nm{font-weight:600}.harvest-row .wd{display:flex;align-items:baseline;gap:8px;color:var(--text3);font-size:12.5px;flex-shrink:0}.harvest-row .days{font-weight:700;color:var(--text2)}.harvest-row .days.near{color:var(--amber)}.conf{font-size:10.5px;font-weight:700;border-radius:4px;padding:2px 7px;letter-spacing:.02em}.conf.high{background:var(--green-bg);color:var(--green)}.conf.medhigh{background:#ecfccb;color:#3f6212}.conf.medium{background:var(--amber-bg);color:var(--amber)}.conf.low{background:var(--red-bg);color:var(--red)}.conf.none,.conf.other{background:var(--surface2);color:var(--text3)}.seed-table{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.seed-line{display:grid;grid-template-columns:minmax(0,2.2fr) 96px 84px minmax(0,1.4fr) 46px auto;gap:10px;align-items:center;padding:9px 13px;border-bottom:1px solid var(--border);font-size:13px}.seed-line:last-child{border-bottom:none}.seed-line:hover{background:var(--bg)}.seed-line .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seed-line .num-cell{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.seed-line.is-out{opacity:.6}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle button{background:var(--surface);border:none;padding:5px 11px;cursor:pointer;font-size:13px;color:var(--text2)}.view-toggle button.on{background:var(--green);color:#fff}@media print{@page{margin:.5in}.no-print,.topbar nav,.pill-row,.legend,.btn-row,.view-toggle,input[type=search]{display:none!important}body{background:#fff}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.topbar{background:none!important;border-bottom:2px solid #000}.topbar h1,.topbar h1 span{color:#000!important}.seed-card,.seed-line,.stat,.section,.cross-card,.log-row,.checks,.check,.plant-card{break-inside:avoid;box-shadow:none}.seed-grid{grid-template-columns:repeat(2,1fr)}html,body,#root,.app-shell,.main-area,.page,.breeding-grid,.detail,.rail{overflow:visible!important;height:auto!important}.guidance{max-height:none!important;overflow:visible!important}a[href]:after{content:""}}.pc-badges{display:flex;gap:5px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.log-row{display:grid;grid-template-columns:148px minmax(0,1fr);gap:12px;padding:10px 13px;border-bottom:1px solid var(--border);border-left:3px solid transparent;font-size:13px}.log-row:last-child{border-bottom:none}.log-row.act-insert{border-left-color:var(--green)}.log-row.act-update{border-left-color:var(--blue)}.log-row.act-delete{border-left-color:var(--red)}.log-when{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--text3)}.log-src{font-size:10px;font-weight:700;border-radius:4px;padding:1px 6px;align-self:flex-start;background:var(--surface2);color:var(--text2)}.log-src.src-api{background:var(--green-bg);color:var(--green)}.log-src.src-artifact{background:var(--purple-bg);color:var(--purple)}.log-src.src-engine{background:var(--blue-bg);color:var(--blue)}.log-src.src-manual-sql{background:var(--amber-bg);color:var(--amber)}.log-summary{font-weight:600;line-height:1.4}.log-meta{font-size:11.5px;color:var(--text3);margin-top:3px;line-height:1.45}.log-reason{font-style:italic}.plan-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:8px;padding:13px 15px}.plan-card.pri-high{border-left-color:var(--red)}.plan-card.pri-medium{border-left-color:var(--amber)}.plan-card.pri-low{border-left-color:var(--text3)}.plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.plan-head h3{font-size:15px}.chip.pri-high{background:var(--red-bg);color:var(--red)}.chip.pri-medium{background:var(--amber-bg);color:var(--amber)}.chip.st-resolved{background:var(--green-bg);color:var(--green)}.chip.st-open{background:var(--blue-bg);color:var(--blue)}.chip.st-partial{background:var(--amber-bg);color:var(--amber)}.plan-res{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--text2);background:var(--green-bg);border-radius:6px;padding:8px 10px}.plant-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;max-width:1500px}.plant-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--border);border-radius:9px;padding:15px 16px;display:flex;flex-direction:column}.plant-card.g-indica-dom,.plant-card.g-indica-lean{border-top-color:#7c3aed}.plant-card.g-sativa-dom,.plant-card.g-sativa-lean{border-top-color:#16a34a}.plant-card.g-balanced{border-top-color:#eab308}.pc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.pc-head h3{font-size:16px;margin:0;line-height:1.25}.pc-gen{font-size:11.5px;color:var(--text3);margin-top:3px;line-height:1.4}.pc-cross{font-size:12px;color:var(--purple);background:var(--purple-bg);border-radius:5px;padding:4px 8px;margin-top:9px}.pc-rows{margin-top:11px;border-top:1px solid var(--border);padding-top:9px}.pc-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;font-size:13px;border-bottom:1px solid var(--bg)}.pc-row:last-child{border-bottom:none}.pc-row .k{color:var(--text3);flex-shrink:0}.pc-row .v{font-weight:600;text-align:right}.pc-row .rel{font-weight:400;color:var(--text3);font-size:12px}.pc-next{display:flex;gap:9px;align-items:flex-start;margin-top:11px;padding:8px 10px;background:var(--bg);border-radius:6px;border-left:3px solid var(--border);font-size:12.5px}.pc-next .k{color:var(--text3);font-size:11px;text-transform:none;flex-shrink:0;padding-top:1px}.pc-next .rel{color:var(--text3);font-size:11.5px;margin-top:2px}.pc-next.kind-feed{border-left-color:#16a34a}.pc-next.kind-harvest{border-left-color:#b45309}.pc-next.kind-check{border-left-color:#7c3aed}.pc-next.kind-water{border-left-color:#0891b2}.pc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.pc-tile{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 9px}.pc-tile .k{display:block;font-size:10.5px;color:var(--text3)}.pc-tile .v{font-size:13px;font-weight:700}.pc-tile .sub{display:block;font-size:10px;color:var(--text3)}.pc-tile.amber{background:var(--amber-bg);border-color:#fde68a}.pc-tile.amber .v{color:var(--amber)}.checks{border:1px solid var(--border);border-radius:9px;background:var(--surface);padding:13px 15px;margin-bottom:18px}.checks h3{margin:0 0 9px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text3)}.check{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--bg);font-size:13px;line-height:1.45}.check:first-of-type{border-top:none}.check .sev{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 7px;margin-top:1px}.check .who{font-weight:700;margin-right:5px}.check.sev-alert .sev{background:var(--red-bg);color:var(--red)}.check.sev-warn .sev{background:var(--amber-bg);color:var(--amber)}.check.sev-info .sev{background:var(--blue-bg);color:var(--blue)}.pc-id{display:flex;gap:5px;align-items:center;margin-top:4px;flex-wrap:wrap}.pc-id .tag{font-size:10.5px;font-weight:700;letter-spacing:.03em;border-radius:4px;padding:2px 6px;background:var(--surface2);color:var(--text2);font-variant-numeric:tabular-nums}.pc-id .tag.muted{font-weight:500;color:var(--text3);background:transparent;border:1px solid var(--border)}.rail-abbr{font-size:10.5px;font-weight:600;color:var(--text3);background:var(--surface2);border-radius:3px;padding:1px 5px;margin-left:6px;vertical-align:middle}@media (max-width: 720px){.topbar{padding:10px 14px;gap:8px;position:sticky;top:0;z-index:20}.topbar h1{font-size:17px}.topbar nav{width:100%;margin-left:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:3px;padding-bottom:2px}.topbar nav::-webkit-scrollbar{display:none}.topbar nav button{flex:0 0 auto;padding:8px 12px;font-size:13.5px}.main-area{flex-direction:column;overflow-y:auto}.rail{width:100%;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:visible;white-space:nowrap;padding:10px 12px;display:flex;gap:8px;align-items:stretch;scrollbar-width:none;position:sticky;top:0;z-index:10}.rail::-webkit-scrollbar{display:none}.rail h2,.rail-divider{display:none}.rail-row{flex:0 0 auto;width:auto;min-width:132px;max-width:190px;border-left:none;border:1px solid var(--border);border-radius:8px;padding:8px 11px;white-space:normal}.rail-row.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.rail-row.removed{border-style:dashed;opacity:.6}.rail-row .name{font-size:13px;line-height:1.25}.rail-next{display:none}.detail{padding:16px 14px;overflow-y:visible}.page-head{gap:12px}.page-head h2{font-size:19px}.page{padding:16px 14px}.plant-card-grid,.seed-grid{grid-template-columns:minmax(0,1fr);gap:12px}.detail-grid,.dash-grid{grid-template-columns:minmax(0,1fr);gap:16px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat .v{font-size:21px}.vitals{grid-template-columns:repeat(3,minmax(0,1fr))}.pc-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.milestones{grid-template-columns:repeat(2,minmax(0,1fr))}.seed-line{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name count" "meta conf";gap:3px 10px;padding:11px 13px}.seed-line .nm{grid-area:name;white-space:normal}.seed-line .num-cell{grid-area:count}.seed-line>span:nth-child(2),.seed-line>span:nth-child(3),.seed-line>span:nth-child(4){grid-area:meta;display:inline}.seed-line .conf{grid-area:conf;justify-self:end}.btn,.pill,.view-toggle button{padding:10px 14px;font-size:13.5px}.task-check{width:30px;height:30px;min-width:30px}.task-row{padding:11px 0;gap:10px}.harvest-row{padding:12px 2px}input,select,textarea{font-size:16px;padding:9px 10px}.btn-row input[type=text],.btn-row input[type=date],.btn-row input[type=search]{width:auto!important;min-width:0;flex:1 1 120px}.btn-row{flex-wrap:wrap;gap:8px}.seed-card .btn-row .btn{flex:1 1 auto}.pc-row{font-size:13.5px}.guidance{max-height:200px}.checks{padding:11px 12px}}@media (max-width: 400px){.stat-row,.vitals,.pc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-row{flex-direction:column;align-items:flex-start;gap:1px}.pc-row .v{text-align:left}.topbar h1{font-size:16px}}input.task-check{width:18px;height:18px;margin-top:2px;accent-color:var(--green);cursor:pointer;flex:0 0 auto}input.task-check:disabled{opacity:.45;cursor:progress}.task-string.is-done{text-decoration:line-through;color:var(--text3)}.worker-pill{font-size:11px;font-weight:500;color:var(--text3);border:1px solid var(--border);border-radius:999px;padding:1px 7px;white-space:nowrap}.worker-pill.bad{color:var(--red);border-color:var(--red)}.recipe-none{margin-top:4px;font-size:11.5px;color:var(--text3);line-height:1.4}.recipe-none.bad{color:var(--red)}.recipe-box{margin-top:6px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface2)}.recipe-head{display:flex;align-items:center;gap:7px;margin-bottom:5px}.recipe-stage{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text3)}.recipe-table{width:100%;border-collapse:collapse}.recipe-table td{padding:1px 0;font-size:12.5px;vertical-align:baseline}.recipe-amt{width:74px;white-space:nowrap;color:var(--text1);font-weight:600}.recipe-name{color:var(--text2)}.recipe-est{color:var(--text3);font-size:11px}.recipe-foot{margin-top:5px;font-size:11px;color:var(--text3)}@media (max-width: 720px){.recipe-amt{width:66px}.task-check{width:22px;height:22px}}.version-chip{font-size:12px;font-weight:500;color:var(--text3);background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.version-chip:hover{text-decoration:underline}.diag{background:var(--bg2, #10261a);border:1px solid var(--line, #2c4a38);border-radius:6px;margin:8px 0;padding:10px 12px;overflow-x:auto}.diag pre{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;white-space:pre;color:var(--text2, #cfe6d8)}.diag-actions{display:flex;gap:8px;margin-top:8px}.diag-actions button{font-size:11px;padding:3px 10px;border-radius:4px;border:1px solid var(--line, #2c4a38);background:none;color:var(--text3, #9bb8a6);cursor:pointer}.chip.basis{font-variant-numeric:tabular-nums}.chip.basis.verified{border-color:var(--ok, #3f9d5a);color:var(--ok, #3f9d5a)}.chip.basis.unchecked{border-color:var(--warn, #b8860b);color:var(--warn, #b8860b)}.chip.basis.unknown{border-color:var(--border);color:var(--muted);font-style:italic}.chip.basis.none{border-color:var(--bad, #b04a4a);color:var(--bad, #b04a4a)}.task-date{width:auto;min-width:56px;white-space:nowrap}.late-tag,.pred-past{display:inline-block;margin-left:6px;padding:0 5px;border-radius:3px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--red-bg);color:var(--red);vertical-align:1px}.pred-past{background:var(--surface2);color:var(--text3)}.task-detail{font-size:12px;color:var(--text3);margin-top:2px;white-space:pre-line}.btn.tiny{padding:2px 8px;font-size:11.5px;font-weight:600}.skip-btn{margin-top:4px}.skip-form,.skip-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}.skip-input{flex:1 1 180px;min-width:0;font-size:12.5px;padding:3px 6px}.skip-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:0 5px;border-radius:3px;background:var(--amber-bg);color:var(--amber)}.skip-reason{font-size:12px;color:var(--text2);font-style:italic}.task-row.skipped .task-string{color:var(--text3);text-decoration:line-through;text-decoration-style:dashed;text-decoration-color:var(--border-strong)}.task-row.skipped{border-left-color:var(--amber)!important}.task-row.skipped .task-check{opacity:.4;cursor:not-allowed}.pred-list{border:1px dashed var(--border-strong);border-radius:6px;background:var(--surface2);padding:2px 10px}.pred-row{display:flex;align-items:flex-start;gap:12px;padding:7px 0;border-bottom:1px dashed var(--border);font-style:italic}.pred-row:last-child{border-bottom:none}.pred-badge{display:inline-block;padding:0 6px;border-radius:3px;font-size:10.5px;font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:.03em;background:var(--blue-bg);color:var(--blue);vertical-align:1px;flex-shrink:0}.field-label{font-size:13px;color:var(--text2);min-width:90px}.tasks-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section .tasks-head h3{margin-bottom:0}.sched-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text2, #555);margin:4px 0 12px}.chip.warn{background:var(--amber-bg);color:var(--amber);border-color:#fcd34d}.sched-preview{border:1px solid #fcd34d;border-radius:10px;padding:12px 14px;background:var(--amber-bg);margin-bottom:14px}.sched-group{margin:8px 0}.sched-group .k{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.sched-row{font-size:13px;padding:2px 0}.sched-row.add:before{content:"+ ";color:var(--green, #15803d);font-weight:700}.sched-row.remove{text-decoration:line-through;color:var(--text3, #888)}.sched-row.remove:before{content:"− ";font-weight:700}.more>summary{cursor:pointer;list-style:none}.more>summary::-webkit-details-marker{display:none}.more>summary:after{content:" ⓘ";color:var(--text3);font-style:normal}.more[open]>summary:after{content:""}.more-body{white-space:pre-line;margin-top:3px}
