/* DairyLog visual system — adapted from supplied QuickBooks-inspired OmniTrace palette.
   Functional selectors and layouts from Build 5 are preserved below. */
:root{
  color-scheme:dark;
  --ink:#f2f3f4;--ink-soft:#c2c8cc;--muted:#acb3b8;--subtle:#89959d;
  --teal:#005450;--teal-deep:#003b3a;--green:#168a50;--green-bright:#6ed59b;
  --green-soft:#252d2b;--on-green:#fff;
  --page:#121416;--sidebar:#191c1e;--surface:#202326;--panel:#25292c;
  --soft:#303539;--input:#191d20;--line:#3a4146;--line-soft:#32383d;
  --danger:#f0a49c;--warning:#f1c677;--shadow:rgba(0,0,0,.17);
  --radius:8px;--topbar:#003b3a;--topbar-ink:#fff;
}
html[data-theme=light]{
  color-scheme:light;
  --ink:#21262b;--ink-soft:#4f5962;--muted:#69737d;--subtle:#6e7880;
  --teal:#005450;--teal-deep:#003b3a;--green:#168a50;--green-bright:#0e7442;
  --green-soft:#edf1ef;--on-green:#fff;
  --page:#f4f5f6;--sidebar:#fff;--surface:#fff;--panel:#fff;
  --soft:#f0f2f3;--input:#fff;--line:#d6dade;--line-soft:#e9ebed;
  --danger:#b2342d;--warning:#9a6414;--shadow:rgba(24,31,38,.06);
  --topbar:#005450;--topbar-ink:#fff;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.52 "Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;background:var(--page);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green-bright)}.shell{display:grid;grid-template-columns:265px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--line)}.brand-row{padding:25px 19px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.logo{display:grid;place-items:center;width:45px;height:45px;flex:none;background:#092b1a;border-radius:12px;color:var(--green-bright)}.logo .icon{width:25px;height:25px}.brand{display:flex;flex-direction:column;min-width:0}.brand strong{font-size:19px;letter-spacing:-.035em;white-space:nowrap}.brand span{font-size:11px;color:var(--muted);line-height:1.4}.side-scroll{overflow-y:auto;overscroll-behavior:contain;padding:8px 14px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.nav-block{padding:15px 0;border-bottom:1px solid var(--line)}.nav-block:last-child{border:none}.nav-label{display:block;font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--subtle);margin:0 10px 9px}.nav-link{border:0;width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:var(--muted);padding:9px 10px;border-radius:9px;font-weight:550;transition:background .15s,color .15s}.nav-link:hover{background:var(--soft);color:var(--ink)}.nav-link.active{background:var(--green-soft);color:var(--green-bright);font-weight:750}.nav-link small{margin-left:auto;font-size:9px;color:var(--subtle);font-weight:500}.icon{width:19px;height:19px;display:inline-block;flex:none;vertical-align:middle}.nav-link .icon{width:18px;height:18px}.ai-nav .nav-link{color:var(--green-bright)}.sidebar-foot{margin-top:auto;padding:13px 22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.tiny-dot{display:inline-block;background:var(--green-bright);height:7px;width:7px;border-radius:50%;margin-right:8px}.workspace{min-width:0}.topbar{height:82px;display:flex;align-items:center;gap:16px;padding:12px clamp(20px,3.2vw,44px);border-bottom:1px solid var(--line);background:var(--sidebar)}.top-title{display:flex;flex-direction:column;gap:0}.top-title strong{font-size:18px}.top-title span{color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.top-admin{font-weight:700;font-size:12px;text-decoration:none}.icon-button{display:inline-grid;place-items:center;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;min-width:39px;height:39px}.icon-button:hover,.outline-btn:hover{background:var(--soft)}.outline-btn{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 15px}.workspace-inner{max-width:1480px;margin:0 auto;padding:clamp(18px,3vw,39px)}.hero{max-width:880px;min-height:400px;padding:clamp(30px,5vw,64px);border:1px solid var(--line);border-radius:19px;background:var(--surface)}.hero-tag,.eyebrow{color:var(--green-bright);font-size:11px;letter-spacing:.13em;font-weight:800}.hero h1{font-size:clamp(29px,4vw,47px);line-height:1.17;letter-spacing:-.04em}.hero p{max-width:580px;color:var(--muted)}
.toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);padding:18px 21px;border-radius:16px;margin-bottom:23px}.farm-select-wrap{min-width:min(100%,360px)}label{display:block;font-size:12px;font-weight:600;color:var(--muted)}.toolbar label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}select,input,textarea{color:var(--ink);border:1px solid var(--line);border-radius:10px;background:var(--input);padding:10px 12px;width:100%;min-width:0;outline-offset:2px}select:focus,input:focus,textarea:focus{outline:2px solid var(--green);border-color:var(--green)}button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:10px 14px;font-weight:650;min-height:40px}button:hover{border-color:var(--green)}.primary,#newFarm,#demoFarm,#addCow{color:var(--on-green);background:var(--green);border-color:var(--green)}.primary:hover,#newFarm:hover,#demoFarm:hover,#addCow:hover{filter:brightness(1.1)}.danger-button{background:transparent;color:var(--danger);border-color:var(--danger)}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.view{min-height:350px;background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:clamp(18px,2.4vw,32px)}.view[hidden],[hidden]{display:none!important}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:22px}.section-heading h2{font-size:clamp(23px,2.6vw,30px);line-height:1.22;margin:4px 0;letter-spacing:-.035em}.section-heading p{margin:0}.section-sub{font-size:13px;color:var(--muted)}h3{font-size:17px;margin:22px 0 12px}p{line-height:1.65}.help,.small-note{font-size:12px;color:var(--muted)}.pill{display:inline-block;border:1px solid var(--line);background:var(--soft);border-radius:100px;padding:6px 11px;font-size:11px;color:var(--muted)}.farm-badge{border:1px solid #526442;color:#bddba6;padding:11px 15px;margin:-7px 0 17px;border-radius:10px;font-size:12px}.suspension-notice{border:1px solid #a04a41;color:var(--danger);background:var(--panel);padding:14px;border-radius:10px;margin-bottom:16px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:6px 0 22px}.kpis.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{border:1px solid var(--line);padding:19px;border-radius:13px;background:var(--panel);min-width:0}.kpi .caption{font-size:12px;color:var(--muted)}.kpi .number{margin-top:7px;font-size:clamp(20px,2.5vw,28px);line-height:1.2;color:var(--ink);font-weight:800;letter-spacing:-.03em}.dashboard-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:18px}.panel-title{display:flex;align-items:center;gap:9px;font-weight:750;margin-bottom:17px}.panel-title .icon{color:var(--green-bright)}.spaced{margin-top:18px}.session-row{display:flex;align-items:center;gap:15px;margin-bottom:14px;font-size:12px}.session-row span{width:65px;color:var(--muted)}.bartrack{height:9px;flex:1;background:var(--soft);border-radius:20px;overflow:hidden}.barfill{background:var(--green);height:100%;border-radius:20px}.session-row strong{min-width:58px;text-align:right}.summary-list{display:grid;gap:12px;color:var(--muted)}.summary-list strong{color:var(--ink)}.record-list{display:grid;gap:9px}.animal,.invite,.record-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.record-row:hover,.animal:hover{border-color:var(--green)}.row-primary{min-width:0}.row-primary strong{display:block;font-size:14px}.record-meta{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.row-end{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-end small{color:var(--muted)}.row-end button{min-height:32px;padding:6px 10px;font-size:12px}.record-empty{padding:25px;background:var(--panel);border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.list-search{margin-bottom:17px}.list-search input{max-width:450px}.detail-panel{padding:18px;margin-top:16px;border-radius:13px;border:1px solid var(--line);background:var(--panel)}.detail-panel h3{margin-top:0}.detail-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-cols small{color:var(--muted);display:block}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:14px 0 20px}.form-grid label input,.form-grid label select{display:block;margin-top:7px}.form-grid button{align-self:end}.form-panel{margin-bottom:19px}textarea{min-height:115px;resize:vertical;max-width:100%}hr{border:none;border-top:1px solid var(--line);margin:21px 0}.field-label{margin:15px 0 8px}.prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:23px}.prompt-card{display:flex;text-align:left;gap:12px;align-items:center;padding:18px;background:var(--panel)}.prompt-icon{font-size:20px;color:var(--green-bright)}#aiPeriod{max-width:360px;margin-bottom:12px}#question{margin:8px 0 14px}.ai-result{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.answer{border-radius:12px;background:var(--panel);border:1px solid var(--line);padding:22px;line-height:1.75;overflow-wrap:anywhere}.formatted-answer p{color:var(--ink);margin:9px 0}.formatted-answer h3{margin-top:20px;color:var(--green-bright)}.formatted-answer ul{padding-left:22px}.finding{margin-top:10px;background:var(--panel);border-left:3px solid var(--green);padding:13px;border-radius:7px}.finding.attention{border-left-color:var(--warning)}.coming-soon{text-align:center;padding:55px 20px}.coming-soon [data-icon]{color:var(--green-bright)}.coming-soon .icon{width:42px;height:42px}.coming-soon p{max-width:560px;margin:auto;color:var(--muted)}.data-table-wrap{overflow-x:auto;margin-top:17px}.data-table{width:100%;border-collapse:collapse;min-width:550px}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:12px;text-align:left}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.report-filter button{align-self:end}.record-dialog{width:min(96vw,640px);max-height:90vh;overflow:auto;margin:auto;border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--ink);padding:25px;box-shadow:0 20px 80px rgba(0,0,0,.45)}.record-dialog::backdrop{background:rgba(0,0,0,.78)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.dialog-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.dialog-fields label input,.dialog-fields label select,.dialog-fields label textarea{margin-top:6px}.dialog-fields .wide{grid-column:1/-1}.dialog-foot{display:flex;gap:9px;justify-content:flex-end;margin-top:14px}#message{position:fixed;bottom:16px;right:18px;max-width:min(400px,calc(100vw - 36px));background:var(--soft);color:var(--ink);border:1px solid var(--line);padding:12px 15px;border-radius:10px;box-shadow:0 10px 24px var(--shadow);z-index:100}#message:empty{display:none}footer{text-align:center;font-size:11px;color:var(--muted);padding:30px}.mobile-shade,#menuToggle{display:none}
@media(max-width:1100px){.shell{grid-template-columns:230px minmax(0,1fr)}.sidebar .brand strong{font-size:17px}.brand-row{padding:20px 12px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.shell{display:block}.sidebar{position:fixed;z-index:90;width:min(310px,90vw);height:100dvh;left:0;transform:translateX(-101%);transition:transform .19s ease}.sidebar.open{transform:translateX(0)}.mobile-shade:not([hidden]){display:block;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:80}#menuToggle{display:inline-grid}.topbar{height:72px;padding:12px 16px}.workspace-inner{padding:17px}.dashboard-panels{grid-template-columns:1fr}.toolbar{align-items:stretch}.farm-select-wrap{min-width:100%}}
@media(max-width:580px){.top-title strong{font-size:15px}.top-title span{font-size:11px}.top-admin{display:none}.form-grid,.dialog-fields,.prompt-grid{grid-template-columns:1fr}.kpis,.kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.view{padding:16px}.record-row{align-items:flex-start}.row-end{justify-content:flex-end}.hero{padding:24px}.section-heading{align-items:start}.actions{gap:6px}.actions button{padding:9px 10px}.record-dialog{padding:17px}}
/* Light-theme refinement for visibility and readable selected navigation */
html[data-theme=light] .nav-link.active{background:#d9efe1;color:#086c3f}
html[data-theme=light] .farm-badge{color:#42652b;background:#f0f6e9;border-color:#adc79b}
html[data-theme=light] .logo{color:#4ee89b}


/* Build 5.1: restrained QuickBooks-inspired typography / surfaces / chrome.
   Large background areas are neutral, NOT green-tinted. */
body{font-family:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;letter-spacing:0;font-size:14px;background:var(--page);color:var(--ink)}
.shell{grid-template-columns:246px minmax(0,1fr)}
.sidebar{background:var(--sidebar);border-right:1px solid var(--line)}
.brand-row{padding:19px 16px 17px;border-bottom:1px solid var(--line);gap:10px}
.logo{width:37px;height:37px;border-radius:7px;background:var(--teal-deep);color:#7ee4aa}
.logo .icon{width:21px;height:21px}
.brand strong{font-size:16px;letter-spacing:-.025em;font-weight:800}
.brand span{font-size:10px;line-height:1.4}
.side-scroll{padding:6px 10px}
.nav-block{padding:10px 0;border-bottom:1px solid var(--line-soft)}
.nav-label{font-size:9px;letter-spacing:.105em;margin:0 10px 5px;font-weight:800}
.nav-link{border-radius:4px;padding:7px 11px;gap:10px;font-size:12px;font-weight:600;min-height:35px;position:relative;color:var(--ink-soft);transition:background .12s,color .12s}
.nav-link .icon{width:17px;height:17px;stroke-width:1.7}
.nav-link:hover{background:var(--soft);color:var(--ink)}
.nav-link.active{background:var(--soft);color:var(--ink);font-weight:800}
.nav-link.active::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--green);border-radius:0 3px 3px 0}
.ai-nav .nav-link{color:var(--green-bright)}
.ai-nav .nav-link.active{color:var(--green-bright)}
.sidebar-foot{padding:10px 16px;font-size:10px}
.tiny-dot{background:var(--green)}
.topbar{height:57px;background:var(--topbar);color:var(--topbar-ink);border-bottom:1px solid rgba(0,0,0,.14);padding:8px clamp(16px,2.6vw,32px)}
.top-title strong{font-size:16px;font-weight:800;color:#fff}
.top-title span{color:#d0e2df;font-size:11px}
.topbar .icon-button,.topbar .outline-btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.34);border-radius:4px;min-height:33px;height:34px}
.topbar .icon-button{min-width:34px}
.topbar .icon-button:hover,.topbar .outline-btn:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.6)}
.topbar .top-admin{color:#fff}
.topbar .top-admin:hover{text-decoration:underline}
.workspace-inner{padding:clamp(16px,2.4vw,28px);max-width:1550px}
.hero{background:var(--surface);border-radius:8px;min-height:340px;padding:clamp(28px,4vw,54px)}
.hero h1{font-size:clamp(30px,3.5vw,45px);letter-spacing:-.035em}
.hero-tag,.eyebrow{color:var(--green-bright);letter-spacing:.09em}
.toolbar{padding:12px 16px;margin-bottom:14px;border-radius:8px;background:var(--surface)}
.toolbar label{font-size:10px}
select,input,textarea{border:1px solid var(--line);border-radius:4px;padding:9px 11px;background:var(--input);min-height:38px;color:var(--ink)}
textarea{line-height:1.55}
select:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
html[data-theme=dark] select:focus-visible,html[data-theme=dark] input:focus-visible,html[data-theme=dark] textarea:focus-visible,html[data-theme=dark] button:focus-visible,html[data-theme=dark] a:focus-visible{outline-color:#73cba6}
button{border-radius:4px;padding:8px 13px;min-height:37px;background:var(--panel);border:1px solid var(--line);font-weight:750;transition:background .12s,border-color .12s}
button:hover{border-color:var(--teal)}
.primary,#newFarm,#demoFarm,#addCow{background:var(--green);border-color:var(--green);color:#fff}
.primary:hover,#newFarm:hover,#demoFarm:hover,#addCow:hover{background:#0e7442;filter:none}
.outline-btn{border-radius:4px}
.view{border-radius:8px;padding:clamp(16px,2vw,25px);background:var(--surface)}
.section-heading{margin-bottom:16px}
.section-heading h2{font-size:clamp(20px,2.2vw,25px);letter-spacing:-.02em;font-weight:800}
.section-sub{font-size:12px}
h3{font-size:15px}
.kpis{gap:10px;margin:4px 0 16px}
.kpi,.panel,.detail-panel,.record-empty,.form-panel,.prompt-card,.answer,.record-dialog,.finding{background:var(--panel);border-color:var(--line);border-radius:6px}
.kpi{padding:14px 15px;min-height:86px}
.kpi .caption{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:750}
.kpi .number{font-size:25px;margin-top:6px}
.panel{padding:16px}
.panel-title{font-size:13px}
.panel-title .icon{color:var(--teal)}
html[data-theme=dark] .panel-title .icon{color:var(--green-bright)}
.animal,.invite,.record-row{background:var(--panel);border-radius:5px;padding:11px 12px}
.record-row:hover,.animal:hover{border-color:var(--teal)}
html[data-theme=dark] .record-row:hover,html[data-theme=dark] .animal:hover{border-color:#66736b}
.pill{background:var(--soft);border-radius:12px;padding:5px 8px;color:var(--ink-soft)}
.farm-badge{background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:10px 12px}
html[data-theme=light] .farm-badge{color:var(--ink);background:var(--soft);border-color:var(--line)}
.form-grid{gap:11px}.prompt-grid{gap:10px;margin-bottom:18px}.prompt-card{padding:13px 14px}.prompt-icon{color:var(--teal)}
html[data-theme=dark] .prompt-icon{color:var(--green-bright)}
.ai-result{margin-top:18px;padding-top:15px}.answer{padding:18px;line-height:1.65}
.formatted-answer h3{color:var(--ink)}.formatted-answer h3::before{content:"";display:inline-block;width:3px;height:14px;margin-right:8px;background:var(--green);vertical-align:-2px}
.finding{border-left-color:var(--green)}
.data-table th,.data-table td{padding:10px;border-color:var(--line-soft)}
.data-table th{font-size:10px}
.record-dialog{border-radius:8px}
#message{background:var(--surface);border-radius:5px}
html[data-theme=dark] .logo{background:#003b3a}
html[data-theme=light] .logo{background:#003b3a;color:#8fe9b7}
@media(max-width:1100px){.shell{grid-template-columns:218px minmax(0,1fr)}}
@media(max-width:820px){.shell{display:block}.sidebar{width:min(290px,90vw)}.topbar{height:55px}}
@media(max-width:580px){.workspace-inner{padding:13px}.view{padding:15px}.toolbar{padding:12px}.topbar{padding:8px 12px}.nav-link{min-height:40px}}

/* DairyLog Build 5.2 — identity, sticky navigation, quick AI, and evidence panels */
.topbar{position:sticky;top:0;z-index:65;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.workspace{min-width:0}
.shell.guest{grid-template-columns:1fr}
.shell.guest .sidebar,.shell.guest .mobile-shade,.shell.guest #menuToggle,.shell.guest .top-admin,.shell.guest .top-title,.shell.guest .topbar #logout,.shell.guest .topbar #openAiAssistant{display:none!important}
.shell.guest .workspace-inner{max-width:1100px}
.logo-image{background:#fff!important;overflow:hidden;border:1px solid #d7dbd9}
.logo-image img{display:block;width:100%;height:100%;object-fit:contain}
.ai-header-button{display:inline-flex;align-items:center;gap:8px;background:#168a50;border-color:#168a50;color:#fff!important;font-weight:800;white-space:nowrap;padding:7px 11px;min-height:33px}
.ai-header-button:hover{background:#0e7442;border-color:#0e7442}
.ai-header-button .icon{width:17px;height:17px}
.compact-dates{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto;align-items:end;margin-bottom:14px;max-width:690px}
.compact-dates button{min-width:110px}
.accounting-panel{border:1px solid var(--line);padding:14px;border-radius:6px;background:var(--panel);margin:12px 0 18px;font-size:12px}
.accounting-line{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line-soft);padding:8px 2px}
.accounting-line:last-child{border:0}.accounting-line strong{font-variant-numeric:tabular-nums}
.accounting-note{font-size:11px;color:var(--muted);margin:10px 0 0;line-height:1.5}
.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.insight-card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:6px;padding:14px}
.insight-card.attention{border-left-color:var(--warning)}
.insight-card strong{display:block;margin-bottom:6px}.insight-card p{font-size:12px;margin:0;color:var(--muted)}
.assistant-dialog{position:fixed;width:min(900px,calc(100vw - 30px));height:min(850px,calc(100dvh - 30px));max-height:none;margin:auto;padding:0;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 85px rgba(0,0,0,.4);overflow:hidden}
.assistant-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(2px)}
.assistant-layout{height:100%;display:flex;flex-direction:column}
.assistant-head{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--topbar);color:#fff;padding:13px 18px}
.assistant-head .icon-button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);min-height:33px}
.assistant-brand{display:flex;align-items:center;gap:12px}.assistant-brand>.icon{width:23px;height:23px}
.assistant-brand strong{display:block;font-size:16px}.assistant-brand small{display:block;font-size:11px;color:#d3e6e2}
.assistant-body{padding:23px;flex:1;overflow:auto;min-height:0}
.assistant-body h2{margin:0 0 7px;font-size:22px;letter-spacing:-.025em}.assistant-body>.small-note{margin:0 0 19px}
.assistant-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.assistant-prompts button{text-align:left;background:var(--panel);padding:14px;border-color:var(--line);font-size:12px;min-height:63px}
.assistant-prompts button:hover{border-color:var(--green)}
.assistant-result{border-top:1px solid var(--line-soft);padding-top:14px;margin-top:15px;line-height:1.6}
.assistant-result p{margin:8px 0}.assistant-compose{padding:15px 22px;border-top:1px solid var(--line);background:var(--panel)}
.assistant-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px}
.assistant-controls label{display:flex;align-items:center;gap:9px;font-size:11px}.assistant-controls select{min-width:160px}
.assistant-compose textarea{min-height:72px;max-height:145px;resize:vertical;margin-bottom:10px}
.assistant-compose-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ai-processing{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:17px;border-radius:8px;background:var(--soft)}
.ai-processing p{margin:3px 0 0}.ai-processing small{font-size:10px;color:var(--muted)}
.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;flex:none;animation:dlspin .9s linear infinite}
@keyframes dlspin{to{transform:rotate(360deg)}}
@media(max-width:760px){.assistant-prompts,.insight-grid{grid-template-columns:1fr}.assistant-body{padding:15px}.assistant-compose{padding:12px}.compact-dates{grid-template-columns:1fr 1fr}.compact-dates button{grid-column:1/-1}.ai-header-button{padding:8px}.topbar .top-title span{display:none}}
@media(max-width:430px){.assistant-controls{align-items:start;flex-direction:column}.assistant-dialog{height:calc(100dvh - 14px);width:calc(100vw - 14px)}.ai-header-button .icon{display:none}.ai-header-button{font-size:11px}}
/* Build 5.3: compact, sticky navigation and accessible AI workbench. */
.topbar{position:sticky;top:0;z-index:70;display:grid;grid-template-columns:minmax(140px,1fr) minmax(185px,360px) minmax(170px,1fr);gap:14px;align-items:center}
.header-farm{min-width:0;display:flex;align-items:center;gap:9px;justify-self:center;width:min(360px,100%)}
.header-farm label{white-space:nowrap;color:#d0e2df;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.header-farm select{color:#fff;border:1px solid rgba(255,255,255,.35);background:#004341;font-size:12px;min-height:34px;border-radius:4px;text-overflow:ellipsis}
.header-farm select option{color:#21262b;background:#fff}
.top-actions{justify-self:end}
.intelligence-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.intelligence-filters label{font-size:11px}.intelligence-filters input{display:block;margin-top:4px;max-width:150px}
.assistant-dialog{width:min(1060px,calc(100vw - 20px));height:min(900px,calc(100dvh - 16px));max-height:none}
.assistant-content{display:flex;min-height:0;flex:1;overflow:hidden}
.assistant-main{min-width:0;flex:1;display:flex;flex-direction:column;min-height:0}
.assistant-history{flex:0 0 275px;overflow-y:auto;border-right:1px solid var(--line);padding:14px;background:var(--panel)}
.assistant-history-title{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:12px;margin-bottom:10px}
.assistant-history-title button{border:0;background:transparent;font-size:20px;min-height:24px}
.assistant-history-link{display:block;text-align:left;width:100%;background:var(--surface);margin:5px 0;padding:9px;border-radius:4px}
.assistant-history-link strong{display:block;font-size:11px;font-weight:700;line-height:1.3}
.assistant-history-link small{display:block;font-size:10px;margin-top:5px;color:var(--muted)}
.assistant-body{flex:1;min-height:0;overflow:auto;padding:19px 23px 12px}
.assistant-compose{flex:none;padding:10px 18px 13px;border-top:1px solid var(--line)}
.assistant-compose textarea{min-height:58px;height:70px;max-height:120px;margin:7px 0;resize:vertical}
.assistant-controls{margin-bottom:7px}
.assistant-prompts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 11px}
.assistant-prompts button{padding:8px 9px;min-height:35px;line-height:1.3;font-size:11px;border-radius:4px}
#assistantQuickQuestions{margin-bottom:5px}
#assistantQuickQuestions summary{font-size:11px;font-weight:800;color:var(--ink-soft);cursor:pointer;display:list-item;padding:2px 0}
#assistantQuickQuestions:not([open]){margin-bottom:7px}
.assistant-prior{background:var(--panel);border:1px solid var(--line);border-radius:5px;margin:0 0 9px;padding:8px 11px}
.assistant-prior summary{font-size:12px;font-weight:700;cursor:pointer}
.assistant-prior>.formatted-answer{margin-top:12px;padding:12px;border-top:1px solid var(--line-soft)}
.assistant-question-label{font-size:13px;font-weight:800;margin:0 0 12px}
.assistant-result{margin-top:12px;padding-top:12px;line-height:1.6}
.assistant-head .assistant-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.3);min-height:32px}
#demoStatus:not(:empty){padding:8px;margin-top:6px;border-left:3px solid var(--green)}
@media(max-width:920px){.topbar{grid-template-columns:auto minmax(145px,1fr) auto;gap:7px}.top-title{display:none}.header-farm{max-width:330px}.top-actions{gap:4px}.assistant-history{flex-basis:220px}}
@media(max-width:600px){.header-farm label{display:none}.header-farm select{font-size:10px}.topbar{grid-template-columns:33px minmax(100px,1fr) auto;gap:5px}.assistant-history{position:absolute;z-index:5;inset:50px auto 0 0;width:min(280px,90vw);box-shadow:5px 0 20px rgba(0,0,0,.3)}.assistant-content{position:relative}.assistant-prompts{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-body{padding:15px}.assistant-compose{padding:10px}.assistant-controls{flex-wrap:wrap}.assistant-controls select{min-width:120px}.assistant-compose-bottom .small-note{display:none}}

#demoStatus.loading{display:flex;align-items:center;gap:9px}
#demoStatus.loading::before{content:"";display:inline-block;width:15px;height:15px;flex:none;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:dlspin .85s linear infinite}

/* Build 5.4 — wider operational trends and customer ledger. */
.topbar .logout-button{padding:4px;min-width:36px;display:inline-grid;place-items:center}
.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.chart-heading h3{margin:0 0 3px}.chart-wrap{min-height:220px;max-width:100%;overflow:hidden}
.chart-wrap svg{width:100%;height:auto;max-height:300px;display:block;background:var(--panel);border-radius:6px}
.chart-wrap .chart-grid{stroke:var(--line);stroke-width:1}.chart-wrap .chart-label{fill:var(--muted);font-size:11px}
.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin:9px 0;font-size:11px;color:var(--ink-soft)}
.chart-legend i{display:inline-block;height:3px;width:17px;margin-right:6px;vertical-align:middle;border-radius:4px}
.buyer-page .record-row{align-items:center}.invoice-dialog{width:min(94vw,780px)}
.invoice-printable{background:#fff;color:#21262b;padding:25px;line-height:1.5;border-radius:3px}
.invoice-title{display:flex;align-items:start;justify-content:space-between;border-bottom:2px solid #005450;padding-bottom:17px;gap:20px}
.invoice-title h2{font-size:25px;margin:0}.invoice-title small{color:#69737d}
.invoice-addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:18px 0}.invoice-addresses strong{display:block;font-size:12px}
.invoice-addresses p{margin:6px 0;font-size:12px}.invoice-lines{width:100%;border-collapse:collapse}
.invoice-lines th,.invoice-lines td{padding:10px 8px;border-bottom:1px solid #d6dade;font-size:12px;text-align:left}
.invoice-total{font-size:19px;font-weight:800;text-align:right;margin:19px 0}.invoice-disclaimer{font-size:11px;color:#69737d}
@media(min-width:1101px){.topbar{position:sticky}.header-farm{position:absolute;left:50%;transform:translateX(-50%);width:360px;margin:0}.top-title{max-width:calc(50% - 210px);min-width:0}.top-actions{margin-left:auto;z-index:1}.header-farm select{width:100%}}
@media(max-width:760px){.invoice-addresses{grid-template-columns:1fr}.chart-wrap{min-height:165px}.buyer-page .chart-heading .compact-dates{width:100%}}
@media print{
 body:has(#invoiceDialog[open]) *{visibility:hidden!important}
 body:has(#invoiceDialog[open]) #invoicePrintable,body:has(#invoiceDialog[open]) #invoicePrintable *{visibility:visible!important}
 body:has(#invoiceDialog[open]) #invoiceDialog{visibility:visible!important;position:fixed;top:0;left:0;width:100vw;height:auto;max-height:none;margin:0;padding:0;border:0;box-shadow:none;background:white;overflow:visible}
 body:has(#invoiceDialog[open]) #invoicePrintable{position:absolute;left:0;top:0;width:100%;}
 .no-print{display:none!important}
}
/* Desktop header: centered in the actual content header, not a grid row. */
@media(min-width:1101px){
 .topbar{display:flex;position:sticky;top:0;align-items:center;justify-content:space-between}
 .top-title{flex:0 1 240px;max-width:240px;min-width:0}
 .top-title strong,.top-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .header-farm{top:50%;left:50%;transform:translate(-50%,-50%);width:min(340px,30vw);position:absolute}
 .top-actions{flex:0 0 auto;margin-left:auto;position:relative;z-index:1}
}

/* Build 5.5 — Professional login, first-farm onboarding, independent demo and support. */
.shell.guest .topbar{display:none!important}
.shell.guest .workspace-inner{max-width:none;padding:0;min-height:100vh}
.login-55{display:grid;grid-template-columns:minmax(360px,1fr) minmax(380px,.84fr);min-height:100vh;background:#f5f6f7;color:#20272b}
.login-showcase{padding:clamp(34px,5vw,80px);position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;
 background:linear-gradient(142deg,#002e2c,#005450 66%,#0b7658);color:white}
.login-showcase:before{content:"";position:absolute;right:-220px;bottom:-330px;width:620px;height:620px;border:1px solid rgba(255,255,255,.18);border-radius:100%;box-shadow:0 0 0 85px rgba(255,255,255,.04),0 0 0 165px rgba(255,255,255,.025);pointer-events:none}
.login-big-logo{display:block;object-fit:contain;object-position:left center;max-width:255px;width:64%;max-height:86px;background:#fff;border-radius:9px;padding:11px}
.login-showcase-copy{position:relative;z-index:1}
.login-showcase-copy .hero-tag{color:#9ae2b7}
.login-showcase-copy h1{font-size:clamp(38px,5vw,69px);line-height:1.08;letter-spacing:-.048em;margin:14px 0 18px;color:#fff}
.login-showcase-copy p{font-size:clamp(15px,1.8vw,19px);line-height:1.65;color:#d6ece5;max-width:540px}
.login-benefits{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1}
.login-benefits span{font-size:12px;border:1px solid rgba(255,255,255,.23);border-radius:100px;padding:8px 13px;color:#ecfaf2;background:rgba(255,255,255,.06)}
.login-access{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:30px}
.login-card-55{width:min(100%,450px);padding:clamp(25px,3vw,45px);background:white;border:1px solid #e0e4e6;border-radius:12px;box-shadow:0 10px 45px rgba(20,35,40,.07)}
.login-form-logo{display:block;width:min(240px,90%);max-height:100px;object-fit:contain;object-position:left;margin-bottom:27px}
.login-card-55 h2{margin:9px 0 10px;font-size:clamp(25px,3vw,31px);letter-spacing:-.03em}
.login-card-55 p{font-size:14px;color:#5d676e;line-height:1.6}
.login-card-55 .eyebrow{color:#0e7442}.login-card-55 .help{margin-top:27px;font-size:12px;color:#66717a}
.gsi-center{display:flex;min-height:54px;margin-top:26px}
.login-assistance{padding-top:17px;border-top:1px solid #edf0f1;margin-top:23px}
.login-assistance a{color:#005450;font-size:12px;font-weight:700}
.login-access>small{color:#879198}
.support-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;text-decoration:none;padding:9px 17px;border:1px solid var(--green);border-radius:5px;font-weight:800}
.support-link.primary{background:var(--green);color:#fff}
.demo-management{border:1px solid var(--line)!important;background:var(--soft)!important;padding:20px!important;margin-top:24px}
.demo-management .danger-button{background:transparent!important;color:var(--danger)!important}
.demo-management .actions{gap:10px}
.upload-row{display:block;margin:16px 0;max-width:500px}
.upload-row input{display:block;margin-top:8px}
.outline-download{display:inline-flex;border:1px solid var(--green);color:var(--green-bright);border-radius:5px;padding:9px 14px;text-decoration:none;font-weight:700}
.import-preview-row{display:flex;justify-content:space-between;padding:10px 13px;border:1px solid var(--line);border-radius:6px}
.import-preview-row strong{display:block}.import-preview-row small{display:block;color:var(--muted)}
.import-preview-row.invalid{border-left:4px solid var(--danger)}
.welcome-dialog{margin:auto;padding:0;max-width:min(92vw,530px);border:1px solid #cfdcda;border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.27)}
.welcome-dialog::backdrop{background:rgba(0,0,0,.6)}
.welcome-head{padding:clamp(25px,4vw,48px);text-align:center}
.welcome-head img{width:min(75%,230px);height:auto;max-height:96px;object-fit:contain;background:white;border-radius:7px;padding:8px}
.welcome-head h2{font-size:clamp(22px,3vw,29px);margin:20px 0 8px}
.welcome-head p{color:var(--muted);margin:6px auto 28px}
.welcome-head .actions{justify-content:center}
#animalProfileInfo .detail-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#animalProfileInfo .detail-cols>div{padding:10px;border-bottom:1px solid var(--line-soft)}
#animalProfileInfo strong{font-size:14px}
@media(max-width:900px){.login-55{grid-template-columns:1fr 1fr}.login-showcase{padding:30px}}
@media(max-width:740px){.login-55{grid-template-columns:1fr}.login-showcase{min-height:255px;padding:27px}.login-showcase-copy h1{font-size:34px}.login-showcase-copy p{font-size:14px}.login-big-logo{max-width:185px}.login-benefits{display:none}.login-access{padding:20px 16px 40px}.login-card-55{padding:27px 23px}.login-form-logo{max-width:175px;max-height:55px;margin-bottom:12px}#animalProfileInfo .detail-cols{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.login-showcase{min-height:210px}.login-showcase-copy h1{font-size:28px}.login-showcase-copy p{font-size:13px}#animalProfileInfo .detail-cols{grid-template-columns:1fr}}

/* Build 5.6 suspension and profile table */
.account-suspended-page{min-height:80vh;display:grid;place-items:center;padding:30px;background:var(--page)}
.suspended-card{max-width:530px;width:100%;background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:36px;text-align:center;display:grid;justify-items:center;gap:15px}
.suspended-card>img{max-width:230px;max-height:64px;object-fit:contain}.suspended-card h1{font-size:26px;margin:2px 0}
.suspended-card p{color:var(--muted);line-height:1.7}.suspended-card a{color:var(--green,#168a50)}
.suspended-icon{border-radius:50%;width:58px;height:58px;display:grid;place-items:center;background:#ffe9e5;color:#a32d27;font-size:30px;font-weight:800}
.suspension-notice{padding:14px 18px;background:#fff2e6;color:#653a0d;border:1px solid #e7bc87;border-radius:8px;margin:9px}
.suspension-notice a{color:#653a0d;text-decoration:underline}
.profile-milk-table{width:100%;border-collapse:collapse;min-width:400px;text-align:left}.profile-milk-table th{font-weight:800;text-transform:none;background:var(--soft);color:var(--ink)}
.profile-milk-table td,.profile-milk-table th{padding:10px;border-bottom:1px solid var(--line)}.profile-milk-scroll{overflow:auto;width:100%;max-height:450px}

/* Full account lock is server enforced; controls are also unmistakably disabled. */
#appShell.suspended-farm .view button.primary,#appShell.suspended-farm .view button[data-new],#appShell.suspended-farm .view button[data-save]{opacity:.35;pointer-events:none}
#appShell.suspended-farm .view form:not(#userSettingsForm) :is(input,textarea,select,button){opacity:.6;pointer-events:none}

.notice-item{padding:14px;border-bottom:1px solid var(--line)}.notice-item p{color:var(--muted);margin:7px 0}.notice-item small{color:var(--muted)}

/* Native hybrid's quick actions, visible only in Android WebView. */
.hybrid-quick-actions{display:flex;gap:10px;margin:12px 0 20px}
.hybrid-quick-actions button{flex:1;background:#168a50;border:1px solid #168a50;color:white;border-radius:12px;padding:14px;font-weight:750;min-height:48px}
.hybrid-quick-actions button+button{background:transparent;color:var(--ink,#21262b);border-color:#168a50}
[data-theme="dark"] .hybrid-quick-actions button+button{color:#f4f5f6}
