/* Crop Desk tool UI */
.ft{--ok:#16a34a;--ok-soft:#e7f6ec;--pend:#f59e0b;--pend-soft:#fff4dc;--bad:#b91c1c;--bad-soft:#fde8e8;--card:var(--sheet);--fg:var(--ink);--mut:var(--muted);--ln:var(--line)}
body.ft-dark{--ink:#ece7dc;--muted:#b4ab9d;--line:#3a352d;--paper:#16140f;--sheet:#211e18;--stamp:#2fb3a5;--stamp-deep:#3cc9ba;--stamp-soft:#173a36;--stamp-ink:#06201d}
body.ft-dark .ft{--ok-soft:#14321f;--pend-soft:#3a2c0c;--bad-soft:#3d1616}
.ft{color:var(--fg)}
.ft-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:6px 0 12px}
.ft-bar button,.ft-small{min-height:40px;padding:6px 14px;border:1px solid var(--ln);background:var(--card);color:var(--fg);border-radius:var(--r);font:600 .95rem var(--sans);cursor:pointer}
.ft-tabs{display:flex;gap:6px;overflow-x:auto;position:sticky;top:0;z-index:20;background:var(--paper);padding:8px 0;border-bottom:1px solid var(--ln);margin-bottom:14px}
.ft-tabs button{flex:1 0 auto;min-height:48px;padding:8px 14px;border:1px solid var(--ln);background:var(--card);color:var(--fg);border-radius:var(--r);font:700 1rem var(--sans);cursor:pointer}
.ft-tabs button[aria-selected=true]{background:var(--stamp);color:var(--stamp-ink);border-color:var(--stamp)}
.ft-panel[hidden]{display:none}
.ft-card{background:var(--card);border:1px solid var(--ln);border-radius:var(--r);padding:14px;margin:0 0 12px}
.ft-grid{display:grid;gap:12px}
@media(min-width:700px){.ft-grid.g2{grid-template-columns:1fr 1fr}.ft-grid.g4{grid-template-columns:repeat(4,1fr)}}
.ft-stat{font:700 2rem/1.1 var(--serif);color:var(--stamp)}
.ft-stat small{display:block;font:500 .9rem var(--sans);color:var(--mut)}
.ft form,.ft-form{display:grid;gap:10px}
@media(min-width:700px){.ft-form{grid-template-columns:repeat(3,1fr);align-items:end}}
.ft label{display:grid;gap:4px;font-weight:600;font-size:.95rem}
.ft input,.ft select,.ft textarea{min-height:46px;padding:8px 10px;border:1px solid var(--ln);border-radius:8px;background:var(--paper);color:var(--fg);font:400 1rem var(--sans);width:100%}
.ft .btn{cursor:pointer;min-height:48px}
.ft-prog{height:12px;background:var(--pend-soft);border-radius:99px;overflow:hidden}
.ft-prog>i{display:block;height:100%;background:var(--pend);transition:width .4s}
.ft-prog.full>i{background:var(--ok)}
.ft-stu{border-left:5px solid var(--pend)}
.ft-stu.done{border-left-color:var(--ok)}
.ft-stu-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ft-stu-h strong{font-size:1.1rem}
.ft-tag{font-size:.8rem;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--stamp-soft);color:var(--stamp-deep)}
.ft-checks{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.ft-chk{display:inline-flex!important;grid:none;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border:1px solid var(--ln);border-radius:99px;cursor:pointer;background:var(--pend-soft);user-select:none}
.ft-chk input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.ft-chk .bx{width:22px;height:22px;border:2px solid var(--pend);border-radius:6px;display:grid;place-items:center;background:var(--card)}
.ft-chk.on{background:var(--ok-soft);border-color:var(--ok)}
.ft-chk.on .bx{background:var(--ok);border-color:var(--ok)}
.ft-chk.on .bx::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-1px)}
.ft-chk.pop .bx{animation:ftpop .35s}
.ft-chk input:focus-visible+.bx{outline:2px solid var(--stamp);outline-offset:2px}
@keyframes ftpop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.ft-acts{display:flex;gap:8px;flex-wrap:wrap}
.ft-del{color:var(--bad)!important}
.ft-filters{display:grid;gap:8px;grid-template-columns:1fr 1fr}
@media(min-width:700px){.ft-filters{grid-template-columns:2fr 1fr 1fr 1fr}}
.ft-bulk{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.ft-dl{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-left:5px solid var(--pend)}
.ft-dl .days{font:700 1.4rem var(--serif);min-width:4.5em}
.ft-dl.urgent{border-left-color:var(--bad);background:var(--bad-soft)}
.ft-dl.overdue{border-left-color:var(--bad)}
.ft-dl.overdue .days,.ft-dl.urgent .days{color:var(--bad)}
.ft-dl.done{border-left-color:var(--ok);opacity:.8}
.ft-dl.done .days{color:var(--ok)}
.ft-dl .grow{flex:1;min-width:10em}
.ft-big{font-size:1.25rem;min-height:64px!important;width:100%}
.ft-streak{font:700 3rem/1 var(--serif);text-align:center}
.ft-list{list-style:none;padding:0;margin:0}
.ft-list li{padding:8px 0;border-bottom:1px solid var(--ln)}
.ft-mut{color:var(--mut);font-size:.92rem}
.ft-empty{color:var(--mut);text-align:center;padding:14px}
.ad-slot{min-height:90px;margin:16px 0;border:1px dashed var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
#ft-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:100;display:grid;gap:6px;pointer-events:none}
#ft-toast div{background:#1c1914;color:#fff;padding:10px 18px;border-radius:99px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.25);animation:ftin .25s}
@keyframes ftin{from{opacity:0;transform:translateY(10px)}}
.ft-conf{position:fixed;top:-10px;width:9px;height:14px;z-index:99;pointer-events:none;animation:ftfall 1.6s ease-in forwards}
@keyframes ftfall{to{transform:translateY(105vh) rotate(720deg);opacity:.3}}
@media(prefers-reduced-motion:reduce){.ft-conf{display:none}.ft-chk.pop .bx{animation:none}}
.ft-banner{background:var(--bad-soft,#fde8e8);border:1px solid #b91c1c;color:inherit;border-radius:var(--r);padding:10px 14px;margin-bottom:12px}
@media print{.site-head,.site-foot,.ad-slot,.ft-tabs,.ft-bar,#s-form,.ft-filters,.ft-bulk,.ft-acts,.cd-share,.ft-seo,.crumbs,.lead,.ft-noprint{display:none!important}.ft-panel{display:block!important}#p-dash,#p-deadlines,#p-checkin,#p-ref{display:none!important}.ft-card{break-inside:avoid}}
.kd-modes{display:flex;gap:6px;margin-bottom:10px}.kd-modes button{flex:1;min-height:52px;border:1px solid var(--ln);background:var(--card);color:var(--fg);border-radius:var(--r);font:700 1rem var(--sans);cursor:pointer}
.kd-modes button[aria-selected=true]{background:var(--stamp);color:var(--stamp-ink);border-color:var(--stamp)}
.ft textarea.kd{min-height:180px;font-size:1.15rem;line-height:1.6}
@media(min-width:800px){.kd-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}}

.kd-check{border-left:5px solid var(--pend)}
.kd-ci{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kd-ctx{flex:1 1 100%;font-size:1.05rem}
.kd-ctx mark{background:#dcfce7;color:#14532d;padding:1px 4px;border-radius:4px;font-weight:700}
.kd-ci.amb .kd-ctx mark{background:#fde68a;color:#713f12}
.kd-tag{font-size:.85rem;color:var(--mut)}
.kd-ci.amb .kd-tag{color:#b45309;font-weight:700}
