:root{--surface:#fff;--surface-2:#f4f7f5;--primary:var(--pine);--primary-text:#fff;--brand-text:var(--pine);--input-bg:#fff;--input-text:#17231f;--hover:#e7f3ec;--disabled:#5c6e66;--danger-bg:#fde8e8;--success-bg:#e4f5eb;--warning:#7a5a12;--warning-bg:#fff4d6;--info:#1d4f91;--info-bg:#e7f0fb;--pine:#123d32;--pine-2:#195444;--ink:#17231f;--muted:#5a6660;--line:#dfe7e2;--mist:#f4f7f5;--white:#fff;--gold:#d3a33f;--eyebrow:#6b5218;--success:#2b956d;--danger:#b84343;--shadow:0 24px 60px rgba(13,51,41,.12);--bg:var(--mist);--bg-elevated:#fff;--bg-subtle:#f7faf8;--border:var(--line);--text:var(--ink);--text-muted:var(--muted);--radius-sm:.65rem;--radius-md:.9rem;--radius-lg:1.1rem;--control-h:2.75rem;--control-h-lg:3.25rem;--control-pad-x:1rem;--control-pad-y:.75rem;--fs-h1:1.65rem;--fs-h2:1.15rem;--fs-body:1rem;--fs-meta:.76rem;--shadow-sm:0 8px 24px rgba(16,52,43,.035);--focus-ring:0 0 0 3px rgba(18,61,50,.28);font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:16px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color-scheme:light}html[data-theme=dark],html[data-theme=dark] body{color-scheme:dark}body{min-height:100vh;font-weight:600}label,.field-stack>span,.compact-form h2,.compact-form h3,.auth-form>label>span,.auth-field>label,.msd-label,.legal-form-grid label,.surface-header p{font-weight:800}button,input{font:inherit}button,a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease}a{color:var(--pine-2)}
/* Skip link: first focusable control for keyboard users (WCAG 2.4.1). */
.skip-link{position:absolute;inset-inline-start:1rem;top:.75rem;z-index:10000;padding:.65rem 1rem;border-radius:var(--radius-sm);background:var(--pine);color:#fff;font-weight:700;text-decoration:none;transform:translateY(-160%);transition:transform .15s ease}
.skip-link:focus,.skip-link:focus-visible,.skip-link.is-focused{transform:translateY(0);outline:3px solid var(--gold);outline-offset:2px}
html[data-theme=dark]{--focus-ring:0 0 0 3px rgba(211,163,63,.35)}
html[data-accent=olive]{--pine:#3d4a12;--pine-2:#5a6b19;--gold:#c4a035;--eyebrow:#5c4a12;--focus-ring:0 0 0 3px rgba(61,74,18,.28)}
html[data-accent=navy]{--pine:#12304d;--pine-2:#1a4a73;--gold:#d3a33f;--eyebrow:#6b5218;--focus-ring:0 0 0 3px rgba(18,48,77,.28)}
html[data-accent=teal]{--pine:#0f4c4c;--pine-2:#176b6b;--gold:#d4b45a;--eyebrow:#5a4a18;--focus-ring:0 0 0 3px rgba(15,76,76,.28)}
html[data-accent=wine]{--pine:#4a1828;--pine-2:#6b2440;--gold:#d3a33f;--eyebrow:#6b5218;--focus-ring:0 0 0 3px rgba(74,24,40,.28)}
html[data-accent=slate]{--pine:#1e293b;--pine-2:#334155;--gold:#c9a227;--eyebrow:#6b5218;--focus-ring:0 0 0 3px rgba(30,41,59,.28)}
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:2px solid var(--pine);
  outline-offset:2px;
  box-shadow:var(--focus-ring)
}
html[data-theme=dark] :where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline-color:var(--gold)
}
main#main-content:focus,main#main-content:focus-visible,main[tabindex="-1"]:focus,main[tabindex="-1"]:focus-visible{outline:none;box-shadow:none}
.eyebrow{margin:0 0 .75rem;color:var(--eyebrow);font-size:.78rem!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.login-context .eyebrow,.quality-hero .eyebrow,.dark-brand .eyebrow{color:var(--gold)}.brand-lockup{display:flex;align-items:center;gap:.8rem}.brand-lockup strong{display:block;font-size:1.08rem;letter-spacing:.02em}.brand-lockup span:last-child{display:block;margin-top:.08rem;color:rgba(255,255,255,.62);font-size:.75rem;letter-spacing:.08em}.brand-mark{display:inline-block;width:2.75rem;height:2.75rem;flex-shrink:0;border:1px solid rgba(255,255,255,.22);border-radius:.85rem;background:#0b4a32 url("/brand/agriglobal-mark.png") center/cover no-repeat;color:transparent!important;font-size:0!important;line-height:0;overflow:hidden;text-indent:-999px}.login-shell{display:grid;min-height:100vh;max-width:100%;overflow-x:clip;grid-template-columns:minmax(0,44%) minmax(0,1fr)}.login-context{position:relative;display:flex;overflow:hidden;flex-direction:column;padding:3rem 4rem;background:linear-gradient(145deg,#0e3229 0%,#174f40 65%,#1c5c49 100%);color:#fff}.login-context:before{position:absolute;inset:0;background:radial-gradient(circle at 85% 18%,rgba(211,163,63,.2),transparent 25%),linear-gradient(90deg,transparent 49.7%,rgba(255,255,255,.035) 50%,transparent 50.3%);background-size:auto,4.5rem 100%;content:""}.login-context>*{position:relative;z-index:1}.context-copy{max-width:32rem;margin:auto 0}.context-copy h1{max-width:31rem;margin:0;font-size:clamp(2.35rem,4.4vw,4.4rem);font-weight:600;line-height:1.15;letter-spacing:-.045em}.context-copy>p:last-child{max-width:30rem;margin:1.6rem 0 0;color:rgba(255,255,255,.7);font-size:1.05rem;line-height:1.9}.context-status{display:flex;align-items:center;gap:.7rem}.context-status strong,.context-status span{display:block}.context-status strong{font-size:.88rem}.context-status span{margin-top:.15rem;color:rgba(255,255,255,.55);font-size:.72rem}.status-pulse{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:#58d39d;box-shadow:0 0 0 .3rem rgba(88,211,157,.13)}.field-lines{position:absolute;inset-inline-end:-15%;bottom:-7rem;z-index:0;width:115%;height:18rem;transform:rotate(-8deg)}.field-lines i{display:block;height:2.4rem;margin:1rem;border-top:1px solid rgba(255,255,255,.09);border-radius:50%}.login-panel{position:relative;display:grid;place-items:center;padding:4rem 2rem;background:#fbfdfc}.panel-tools{position:absolute;top:2rem;inset-inline-start:2rem}.language-toggle,.text-button,.mobile-menu{border:0;background:transparent;color:var(--pine);cursor:pointer;font-weight:800}.language-toggle{display:grid;width:2.8rem;height:2.2rem;place-items:center;border:1px solid var(--line);border-radius:.6rem;background:#fff;font-size:.78rem}.language-toggle:hover{border-color:var(--pine)}.login-card{width:min(100%,27rem)}.login-card header h2{margin:0;font-size:2rem;letter-spacing:-.035em}.login-card header>p:last-child{margin:.75rem 0 0;color:var(--muted);line-height:1.7}.auth-form{display:grid;gap:1.15rem;margin-top:2.2rem}.auth-form>label,.auth-form .auth-field{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;font-size:.88rem;font-weight:800}.auth-form>label>span:first-child,.auth-form .auth-field>label{flex:0 1 9.5rem;font-weight:800}.auth-form>label>input,.auth-form .auth-field>.password-field{flex:1 1 12rem;min-width:0;width:auto}.auth-form>label>.field-error,.auth-form .auth-field>.field-error{flex:1 1 100%}.auth-form .auth-field>label{display:block;font:inherit}.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=number],.auth-form input[type=tel],.auth-form input:not([type]){width:100%;min-height:3.25rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:.65rem;outline:0;background:#fff;color:var(--ink)}.auth-form input:focus{border-color:var(--pine-2);box-shadow:0 0 0 3px rgba(25,84,68,.1)}.password-field{position:relative;display:block}.password-field button{position:absolute;top:50%;inset-inline-end:.65rem;inset-inline-start:auto;left:auto;right:.65rem;transform:translateY(-50%);border:0;background:transparent;color:var(--pine-2);cursor:pointer;font-size:.76rem;font-weight:700;z-index:1}.password-field input{padding-inline-end:4rem!important;padding-inline-start:1rem!important;padding-left:1rem!important;padding-right:4rem!important}[dir=rtl] .password-field button{left:.65rem;right:auto}[dir=rtl] .password-field input{padding-left:4rem!important;padding-right:1rem!important}.form-options{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.8rem}.form-options a{text-decoration:none;font-weight:700}.check-label{display:flex;align-items:center;gap:.4rem}.check-label input{accent-color:var(--pine)}.primary-button,.secondary-button{display:flex;min-height:3.25rem;align-items:center;justify-content:center;gap:.75rem;border:0;border-radius:.65rem;cursor:pointer;font-weight:800;text-decoration:none}.primary-button{background:var(--pine);color:#fff;box-shadow:0 .6rem 1.4rem rgba(18,61,50,.18)}.primary-button:hover{background:#0d3027;transform:translateY(-1px)}.primary-button b{font-size:1.2rem}.secondary-button{min-height:2.55rem;padding:0 1rem;border:1px solid var(--line);background:#fff;color:var(--pine)}.secondary-button:disabled{cursor:not-allowed;opacity:.55}.login-card footer{display:flex;justify-content:center;gap:.45rem;margin-top:1.6rem;color:#87918d;font-size:.73rem}.shield{color:var(--success)}.form-alert:empty,.field-error:empty{display:none}.form-alert{padding:.8rem 1rem;border-radius:.55rem;background:#fff0f0;color:var(--danger);font-size:.84rem;line-height:1.5}.form-alert ul{margin:0;padding:0;list-style:none}.field-error{color:var(--danger);font-size:.76rem;font-weight:500}.app-shell{display:grid;min-height:100vh;grid-template-columns:17.5rem minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;width:17.5rem;min-width:17.5rem;height:100vh;flex-direction:column;padding:1.6rem 1.2rem;background:var(--pine);color:#fff;box-sizing:border-box}.sidebar-brand{padding:0 .5rem 1.6rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar nav{display:grid;gap:.3rem;margin-top:1.4rem}.nav-item{display:grid;grid-template-columns:1.5rem 1fr auto;align-items:center;gap:.55rem;padding:.75rem .8rem;border-radius:.55rem;color:rgba(255,255,255,.76);text-decoration:none}.nav-item b{font-size:.88rem}.nav-item small{color:rgba(255,255,255,.4);font-size:.65rem}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.nav-item.active{box-shadow:inset -3px 0 var(--gold)}.nav-item.muted{opacity:.68}.nav-group{margin:1.1rem .8rem .35rem;color:rgba(255,255,255,.35);font-size:.67rem;font-weight:800;letter-spacing:.08em}.sidebar-foot{display:flex;align-items:center;gap:.7rem;margin-top:auto;padding:1rem .75rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:.77rem}.sidebar-foot small{margin-top:.15rem;color:rgba(255,255,255,.4);font-size:.64rem}.workspace{min-width:0;padding:2rem 2.4rem 3rem}.workspace-header{display:flex;align-items:center;justify-content:space-between;min-height:3.1rem;gap:.75rem}.workspace-header p{margin:0;color:var(--muted);font-size:.76rem}.workspace-header h1{margin:.25rem 0 0;font-size:1.6rem;letter-spacing:-.025em}.header-actions{display:flex;align-items:center;gap:.8rem;min-height:2.4rem;flex:0 0 auto}.header-actions form{margin:0}.avatar{display:grid;width:2.4rem;height:2.4rem;place-items:center;border-radius:.7rem;background:var(--pine);color:#fff;font-size:.72rem;font-weight:800}.mobile-menu{display:none;font-size:1.3rem}.readiness-strip{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding:1rem 1.2rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);color:var(--text)}.readiness-strip>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:.2rem .7rem}.readiness-strip small{grid-column:2;color:var(--muted);font-size:.72rem}.tenant-chip,.state-badge{padding:.35rem .65rem;border-radius:999px;background:#dcefe6;color:var(--pine-2);font-size:.7rem;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.25rem}.metric-card{display:grid;min-height:10rem;padding:1.2rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface);color:var(--text)}.metric-card.featured{border-color:var(--accent,var(--pine));background:var(--card-bg,var(--surface));color:var(--card-fg,var(--text))}.metric-card .metric-icon{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.5rem;background:var(--mist);color:var(--pine)}.metric-card.featured .metric-icon{background:var(--accent-soft);color:var(--accent,var(--pine))}.metric-card span{align-self:end;color:var(--muted);font-size:.78rem}.metric-card.featured span,.metric-card.featured small{color:var(--card-muted,var(--text-muted))}.metric-card strong{margin-top:.1rem;font-size:1.65rem}.metric-card small{color:var(--text-muted);font-size:.68rem}.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:1rem;margin-top:1rem}.surface{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm);color:var(--text)}.surface-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.4rem;border-bottom:1px solid var(--line)}.surface-header .eyebrow{margin-bottom:.25rem;color:var(--muted)}.surface-header h2,.roadmap-card h2{margin:0;font-size:1.15rem}.farm-list{padding:.5rem 1.4rem}.farm-row{display:grid;grid-template-columns:2.65rem 1fr auto auto;align-items:center;gap:.8rem;padding:1rem 0;border-bottom:1px solid #edf1ef}.farm-row:last-child{border:0}.farm-code{display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.65rem;background:#e8f1ed;color:var(--pine);font-weight:900}.farm-row strong,.farm-row span{display:block}.farm-row strong{font-size:.9rem}.farm-row div span{margin-top:.25rem;color:var(--muted);font-size:.72rem}.farm-row button{border:0;background:transparent;color:var(--pine);cursor:pointer}.empty-state{padding:3rem;text-align:center}.empty-state>span{font-size:2rem}.empty-state h3{margin:.6rem 0 .3rem}.empty-state p{margin:0;color:var(--muted)}.roadmap-card{padding:1.3rem}.roadmap-card .eyebrow{color:var(--muted)}.roadmap-card ul{display:grid;gap:1rem;margin:1.4rem 0 0;padding:0;list-style:none}.roadmap-card li{display:flex;align-items:center;gap:.7rem;color:#9ca6a1}.roadmap-card li>span{display:grid;width:1.75rem;height:1.75rem;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:.7rem;font-weight:800}.roadmap-card li strong,.roadmap-card li small{display:block}.roadmap-card li strong{font-size:.82rem}.roadmap-card li small{margin-top:.15rem;font-size:.68rem}.roadmap-card li.done{color:var(--success)}.roadmap-card li.current{color:var(--ink)}.roadmap-card li.current>span{border-color:var(--gold);background:#fff7e6;color:#9c711c}.simple-page{display:grid;min-height:100vh;place-items:center;padding:2rem;background:linear-gradient(145deg,var(--pine),#1f6953)}.simple-card{width:min(100%,34rem);padding:2.5rem;border-radius:1rem;background:#fff;box-shadow:var(--shadow)}.simple-card .brand-mark{margin-bottom:2rem;background:var(--pine)}.simple-card h1{margin:0;font-size:2rem}.simple-card>p:not(.eyebrow){color:var(--muted);line-height:1.8}.back-link{float:inline-start;text-decoration:none;font-size:.8rem;font-weight:700}.notice-box{margin:1.4rem 0;padding:1rem;border:1px solid #d8e9e1;border-radius:.65rem;background:#edf8f3;color:var(--pine);font-size:.85rem}.inline-button{display:inline-flex;padding:0 1.4rem}
@media(max-width:1050px){.login-shell{grid-template-columns:38% 1fr}.login-context{padding:2.5rem}.context-copy h1{font-size:2.6rem}.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:15rem 1fr}.workspace{padding:1.5rem}}
@media(max-width:760px){.login-shell{display:block}.login-context{min-height:17rem;padding:1.5rem}.context-copy{margin:2.5rem 0}.context-copy h1{font-size:2rem}.context-copy>p:last-child{display:none}.context-status{display:none}.login-panel{min-height:calc(100vh - 17rem);padding:3rem 1.25rem}.panel-tools{top:1rem;inset-inline-start:1rem}.app-shell{display:block}.sidebar{position:fixed;inset-inline-end:-18rem;inset-inline-start:auto;right:auto;left:auto;z-index:20;width:17.5rem;transition:inset-inline-end .2s ease}.sidebar.open{inset-inline-end:0}.workspace{padding:1.2rem}.mobile-menu{display:block}.workspace-header{gap:.75rem}.workspace-header>div:nth-child(2){margin-inline-start:auto}.workspace-header h1{font-size:1.12rem}.header-actions .language-toggle{display:none}.readiness-strip{align-items:flex-start;gap:1rem}.readiness-strip strong{font-size:.82rem}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:8.5rem}.content-grid{grid-template-columns:1fr}.farm-row{grid-template-columns:2.5rem 1fr auto}.farm-row .state-badge{display:none}.form-options{gap:1rem}.simple-card{padding:1.6rem}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.header-actions .text-button{display:none}.tenant-chip{display:none}.login-context{min-height:14rem}.login-panel{min-height:calc(100vh - 14rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.farm-type-dropdown{border:1px solid var(--border,#2a3b34);border-radius:.65rem;background:var(--bg-elevated,#16241e);color:var(--text,#e8efeb)}.farm-type-dropdown summary{cursor:pointer;min-height:2.75rem;padding:.7rem .9rem;list-style:none}.farm-type-dropdown summary::-webkit-details-marker{display:none}.farm-type-dropdown[open] .farm-type-menu{display:grid;gap:.35rem;padding:.35rem .9rem .75rem}.farm-type-menu label{display:flex;align-items:center;gap:.5rem;margin:0}.farm-workspace{background:linear-gradient(180deg,#f7faf8 0,#eef4f0 100%)}.farm-metrics .metric-card{min-height:8.5rem}.farm-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.farm-panel{overflow:hidden}.wide-panel{grid-column:1/-1}.create-drawer{border-top:1px solid var(--line);padding:0 1.4rem 1.3rem}.create-drawer summary{padding:1rem 0;cursor:pointer;font-weight:800;list-style:none}.create-drawer summary:not(.primary-button):not(.secondary-button){color:var(--pine-2)}.create-drawer summary::-webkit-details-marker{display:none}.form-pair,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-grid{grid-template-columns:repeat(3,1fr)}.mini-empty{padding:1.5rem;color:var(--muted);text-align:center}.compact-list{padding:0 1.4rem}.compact-list span strong,.compact-list span small,.split-list strong,.split-list small{display:block}.compact-list small,.split-list small{margin-top:.25rem;color:var(--muted);font-size:.75rem}.split-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.2rem 1.4rem}.split-list>div+div{border-inline-start:1px solid var(--line);padding-inline-start:1rem}.split-list h3{margin:0 0 .8rem;font-size:.85rem}.split-list p{margin:.5rem 0;padding:.65rem;background:var(--mist);border-radius:.5rem}.cycle-table{overflow-x:auto}.cycle-table>div{display:grid;grid-template-columns:1fr 1.15fr 1.5fr 1fr .75fr;align-items:center;gap:1rem;min-width:720px;padding:.9rem 1.4rem;border-bottom:1px solid var(--line)}.cycle-table .table-head{background:#f7faf8;color:var(--muted);font-size:.75rem;font-weight:800}.operation-timeline{padding:0 1.4rem}.operation-timeline>div{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:start;padding:1rem 0;border-bottom:1px solid var(--line)}.operation-timeline strong,.operation-timeline small{display:block}.operation-timeline small{margin-top:.2rem;color:var(--muted)}.operation-timeline p{margin:.5rem 0 0}.timeline-mark{width:.75rem;height:.75rem;margin-top:.3rem;border:2px solid var(--pine-2);border-radius:50%;box-shadow:0 0 0 .25rem #e2f0e9}@media(max-width:900px){.farm-board{grid-template-columns:1fr}.wide-panel{grid-column:auto}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.form-pair,.form-grid,.split-list{grid-template-columns:1fr}.split-list>div+div{border:0;padding:0}.farm-metrics{grid-template-columns:1fr 1fr}}
.management-shell{min-height:100vh;background:var(--bg);color:var(--text);min-width:0;max-width:100%;overflow-x:clip}.management-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.125rem clamp(.75rem,3vw,2rem);background:var(--bg-elevated);border-bottom:1px solid var(--border);min-width:0;max-width:100%;box-sizing:border-box}.management-main{width:100%;max-width:min(1180px,100%);box-sizing:border-box;margin:32px auto 0;padding-inline:clamp(.75rem,2vw,2rem);min-width:0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-section,.roles-section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm)}.admin-section h2,.roles-section h2{margin-top:0}.data-list{display:grid;gap:10px;margin:18px 0}.data-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--bg-subtle);border-radius:12px}.compact-form{display:grid;gap:12px;margin-top:18px}.compact-form input,.compact-form select{width:100%;min-height:var(--control-h);padding:var(--control-pad-y) var(--control-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font:inherit}.invitation-result,.success-banner,.info-banner{margin:16px 0;padding:14px 16px;border-radius:12px;background:#e8f6ed;border:1px solid #b8dec4;overflow-wrap:anywhere}.info-banner{background:#eef4f8;border-color:#b7c9d6;color:var(--text)}.roles-section{margin-top:22px}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.role-grid>a.role-card{display:grid;gap:.35rem;padding:14px;background:var(--bg-subtle);border-radius:12px;text-decoration:none;color:inherit;border:1px solid transparent}.role-grid>a.role-card:hover,.role-grid>a.role-card:focus-visible{border-color:var(--pine-2)}.role-grid>a.role-card.system-role{opacity:.92}.role-grid>div{padding:14px;background:#f7faf8;border-radius:12px}.user-scope-link{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0;flex:1}.permission-matrix .matrix-scroll{overflow-x:clip;overflow-y:auto;overscroll-behavior-x:none;max-height:28rem;border:1px solid var(--border);border-radius:var(--radius-sm);margin:1rem 0;max-width:100%}.permission-matrix table{width:100%;max-width:100%;border-collapse:collapse;min-width:0;table-layout:fixed;box-sizing:border-box}.permission-matrix th,.permission-matrix td{padding:.55rem .55rem;border-bottom:1px solid var(--border);text-align:start;font-size:.86rem;overflow-wrap:anywhere;word-break:break-word}.permission-matrix th{background:var(--bg-subtle);position:sticky;top:0;z-index:1}.permission-matrix th:nth-child(1),.permission-matrix td:nth-child(1){width:12%}.permission-matrix th:nth-child(2),.permission-matrix td:nth-child(2){width:36%}.permission-matrix th:nth-child(3),.permission-matrix td:nth-child(3){width:22%}.permission-matrix th:nth-child(4),.permission-matrix td:nth-child(4){width:16%}.permission-matrix th:last-child,.permission-matrix td:last-child{width:4.5rem;text-align:center;white-space:nowrap}.management-shell .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.dark-brand{color:var(--text)}.login-context .dark-brand,.register-context .dark-brand,.sidebar .dark-brand{color:#fff}.small-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#1f6b48;color:#fff;font-weight:700}@media(max-width:780px){.management-shell .admin-grid{grid-template-columns:1fr}.management-header{align-items:flex-start}}
.management-shell .info-banner{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid #c5d4e0;border-radius:.7rem;background:#f4f8fb;color:#1d3b4f}
html[data-theme=dark] .management-shell .info-banner{background:#1c2a33;border-color:#3a5060;color:#d7e6f0}
html[data-theme=dark] .management-shell .data-list>div,html[data-theme=dark] .management-shell .role-grid>a.role-card{background:#1a2420}
html[data-theme=dark] .management-shell .permission-matrix th{background:#1a2420}
.access-admin-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
  min-width:0;
  max-width:100%;
  width:100%;
}
.access-admin-grid>.admin-section{
  min-width:0;
  max-width:100%;
  width:100%;
  box-sizing:border-box;
}
.access-admin-grid #employees .data-list{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:1rem 0 0;
}
.access-admin-grid #employees .data-list>div{
  flex:1 1 14rem;
  max-width:100%;
  margin:0;
}
.access-admin-grid #permissions,
.access-admin-grid #permissions .permission-matrix,
.access-admin-grid #permissions .matrix-scroll{
  width:100%;
  max-width:100%;
}
.access-admin-grid #permissions .matrix-scroll{
  max-height:min(70vh,36rem);
}
.page-owner-matrix{display:grid;gap:1.25rem;margin-top:1rem}
.page-owner-row{margin-top:0;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle)}
.page-owner-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}
.page-owner-head small{color:var(--muted);font-family:Consolas,monospace;font-size:.75rem}
.page-owner-checks{display:flex;flex-wrap:wrap;gap:.55rem .85rem}
.page-owner-check{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:.55rem;background:var(--bg-elevated);cursor:pointer;font-size:.86rem;font-weight:600}
.page-owner-check input{accent-color:var(--pine)}
html[data-theme=dark] .page-owner-row{background:#1a2420}
html[data-theme=dark] .page-owner-check{background:#121a17;border-color:#2f3d36}
.inventory-workspace{background:linear-gradient(180deg,#f8faf9,#edf3f0)}.inventory-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.inventory-panel{overflow:hidden}.ledger-lock{display:inline-flex;align-items:center;padding:.4rem .7rem;border:1px solid #bfdacd;border-radius:999px;background:#e9f5ef;color:var(--pine-2);font-size:.75rem;font-weight:800}.stock-table,.ledger-list{overflow-x:auto}.stock-table>div{display:grid;grid-template-columns:1fr 1.5fr 1.5fr .8fr;gap:1rem;align-items:center;min-width:650px;padding:.85rem 1.4rem;border-bottom:1px solid var(--line)}.stock-table .table-head{background:#f7faf8;color:var(--muted);font-size:.75rem;font-weight:800}.ledger-list>div{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;min-width:690px;padding:.9rem 1.4rem;border-bottom:1px solid var(--line)}.ledger-list strong,.ledger-list small{display:block}.ledger-list small{margin-top:.25rem;color:var(--muted)}.entry-id{font-family:Consolas,monospace;color:var(--muted)}.quantity{font-variant-numeric:tabular-nums}.quantity.positive{color:#237d59}.quantity.negative{color:#ad3c3c}.trace-chain{display:grid;gap:.65rem;padding:1.2rem 1.4rem}.trace-chain>div{display:grid;grid-template-columns:1fr auto 1fr;gap:.7rem;align-items:center;padding:.8rem;background:#f7faf8;border-radius:.65rem}.trace-chain>div span{color:var(--gold);font-size:.75rem}.sub-record{margin-inline-start:1rem;border-inline-start:3px solid #dce9e2}.inventory-metrics .metric-card{min-height:8.5rem}@media(max-width:900px){.inventory-board{grid-template-columns:1fr}.inventory-panel.wide-panel{grid-column:auto}}@media(max-width:620px){.ledger-lock{display:none}.trace-chain>div{grid-template-columns:1fr}.trace-chain>div span{transform:rotate(-90deg);justify-self:start}}
.procurement-workspace{background:linear-gradient(180deg,#fafbf8,#f0f4ed)}.procurement-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.procurement-panel{overflow:hidden}.procurement-flow{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;color:var(--muted);font-size:.78rem;font-weight:800}.procurement-flow span{padding:.45rem .7rem;border-radius:999px;background:#edf5f0;color:var(--pine)}.procurement-flow i{color:var(--gold);font-style:normal}.seed-grid,.receipt-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;padding:1.2rem 1.4rem}.seed-grid>div,.receipt-cards>div{display:grid;gap:.25rem;padding:.85rem;border:1px solid var(--line);border-radius:.7rem;background:#f8faf9}.seed-grid span,.receipt-cards span{color:var(--muted);font-size:.75rem}.seed-grid b,.receipt-cards b{color:var(--pine-2);font-size:.72rem}.seed-grid .seed-lot{border-color:#cbded4;background:#edf7f2}.document-table{overflow-x:auto}.document-table>div{display:grid;align-items:center;gap:.75rem;min-width:820px;padding:.85rem 1.4rem;border-bottom:1px solid var(--line)}.requisition-table>div{grid-template-columns:.8fr 1fr 1.4fr .7fr .8fr .6fr}.po-table>div{grid-template-columns:.8fr 1fr 1.3fr .65fr .6fr .6fr .8fr .55fr}.document-table .table-head{background:#f7faf8;color:var(--muted);font-size:.73rem;font-weight:800}.document-table form{margin:0}.approve-button{padding:.4rem .7rem;border:0;border-radius:.5rem;background:var(--pine);color:#fff;cursor:pointer;font-weight:800}.remaining{color:#a16f11}.receipt-drawer{background:#f8fbf9}.procurement-metrics .metric-card{min-height:8.5rem}@media(max-width:900px){.procurement-board{grid-template-columns:1fr}.procurement-panel.wide-panel{grid-column:auto}.procurement-flow{overflow-x:auto;justify-content:flex-start}}@media(max-width:560px){.seed-grid,.receipt-cards{grid-template-columns:1fr}.procurement-flow i{display:none}}
.sales-workspace{background:linear-gradient(180deg,#f7faf9,#edf3f1)}.sales-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.sales-panel{overflow:hidden}.sales-flow{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid #ccddd5;border-radius:.85rem;background:linear-gradient(90deg,#fff,#f1f8f5);color:var(--muted);font-size:.78rem;font-weight:800}.sales-flow span{padding:.45rem .75rem;border-radius:999px;background:#e7f3ed;color:var(--pine)}.sales-flow i{color:var(--gold);font-style:normal}.sales-metrics .metric-card{min-height:8.5rem}.quote-cards{display:grid;gap:.7rem;padding:1.2rem 1.4rem}.quote-card{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fafcfb}.quote-card strong,.quote-card span,.quote-card small{display:block}.quote-card small,.quote-card span{margin-top:.25rem;color:var(--muted);font-size:.76rem}.quote-total{text-align:left;font-variant-numeric:tabular-nums}.quote-total b{display:block;margin-bottom:.35rem;color:var(--pine-2)}.quote-actions{display:flex;gap:.4rem}.quote-actions form{margin:0}.quote-form{grid-template-columns:repeat(4,minmax(0,1fr))}.sales-table>div{grid-template-columns:.8fr 1.2fr .6fr 1fr .65fr .7fr}.sales-panel .receipt-cards{grid-template-columns:1fr}.sales-panel .receipt-cards>div{grid-template-columns:1fr auto;align-items:center}.sales-panel .receipt-cards>div span{grid-column:1}.sales-panel .receipt-cards>div b{grid-column:2;grid-row:1/3}@media(max-width:1050px){.quote-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.sales-board{grid-template-columns:1fr}.sales-panel.wide-panel{grid-column:auto}.sales-flow{overflow-x:auto;justify-content:flex-start}.quote-card{grid-template-columns:1fr auto}.quote-actions{grid-column:1/-1}}@media(max-width:560px){.quote-form{grid-template-columns:1fr}.sales-flow i{display:none}.quote-card{grid-template-columns:1fr}.quote-total{text-align:right}}
.compliance-workspace{background:linear-gradient(180deg,#f6faf7,#edf3ef)}.quality-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;margin-top:1.5rem;padding:1.7rem 2rem;border-radius:1rem;background:linear-gradient(120deg,#123d32,#1c604c);color:#fff;box-shadow:0 18px 40px rgba(18,61,50,.18)}.quality-hero h2{max-width:45rem;margin:.15rem 0 .6rem;font-size:1.55rem}.quality-hero p:last-child{max-width:46rem;margin:0;color:rgba(255,255,255,.68);line-height:1.7}.readiness-orb{display:grid;width:9rem;height:9rem;place-items:center;padding:1rem;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.08);text-align:center}.readiness-orb span,.readiness-orb em{font-size:.65rem;font-style:normal;color:rgba(255,255,255,.67)}.readiness-orb strong{font-size:2.2rem;line-height:1}.readiness-orb small{font-size:.85rem}.quality-metrics .metric-card{min-height:8rem}.danger-metric strong{color:var(--danger)}.quality-flow{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1rem;padding:.9rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;font-size:.75rem;font-weight:800}.quality-flow span{padding:.45rem .65rem;border-radius:999px;background:#e8f3ed;color:var(--pine)}.quality-flow i{color:var(--gold);font-style:normal}.quality-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.quality-panel{overflow:hidden}.quality-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.2rem 1.4rem}.quality-columns>div+div{padding-inline-start:1.5rem;border-inline-start:1px solid var(--line)}.quality-columns h3{margin:0 0 .7rem;font-size:.85rem}.quality-list{display:grid;padding:0 1.4rem}.quality-columns .quality-list{padding:0}.quality-list>div{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.quality-list strong,.quality-list small{display:block}.quality-list small{max-width:26rem;margin-top:.25rem;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.severity{padding:.32rem .55rem;border-radius:999px;background:#edf1ef;color:var(--muted);font-size:.68rem;white-space:nowrap}.severity-major,.severity-high{background:#fff1df;color:#9a6519}.severity-critical{background:#ffebeb;color:#ad3434}.severity-low,.state-pass{background:#e4f4eb;color:#247454}.drawer-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.drawer-row .create-drawer{border-top:0}.drawer-row .create-drawer+details{border-inline-start:1px solid var(--line)}.compact-form textarea{width:100%;min-height:5.3rem;padding:var(--control-pad-y) var(--control-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font:inherit;resize:vertical}.form-grid textarea{grid-column:span 2}.danger-badge{background:#ffebeb;color:#ad3434}.readiness-panel{background:linear-gradient(120deg,#fff,#f2f8f4)}.readiness-panel .readiness-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin:0;padding:1.2rem 1.4rem;border:0;border-radius:0;background:transparent}.readiness-panel .readiness-strip>div{display:grid;grid-template-columns:1fr auto;gap:.3rem;padding:.8rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface);color:var(--text)}.readiness-panel .readiness-strip small{grid-column:auto}.readiness-panel .readiness-strip b{color:var(--pine);font-size:1.25rem}.readiness-panel .readiness-strip em{grid-column:1/-1;width:max-content;font-style:normal}.readiness-form{display:grid;grid-template-columns:1fr auto;gap:.8rem;padding:0 1.4rem 1.4rem}.readiness-form select{padding:.8rem;border:1px solid #cbdacf;border-radius:.65rem;background:#fff}.readiness-form button{padding:0 1.4rem}@media(max-width:1050px){.readiness-panel .readiness-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.quality-board{grid-template-columns:1fr}.quality-panel.wide-panel{grid-column:auto}.quality-flow{overflow-x:auto;justify-content:flex-start}.quality-hero{grid-template-columns:1fr}.readiness-orb{display:none}}@media(max-width:620px){.quality-columns,.drawer-row{grid-template-columns:1fr}.quality-columns>div+div,.drawer-row .create-drawer+details{padding-right:0;border-right:0}.form-grid textarea{grid-column:auto}.readiness-panel .readiness-strip{grid-template-columns:1fr}.readiness-form{grid-template-columns:1fr}.quality-flow i{display:none}}
.documents-workspace{background:linear-gradient(180deg,#f8faf9,#edf2ef)}.document-metrics .metric-card{min-height:8rem}.warning-metric strong{color:#a16f11}.document-stage{margin-top:1rem}.document-register{overflow:hidden}.document-register-table{overflow-x:auto}.document-register-table>div{display:grid;grid-template-columns:1.8fr 1.1fr 1fr .55fr .8fr .65fr .6fr;align-items:center;gap:.8rem;min-width:920px;padding:.85rem 1.4rem;border-bottom:1px solid var(--line)}.document-register-table .table-head{background:#f7faf8;color:var(--muted);font-size:.74rem;font-weight:800}.document-register-table strong,.document-register-table small{display:block}.document-register-table small{margin-top:.2rem;color:var(--muted);font-size:.73rem}.document-register-table em{width:max-content;font-style:normal}.document-actions form{margin:0}.state-approved{background:#e4f4eb;color:#247454}.state-draft,.state-pending_approval{background:#fff1df;color:#936019}.document-form{grid-template-columns:repeat(4,minmax(0,1fr))}.documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.documents-panel{overflow:hidden}.revision-timeline{padding:0 1.4rem}.revision-timeline>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.revision-mark{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.6rem;background:var(--pine);color:#fff;font-size:.75rem;font-weight:900}.revision-timeline strong,.revision-timeline small{display:block}.revision-timeline small{max-width:24rem;margin-top:.2rem;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-seal{padding:.35rem .6rem;border:2px solid var(--gold);border-radius:.35rem;color:#8a6418;font-size:.64rem;font-weight:900;letter-spacing:.08em;transform:rotate(-3deg)}.panel-copy{margin:0;padding:1.2rem 1.4rem 0;color:var(--muted);font-size:.82rem;line-height:1.7}.distribution-form{padding:0 1.4rem 1.4rem}.report-catalog{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:1.2rem 1.4rem}.report-catalog>div{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:.65rem;background:#fafcfb}.report-catalog strong,.report-catalog small{display:block}.report-catalog small{margin-top:.2rem;color:var(--muted);font-size:.68rem}.report-catalog form{margin:0}.run-list{display:grid;gap:.45rem;padding:0 1.4rem 1.3rem}.run-list>span{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:.55rem;background:#f3f7f5}.run-list small{color:var(--muted)}.run-list em{font-style:normal}.legal-hold-panel{border-color:#ead4d4}@media(max-width:1080px){.document-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.documents-grid{grid-template-columns:1fr}}@media(max-width:560px){.document-form,.report-catalog{grid-template-columns:1fr}.document-form textarea{grid-column:auto}}
.planning-workspace{background:linear-gradient(180deg,#f5f8f5 0,#f8faf8 36rem)}.planning-metrics{margin-bottom:1.25rem}.environment-metric{border-color:#b7d9ce}.plan-register{margin-bottom:1.25rem}.plan-table>div{display:grid;grid-template-columns:1.7fr .55fr .9fr .6fr .7fr .65fr;gap:.75rem;align-items:center;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.plan-table .table-head{font-size:.78rem;color:var(--muted);font-weight:800;background:#f7faf7}.plan-table strong,.plan-table small{display:block}.progress-cell{position:relative;height:1.6rem;background:#e7eee9;border-radius:999px;overflow:hidden}.progress-cell i{position:absolute;inset-block:0;inset-inline-start:0;background:linear-gradient(90deg,#256d52,#67a976)}.progress-cell small{position:relative;text-align:center;line-height:1.6rem;font-weight:800;color:#183b2d}.planning-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.training-panel,.environment-panel{min-width:0}.environment-score{display:grid;place-items:center;width:b4rem;height:4rem;border-radius:50%;background:#e2f2eb;color:#176444;font-size:1.15rem;font-weight:900;border:5px solid #b5dbc9}.session-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}.session-strip>span{padding:.75rem;border:1px solid var(--line);border-radius:.8rem;background:#f9fbf9}.session-strip strong,.session-strip small{display:block}@media(max-width:1100px){.planning-columns{grid-template-columns:1fr}.plan-table{overflow-x:auto}.plan-table>div{min-width:850px}}@media(max-width:720px){.session-strip{grid-template-columns:1fr}.planning-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.environment-score{width:4rem}
.production-workspace{background:linear-gradient(180deg,#f6f9f7,#edf3ef)}.production-flow{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:1rem 0;padding:1rem;color:var(--muted);font-weight:800}.production-flow span{padding:.55rem .8rem;border-radius:999px;background:#e5f1ea;color:var(--pine)}.production-flow i{color:var(--gold);font-style:normal}.production-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.production-grid .wide-panel{grid-column:1/-1}.production-table{overflow-x:auto}.production-table>div{display:grid;grid-template-columns:.8fr 1.4fr .8fr .55fr .55fr .65fr .8fr;gap:.7rem;align-items:center;min-width:850px;padding:.8rem 1.2rem;border-bottom:1px solid var(--line)}.production-table .table-head{background:#f7faf8;color:var(--muted);font-size:.76rem;font-weight:800}.step-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:1rem 1.4rem}.step-track span{display:grid;grid-template-columns:auto 1fr;gap:.25rem .65rem;padding:.75rem;border:1px solid var(--line);border-radius:.7rem}.step-track b{grid-row:1/3;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--pine);color:#fff}.step-track small{color:var(--muted)}@media(max-width:900px){.production-grid{grid-template-columns:1fr}.production-grid .wide-panel{grid-column:auto}.production-flow{overflow-x:auto;justify-content:flex-start}}@media(max-width:560px){.step-track{grid-template-columns:1fr}}
.workforce-workspace{background:linear-gradient(180deg,#f5f9f7,#edf3ef)}.workforce-metrics .metric-card{min-height:8.4rem}.safety-flow{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:1rem 0;padding:1rem;color:var(--muted);font-size:.78rem;font-weight:800}.safety-flow span{padding:.5rem .75rem;border-radius:999px;background:#e4f2ea;color:var(--pine)}.safety-flow i{color:var(--gold);font-style:normal}.workforce-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.workforce-grid .wide-panel{grid-column:1/-1}.workforce-table{overflow-x:auto}.workforce-table>div{display:grid;grid-template-columns:1.2fr 1.25fr 1fr .7fr .75fr .55fr;gap:.75rem;align-items:center;min-width:880px;padding:.85rem 1.3rem;border-bottom:1px solid var(--line)}.workforce-table .table-head{background:#f7faf8;color:var(--muted);font-size:.75rem;font-weight:800}.workforce-table strong,.workforce-table small{display:block}.incident-panel{border-color:#dfd5cf}.incident-list{display:grid}.incident-list>div{display:grid;grid-template-columns:auto 1fr auto auto;gap:.8rem;align-items:center;padding:.9rem 1.4rem;border-bottom:1px solid var(--line)}.incident-list strong,.incident-list small{display:block}.incident-list small{margin-top:.22rem;color:var(--muted);font-size:.73rem}.incident-list em{font-style:normal;color:var(--muted)}.incident-mark{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:#fff1df;color:#9a6519;font-weight:900}.incident-mark.severity-critical{background:#ffebeb;color:#ad3434}.incident-mark.severity-low{background:#e4f4eb;color:#247454}@media(max-width:900px){.workforce-grid{grid-template-columns:1fr}.workforce-grid .wide-panel{grid-column:auto}.safety-flow{overflow-x:auto;justify-content:flex-start}}@media(max-width:560px){.safety-flow i{display:none}.incident-list>div{grid-template-columns:auto 1fr}.incident-list b,.incident-list em{grid-column:2}}
.assets-workspace{background:linear-gradient(180deg,#f6f8f5,#eef3ec)}.assets-metrics .metric-card{min-height:8.4rem}.inline-action{margin:.15rem .35rem 0 0;padding:.35rem .65rem;border:0;border-radius:.45rem;background:var(--pine);color:#fff;cursor:pointer;font-size:.72rem;font-weight:800}

/* Phase 4 ? Subscription / SaaS */
.subscription-shell .subscription-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;padding:1.4rem 1.5rem;margin-bottom:1.25rem}
.subscription-hero h2{margin:.4rem 0;font-size:1.55rem}
.subscription-hero h2 small{color:var(--muted);font-size:.85rem;font-weight:700}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin:0}
.meta-grid dt{color:var(--muted);font-size:.72rem;font-weight:800}
.meta-grid dd{margin:.2rem 0 0;font-weight:800}
.sub-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:.55rem;border:1px solid var(--line);font-size:.75rem;font-weight:800;background:#eef4f0}
.sub-status-badge.status-trial{background:#e8f1ff;border-color:#b7c9e8;color:#1d4f91}
.sub-status-badge.status-active{background:#e4f5eb;border-color:#9ecdb2;color:#176444}
.sub-status-badge.status-grace,.sub-status-badge.status-past_due{background:#fff5df;border-color:#e2c98a;color:#8a6416}
.sub-status-badge.status-suspended,.sub-status-badge.status-expired,.sub-status-badge.status-cancelled{background:#ffe8e8;border-color:#e3a4a4;color:#9a3030}
.warning-banner,.error-banner{margin:0 0 1rem;padding:.9rem 1rem;border-radius:.7rem;font-weight:700}
.warning-banner{background:#fff6e4;border:1px solid #e5c985;color:#7a5a12}
.error-banner{background:#ffe9e9;border:1px solid #e3a4a4;color:#9a3030}
.usage-table-wrap{overflow-x:auto}
.usage-table{width:100%;border-collapse:collapse;min-width:520px}
.usage-table th,.usage-table td{padding:.7rem .8rem;border-bottom:1px solid var(--border);text-align:start;font-size:.86rem}
.usage-table th{color:var(--text-muted);font-size:.75rem;font-weight:700}
.feature-list{margin:0;padding:0 1.2rem 1rem;display:grid;gap:.35rem}
.platform-shell .management-header nav a,.subscription-shell .management-header nav a{margin-inline-start:.75rem}
.platform-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.75rem;margin:0 0 1.25rem}
.platform-home-grid a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:3.1rem;text-decoration:none}
.platform-add-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}
#create-plan,#create-version,#create-family,#create-product,#create-variety,#create-program,#create-program-version,#create-body,#create-payment,#create-document,#change-plan,#create-company,#create-farm,#create-employee,#create-facility,#create-unit,#select-catalog,#program-catalog,#users,#farm-map{scroll-margin-top:5rem}
.platform-row-form{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0}
.platform-row-form input[type=text],.platform-row-form input:not([type]),.platform-row-form select{min-width:8rem;max-width:14rem}
.platform-shell .page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.platform-shell .page-title p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.7;max-width:46rem}
.platform-create-grid{margin-top:1.25rem}
.platform-actions,.platform-shell .cell-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.platform-shell .cell-actions form{margin:0}
.platform-action-btn{padding:.35rem .75rem!important;font-size:.85rem!important;min-height:2.4rem!important;width:auto!important;max-width:none!important;margin:0}
.platform-shell .usage-table .cell-control input,
.platform-shell .usage-table .cell-control select{
  width:100%;
  min-width:8rem;
  max-width:18rem;
  min-height:2.4rem;
  padding:.35rem .65rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  color:var(--text);
  font:inherit
}
.platform-shell .cell-flag .check-label{white-space:nowrap}
.platform-shell .pager-row,.platform-shell .catalog-tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem 1.25rem}
.danger-button{appearance:none;border:1px solid #b42318;background:#fff;color:#b42318;border-radius:.65rem;padding:.35rem .75rem;font:inherit;cursor:pointer;font-weight:600}
.danger-button:hover{background:#fef3f2}
html[data-theme="dark"] .danger-button{background:transparent;color:#f97066;border-color:#f97066}
html[data-theme="dark"] .danger-button:hover{background:#450a0a}
.empty-state{padding:2rem 1.5rem}
html[data-theme=dark] .sub-status-badge{background:#24312c;border-color:#3a4a43;color:#d7e4dd}
html[data-theme=dark] .sub-status-badge.status-trial{background:#1c2d45;border-color:#3a5d8a;color:#9ec1f0}
html[data-theme=dark] .sub-status-badge.status-active{background:#1d3a2d;border-color:#3d7a58;color:#9fd8b4}
html[data-theme=dark] .sub-status-badge.status-grace,html[data-theme=dark] .sub-status-badge.status-past_due,html[data-theme=dark] .sub-status-badge.status-grace,html[data-theme=dark] .sub-status-badge.status-past_due{background:#3a3218;border-color:#8a7428;color:#f0d48a}
html[data-theme=dark] .sub-status-badge.status-suspended,html[data-theme=dark] .sub-status-badge.status-expired,html[data-theme=dark] .sub-status-badge.status-cancelled,html[data-theme=dark] .sub-status-badge.status-suspended,html[data-theme=dark] .sub-status-badge.status-expired,html[data-theme=dark] .sub-status-badge.status-cancelled{background:#3a1f1f;border-color:#8a4040;color:#f0a0a0}
html[data-theme=dark] .warning-banner{background:#3a3218;border-color:#8a7428;color:#f0d48a}
html[data-theme=dark] .error-banner{background:#3a1f1f;border-color:#8a4040;color:#f0a0a0}
@media(max-width:900px){.subscription-shell .subscription-hero{grid-template-columns:1fr}.meta-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.meta-grid{grid-template-columns:1fr}}

.subscription-shell .management-main,.platform-shell .management-main{min-width:0;overflow-x:auto}.usage-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.usage-table{min-width:520px}

/* Phase 5 ? Business Administration */
.business-shell .management-header{flex-wrap:wrap;gap:1rem;align-items:flex-start}
.business-shell .management-header .brand-lockup{flex:0 0 auto}
.business-nav{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:.35rem .55rem;justify-content:center;max-width:100%}
.business-nav a{display:grid;padding:.45rem .65rem;border-radius:.55rem;color:#355245;text-decoration:none;font-size:.78rem;line-height:1.2}
.business-nav a b{font-size:.78rem}
.business-nav a small{color:#7d8c84;font-size:.62rem}
.business-nav a:hover,.business-nav a.active{background:#e8f2ec;color:var(--pine)}
html[data-theme=dark] .business-nav a{color:#c5d5cc}
html[data-theme=dark] .business-nav a small{color:#8a9a92}
html[data-theme=dark] .business-nav a:hover,html[data-theme=dark] .business-nav a.active,html[data-theme=dark] .business-nav a:hover,html[data-theme=dark] .business-nav a.active{background:#24312c;color:#e7f0ea}
html[data-theme=dark] .capacity-strip>div{background:#1b2420;border-color:#3a4a43}
.business-shell .page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.business-shell .page-title h1{margin:.15rem 0 .45rem;font-size:1.7rem}
.business-shell .page-title p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.7;max-width:42rem}
.business-summary{margin-bottom:1.25rem;overflow:hidden}
.capacity-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem 1.25rem}
.capacity-strip>div{display:grid;gap:.2rem;padding:.85rem;border:1px solid var(--line);border-radius:.7rem;background:#f7faf8}
.capacity-strip span{color:var(--muted);font-size:.75rem;font-weight:800}
.capacity-strip strong{font-size:1.05rem}
.capacity-strip small{color:#8a9690;font-size:.68rem}
.hub-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.hub-card{display:grid;gap:.35rem;padding:1.2rem 1.25rem;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
.hub-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(18,61,50,.08)}
.hub-card span{font-size:1.2rem}
.hub-card strong{font-size:1rem}
.hub-card small{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.hub-card p{margin:.35rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.6}
.profile-form{padding:0 1.4rem 1.4rem}
.onboarding-list{display:grid;gap:.65rem;padding:1rem 1.25rem}
.onboarding-step{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.75rem;background:#f8faf9}
.onboarding-step.done{background:#eef8f2;border-color:#b9dcc8}
.onboarding-step.current{border-color:#d3a33f;box-shadow:inset 3px 0 #d3a33f}
.onboarding-step strong,.onboarding-step small{display:block}
.onboarding-step small{margin-top:.2rem;color:var(--muted);font-size:.72rem}
.onboarding-actions{display:flex;align-items:center;gap:.45rem}
.onboarding-actions .primary-button,.onboarding-actions .secondary-button{min-height:2.3rem;padding:0 .85rem;font-size:.78rem}
.onboarding-foot{display:flex;flex-wrap:wrap;gap:.55rem;padding:0 1.25rem 1.25rem}
.pager-row{display:flex;gap:.55rem;padding:0 1.25rem 1.25rem}
.scope-form{padding:0 1.25rem 1.25rem}
.org-tree>div{align-items:flex-start}
.employee-list .employee-row[data-row-href]{cursor:pointer}
.employee-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}
.employee-actions details{min-width:12rem}
.employee-actions summary{cursor:pointer;font-size:.75rem;font-weight:800;color:var(--text)}
@media(max-width:1100px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capacity-strip{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.hub-grid,.capacity-strip{grid-template-columns:1fr}.business-shell .page-title{flex-direction:column}.onboarding-step{flex-direction:column;align-items:stretch}.employee-list .employee-row{grid-template-columns:auto 1fr}}

/* Phase 7 ? farm land status badges */
.land-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .55rem;border-radius:.5rem;border:1px solid var(--line);font-size:.72rem;font-weight:800;background:#eef4f0;color:#355245;white-space:nowrap}
.land-status-badge.status-organic{background:#e4f5eb;border-color:#9ecdb2;color:#176444}
.land-status-badge.status-under_conversion{background:#fff5df;border-color:#e2c98a;color:#8a6416}
.land-status-badge.status-suspended{background:#ffe8e8;border-color:#e3a4a4;color:#9a3030}
.land-status-badge.status-conventional{background:#eef1f4;border-color:#c5ced6;color:#4a5560}
.land-status-badge.status-mixed,.land-status-badge.status-other,.land-status-badge.status-unknown{background:#f0eee8;border-color:#d5d0c4;color:#6a6356}
.land-status-badge.status-review_due{background:#fff0e0;border-color:#e0b070;color:#9a4f10}
.wkt-snip,.wkt-block{display:block;max-width:28rem;overflow:auto;font-size:.72rem;line-height:1.45;color:#44554c;word-break:break-all}
.farm-land-shell .management-main{min-width:0;overflow-x:auto;width:100%;max-width:100%}
.farm-land-shell .management-header{flex-wrap:wrap;gap:10px;overflow-x:auto}
.farm-land-shell .admin-grid{grid-template-columns:1fr;min-width:0}
@media (min-width:960px){.farm-land-shell .admin-grid{grid-template-columns:1fr 1fr}}
.farm-land-shell .compact-form,.farm-land-shell .surface{min-width:0;max-width:100%}
.farm-land-shell .usage-table{min-width:420px}
html[data-theme=dark] .land-status-badge{background:#24312c;border-color:#3a4a43;color:#d7e4dd}
html[data-theme=dark] .land-status-badge.status-organic{background:#1d3a2d;border-color:#3d7a58;color:#9fd8b4}
html[data-theme=dark] .land-status-badge.status-under_conversion{background:#3a3218;border-color:#8a7428;color:#f0d48a}
html[data-theme=dark] .land-status-badge.status-suspended{background:#3a1f1f;border-color:#8a4040;color:#f0a0a0}
html[data-theme=dark] .land-status-badge.status-conventional{background:#2a3238;border-color:#4a5560;color:#c5d0da}
html[data-theme=dark] .land-status-badge.status-mixed,html[data-theme=dark] .land-status-badge.status-other,html[data-theme=dark] .land-status-badge.status-unknown,html[data-theme=dark] .land-status-badge.status-mixed,html[data-theme=dark] .land-status-badge.status-other,html[data-theme=dark] .land-status-badge.status-unknown{background:#322e28;border-color:#5a5348;color:#d5cfc2}
html[data-theme=dark] .land-status-badge.status-review_due{background:#3a2a18;border-color:#8a6028;color:#f0c080}
html[data-theme=dark] .wkt-snip,html[data-theme=dark] .wkt-block,html[data-theme=dark] .wkt-snip,html[data-theme=dark] .wkt-block{color:#a8b8b0}

/* Phase 8 ? facility operations */
.readiness-list{list-style:none;margin:0;padding:1rem 1.25rem 1.25rem;display:grid;gap:.45rem;font-size:.88rem}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.45rem .75rem;margin-bottom:.85rem}
.checkbox-grid label{display:flex;align-items:center;gap:.4rem;font-size:.82rem}
.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.25rem 1rem}
.filter-bar{padding:0;max-width:100%;width:100%;min-width:0}
.context-filter{margin:0 0 1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface)}
.context-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;cursor:pointer;list-style:none}
.context-filter-count{min-width:1.5rem;padding:.1rem .45rem;border-radius:999px;background:var(--line);text-align:center}
.context-filter:not([open])>.filter-card-body{display:none}
.context-filter-summary::-webkit-details-marker{display:none}
.context-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:0;padding:.85rem 1rem}
.context-filter-bar .field-stack{flex:1 1 11rem;min-width:0;margin:0}
.context-filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.context-filter-active{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0 1rem .85rem}
.context-filter-chip{padding:.15rem .55rem;border:1px solid var(--line);border-radius:999px}
@media(min-width:761px){.context-filter>.context-filter-summary{display:none}details.context-filter>.filter-card-body{display:block!important}}
@media(max-width:760px){.context-filter-bar{padding:.75rem}.context-filter-actions,.context-filter-actions .secondary-button{width:100%}}
.cycle-scope-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface)}
.cycle-scope-bar .field-stack{flex:1 1 11rem;min-width:0;margin:0}
.cycle-scope-bar .secondary-button{flex:0 0 auto}
@media(max-width:760px){.cycle-scope-bar{padding:.75rem}.cycle-scope-bar .secondary-button{width:100%}}
.business-shell .management-main,.management-shell .management-main{min-width:0;overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box}
.business-shell .usage-table-wrap{overflow-x:auto;max-width:100%}
html[data-theme=dark] .readiness-list{color:#d7e4dd}
html[data-theme=dark] .checkbox-grid label{color:#c5d4cc}

/* Phase 10 ? management-shell dark (procurement + shared) */
html[data-theme=dark] .management-shell{background:#121a17;color:#e7f0ea}
html[data-theme=dark] .management-header{background:#1b2420;border-bottom-color:#2f3d36}
html[data-theme=dark] .management-shell .surface,
html[data-theme=dark] .business-shell .surface{background:#1b2420;border-color:#2f3d36;color:#e7f0ea}
html[data-theme=dark] .management-shell .surface-header{border-bottom-color:#2f3d36}
html[data-theme=dark] .usage-table th{color:#8a9a92}
html[data-theme=dark] .usage-table th,html[data-theme=dark] .usage-table td,html[data-theme=dark] .usage-table th,html[data-theme=dark] .usage-table td{border-bottom-color:#2f3d36;color:#d7e4dd}
html[data-theme=dark] .management-shell .compact-form input,
html[data-theme=dark] .management-shell .compact-form select,
html[data-theme=dark] .management-shell .compact-form textarea,
html[data-theme=dark] .management-shell .compact-form input,
html[data-theme=dark] .management-shell .compact-form select,
html[data-theme=dark] .management-shell .compact-form textarea{background:#121a17;border-color:#3a4a43;color:#e7f0ea}
html[data-theme=dark] .hub-card small,html[data-theme=dark] .hub-card p,html[data-theme=dark] .hub-card small,html[data-theme=dark] .hub-card p{color:#8a9a92}
html[data-theme=dark] .product-picker-search{background:#121a17;border-color:#3a4a43;color:#e7f0ea}
.product-picker{display:grid;gap:.35rem}
.product-picker-search{width:100%;min-height:var(--control-h);padding:var(--control-pad-y) var(--control-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font:inherit}

/* Phase 11 farm-ops shell */
.farm-ops-shell .farm-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.farm-ops-shell .management-header{flex-wrap:wrap;gap:.75rem;row-gap:.65rem}
.farm-ops-shell .business-nav{max-width:min(100%,920px)}
.farm-ops-shell .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
form.cycle-plan-sheet{
  display:flex!important;
  flex-direction:column;
  gap:1rem;
  width:100%;
  min-width:0;
  grid-template-columns:none!important;
}
.cycle-plan-defaults{
  margin:0;
}
.cycle-plan-defaults .form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:end;
}
.cycle-plan-sheet .table-scroll{width:100%;overflow-x:auto}
.cycle-plan-table{width:100%}
.cycle-plan-table :is(input,select){width:100%;min-width:7rem;max-width:none}
.cycle-plan-area{display:flex;align-items:center;gap:.4rem}
.cycle-plan-area input{flex:1 1 auto}
.cycle-plan-table .state-badge{white-space:nowrap}
@media(max-width:1280px){.farm-ops-shell .farm-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.farm-ops-shell .farm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-ops-shell .admin-grid{grid-template-columns:1fr}.farm-ops-shell .split-list{grid-template-columns:1fr}}
@media(max-width:430px){.farm-ops-shell .farm-metrics{grid-template-columns:1fr}}
html[data-theme=dark] .farm-ops-shell .metric-card{background:#1b2420;border-color:#2f3d36;color:#e7f0ea}
html[data-theme=dark] .farm-ops-shell .metric-card.featured{background:var(--card-bg);border-color:var(--accent,var(--pine));color:var(--card-fg)}
html[data-theme=dark] .farm-ops-shell .metric-card span,html[data-theme=dark] .farm-ops-shell .metric-card small,html[data-theme=dark] .farm-ops-shell .metric-card span,html[data-theme=dark] .farm-ops-shell .metric-card small{color:#8a9a92}

.receiving-shell .farm-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.receiving-shell .management-header{flex-wrap:wrap;gap:.75rem;row-gap:.65rem}
.receiving-shell .business-nav{max-width:min(100%,920px)}
.receiving-shell .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.receiving-shell .compact-form{display:grid;gap:.75rem}
.receiving-shell .compact-form label:not(.form-field-label){display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:.92rem;font-weight:800}
@media(max-width:1280px){.receiving-shell .farm-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.receiving-shell .farm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.receiving-shell .admin-grid{grid-template-columns:1fr}}
@media(max-width:430px){.receiving-shell .farm-metrics{grid-template-columns:1fr}}
html[data-theme=dark] .receiving-shell .metric-card{background:#1b2420;border-color:#2f3d36;color:#e7f0ea}
html[data-theme=dark] .receiving-shell .metric-card.featured{background:var(--card-bg);border-color:var(--accent,var(--pine));color:var(--card-fg)}
html[data-theme=dark] .receiving-shell .metric-card span,html[data-theme=dark] .receiving-shell .metric-card small,html[data-theme=dark] .receiving-shell .metric-card span,html[data-theme=dark] .receiving-shell .metric-card small{color:#8a9a92}

.processing-shell .farm-metrics{grid-template-columns:repeat(7,minmax(0,1fr))}
.processing-shell .management-header{flex-wrap:wrap;gap:.75rem;row-gap:.65rem}
.processing-shell .business-nav{max-width:min(100%,920px)}
.processing-shell .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.processing-shell .compact-form{display:grid;gap:.75rem}
.processing-shell .compact-form label:not(.form-field-label){display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:.92rem;font-weight:800}
@media(max-width:1280px){.processing-shell .farm-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.processing-shell .farm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.processing-shell .admin-grid{grid-template-columns:1fr}}
@media(max-width:430px){.processing-shell .farm-metrics{grid-template-columns:1fr}}
html[data-theme=dark] .processing-shell .metric-card{background:#1b2420;border-color:#2f3d36;color:#e7f0ea}
html[data-theme=dark] .processing-shell .metric-card.featured{background:var(--card-bg);border-color:var(--accent,var(--pine));color:var(--card-fg)}
html[data-theme=dark] .processing-shell .metric-card span,html[data-theme=dark] .processing-shell .metric-card small,html[data-theme=dark] .processing-shell .metric-card span,html[data-theme=dark] .processing-shell .metric-card small{color:#8a9a92}

.sales-shell .farm-metrics{grid-template-columns:repeat(7,minmax(0,1fr))}
.sales-shell .management-header{flex-wrap:wrap;gap:.75rem;row-gap:.65rem}
.sales-shell .business-nav{max-width:min(100%,1080px)}
.sales-shell .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.sales-shell .compact-form{display:grid;gap:.75rem}
.sales-shell .compact-form label:not(.form-field-label){display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:.92rem;font-weight:800}
.sales-shell .compact-form.filter-bar.customer-filter-bar{grid-template-columns:minmax(18rem,1fr) minmax(14rem,.65fr) auto;align-items:end;gap:.75rem;margin:1rem 0;padding:.85rem 1rem}
.sales-shell .customer-filter-bar .customer-filter-field{display:grid;grid-template-columns:7.5rem minmax(0,1fr);align-items:center;gap:.5rem;margin:0}
.sales-shell .customer-filter-submit{min-width:7rem;min-height:var(--control-h);white-space:nowrap}
.sales-shell .customer-code{display:block;margin-top:.2rem;color:var(--text-muted);font-size:.75rem;font-weight:600}
.sales-shell .customer-empty-state{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-muted)}
@media(max-width:760px){.sales-shell .compact-form.filter-bar.customer-filter-bar{grid-template-columns:minmax(0,1fr)}.sales-shell .customer-filter-submit{width:100%}}
@media(max-width:1280px){.sales-shell .farm-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sales-shell .farm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-shell .admin-grid{grid-template-columns:1fr}}
@media(max-width:430px){.sales-shell .farm-metrics{grid-template-columns:1fr}}
html[data-theme=dark] .sales-shell .metric-card{background:#1b2420;border-color:#2f3d36;color:#e7f0ea}
html[data-theme=dark] .sales-shell .metric-card.featured{background:var(--card-bg);border-color:var(--accent,var(--pine));color:var(--card-fg)}
html[data-theme=dark] .sales-shell .metric-card span,html[data-theme=dark] .sales-shell .metric-card small,html[data-theme=dark] .sales-shell .metric-card span,html[data-theme=dark] .sales-shell .metric-card small{color:#8a9a92}

/* Phase 14 finished inventory shell */
.finished-shell .row-warn td{background:rgba(211,163,63,.1)}
.finished-shell .row-danger td{background:rgba(184,67,67,.12)}
.finished-shell .success-banner{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid #9dcaaf;border-radius:.7rem;background:#eef7f1;color:#1f5b3d}
.finished-shell .checkbox-inline{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.9rem;white-space:nowrap}
.finished-shell .page-actions{display:flex;gap:.75rem;flex-wrap:wrap}
html[data-theme=dark] .finished-shell .success-banner{background:#1d2c24;border-color:#355244;color:#cfe6d7}
html[data-theme=dark] .finished-shell .row-warn td{background:rgba(211,163,63,.16)}
html[data-theme=dark] .finished-shell .row-danger td{background:rgba(184,67,67,.2)}

/* Phase 26 RTL / LTR localization */
/* Mobile drawer uses logical inset-inline-end; avoid physical left/right overrides that break RTL closed state. */
html[dir="rtl"] .app-shell{direction:rtl}
html[dir="rtl"] .workspace-header,
html[dir="rtl"] .management-header,
html[dir="rtl"] .page-title,
html[dir="rtl"] .filter-bar,
html[dir="rtl"] .form-grid,
html[dir="rtl"] .admin-grid,
html[dir="rtl"] .data-table{direction:rtl;text-align:right}
html[dir="ltr"] .sidebar,
html[dir="ltr"] .management-shell,
html[dir="ltr"] .app-shell{direction:ltr;text-align:left}
html[dir="rtl"] .module-nav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}
.localization-shell .data-table{width:100%;overflow-x:auto;display:block}
.localization-shell .filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}
.ai-shell .ai-capability-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.ai-shell .ai-capability-card p{margin:.5rem 0}
.ai-shell .ai-chat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.ai-shell .ai-answer{white-space:pre-wrap;background:#f7faf8;border:1px solid #dce8df;border-radius:12px;padding:14px;overflow:auto}
.ai-shell .ai-response.PermissionDenied,.ai-shell .ai-response.InjectionBlocked{border-color:#c45c5c}
.ai-shell .ai-response.InsufficientData{border-color:#c9a227}
html[data-theme=dark] .ai-shell .ai-answer,html[data-theme="dark"] .ai-shell .ai-answer{background:#121a17;border-color:#3a4a43;color:#e7f0ea}
@media (max-width:768px){.ai-shell .ai-capability-grid{grid-template-columns:1fr}.ai-shell .management-main{width:100%;max-width:100%}}
.voice-shell .voice-controls label{display:block;margin:.5rem 0}
.voice-shell .voice-controls textarea,.voice-shell .voice-controls select{width:100%;max-width:48rem}
.voice-shell .voice-result .ai-answer{white-space:pre-wrap;background:#f7faf8;border:1px solid #dce8df;border-radius:12px;padding:14px;overflow:auto}
html[data-theme=dark] .voice-shell .ai-answer,html[data-theme="dark"] .voice-shell .ai-answer{background:#121a17;border-color:#3a4a43;color:#e7f0ea}
@media (max-width:768px){.voice-shell .management-main{width:100%;max-width:100%}.voice-shell .split-list{flex-direction:column;align-items:stretch}}
@media (max-width:390px){.voice-shell .page-title{flex-direction:column}}
.language-switcher{display:flex;flex-wrap:wrap;gap:.35rem}
html[data-theme="dark"],html[data-theme=dark]{--mist:#0f1a16;--ink:#e8efeb;--line:#2a3b34;--white:#16241e;--muted:#a3b3ab;--eyebrow:#e0c07a;--bg:#0f1a16;--bg-elevated:#16241e;--bg-subtle:#121a17;--border:#2a3b34;--text:var(--ink);--text-muted:var(--muted);--shadow-sm:0 8px 24px rgba(0,0,0,.28);background:var(--bg);color:var(--text)}
html[data-theme="dark"] body{background:#0f1a16;color:var(--ink)}
html[data-theme="dark"] .surface,html[data-theme="dark"] .metric-card,html[data-theme="dark"] .management-shell{background:#16241e;color:var(--ink);border-color:var(--line)}

/* Phase 29 ? Offline / Sync */
.sync-indicator{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .7rem;border:1px solid var(--line);border-radius:.55rem;background:#eef4f0;font-size:.75rem;font-weight:800}
.sync-indicator[data-state="online"]{background:#e4f5eb;border-color:#9ecdb2;color:#176444}
.sync-indicator[data-state="offline"]{background:#ffe9e9;border-color:#e3a4a4;color:#9a3030}
.sync-indicator[data-state="syncing"]{background:#e8f1ff;border-color:#b7c9e8;color:#1d4f91}
.sync-indicator[data-state="pending"]{background:#fff5df;border-color:#e2c98a;color:#8a6416}
.sync-indicator[data-state="conflict"]{background:#fff1df;border-color:#e2b06a;color:#8a4f16}
.sync-indicator-icon{font-size:.65rem}
.offline-shell .conflict-card{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:#f7faf8;margin-bottom:.75rem}
.offline-shell .conflict-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.offline-shell .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.offline-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}
.offline-module-card{display:grid;grid-template-columns:2rem 1fr;align-items:center;gap:.15rem .65rem;min-height:4.75rem;padding:.75rem;border:1px solid var(--line);border-radius:.75rem;background:var(--bg-subtle);color:var(--text);text-align:start;cursor:pointer}
.offline-module-card>span{grid-row:1/3;display:grid;width:2rem;height:2rem;place-items:center;border-radius:.55rem;background:var(--bg-elevated);color:var(--pine)}
.offline-module-card strong{font-size:.86rem}.offline-module-card small{color:var(--text-muted);font-size:.68rem}
.offline-module-card:hover,.offline-module-card.active{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--bg-elevated))}
.offline-workspace-search input{width:min(19rem,45vw);min-height:2.6rem;padding:.55rem .8rem;border:1px solid var(--line);border-radius:.65rem;background:var(--bg-elevated);color:var(--text)}
.offline-record-heading{align-items:center;margin-bottom:.75rem}.offline-record-heading h3{margin:0}
.offline-entry-grid{align-items:start}
.offline-entry-grid .surface{min-width:0}
.offline-invoice-line{display:grid;gap:.75rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md)}
.offline-invoice-line legend{padding-inline:.35rem;font-weight:800;color:var(--ink)}
.compact-data-list{max-height:18rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-md)}
.compact-data-list>div{padding:.7rem .8rem}
.state-badge.sync-status-Succeeded{background:#e4f4eb;color:#247454}
.state-badge.sync-status-Conflict,.state-badge.sync-status-Rejected{background:#ffebeb;color:#ad3434}
.state-badge.sync-status-Pending,.state-badge.sync-status-RetryScheduled,.state-badge.sync-status-Syncing{background:#fff1df;color:#936019}
html[data-theme="dark"] .sync-indicator,html[data-theme=dark] .sync-indicator{background:#24312c;border-color:#3a4a43;color:#d7e4dd}
html[data-theme="dark"] .offline-shell .conflict-card,html[data-theme=dark] .offline-shell .conflict-card{background:#1b2420;border-color:#2f3d36}
@media(max-width:390px){.offline-shell .management-main{width:100%;max-width:100%}.offline-shell .conflict-actions{width:100%}.offline-shell .usage-table{min-width:0}}

/* Smart data entry ? entity pickers + mobile form grids */
.entity-picker,.product-picker{display:grid;gap:.35rem;min-width:0;max-width:100%;width:100%}
.entity-picker input[type=search],.entity-picker input[type=text],.product-picker input[type=search],.product-picker input[type=text]{width:100%;max-width:100%;box-sizing:border-box}
.farm-ops-shell .surface,.farm-ops-shell .compact-form,.farm-ops-shell .form-grid{min-width:0;max-width:100%}
.farm-ops-shell .compact-form.form-grid>*,.farm-ops-shell .form-grid>*{min-width:0}
.farm-ops-shell .surface .compact-form .field-stack,
.farm-ops-shell .surface form.compact-form > label{
  grid-template-columns:minmax(11rem,16rem) minmax(0,1fr);
  align-items:center;
}
.farm-ops-shell .surface .compact-form .field-stack > span:first-child,
.farm-ops-shell .surface form.compact-form > label > span:first-child{
  grid-column:1;
  grid-row:1;
  align-self:center;
}
.farm-ops-shell .surface .compact-form .field-stack > :is(input,select,textarea,.msd,.entity-picker,.password-field,.scout-area),
.farm-ops-shell .surface form.compact-form > label > :is(input,select,textarea,.entity-picker,.password-field,.scout-area){
  grid-column:2;
  grid-row:1;
}
.farm-ops-shell .surface .compact-form .field-stack > :is(small,.field-hint,.muted),
.farm-ops-shell .surface form.compact-form > label > :is(small,.field-hint,.muted){
  grid-column:2;
  grid-row:2;
}
.farm-ops-shell .surface .compact-form .field-stack:has(textarea){
  align-items:start;
}
.farm-ops-shell .surface .compact-form .field-stack:has(textarea) > span:first-child{
  padding-top:.7rem;
}
.farm-ops-shell table .field-stack,
.farm-ops-shell .usage-table .field-stack{
  grid-template-columns:minmax(0,1fr);
}
.farm-ops-shell table .field-stack > span:first-child,
.farm-ops-shell table .field-stack > :is(input,select,textarea),
.farm-ops-shell .usage-table .field-stack > span:first-child,
.farm-ops-shell .usage-table .field-stack > :is(input,select,textarea){
  grid-column:1;
  grid-row:auto;
}
@media(max-width:760px){
  .farm-ops-shell .form-grid,.management-shell .form-grid{grid-template-columns:1fr}
  .farm-ops-shell .admin-grid{grid-template-columns:1fr}
  .farm-ops-shell .surface .compact-form .field-stack,
  .farm-ops-shell .surface form.compact-form > label{
    grid-template-columns:minmax(0,1fr);
  }
  .farm-ops-shell .surface .compact-form .field-stack > span:first-child,
  .farm-ops-shell .surface .compact-form .field-stack > :is(input,select,textarea,.msd,.entity-picker,.password-field,.scout-area),
  .farm-ops-shell .surface form.compact-form > label > span:first-child,
  .farm-ops-shell .surface form.compact-form > label > :is(input,select,textarea,.entity-picker,.password-field,.scout-area),
  .farm-ops-shell .surface .compact-form .field-stack > :is(small,.field-hint,.muted){
    grid-column:1;
    grid-row:auto;
  }
}

/* Language dropdown ? persists via agri.lang cookie across all pages */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.global-language-bar{display:none}
.language-switcher{display:inline-flex;align-items:center}
.language-select{appearance:none;-webkit-appearance:none;min-width:10.5rem;max-width:14rem;height:2.35rem;padding:.35rem 2rem .35rem .7rem;border:1px solid var(--line);border-radius:.65rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23123d32' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right .65rem center;background-size:.7rem;color:var(--pine);font-weight:700;font-size:.82rem;cursor:pointer;box-shadow:0 8px 20px rgba(18,61,50,.08)}
html[dir=rtl] .language-select{background-position:left .65rem center;padding:.35rem .7rem .35rem 2rem}
.language-select:hover,.language-select:focus{border-color:var(--pine);outline:2px solid rgba(18,61,50,.15);outline-offset:1px}
.language-select--global{background-color:rgba(255,255,255,.96)}
.theme-toggle{appearance:none;display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--line);border-radius:.65rem;background:rgba(255,255,255,.96);color:var(--pine);cursor:pointer;box-shadow:0 8px 20px rgba(18,61,50,.08)}
.theme-toggle:hover,.theme-toggle:focus{border-color:var(--pine);outline:2px solid rgba(18,61,50,.15);outline-offset:1px}
.theme-toggle-icon{display:none;line-height:0}
html:not([data-theme=dark]) .theme-toggle-icon--moon{display:block}
html[data-theme=dark] .theme-toggle-icon--sun{display:block}
html[data-theme=dark] .theme-toggle{
  background:rgba(22,36,30,.96);
  color:var(--ink);
  border-color:#3a4a43;
  box-shadow:0 8px 20px rgba(0,0,0,.28)
}
html[data-theme=dark] .language-select,
html[data-theme=dark] .language-select--global{
  background-color:rgba(22,36,30,.96);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23e8efeb' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .65rem center;
  background-size:.7rem;
  color:var(--ink);
  border-color:#3a4a43;
  box-shadow:0 8px 20px rgba(0,0,0,.28)
}
html[dir=rtl][data-theme=dark] .language-select,
html[dir=rtl][data-theme=dark] .language-select--global{
  background-position:left .65rem center
}
.login-panel .global-language-bar,.login-shell ~ .global-language-bar{/* kept fixed */}
.login-subscribe-note{margin:1.1rem 0 0;text-align:center;color:var(--muted);font-size:.86rem;line-height:1.5}
.login-subscribe-note a{display:inline-block;font-weight:700;color:var(--pine-2);text-decoration:none}
.login-subscribe-note a:hover,.login-subscribe-note a:focus-visible{text-decoration:underline;color:var(--pine)}
html[data-theme=dark] .login-subscribe-note{color:var(--text-muted)}
html[data-theme=dark] .login-subscribe-note a{color:var(--gold)}
html[data-theme=dark] .login-subscribe-note a:hover,
html[data-theme=dark] .login-subscribe-note a:focus-visible{color:#e8c878}
@media(max-width:760px){
  .global-language-bar{top:.65rem;inset-inline-end:.65rem;gap:.35rem}
  .language-select{min-width:8.5rem;font-size:.78rem}
  .theme-toggle,
  button[data-theme-toggle]{width:2.15rem;min-width:2.15rem;height:2.15rem;min-height:2.15rem}
  .header-actions .language-toggle{display:none}
}

/* Subscriber registration */
.auth-form textarea,.auth-form select{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--ink);resize:vertical}
.register-shell .login-card{max-width:32rem}
.register-shell .auth-form{max-height:none}
.register-shell{align-items:start}
.register-shell .register-context{position:sticky;top:0;align-self:start;height:100vh;max-height:100vh;overflow:auto}
@media(max-width:760px){.register-shell .register-context{position:relative;height:auto;max-height:none}.register-shell .context-copy>p:last-child{display:block}}
html[data-theme=dark] .auth-form textarea,html[data-theme=dark] .auth-form select{background:#16241e;border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .login-panel{background:#0f1a16}
html[data-theme=dark] .login-card,html[data-theme=dark] .login-card header h2{color:var(--ink)}
html[data-theme=dark] .auth-form input,html[data-theme=dark] .auth-form select,html[data-theme=dark] .auth-form textarea{
  background:#16241e;border-color:#3a4a43;color:var(--ink)
}
html[data-theme=dark] .plan-card{background:rgba(22,36,30,.85);border-color:#3a4a43;color:var(--ink)}
html[data-theme=dark] .plan-card.is-selected{border-color:#6fbf97;box-shadow:inset 0 0 0 1px #6fbf97}
html[data-theme=dark] .form-alert,html[data-theme=dark] .field-error{color:#f0a8a8}

/* AgriGlobal brand assets */
.brand-logo-full{display:block;width:min(100%,18rem);height:auto;margin:0}
.brand-lockup .brand-mark{margin-inline-end:.05rem}
.sidebar-brand .brand-mark,.management-header .brand-mark{width:2.9rem;height:2.9rem}
.login-context .brand-lockup{align-items:center}
.login-context .brand-logo-full{width:min(100%,17.5rem);filter:drop-shadow(0 12px 28px rgba(0,0,0,.35))}
.register-shell .login-context .brand-logo-full,.register-context .brand-logo-full{width:min(100%,4.375rem);filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}
.platform-login .brand-logo-full{width:min(100%,14rem);margin-bottom:1rem}
html[data-theme=light] .management-header .brand-mark,
html:not([data-theme=dark]) .management-header .brand-mark{border-color:rgba(18,61,50,.18)}
/* Platform legal entity */
.platform-legal-shell .legal-section{margin-top:1rem;padding-bottom:1.1rem}
.platform-legal-shell .legal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;padding:0 1.35rem 1rem}
.platform-legal-shell .legal-form-grid label{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:.86rem;font-weight:800;color:inherit}
.platform-legal-shell .legal-form-grid .span-2{grid-column:1/-1}
.platform-legal-shell .legal-form-grid input,.platform-legal-shell .legal-form-grid select,.platform-legal-shell .legal-form-grid textarea{width:100%;min-height:2.7rem;padding:.65rem .85rem;border:1px solid var(--line,#cbdacf);border-radius:.65rem;background:#fff;color:inherit;font:inherit}
.platform-legal-shell .legal-form-grid textarea{min-height:4.5rem;resize:vertical}
.platform-legal-shell .check-inline{display:flex!important;align-items:center;gap:.45rem;min-height:2.7rem;margin-top:1.4rem}
.platform-legal-shell .legal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;padding:0 1.35rem 1.2rem}
.platform-legal-shell .legal-docs-grid{align-items:start}
@media(max-width:900px){.platform-legal-shell .legal-form-grid{grid-template-columns:1fr}.platform-legal-shell .legal-docs-grid{grid-template-columns:1fr}}
html[data-theme=dark] .platform-legal-shell .legal-form-grid input,
html[data-theme=dark] .platform-legal-shell .legal-form-grid select,
html[data-theme=dark] .platform-legal-shell .legal-form-grid textarea{background:#16241e;border-color:#3a4a43;color:var(--ink)}
/* Register multi-select dropdowns */
.register-multi-select{margin-top:.35rem;padding:1rem 1.05rem 1.15rem;border:1px solid var(--line,#dfe7e2);border-radius:.85rem;background:rgba(255,255,255,.55)}
.register-multi-select legend{padding:0 .35rem;font-weight:800;font-size:.95rem}
.register-multi-hint{margin:.25rem 0 .75rem;font-size:.8rem;line-height:1.45}
.msd{margin-top:.85rem;position:relative}
.msd-label{display:block;margin-bottom:.4rem;font-weight:800;font-size:.88rem}
.msd-trigger{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:2.75rem;padding:.65rem .9rem;border:1px solid var(--line,#cbdacf);border-radius:.65rem;background:#fff;color:var(--ink);text-align:start;cursor:pointer}
.msd-trigger:hover,.msd-trigger[aria-expanded=true]{border-color:var(--pine,#123d32);box-shadow:0 0 0 3px rgba(18,61,50,.1)}
.msd-trigger:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.msd-trigger:disabled:hover{border-color:var(--line,#cbdacf);box-shadow:none}
.msd-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.msd-summary.is-empty{color:var(--muted,#69756f)}
.msd-caret{flex-shrink:0;opacity:.55;font-size:.75rem}
.msd-panel{position:absolute;z-index:30;inset-inline:0;top:calc(100% + .35rem);display:none;flex-direction:column;max-height:18rem;border:1px solid var(--line,#dfe7e2);border-radius:.75rem;background:#fff;box-shadow:0 16px 40px rgba(13,51,41,.16);overflow:hidden}
.msd.is-open .msd-panel{display:flex}
.msd-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;padding:.65rem .7rem;border-bottom:1px solid var(--line,#e7efe9);background:#f7faf8}
.msd-search{flex:1 1 8rem;min-width:0;min-height:2.2rem;padding:.45rem .7rem;border:1px solid var(--line,#cbdacf);border-radius:.5rem;background:#fff}
.msd-actions{display:flex;gap:.35rem;flex-wrap:wrap}
.msd-actions button{min-height:2.2rem;padding:.35rem .7rem;border:1px solid var(--line,#cbdacf);border-radius:.5rem;background:#fff;color:var(--pine,#123d32);font-size:.78rem;font-weight:700;cursor:pointer}
.msd-actions button:hover{background:#eef6f1}
.msd-options{flex:1;overflow:auto;padding:.4rem;display:grid;gap:.25rem}
.msd-option{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;padding:.45rem .55rem;border-radius:.5rem;cursor:pointer}
.msd-option[hidden],.msd-empty[hidden]{display:none!important}
.msd-option:hover{background:#eef6f1}
.msd-option strong,.msd-option small{display:block}
.msd-option small{margin-top:.1rem;color:var(--muted,#69756f);font-size:.72rem}
.msd-option input{margin-top:.2rem;accent-color:var(--pine,#123d32)}
.msd-empty{padding:.75rem;color:var(--muted,#69756f);font-size:.82rem}
html[data-theme=dark] .register-multi-select{background:rgba(22,36,30,.72);border-color:#3a4a43}
html[data-theme=dark] .msd-trigger,html[data-theme=dark] .msd-panel,html[data-theme=dark] .msd-search,html[data-theme=dark] .msd-actions button{background:#16241e;border-color:#3a4a43;color:var(--ink)}
html[data-theme=dark] .msd-toolbar{background:#12201a;border-color:#3a4a43}
html[data-theme=dark] .msd-option:hover,html[data-theme=dark] .msd-actions button:hover{background:#1d2e27}
html[data-theme=dark] .msd-trigger:hover,html[data-theme=dark] .msd-trigger[aria-expanded=true]{box-shadow:0 0 0 3px rgba(211,163,63,.12)}
.register-guide-launch{margin:.85rem 0 0}
.register-guide-dialog{border:none;padding:0;background:transparent;max-width:min(34rem,calc(100vw - 1.5rem))}
.register-guide-dialog::backdrop{background:rgba(8,18,14,.55);backdrop-filter:blur(2px)}
.register-success-facts{display:grid;gap:.65rem;margin:0 0 1rem;padding:0}
.register-success-facts>div{display:grid;gap:.15rem;padding:.65rem .75rem;border:1px solid var(--line,#d7e4dc);border-radius:.65rem;background:var(--bg-subtle,#f7faf8)}
.register-success-facts dt{margin:0;color:var(--muted,#6b7c73);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.register-success-facts dd{margin:0;font-size:1rem;font-weight:700;color:var(--text,#123d32);overflow-wrap:anywhere}
.register-guide-footer{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;padding:0 1.1rem 1.1rem}
.register-guide-card{margin:0;border:1px solid var(--line,#dfe7e2);border-radius:1rem;background:#fff;box-shadow:0 24px 60px rgba(13,51,41,.22);overflow:hidden}
.register-guide-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line,#e7efe9);background:#f7faf8}
.register-guide-header h2{margin:0;font-size:1.05rem}
.register-guide-header .text-button{font-size:1.4rem;line-height:1;padding:.15rem .45rem}
.register-guide-body{padding:1rem 1.15rem 0.4rem;color:var(--ink)}
.register-guide-body p{margin:0 0 .85rem;line-height:1.55}
.register-guide-body ol{margin:0;padding-inline-start:1.25rem;display:grid;gap:.65rem}
.register-guide-body li{line-height:1.5}
.register-guide-footer{padding:0 1.15rem 1.15rem;display:flex;justify-content:flex-end}
html[data-theme=dark] .register-guide-card{background:#16241e;border-color:#3a4a43}
html[data-theme=dark] .register-guide-header{background:#12201a;border-color:#3a4a43}
/* ========== UI Unification Layer ========== */

/* --- Phase 2: shared form controls --- */
.auth-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]):not([type=reset]),
.auth-form select,
.auth-form textarea,
.compact-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]):not([type=reset]),
.compact-form select,
.compact-form textarea,
.form-grid input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]):not([type=reset]),
.form-grid select,
.form-grid textarea,
.legal-form-grid input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]):not([type=reset]),
.legal-form-grid select,
.legal-form-grid textarea,
.readiness-form select,
.product-picker-search,
.msd-search,
.entity-picker input[type=search],
.entity-picker input[type=text],
.filter-bar input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),
.filter-bar select{
  width:100%;
  min-height:var(--control-h);
  padding:var(--control-pad-y) var(--control-pad-x);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  outline:0;
  background:var(--bg-elevated);
  color:var(--text);
  font:inherit;
  box-sizing:border-box;
}
.auth-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]):not([type=reset]),
.auth-form select{
  min-height:var(--control-h-lg);
}
.auth-form textarea,
.compact-form textarea,
.form-grid textarea,
.legal-form-grid textarea{
  min-height:5.3rem;
  resize:vertical;
}
.auth-form input:focus-visible,
.auth-form select:focus-visible,
.auth-form textarea:focus-visible,
.compact-form input:focus-visible,
.compact-form select:focus-visible,
.compact-form textarea:focus-visible,
.form-grid input:focus-visible,
.form-grid select:focus-visible,
.form-grid textarea:focus-visible,
.legal-form-grid input:focus-visible,
.legal-form-grid select:focus-visible,
.legal-form-grid textarea:focus-visible,
.product-picker-search:focus-visible,
.msd-search:focus-visible,
.entity-picker input:focus-visible,
.filter-bar input:focus-visible,
.filter-bar select:focus-visible{
  outline:2px solid var(--pine);
  outline-offset:2px;
  border-color:var(--pine-2);
  box-shadow:var(--focus-ring);
}
html[data-theme=dark] .auth-form input:focus-visible,
html[data-theme=dark] .auth-form select:focus-visible,
html[data-theme=dark] .auth-form textarea:focus-visible,
html[data-theme=dark] .compact-form input:focus-visible,
html[data-theme=dark] .compact-form select:focus-visible,
html[data-theme=dark] .compact-form textarea:focus-visible,
html[data-theme=dark] .form-grid input:focus-visible,
html[data-theme=dark] .form-grid select:focus-visible,
html[data-theme=dark] .form-grid textarea:focus-visible,
html[data-theme=dark] .legal-form-grid input:focus-visible,
html[data-theme=dark] .legal-form-grid select:focus-visible,
html[data-theme=dark] .legal-form-grid textarea:focus-visible,
html[data-theme=dark] .product-picker-search:focus-visible,
html[data-theme=dark] .msd-search:focus-visible,
html[data-theme=dark] .entity-picker input:focus-visible,
html[data-theme=dark] .filter-bar input:focus-visible,
html[data-theme=dark] .filter-bar select:focus-visible{
  outline-color:var(--gold);
}
.auth-form input:focus,
.auth-form select:focus,
.auth-form textarea:focus,
.compact-form input:focus,
.compact-form select:focus,
.compact-form textarea:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.legal-form-grid input:focus,
.legal-form-grid select:focus,
.legal-form-grid textarea:focus,
.product-picker-search:focus,
.msd-search:focus,
.filter-bar input:focus,
.filter-bar select:focus{
  border-color:var(--pine-2);
  box-shadow:0 0 0 3px rgba(25,84,68,.1);
}
.auth-form input:focus:not(:focus-visible),
.compact-form input:focus:not(:focus-visible),
.form-grid input:focus:not(:focus-visible),
.legal-form-grid input:focus:not(:focus-visible),
.product-picker-search:focus:not(:focus-visible),
.msd-search:focus:not(:focus-visible),
.filter-bar input:focus:not(:focus-visible),
.filter-bar select:focus:not(:focus-visible){
  outline:0;
}
.compact-form input[type=checkbox],
.compact-form input[type=radio],
.form-grid input[type=checkbox],
.form-grid input[type=radio],
.auth-form input[type=checkbox],
.auth-form input[type=radio],
.legal-form-grid input[type=checkbox],
.legal-form-grid input[type=radio]{
  width:auto;
  min-height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  accent-color:var(--pine);
}
.msd-search{min-height:2.2rem;padding:.45rem .7rem;flex:1 1 8rem;width:auto}

/* Buttons ? shared system + orphan aliases */
.primary-button,.secondary-button,.text-button,.approve-button,.inline-action{
  font:inherit;
  border-radius:var(--radius-sm);
  cursor:pointer;
  transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease;
}
.approve-button,.inline-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.1rem;
  padding:.35rem .75rem;
  border:0;
  background:var(--pine);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  text-decoration:none;
}
.approve-button:hover,.inline-action:hover{background:#0d3027}
html[data-theme=dark] .primary-button{background:var(--pine-2);color:#fff}
html[data-theme=dark] .secondary-button{
  background:var(--bg-elevated);
  border-color:var(--border);
  color:var(--text);
}
html[data-theme=dark] .approve-button,
html[data-theme=dark] .inline-action{background:var(--pine-2);color:#fff}
html[data-theme=dark] .auth-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]),
html[data-theme=dark] .auth-form select,
html[data-theme=dark] .auth-form textarea,
html[data-theme=dark] .compact-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]),
html[data-theme=dark] .compact-form select,
html[data-theme=dark] .compact-form textarea,
html[data-theme=dark] .form-grid input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]),
html[data-theme=dark] .form-grid select,
html[data-theme=dark] .form-grid textarea,
html[data-theme=dark] .legal-form-grid input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]),
html[data-theme=dark] .legal-form-grid select,
html[data-theme=dark] .legal-form-grid textarea,
html[data-theme=dark] .product-picker-search,
html[data-theme=dark] .msd-search,
html[data-theme=dark] .filter-bar input,
html[data-theme=dark] .filter-bar select{
  background:var(--bg-elevated);
  border-color:var(--border);
  color:var(--text);
}

/* --- Phase 3: surfaces + tables --- */
.surface{
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--bg-elevated);
  box-shadow:var(--shadow-sm);
  color:var(--text);
}
.surface.admin-section,
.surface.roles-section,
.admin-section.surface,
.roles-section.surface{
  /* stacked classes: keep single card chrome */
  box-shadow:var(--shadow-sm);
  border-radius:var(--radius-md);
}
.data-list>div,
.capacity-strip>div,
.seed-grid>div,
.receipt-cards>div{
  background:var(--bg-subtle);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  color:var(--text);
}
.hub-card small,.hub-card p{color:var(--text-muted)}

/* HTML tables: data-table matches usage-table */
.data-table,
.usage-table{
  width:100%;
  border-collapse:collapse;
  min-width:520px;
  color:var(--text);
}
.data-table th,
.data-table td,
.usage-table th,
.usage-table td{
  padding:.7rem .8rem;
  border-bottom:1px solid var(--border);
  text-align:start;
  font-size:.86rem;
}
.data-table th,
.usage-table th{
  color:var(--text-muted);
  font-size:.75rem;
  font-weight:700;
}
.table-scroll,
.usage-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.data-table tbody tr[data-row-href],
.usage-table tbody tr[data-row-href]{
  cursor:pointer;
}
.data-table tbody tr[data-row-href]:hover,
.usage-table tbody tr[data-row-href]:hover,
.data-table tbody tr[data-row-href]:focus-visible,
.usage-table tbody tr[data-row-href]:focus-visible{
  background:color-mix(in srgb, var(--accent, #1f6b4a) 12%, transparent);
}

/* Div-grid table chrome tokens */
.stock-table>div,
.ledger-list>div,
.document-register-table>div,
.plan-table>div,
.production-table>div,
.workforce-table>div,
.cycle-table>div,
.sales-table>div,
.requisition-table>div,
.po-table>div{
  border-bottom-color:var(--border);
}
.stock-table .table-head,
.document-register-table .table-head,
.plan-table .table-head,
.production-table .table-head,
.workforce-table .table-head,
.cycle-table .table-head,
.sales-table .table-head,
.requisition-table .table-head,
.po-table .table-head{
  background:var(--bg-subtle);
  color:var(--text-muted);
}

/* Unified metric-card dark (dedupe per-shell copies) */
html[data-theme=dark] .metric-card{
  background:var(--bg-elevated);
  border-color:var(--border);
  color:var(--text);
}
html[data-theme=dark] .metric-card.featured{
  background:var(--card-bg);
  border-color:var(--accent,var(--pine));
  color:var(--card-fg);
}
html[data-theme=dark] .metric-card span,
html[data-theme=dark] .metric-card small{
  color:var(--text-muted);
}
html[data-theme=dark] .metric-card.featured span,
html[data-theme=dark] .metric-card.featured small{
  color:var(--card-muted);
}
html[data-theme=dark] .data-table th,
html[data-theme=dark] .data-table td,
html[data-theme=dark] .usage-table th,
html[data-theme=dark] .usage-table td{
  border-bottom-color:var(--border);
  color:var(--text);
}
html[data-theme=dark] .data-table th,
html[data-theme=dark] .usage-table th{color:var(--text-muted)}
html[data-theme=dark] .data-list>div,
html[data-theme=dark] .capacity-strip>div,
html[data-theme=dark] .seed-grid>div,
html[data-theme=dark] .receipt-cards>div{
  background:var(--bg-subtle);
  border-color:var(--border);
  color:var(--text);
}
html[data-theme=dark] .stock-table .table-head,
html[data-theme=dark] .document-register-table .table-head,
html[data-theme=dark] .plan-table .table-head,
html[data-theme=dark] .production-table .table-head,
html[data-theme=dark] .workforce-table .table-head{
  background:var(--bg-subtle);
  color:var(--text-muted);
}

/* --- Phase 4: titles + shell layout-only --- */
.workspace-header h1,
.page-title h1,
.business-shell .page-title h1{
  margin:.2rem 0 .35rem;
  font-size:var(--fs-h1);
  font-weight:700;
  letter-spacing:-.025em;
  color:var(--text);
}
.surface-header h2,
.roadmap-card h2,
.admin-section h2,
.roles-section h2{
  font-size:var(--fs-h2);
  color:var(--text);
}
@media(max-width:760px){
  .workspace-header h1,
  .page-title h1,
  .business-shell .page-title h1{font-size:1.2rem}
}

/* Soften register guide card tokens */
.register-guide-card{
  border-color:var(--border);
  border-radius:var(--radius-md);
  background:var(--bg-elevated);
  color:var(--text);
}
.register-guide-header{
  border-bottom-color:var(--border);
  background:var(--bg-subtle);
}
html[data-theme=dark] .register-guide-card{background:var(--bg-elevated);border-color:var(--border)}
html[data-theme=dark] .register-guide-header{background:var(--bg-subtle);border-color:var(--border)}

/* Keep management/login panels on tokens */
html[data-theme=dark] .management-shell{background:var(--bg);color:var(--text)}
html[data-theme=dark] .management-header{background:var(--bg-elevated);border-bottom-color:var(--border);color:var(--text)}
html[data-theme=dark] .login-panel{background:var(--bg)}
.report-toolbar.is-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:0}.report-toolbar.is-inline .secondary-button{min-height:2.75rem;padding:.45rem .9rem;font-size:.88rem}.split-list>.report-toolbar{margin:0}

/* Context guide: non-blocking, keyboard-accessible first-use help. */
.page-assistants{position:fixed;z-index:91;right:1rem;bottom:4.35rem;display:flex;flex-direction:column;gap:.4rem}
[dir=rtl] .page-assistants{right:auto;left:1rem}
.page-assistants-link{display:inline-flex;align-items:center;justify-content:center;width:2.7rem;height:2.7rem;padding:0;gap:0;border:1px solid var(--border);border-radius:50%;background:var(--bg-elevated);color:var(--text);box-shadow:0 12px 30px rgba(0,0,0,.18);font-size:1.15rem;line-height:1;text-decoration:none}
.page-assistants-link:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
html[data-theme=dark] .page-assistants-link:focus-visible{outline-color:var(--gold)}
.context-guide-launcher{position:static;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.1rem;padding:.3rem .65rem;border:0;border-inline-start:1px solid var(--border);border-radius:.55rem;background:transparent;color:var(--text);box-shadow:none;font:inherit;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;flex:0 0 auto}
.context-guide-launcher:hover{background:rgba(18,61,50,.06)}
.context-guide-launcher:focus-visible{outline:2px solid var(--brand,#123d32);outline-offset:2px}
.context-guide{position:fixed;z-index:93;right:1rem;bottom:4.5rem;top:auto;width:min(20.5rem,calc(100vw - 2rem));color:var(--text);max-height:min(36vh,17.5rem);overflow:auto;overflow-anchor:none}
[dir=rtl] .context-guide{right:auto;left:1rem}
body.coach-open{padding-bottom:min(40vh,20rem)}
.context-guide-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:0 18px 42px rgba(0,0,0,.24);padding:1rem}
.context-guide-card:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
html[data-theme=dark] .context-guide-card:focus-visible{outline-color:var(--gold)}
.context-guide-heading{display:flex;align-items:flex-start;gap:.75rem}.context-guide-heading strong{display:block;font-size:1rem}.context-guide-copy{margin:.45rem 0 0;color:var(--text-muted);line-height:1.5}.context-guide-dl{margin:0;display:grid;gap:.65rem}.context-guide-dl dt{font-weight:700;color:var(--text);font-size:.82rem}.context-guide-dl dd{margin:.2rem 0 0}.context-guide-badge{display:grid;place-items:center;flex:none;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--brand);color:#fff;font-weight:800}.context-guide-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}.context-guide-actions .primary-button{display:inline-flex;align-items:center;text-decoration:none}
.coach-spot{position:fixed;z-index:88;border:2px solid var(--gold);border-radius:.55rem;box-shadow:0 0 0 4px rgba(211,163,63,.22);pointer-events:none;max-width:min(26rem,92vw);max-height:6rem}
.coach-pointer{position:fixed;z-index:89;color:var(--gold);filter:drop-shadow(0 3px 6px rgba(0,0,0,.35));pointer-events:none;transition:left .7s ease,top .7s ease;transform-origin:4px 4px}
[data-coach-first]{scroll-margin-bottom:18rem}
[dir=rtl] .coach-pointer{transform:scaleX(-1);transform-origin:28px 4px}
@media (prefers-reduced-motion: reduce){.coach-pointer{transition:none;display:none}}
@media(max-width:760px){
  .page-assistants{bottom:4.1rem;right:.75rem}
  [dir=rtl] .page-assistants{right:auto;left:.75rem}
  body.coach-open{padding-bottom:0}
  body.coach-open .page-assistants{visibility:hidden;pointer-events:none}
  .context-guide,
  [dir=rtl] .context-guide{
    z-index:110;
    inset-inline:.5rem;
    right:auto;
    left:auto;
    bottom:max(.5rem,env(safe-area-inset-bottom));
    width:auto;
    max-height:min(70dvh,34rem);
    overflow:hidden;
  }
  .context-guide-card{
    box-sizing:border-box;
    max-height:min(70dvh,34rem);
    padding:.9rem;
    overflow:auto;
    overscroll-behavior:contain;
  }
  .context-guide-heading{gap:.6rem}
  .context-guide-copy{font-size:.9rem;line-height:1.45}
  .context-guide-dl{gap:.5rem}
  .context-guide-actions{
    position:sticky;
    bottom:-.9rem;
    z-index:1;
    flex-direction:row;
    margin:.8rem -.9rem -.9rem;
    padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom));
    border-top:1px solid var(--border);
    background:var(--bg-elevated);
  }
  .context-guide-actions>*{width:auto;min-width:0;justify-content:center}
}
.simple-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}
.simple-card-head .back-link{float:none;position:static;display:inline-flex;align-items:center;min-height:2.35rem;color:var(--pine);text-decoration:none;font-size:.86rem;font-weight:700}
.simple-card-head .brand-mark{margin-bottom:0;background:#0b4a32 url("/brand/agriglobal-mark.png") center/cover no-repeat;border:1px solid var(--border)}
.simple-card .auth-form{max-height:none;margin-top:1.15rem}
.simple-card .auth-form .primary-button,
.simple-card .auth-form .secondary-button{width:100%;justify-content:center}
.simple-card .auth-form a.secondary-button{box-sizing:border-box;text-align:center;text-decoration:none}
.offline-shell .page-title a.secondary-button{width:auto;min-height:2.4rem;align-self:center}
.simple-card .field-hint{margin:.25rem 0 0;color:var(--text-muted);font-size:.8rem;font-weight:600;line-height:1.45}
.simple-card .notice-box{margin-top:1.1rem}
html[data-theme=dark] .simple-card{background:var(--bg-elevated);color:var(--text)}
html[data-theme=dark] .simple-card>p:not(.eyebrow){color:var(--text-muted)}
html[data-theme=dark] .simple-card-head .back-link{color:var(--gold)}
html[data-theme=dark] .notice-box{background:var(--bg-subtle);border-color:var(--border);color:var(--text)}

/* Language/theme chrome: in-flow only. Never position:fixed. */
.shell-chrome,
.auth-toolbar{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  min-height:3.25rem;
  padding:.75rem 1.25rem 0;
  box-sizing:border-box;
}
body>.shell-chrome:not(.is-placed){
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
  pointer-events:none;
}
body:has(> main.simple-page)>.shell-chrome{
  position:static;
  width:auto;
  height:auto;
  margin:0;
  overflow:visible;
  clip:auto;
  white-space:normal;
  pointer-events:auto;
  min-height:3.25rem;
  padding:.75rem 1.25rem 0;
}
.header-actions:not(:has(.shell-preferences))::after,
.management-header:not(:has(.header-actions)):not(:has(.shell-preferences)):not(:has(.header-end))::after{
  content:"";
  display:block;
  width:5.6rem;
  min-width:5.6rem;
  height:2.35rem;
  flex:0 0 auto;
  margin-inline-start:.35rem;
}
.management-header:not(:has(.header-actions)):not(:has(.shell-preferences)):not(:has(.header-end))::after{
  margin-inline-start:auto;
  order:3;
}
.shell-preferences .language-select.visually-hidden{
  inset:auto;
  inset-inline-start:0;
  top:0;
  width:1px;
  min-width:1px;
  max-width:1px;
  height:1px;
  min-height:1px;
  padding:0;
  border:0;
  margin:0;
  overflow:hidden;
  pointer-events:none;
}
body:has(.login-shell),body:has(.register-shell){overflow-x:hidden}
.shell-preferences{
  position:static;
  z-index:auto;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:.45rem;
  padding:.35rem .55rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  box-shadow:none;
}
.shell-preferences .language-switcher{display:flex}.shell-language-select{max-width:11rem;min-height:2.1rem;border:0;background:transparent;color:var(--text);font:inherit}.language-switcher--flag{position:relative;display:inline-flex;align-items:center}.language-flag-btn{appearance:none;display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:0;border-radius:.55rem;background:transparent;color:var(--text);cursor:pointer;line-height:1}.language-flag-btn:hover,.language-flag-btn:focus-visible{outline:2px solid rgba(18,61,50,.18);outline-offset:1px;background:rgba(18,61,50,.06)}.language-flag-btn .lang-flag-img,.language-flag-option .lang-flag-img{display:block;width:1.35rem;height:1rem;min-width:1.35rem;min-height:1rem;object-fit:cover;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.language-flag-menu{position:absolute;top:calc(100% + .35rem);inset-inline-end:0;z-index:120;display:grid;grid-template-columns:repeat(4,2.35rem);gap:.35rem;margin:0;padding:.45rem;list-style:none;border:1px solid var(--border);border-radius:.75rem;background:var(--bg-elevated,#fff);box-shadow:0 14px 34px rgba(0,0,0,.16)}.language-flag-menu[hidden]{display:none!important}.language-flag-option{appearance:none;display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid transparent;border-radius:.5rem;background:transparent;cursor:pointer}.language-flag-option:hover,.language-flag-option:focus-visible{border-color:var(--line,#dfe7e2);background:rgba(18,61,50,.06);outline:0}.language-flag-option.is-current{border-color:var(--pine,#123d32);background:rgba(18,61,50,.1)}.shell-preferences .language-flag-btn{width:2.1rem;height:2.1rem}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:0;width:2.35rem;min-width:2.35rem;height:2.35rem;min-height:2.35rem;border:0;border-inline-start:1px solid var(--border);border-radius:.55rem;background:transparent;color:var(--text);padding:0;font:inherit;font-weight:700;cursor:pointer;overflow:hidden;overflow-wrap:normal;word-break:normal;white-space:nowrap;flex:0 0 auto;line-height:1}
.shell-preferences .theme-toggle .visually-hidden,
.shell-preferences .theme-toggle span:last-child{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.theme-toggle:focus-visible,.shell-language-select:focus-visible,.language-flag-btn:focus-visible{outline:2px solid var(--brand,#123d32);outline-offset:2px}

/* MFA / recovery and other auth pages without the marketing context column. */
.login-shell:not(:has(.login-context)):not(:has(.register-context)){
  display:grid;
  grid-template-columns:1fr;
  place-items:center;
  justify-items:center;
  min-height:100vh;
  background:var(--mist,#f4f7f5);
}
.login-panel{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-height:100%;
  padding:0 2rem 3rem;
  background:#fbfdfc;
}
.login-panel>.auth-toolbar{
  flex:0 0 auto;
  width:100%;
  min-height:3.5rem;
  padding:.85rem 0 0;
  margin:0;
}
.login-panel>.login-card{
  margin-block:auto;
  align-self:center;
  width:min(100%,27rem);
}
.login-shell.platform-login .login-panel{
  align-items:center;
}
.login-shell.platform-login .login-panel>.auth-toolbar{
  align-self:stretch;
}
.login-shell:not(:has(.login-context)):not(:has(.register-context)) .login-panel{
  width:min(100%,34rem);
  min-height:100vh;
  margin:0 auto;
  padding:0 1.5rem 3rem;
  background:transparent;
  place-items:unset;
}
.login-shell:not(:has(.login-context)):not(:has(.register-context)) .login-card{
  width:min(100%,27rem);
  margin-inline:auto;
}
.mfa-setup{display:grid;gap:1rem;margin:1.25rem 0 1.5rem;justify-items:stretch}
.mfa-setup>div[aria-label]{width:min(100%,14rem);justify-self:center;margin-inline:auto}
.mfa-setup>div[aria-label] svg{display:block;width:100%;height:auto;margin-inline:auto}
.mfa-setup label{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;width:100%;color:var(--muted);font-size:.86rem;font-weight:800}
.mfa-setup input{width:100%;min-height:var(--control-h);padding:var(--control-pad-y) var(--control-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font:inherit;letter-spacing:.04em}
.mfa-recovery-panel{margin-top:1.25rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle)}
.mfa-recovery-panel summary{cursor:pointer;color:var(--pine);font-weight:800}
.mfa-recovery-panel>p{margin:.75rem 0 0;color:var(--text-muted);font-size:.86rem;line-height:1.65}
.mfa-recovery-panel .auth-form{margin-top:1rem}
.mfa-recovery-panel .secondary-button{width:100%}
.login-shell .login-card>header h1{margin:0;font-size:2rem;letter-spacing:-.035em;color:var(--pine)}
.login-shell .login-card>header>p{margin:.75rem 0 0;color:var(--muted);line-height:1.7}
@media(max-width:760px){
  body:has(.login-shell) .login-context .brand-lockup > div > span,
  body:has(.register-shell) .login-context .brand-lockup > div > span{display:none}
  body:has(.login-shell) .login-context .brand-lockup,
  body:has(.register-shell) .login-context .brand-lockup,
  body:has(.login-shell) .register-context .brand-lockup{
    max-width:100%;
    padding-inline-end:.35rem
  }
  .auth-toolbar,.shell-chrome{min-height:3rem;padding:.55rem .75rem 0}
  .login-panel{padding:0 1.25rem 2rem}
  .login-panel>.auth-toolbar{min-height:3rem;padding:.55rem 0 0}
}
.btn-dir-arrow{display:inline-block;line-height:1}
[dir=rtl] .btn-dir-arrow{transform:scaleX(-1)}
.password-field{position:relative;display:block}
.password-field button{position:absolute;top:50%;inset-inline-end:.65rem;inset-inline-start:auto;left:auto;right:.65rem;transform:translateY(-50%);border:0;background:transparent;color:var(--pine-2);cursor:pointer;font-size:.76rem;font-weight:700;z-index:1}
[dir=rtl] .password-field button{left:.65rem;right:auto}
.password-field input{padding-inline-end:4rem!important;padding-inline-start:1rem!important}
.shell-chrome.is-placed,
.header-actions>.shell-chrome,
.header-end>.shell-chrome,
.management-header>.shell-chrome,
.workspace-header>.shell-chrome{
  position:static;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  min-height:0;
  overflow:visible;
  clip:auto;
  pointer-events:auto;
}
.shell-preferences.shell-preferences--header{position:static;top:auto;inset:auto;left:auto;right:auto;z-index:auto;flex:0 0 auto;order:0;margin-inline-start:0;padding:.2rem .35rem;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:none}.header-actions .shell-preferences--header{margin-inline-start:0}.header-end{display:flex;align-items:center;gap:.55rem;flex:0 0 auto;order:4;margin-inline-start:auto;min-height:2.4rem}.header-end>form{order:0;margin:0;flex:0 0 auto}.header-actions{margin-inline-start:auto}.management-header:has(> .header-end)>form,.management-header:has(> .shell-preferences--header)>form,.management-header:has(> .header-end)>.shell-chrome{margin-inline-start:0}.business-shell .management-header>form{order:4;flex:0 0 auto}.shell-preferences--header .shell-language-select{width:9.2rem;max-width:9.2rem;min-height:2rem}.shell-preferences--header .language-flag-btn{width:2rem;height:2rem;min-width:2rem;min-height:2rem}.shell-preferences--header .theme-toggle,.shell-preferences--header button[data-theme-toggle]{width:2rem;min-width:2rem;height:2rem;min-height:2rem;padding:0}
.login-card>header,.register-card>header{position:relative;padding-inline-end:0}

/* Sidebar navigation groups (reorganization) */
/* Base `.sidebar nav { display:grid }` stretches rows when nav is tall — force flex + no grow. */
.sidebar nav.sidebar-nav,
.sidebar .sidebar-nav{
  display:flex!important;
  flex-direction:column!important;
  flex:0 1 auto!important;
  flex-grow:0!important;
  align-content:flex-start!important;
  align-items:stretch;
  justify-content:flex-start!important;
  gap:0;
  margin-top:.35rem;
  padding-bottom:.25rem;
  min-height:0;
  max-height:none;
  height:auto!important;
  overflow:auto;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
}
.nav-section{
  display:flex;
  flex-direction:column;
  flex:0 0 auto!important;
  flex-grow:0!important;
  gap:.1rem;
  margin:0;
  padding:0;
  min-height:0;
  height:auto!important;
  border-radius:.55rem;
  border:1px solid transparent;
  background:transparent;
  transition:background .18s ease,border-color .18s ease;
}
.nav-section + .nav-section,
.nav-separator + .nav-section{
  margin-top:0;
}
.nav-section:not(.is-open)>.nav-group{color:rgba(255,255,255,.58);background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.06);border-radius:.55rem}
.nav-section:not(.is-open)>a,.nav-section:not(.is-open)>details{display:none!important}
.nav-section.is-open{background:rgba(255,255,255,.08);border-color:rgba(211,163,63,.35);padding:.15rem;margin-block:.15rem}
.nav-section.is-open>.nav-group{color:#fff;background:linear-gradient(90deg,rgba(211,163,63,.34),rgba(255,255,255,.12));border:1px solid rgba(211,163,63,.5);border-inline-start-width:3px;border-inline-start-color:var(--gold,#d3a33f);box-shadow:0 .35rem .9rem rgba(0,0,0,.12)}
.nav-separator,
.sidebar .nav-separator,
hr.nav-separator{
  display:none!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  min-height:0!important;
  overflow:hidden!important;
  opacity:0!important;
}
.nav-group{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:.55rem .7rem;border:0;border-radius:.55rem;background:transparent;color:var(--sidebar-control-fg);cursor:pointer;font:inherit;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-align:start;text-transform:uppercase;overflow-wrap:normal;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.nav-group:hover{color:var(--sidebar-control-fg);background:var(--sidebar-control-hover)}
.nav-group::after{content:"\25B8";display:inline-block;flex:none;width:1em;font-size:1rem;line-height:1;overflow-wrap:normal;transition:transform .18s ease;opacity:.85}
.nav-section.is-open>.nav-group::after{transform:rotate(90deg);opacity:1}
html[dir="rtl"] .nav-group::after{transform:rotate(180deg)}
html[dir="rtl"] .nav-section.is-open>.nav-group::after{transform:rotate(90deg)}
.nav-subgroup{list-style:none;cursor:pointer;display:flex;align-items:center;padding:.75rem .8rem;margin:.15rem 0 0;color:var(--sidebar-control-fg);font-size:.88rem;font-weight:800;letter-spacing:normal;text-transform:none;border-radius:.55rem;user-select:none}
.nav-subgroup::-webkit-details-marker{display:none}
.nav-subgroup::before{content:"\25B8";display:inline-block;width:1em;margin-inline-end:.35rem;opacity:.85;transform-origin:center;transition:transform .18s ease}
html[dir="rtl"] .nav-subgroup::before{transform:rotate(180deg)}
details.nav-details[open]>.nav-subgroup::before,
html[dir="rtl"] details.nav-details[open]>.nav-subgroup::before{transform:rotate(90deg)}
details.nav-details[open]>.nav-subgroup{color:var(--sidebar-control-fg);background:var(--sidebar-control-active)}
.nav-details{margin:0}
.nav-details>summary.nav-sales-toggle{
  list-style:none;
  width:100%;
  box-sizing:border-box;
  margin:.15rem 0;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  cursor:pointer;
  text-align:start;
  user-select:none;
}
.nav-details>summary.nav-sales-toggle::-webkit-details-marker{display:none}
.nav-sales-toggle .nav-sales-chevron{
  display:grid;
  place-items:center;
  font-size:1.15rem;
  line-height:1;
  transform-origin:center;
  transition:transform .18s ease;
}
.nav-details[open]>summary.nav-sales-toggle{
  border-color:rgba(211,163,63,.35);
  background:rgba(211,163,63,.2);
  color:#fff;
}
.nav-details[open]>summary.nav-sales-toggle .nav-sales-chevron{transform:rotate(90deg)}
html[dir="rtl"] .nav-sales-toggle .nav-sales-chevron{transform:rotate(180deg)}
html[dir="rtl"] .nav-details[open]>summary.nav-sales-toggle .nav-sales-chevron{transform:rotate(90deg)}
.nav-details>a.nav-item{
  margin:.15rem 0;
  padding-inline-start:1.35rem;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
}
.nav-details-peer>summary.nav-item{
  list-style:none;
  width:100%;
  box-sizing:border-box;
  cursor:pointer;
  text-align:start;
}
.nav-details-peer[open]>summary.nav-item{
  background:rgba(211,163,63,.2);
  border:1px solid rgba(211,163,63,.35);
  color:#fff;
}
.nav-details-peer>summary.nav-item::-webkit-details-marker{display:none}
.nav-section-settings .nav-details{margin-top:.2rem}
html[dir="rtl"] .nav-details>a.nav-item{padding-inline-start:0;padding-inline-end:1.35rem}

/* Unified sidebar controls: one type scale, surface, radius and interaction language. */
.sidebar{
  --sidebar-control-height:2.85rem;
  --sidebar-control-radius:.6rem;
  --sidebar-control-border:rgba(18,61,50,.16);
  --sidebar-control-bg:#fff;
  --sidebar-control-fg:#1c2b26;
  --sidebar-control-hover:#eef6f2;
  --sidebar-control-active:#d9efe4;
}
.sidebar .sidebar-nav :is(.nav-group,.nav-subgroup,a.nav-item,summary.nav-item){
  box-sizing:border-box;
  width:100%;
  min-height:var(--sidebar-control-height);
  margin:.12rem 0;
  padding:.62rem .72rem;
  border:1px solid var(--sidebar-control-border);
  border-radius:var(--sidebar-control-radius);
  background:var(--sidebar-control-bg);
  color:var(--sidebar-control-fg);
  font-family:inherit;
  font-size:.86rem;
  font-weight:750;
  line-height:1.25;
  letter-spacing:0;
  text-align:start;
  text-transform:none;
  text-decoration:none;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.sidebar .sidebar-nav :is(.nav-group,.nav-subgroup,summary.nav-item){cursor:pointer;user-select:none}
.sidebar .sidebar-nav :is(a.nav-item,summary.nav-item){display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.55rem}
.sidebar .sidebar-nav a.nav-item:has(>.flow-no){grid-template-columns:1.8rem 1.5rem minmax(0,1fr)}
.sidebar .sidebar-nav :is(a.nav-item,summary.nav-item) b{min-width:0;font:inherit;color:inherit;overflow-wrap:anywhere}
.sidebar .sidebar-nav a.nav-item>.flow-no{display:grid;width:1.8rem;min-width:1.8rem;height:1.25rem;place-items:center;border:0;border-radius:0;box-shadow:none;background:transparent;color:inherit;font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1}
.sidebar .sidebar-nav a.nav-item.active>.flow-no{background:transparent;color:inherit}
.sidebar .sidebar-nav :is(a.nav-item,summary.nav-item)>span[aria-hidden="true"]{display:grid;width:1.5rem;height:1.5rem;place-items:center;color:inherit;font-size:.9rem;line-height:1}
.sidebar .sidebar-nav :is(.nav-group,.nav-subgroup,a.nav-item,summary.nav-item):hover{
  border-color:var(--sidebar-control-border);
  background:var(--sidebar-control-hover);
  color:var(--sidebar-control-fg);
}
.sidebar .sidebar-nav a.nav-item.active,
.sidebar .sidebar-nav .nav-details[open]>summary.nav-item,
.sidebar .sidebar-nav .nav-details[open]>.nav-subgroup,
.sidebar .sidebar-nav .nav-section.is-open>.nav-group{
  border-color:var(--sidebar-control-border);
  border-inline-start-width:3px;
  border-inline-start-color:var(--pine,#123d32);
  background:var(--sidebar-control-active);
  color:var(--sidebar-control-fg);
  box-shadow:none;
}
.sidebar .sidebar-nav :is(.nav-group,.nav-subgroup,a.nav-item,summary.nav-item):focus-visible{
  outline:2px solid var(--sidebar-control-fg);
  outline-offset:2px;
}
.sidebar .sidebar-nav .nav-details>a.nav-item{padding-inline-start:1.35rem}
html[dir="rtl"] .sidebar .sidebar-nav .nav-details>a.nav-item{padding-inline-start:.72rem;padding-inline-end:1.35rem}
.sidebar :is(.sidebar-collapse,.sidebar-history-btn,.sidebar-history-home){
  border:1px solid var(--sidebar-control-border);
  border-radius:var(--sidebar-control-radius);
  background:var(--sidebar-control-bg);
  color:var(--sidebar-control-fg)!important;
  font-family:inherit;
  font-weight:750;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.sidebar :is(.sidebar-collapse,.sidebar-history-btn,.sidebar-history-home):hover:not(:disabled){
  border-color:var(--sidebar-control-border);
  background:var(--sidebar-control-hover);
  color:var(--sidebar-control-fg)!important;
}
.sidebar .sidebar-search input{border-radius:var(--sidebar-control-radius);font-family:inherit;font-size:.86rem}

/* Keep every management header predictable: brand, navigation, then account controls. */
.management-header{
  justify-content:flex-start;
  gap:clamp(.75rem,1.5vw,1.5rem);
}
.management-header>.brand-lockup{flex:0 0 auto}
.management-header>nav{
  order:2;
  flex:1 1 auto;
  min-width:0;
  margin-inline-start:.25rem;
}
.management-header>.business-nav,
.management-header>.management-nav,
.management-header>.module-nav{justify-content:flex-start}
.management-header>.shell-preferences--header{order:3;margin-inline-start:auto}
.management-header>.header-end{order:4;margin-inline-start:auto}
.management-header:has(> .header-end)>.shell-preferences--header{margin-inline-start:0}
.management-header>form{order:4;flex:0 0 auto;margin-inline-start:auto}
.management-header:has(> .header-end)>form{margin-inline-start:0}

@media(max-width:1100px){
  .management-header{flex-wrap:wrap;align-items:center}
  .management-header>nav{
    order:5;
    flex:1 0 100%;
    margin-inline-start:0;
    overflow-x:auto;
    padding-bottom:.25rem;
    -webkit-overflow-scrolling:touch;
  }
}

.field-hint{display:block;margin-top:.35rem;font-size:.78rem;line-height:1.4;color:var(--muted,#5b6b66)}

/* Keep action buttons aligned when links and forms share the same responsive grid. */
.split-list{align-items:stretch}
.split-list>:is(.primary-button,.secondary-button){width:100%;min-width:0}
.split-list>form:not(.compact-form){display:flex;min-width:0;margin:0}
.split-list>form:not(.compact-form)>:is(.primary-button,.secondary-button){width:100%;min-width:0;height:100%}

/* Give every shared action a visible boundary and enough room to wrap safely.
   Theme/icon toggles are excluded ? overflow-wrap:anywhere stacks their labels vertically. */
.primary-button,
.secondary-button,
.text-button:not([data-theme-toggle]),
.approve-button,
.inline-action,
.mobile-menu{
  max-width:100%;
  border:1px solid var(--border);
  text-align:center;
  overflow-wrap:anywhere;
}

/* Icon-only theme / language controls ? never inherit overflow-wrap (stacks labels vertically). */
.theme-toggle,
button[data-theme-toggle],
.language-flag-btn,
.language-flag-option{
  box-sizing:border-box;
  position:relative;
  flex:0 0 auto;
  max-width:none;
  width:2.35rem;
  min-width:2.35rem;
  height:2.35rem;
  min-height:2.35rem;
  padding:0;
  overflow:hidden;
  overflow-wrap:normal;
  word-break:normal;
  white-space:nowrap;
  line-height:1;
}
.theme-toggle > span[aria-hidden=true],
button[data-theme-toggle] > span[aria-hidden=true]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  white-space:nowrap;
}
.theme-toggle .visually-hidden,
button[data-theme-toggle] .visually-hidden{
  position:absolute!important;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}

.primary-button{border-color:var(--pine)}
.approve-button,.inline-action{border-color:var(--pine)}
.text-button,.mobile-menu{min-height:2.4rem;padding:.4rem .7rem}

/* Header navigation links are buttons too; wrap them with consistent gaps. */
.management-header>nav,
.management-nav,
.module-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
}

.management-header>nav>a,
.business-nav>a,
.management-nav>a,
.module-nav>a{
  display:inline-flex;
  min-width:0;
  min-height:2.4rem;
  max-width:100%;
  align-items:center;
  justify-content:center;
  padding:.45rem .7rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  color:var(--pine);
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  overflow-wrap:anywhere;
}

.management-header>nav>a:hover,
.management-header>nav>a.active,
.business-nav>a:hover,
.business-nav>a.active,
.management-nav>a:hover,
.management-nav>a.active,
.module-nav>a:hover,
.module-nav>a.active{
  border-color:var(--pine-2);
  background:#e8f2ec;
}

.nav-item{border:1px solid rgba(255,255,255,.14)}

:where(.split-list,.page-actions,.employee-actions,.conflict-actions,.platform-actions,.legal-actions,.quote-actions,.report-toolbar,.attachment-actions,.context-guide-actions)>form{
  min-width:0;
  margin:0;
}

.bar-arrange-banner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem .8rem;
  margin:0 0 .85rem;
  padding:.75rem .9rem;
  border:1px dashed var(--pine);
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
}
.bar-arrange-banner p{margin:0;flex:1 1 16rem}
html.is-bar-arranging .business-nav>a,
html.is-bar-arranging .management-nav>a,
html.is-bar-arranging .module-nav>a,
html.is-bar-arranging nav.dashboard-quick>a,
html.is-bar-arranging .dashboard-quick>nav>a,
html.is-bar-arranging .page-action-bar-group>a,
html.is-bar-arranging .page-action-bar-group>form:not(.page-action-bar-field),
html.is-bar-arranging .management-header>nav>a{
  cursor:grab;
  user-select:none;
}
html.is-bar-arranging .is-dragging{opacity:.45}
html.is-bar-arranging .nav-drop-target{outline:2px dashed #123d32;outline-offset:2px}
html[data-theme=dark].is-bar-arranging .nav-drop-target{outline-color:#8ed0b2}

html[data-theme=dark] .management-header>nav>a,
html[data-theme=dark] .business-nav>a,
html[data-theme=dark] .management-nav>a,
html[data-theme=dark] .module-nav>a{
  border-color:var(--border);
  background:var(--bg-elevated);
  color:var(--text);
}

html[data-theme=dark] .management-header>nav>a:hover,
html[data-theme=dark] .management-header>nav>a.active,
html[data-theme=dark] .business-nav>a:hover,
html[data-theme=dark] .business-nav>a.active,
html[data-theme=dark] .management-nav>a:hover,
html[data-theme=dark] .management-nav>a.active,
html[data-theme=dark] .module-nav>a:hover,
html[data-theme=dark] .module-nav>a.active{
  border-color:var(--pine-2);
  background:#24312c;
}

/* Cover the few legacy buttons that predate the shared button classes. */
.farm-row button,
.password-field button,
.actions button{
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
}

.farm-row button{min-width:2.4rem;min-height:2.4rem;background:var(--bg-elevated)}
.password-field button{padding:.25rem .45rem;background:var(--bg-elevated)}

/* Compact control sizing: never stretch an action to the tallest item in its row. */
:root{
  --control-h:2.5rem;
  --control-h-lg:2.8rem;
  --control-pad-y:.5rem;
}

.primary-button,
.secondary-button{
  min-height:2.5rem;
  height:auto;
  padding:.45rem .85rem;
  line-height:1.25;
}

.split-list{align-items:start}
.split-list>:is(.primary-button,.secondary-button){align-self:start;height:auto}
.split-list>form:not(.compact-form){align-self:start}
.split-list>form:not(.compact-form)>:is(.primary-button,.secondary-button){height:auto}

.compact-form input,
.compact-form select,
.compact-form textarea,
.form-grid input,
.form-grid select,
.form-grid textarea{
  line-height:1.25;
}

/* Visible field labels — shared label/control columns (no JS width measurement). */
:root{
  --form-label-col:11rem;
  --form-label-gap:.85rem;
  --form-row-gap:.35rem;
}
.auth-form,
.login-shell .compact-form,
.register-shell .auth-form{
  --form-label-col:11rem;
}

/* Auth family: fixed label column + flexible control column. */
.auth-form > label,
.auth-form > .auth-field,
.login-shell .compact-form > label{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  column-gap:var(--form-label-gap);
  row-gap:var(--form-row-gap);
  align-items:stretch;
  min-width:0;
  font-size:.88rem;
  font-weight:800;
  color:var(--text);
}
.auth-form > label > span:first-child,
.auth-form > .auth-field > label,
.login-shell .compact-form > label > span:first-child{
  grid-column:1;
  grid-row:1;
  box-sizing:border-box;
  inline-size:auto;
  min-inline-size:min-content;
  max-inline-size:none;
  margin:0;
  padding:0;
  line-height:1.35;
  font-weight:800;
  overflow-wrap:break-word;
  word-break:normal;
  flex:unset;
  width:auto;
  display:block;
}
.auth-form > .auth-field > label{
  font:inherit;
  font-weight:800;
}
.auth-form > label > :is(input,select,textarea),
.auth-form > label > .password-field,
.auth-form > .auth-field > .password-field,
.login-shell .compact-form > label > :is(input,select,textarea){
  grid-column:1;
  grid-row:2;
  width:100%;
  min-width:0;
  max-width:100%;
  flex:unset;
}
.auth-form > label > .field-hint,
.auth-form > label > .field-error,
.auth-form > .auth-field > .field-error,
.login-shell .compact-form > label > .field-error{
  grid-column:1;
  flex:unset;
  width:auto;
  min-width:0;
  max-width:100%;
}
.auth-form > .form-options,
.auth-form > .form-alert,
.auth-form > .primary-button,
.auth-form > .secondary-button,
.auth-form > .register-selected-plan,
.auth-form > fieldset,
.auth-form > .register-multi-select{
  grid-column:auto;
  width:100%;
}

/* Management compact forms: label | control on one row (RTL-safe grid), control fills leftover width. */
.admin-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-width:0;
}
.admin-grid > .surface{
  min-width:0;
}
.form-pair{
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-width:0;
}
.admin-grid .form-pair,
.compact-form.form-grid{
  grid-template-columns:minmax(0,1fr);
}
.compact-form{
  min-width:0;
  max-width:100%;
  width:100%;
}
form.surface.compact-form,
.surface.compact-form{
  padding:1.25rem;
  width:100%;
  box-sizing:border-box;
}
.surface > .compact-form,
.surface > form.compact-form{
  padding:0 1.25rem 1.25rem;
  width:100%;
  box-sizing:border-box;
}
.compact-form > .primary-button,
.compact-form > .secondary-button{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.compact-form:not(.form-grid) > label,
.compact-form .field-stack,
.filter-bar .field-stack,
.form-grid > label,
.field-stack{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  column-gap:var(--form-label-gap);
  row-gap:.35rem;
  align-items:stretch;
  min-width:0;
  max-width:100%;
  width:100%;
  font-size:.82rem;
  font-weight:800;
  color:var(--text);
}
.compact-form:not(.form-grid) > label > span:first-child,
.compact-form .field-stack > span:first-child,
.filter-bar .field-stack > span:first-child,
.form-grid > label > span:first-child,
.field-stack > span:first-child,
.msd-label{
  grid-column:1;
  grid-row:1;
  box-sizing:border-box;
  min-inline-size:0;
  width:100%;
  max-width:100%;
  line-height:1.35;
  font-weight:800;
  writing-mode:horizontal-tb;
  text-orientation:mixed;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:manual;
}
.compact-form:not(.form-grid) > label > :is(input,select,textarea,.entity-picker,.password-field),
.compact-form .field-stack > :is(input,select,textarea,.entity-picker,.password-field),
.filter-bar .field-stack > :is(input,select,.entity-picker),
.form-grid > label > :is(input,select,textarea,.entity-picker),
.field-stack > :is(input,select,textarea,.entity-picker,.password-field){
  grid-column:1;
  grid-row:2;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.field-stack .entity-picker,
.field-stack .entity-picker-search,
.field-stack .product-picker-search{
  width:100%;
  min-width:0;
  max-width:100%;
}
.compact-form:not(.form-grid) > label > .field-error,
.compact-form:not(.form-grid) > label > .field-hint,
.compact-form:not(.form-grid) > label > .muted,
.compact-form .field-stack > .field-error,
.compact-form .field-stack > .field-hint,
.compact-form .field-stack > .muted,
.field-stack > :is(.field-error,.field-hint,.muted){
  grid-column:1;
  grid-row:auto;
  width:100%;
  min-width:0;
  margin:0;
  line-height:1.4;
  font-size:.78rem;
  font-weight:600;
  color:var(--muted);
}
.field-stack > .field-error{color:var(--danger)}

.legal-form-grid label:not(.check-inline):not(.check-label){
  display:grid;
  grid-template-columns:minmax(0,1fr);
  column-gap:var(--form-label-gap);
  align-items:stretch;
  min-width:0;
  font-weight:800;
}
.legal-form-grid label:not(.check-inline) > span:first-of-type{
  grid-column:1;
  max-width:100%;
  width:100%;
  line-height:1.35;
  writing-mode:horizontal-tb;
  word-break:normal;
  overflow-wrap:break-word;
}
.legal-form-grid label:not(.check-inline) > :is(input,select,textarea){
  grid-column:1;
  width:100%;
  max-width:100%;
  min-width:0;
}

@media (max-width:1100px){
  .form-pair{
    grid-template-columns:minmax(0,1fr);
  }
}

.app-frame-main,
.management-main,
.login-panel,
.login-card{
  container-type:inline-size;
}

@media (max-width:960px){
  .auth-form > label,
  .auth-form > .auth-field,
  .login-shell .compact-form > label,
  .compact-form:not(.form-grid) > label,
  .compact-form .field-stack,
  .filter-bar .field-stack,
  .form-grid > label,
  .field-stack,
  .legal-form-grid label:not(.check-inline):not(.check-label){
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
  }
  .auth-form > label > span:first-child,
  .auth-form > .auth-field > label,
  .auth-form > label > :is(input,select,textarea,.password-field,.field-error,.field-hint),
  .auth-form > .auth-field > :is(.password-field,.field-error),
  .login-shell .compact-form > label > span:first-child,
  .login-shell .compact-form > label > :is(input,select,textarea,.field-error),
  .compact-form:not(.form-grid) > label > span:first-child,
  .compact-form:not(.form-grid) > label > :is(input,select,textarea,.entity-picker,.password-field,.field-error,.field-hint,.muted),
  .compact-form .field-stack > span,
  .compact-form .field-stack > :is(input,select,textarea,.entity-picker,.password-field,.field-error,.muted),
  .filter-bar .field-stack > span,
  .filter-bar .field-stack > :is(input,select,.entity-picker),
  .form-grid > label > span,
  .form-grid > label > :is(input,select,textarea,.entity-picker),
  .field-stack > span,
  .field-stack > :is(input,select,textarea,.entity-picker,.password-field,.field-error,.muted),
  .legal-form-grid label:not(.check-inline) > span:first-of-type,
  .legal-form-grid label:not(.check-inline) > :is(input,select,textarea){
    grid-column:1;
    grid-row:auto;
    min-inline-size:0;
    overflow-wrap:break-word;
    word-break:normal;
  }
  .form-pair,
  .form-grid,
  .assist-fields{
    grid-template-columns:minmax(0,1fr);
  }
  .receiving-shell .compact-form label,
  .processing-shell .compact-form label,
  .sales-shell .compact-form label,
  .platform-legal-shell .legal-form-grid label:not(.check-inline):not(.check-label){
    flex-direction:column;
    align-items:stretch;
  }
}

@container (max-width:36rem){
  .auth-form > label,
  .auth-form > .auth-field,
  .login-shell .compact-form > label,
  .compact-form:not(.form-grid) > label,
  .compact-form .field-stack,
  .filter-bar .field-stack,
  .form-grid > label,
  .field-stack,
  .legal-form-grid label:not(.check-inline):not(.check-label){
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
  }
  .auth-form > label > span:first-child,
  .auth-form > .auth-field > label,
  .auth-form > label > :is(input,select,textarea,.password-field,.field-error,.field-hint),
  .auth-form > .auth-field > :is(.password-field,.field-error),
  .login-shell .compact-form > label > span:first-child,
  .login-shell .compact-form > label > :is(input,select,textarea,.field-error),
  .compact-form:not(.form-grid) > label > span:first-child,
  .compact-form:not(.form-grid) > label > :is(input,select,textarea,.entity-picker,.password-field,.field-error,.field-hint,.muted),
  .compact-form .field-stack > span,
  .compact-form .field-stack > :is(input,select,textarea,.entity-picker,.password-field,.field-error,.muted),
  .filter-bar .field-stack > span,
  .filter-bar .field-stack > :is(input,select,.entity-picker),
  .form-grid > label > span,
  .form-grid > label > :is(input,select,textarea,.entity-picker),
  .field-stack > span,
  .field-stack > :is(input,select,textarea,.entity-picker,.password-field,.field-error,.muted),
  .legal-form-grid label:not(.check-inline) > span:first-of-type,
  .legal-form-grid label:not(.check-inline) > :is(input,select,textarea){
    grid-column:1;
    grid-row:auto;
    min-inline-size:0;
    overflow-wrap:break-word;
    word-break:normal;
  }
  .form-pair,
  .form-grid,
  .assist-fields{
    grid-template-columns:minmax(0,1fr);
  }
  .receiving-shell .compact-form label,
  .processing-shell .compact-form label,
  .sales-shell .compact-form label,
  .platform-legal-shell .legal-form-grid label:not(.check-inline):not(.check-label){
    flex-direction:column;
    align-items:stretch;
  }
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Traceability evidence tables ? responsive scroll + touch targets */
.trace-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.trace-table-scroll .data-table{min-width:40rem}
@media (max-width: 768px){
  .trace-table-scroll .data-table{font-size:.92rem}
  .management-shell .primary-button,
  .management-shell .text-button{min-height: 44px}
}
a.metric-card{text-decoration:none;color:inherit;cursor:pointer}
a.metric-card:hover,a.metric-card:focus-visible{
  box-shadow:0 12px 28px rgba(18,61,50,.12);
  transform:translateY(-2px)
}
a.metric-card.featured:hover,a.metric-card.featured:focus-visible{
  box-shadow:0 12px 28px rgba(18,61,50,.28)
}
.content-grid.dashboard-main{grid-template-columns:1fr}
.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.65rem}
.dashboard-metrics .metric-card{grid-template-columns:1.65rem minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:.55rem;row-gap:.15rem;min-height:5.2rem;padding:.65rem .8rem}
.dashboard-metrics .metric-card .metric-icon{grid-column:1;grid-row:1;width:1.65rem;height:1.65rem}
.dashboard-metrics .metric-card span{grid-column:2;grid-row:1;align-self:center;min-width:0;font-size:.75rem;white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:break-word}
.dashboard-metrics .metric-card strong{grid-column:2;grid-row:2;margin:0;font-size:1.2rem;line-height:1.05}
.dashboard-metrics .metric-card small{display:none}
.dashboard-asset-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.dashboard-asset-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.dashboard-asset-group{min-width:0;border-inline-end:1px solid var(--line)}
.dashboard-asset-group:last-child{border-inline-end:0}
.dashboard-asset-group>h3{display:flex;align-items:center;justify-content:space-between;margin:0;padding:.85rem 1.4rem;border-bottom:1px solid var(--line);font-size:.9rem}
.dashboard-asset-group>h3 span{display:grid;min-width:1.75rem;height:1.75rem;padding:0 .4rem;place-items:center;border-radius:999px;background:var(--mist);color:var(--pine);font-size:.7rem}
.dashboard-asset-group .farm-list{padding:.25rem 1rem}
.dashboard-asset-group .farm-row{grid-template-columns:2.25rem minmax(0,1fr) auto auto;gap:.6rem;padding:.75rem 0}
.dashboard-asset-group .farm-code{width:2.25rem;height:2.25rem;font-size:.78rem}
.dashboard-setup{display:grid;gap:1rem;margin-bottom:1rem;padding:1.15rem 1.25rem;border-color:var(--border);background:linear-gradient(135deg,var(--surface),var(--surface-2));color:var(--text);container-type:inline-size;container-name:page-cards}
.dashboard-setup>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.dashboard-setup h2{margin:.1rem 0 .25rem;font-size:1.15rem}
.dashboard-setup header p:last-child{margin:0;color:var(--text-muted);font-size:.84rem}
.dashboard-setup-score{display:grid;min-width:3.2rem;height:3.2rem;place-items:center;border-radius:50%;background:var(--pine);color:#fff;font-size:.82rem}
.dashboard-setup progress{width:100%;height:.55rem;border:0;border-radius:999px;overflow:hidden;background:#dbe9e1;accent-color:var(--pine)}
.dashboard-setup progress::-webkit-progress-bar{background:#dbe9e1}
.dashboard-setup progress::-webkit-progress-value{background:linear-gradient(90deg,var(--pine),#4a9b70)}
.dashboard-setup-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),17rem));justify-content:start;gap:.55rem;align-items:stretch}
.dashboard-setup-step{display:grid;grid-template-columns:auto minmax(0,1fr);grid-column:auto;align-items:center;gap:.55rem;min-width:0;max-width:17rem;min-height:3.25rem;height:100%;padding:.7rem .8rem;border:1px solid var(--border);border-radius:.7rem;background:var(--bg-elevated);color:var(--text);text-decoration:none;font-size:.78rem;overflow-wrap:break-word}
.dashboard-setup-step>span{display:grid;width:1.55rem;height:1.55rem;place-items:center;border-radius:50%;background:var(--mist);color:var(--pine);font-weight:900}
.dashboard-setup-step.is-complete{border-color:var(--border);background:var(--surface-2);color:var(--text-muted)}
.dashboard-setup-step.is-complete>span{background:#dff1e7;color:#176444}
.dashboard-setup-continue{justify-self:start}
.dashboard-quick{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}
.dashboard-quick h2{margin:.1rem 0 0;font-size:1rem}
.dashboard-quick nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}
.dashboard-quick nav a{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;padding:.45rem .75rem;border:1px solid var(--border);border-radius:.65rem;background:var(--bg-subtle);color:var(--pine);font-size:.76rem;font-weight:800;text-decoration:none}
.dashboard-quick nav a:hover,.dashboard-quick nav a:focus-visible{border-color:var(--pine);background:var(--mist)}
.dashboard-quick nav a span{font-size:1rem}
.dashboard-empty{display:grid;justify-items:center;gap:.45rem;padding:1.15rem .75rem;text-align:center;color:var(--text-muted)}
.dashboard-empty>span{display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:50%;background:var(--mist);color:var(--pine);font-size:1.2rem;font-weight:900}
.dashboard-empty p{margin:0;font-size:.78rem;line-height:1.5}
.dashboard-empty a{color:var(--pine);font-size:.76rem;font-weight:800}
html[data-theme=dark] .dashboard-setup{background:linear-gradient(135deg,#18251f,#1d3329);border-color:#3d7a58}
html[data-theme=dark] .dashboard-setup-step.is-complete{background:#1d3329;border-color:#3d7a58}
@media(max-width:1100px){.dashboard-asset-groups{grid-template-columns:1fr}.dashboard-asset-group{border-inline-end:0;border-bottom:1px solid var(--line)}.dashboard-asset-group:last-child{border-bottom:0}}
@media(max-width:760px){.dashboard-assets .surface-header{align-items:flex-start;gap:.75rem}.dashboard-asset-actions{width:100%}.dashboard-asset-actions .secondary-button{flex:1 1 auto}.dashboard-quick{align-items:flex-start;flex-direction:column}.dashboard-quick nav{justify-content:flex-start;width:100%}}
@media(max-width:480px){.dashboard-setup>header{align-items:center}.dashboard-setup-continue{width:100%}}
a.farm-row-link{text-decoration:none;color:inherit}a.farm-row-link.is-selected{background:var(--mist);box-shadow:inset 3px 0 0 var(--gold)}
.plot-register-filters{display:grid;grid-template-columns:minmax(14rem,1.7fr) minmax(10rem,1fr) minmax(10rem,1fr) minmax(14rem,1.5fr) auto;gap:.75rem 1rem;align-items:end;width:100%;padding:1rem 1.25rem 1.15rem}
.plot-register-filters .field-stack{min-width:0}
.plot-register-filters select,.plot-register-filters input{width:100%;min-height:2.75rem}
.plot-register-filters .plot-filter-apply{width:auto;min-height:2.75rem;white-space:nowrap;padding-inline:1.25rem}
.plot-row-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem}
.plot-row-actions form,.lr-actions form{display:inline-flex;margin:0}
.lr-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem}
.usage-table td:has(.plot-row-actions){white-space:nowrap}
@media(max-width:1100px){.plot-register-filters{grid-template-columns:1fr 1fr}.plot-register-filters .plot-filter-apply{grid-column:1/-1}}
a.farm-row-link:hover{background:var(--mist)}
html[data-theme=dark] a.farm-row-link:hover{background:#1b2420}

/* Docked tenant sidebar: always in document flow. Collapse shrinks the grid column. */
.app-frame{
  --agri-sidebar-width:17.5rem;
  display:grid!important;
  grid-template-columns:var(--agri-sidebar-width) minmax(0,1fr)!important;
  height:auto;
  max-height:none;
  min-height:0;
  flex:1 1 auto;
  width:100%;
  max-width:100%;
  align-items:stretch;
  overflow:hidden;
  background:var(--pine);
}
.app-frame-main{
  min-width:0;
  min-height:0;
  max-width:100%;
  max-height:none;
  height:100%;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:1;
  background:var(--bg);
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:0;
}
.app-frame .app-shell{display:block;grid-template-columns:none;min-width:0;min-height:0}
.app-frame .management-shell{
  flex:0 0 auto;
  min-height:min-content;
  height:auto;
  min-width:0;
  max-width:100%;
  overflow:visible;
}
.app-frame-menu{display:none!important}
.app-frame>.sidebar{
  position:sticky!important;
  top:0!important;
  inset:auto!important;
  inset-inline:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:2;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%;
  max-height:none;
  overflow:auto;
  box-sizing:border-box;
  transform:none!important;
}
.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem}
.sidebar-collapse{flex:0 0 auto;width:2rem;min-width:2rem;height:2rem;margin:.15rem 0 0;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:.45rem;background:transparent;color:#fff;cursor:pointer;font-size:1rem;line-height:1}
.sidebar nav.sidebar-history{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:stretch;
  justify-content:space-between;
  gap:.35rem;
  margin:.55rem 0 0;
  padding:.2rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:.55rem;
  background:rgba(0,0,0,.16);
  grid-template-columns:none;
  grid-auto-flow:unset;
}
.sidebar-history-btn{
  flex:1 1 0;
  min-width:0;
  min-height:2.4rem;
  height:2.4rem;
  margin:0;
  padding:0 .45rem;
  border:1px solid var(--sidebar-control-border,rgba(18,61,50,.16));
  border-radius:.4rem;
  background:var(--sidebar-control-bg,#fff);
  color:var(--sidebar-control-fg,#1c2b26);
  cursor:pointer;
  font:inherit;
  font-size:.82rem;
  font-weight:650;
  line-height:1.2;
}
.sidebar-history-btn:hover:not(:disabled){background:var(--sidebar-control-hover,#eef6f2)}
.sidebar-history-btn[data-history-back]{flex:0 1 auto;width:auto;height:2rem;min-height:2rem;gap:.35rem;padding:0 .7rem;border-radius:.55rem;display:inline-flex;align-items:center;justify-content:center}
.sidebar-history-btn[data-history-back] svg{width:1rem;height:1rem;flex:0 0 auto}
html[dir=rtl] .sidebar-history-btn[data-history-back] svg{transform:scaleX(-1)}
.sidebar-history-btn:disabled{color:var(--sidebar-caption-muted,#52675e);background:var(--sidebar-control-bg,#fff);cursor:default}
.sidebar-history-home{
  flex:1 1 0;
  min-width:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.4rem;
  height:2.4rem;
  padding:.15rem .45rem;
  border-radius:.4rem;
  color:#fff!important;
  text-decoration:none!important;
  font-size:.82rem;
  font-weight:650;
  letter-spacing:.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sidebar-history-home:hover{background:var(--sidebar-control-hover,#eef6f2)}
.sidebar-search{display:block;margin:.45rem 0 .15rem}
.sidebar-search input{width:100%;min-height:2.25rem;padding:.4rem .65rem;border:1px solid rgba(255,255,255,.18);border-radius:.5rem;background:rgba(0,0,0,.18);color:#fff}
.sidebar-search input::placeholder{color:rgba(255,255,255,.55)}
.sidebar-empty{margin:0 0 .25rem;color:rgba(255,255,255,.7);font-size:.8rem}
.sidebar-empty[hidden]{display:none!important;margin:0;padding:0;height:0;overflow:hidden}
.sidebar a.nav-item.nav-hidden,.sidebar details.nav-hidden,.sidebar .nav-section-empty{display:none!important}
.sidebar.is-filtering .nav-section:not(.nav-section-empty)>a,
.sidebar.is-filtering .nav-section:not(.nav-section-empty)>details:not(.nav-hidden){display:block}
html[data-sidebar=collapsed] .app-frame{--agri-sidebar-width:4.75rem}
html[data-sidebar=collapsed] .app-frame>.sidebar{padding-inline:.35rem}
html[data-sidebar=collapsed] .sidebar-brand>div,
html[data-sidebar=collapsed] .sidebar-history-home,
html[data-sidebar=collapsed] .sidebar-search,
html[data-sidebar=collapsed] .sidebar-empty,
html[data-sidebar=collapsed] .nav-group,
html[data-sidebar=collapsed] .nav-subgroup,
html[data-sidebar=collapsed] .nav-separator,
html[data-sidebar=collapsed] .sidebar-foot div,
html[data-sidebar=collapsed] a.nav-item>.flow-no{display:none!important}
html[data-sidebar=collapsed] a.nav-item b,
html[data-sidebar=collapsed] .nav-details-peer>summary.nav-item b{display:none!important}
html[data-sidebar=collapsed] .sidebar nav.sidebar-history{flex-wrap:wrap;justify-content:center;gap:.2rem;padding:.15rem}
html[data-sidebar=collapsed] .sidebar-history-btn{width:1.55rem;min-width:1.55rem;height:1.55rem;font-size:1rem}
html[data-sidebar=collapsed] a.nav-item,
html[data-sidebar=collapsed] .nav-details-peer>summary.nav-item{justify-content:center;padding:.7rem .35rem}
html[data-sidebar=collapsed] .sidebar-top{justify-content:center}
html[data-sidebar=collapsed] .nav-section:not(.is-open)>a,
html[data-sidebar=collapsed] .nav-section:not(.is-open)>details{display:flex;flex-direction:column}
@media(max-width:760px){
  /* Keep the workspace at a usable phone width. The expanded navigation floats
     over it; the collapsed rail only reserves enough room for its icons. */
  .app-frame,
  html[data-sidebar=collapsed] .app-frame{
    --agri-sidebar-width:0;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .app-frame-main{
    box-sizing:border-box;
    padding-inline-start:4rem;
  }
  .app-frame>.sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    inset-inline-start:0!important;
    inset-inline-end:auto!important;
    z-index:95;
    width:min(18rem,calc(100vw - 3rem))!important;
    max-width:calc(100vw - 3rem)!important;
    height:100dvh;
    max-height:100dvh;
    box-shadow:0 0 2rem rgba(0,0,0,.24);
    transition:width .2s ease,box-shadow .2s ease;
  }
  html[data-sidebar=collapsed] .app-frame>.sidebar{
    width:4rem!important;
    max-width:4rem!important;
    box-shadow:0 0 .9rem rgba(0,0,0,.14);
  }
  .sidebar-collapse{
    width:2.75rem;
    min-width:2.75rem;
    height:2.75rem;
  }
  .workspace-header{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:start;
  }
  .workspace-header>.mobile-menu{grid-column:1;grid-row:1}
  .workspace-header>div:nth-child(2){grid-column:2;grid-row:1;margin:0!important;min-width:0}
  .workspace-header>.header-actions{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    margin:.35rem 0 0;
    justify-content:flex-end;
  }
}

.primary-button[hidden],
.secondary-button[hidden],
a.primary-button[hidden],
a.secondary-button[hidden]{
  display:none!important;
}
.context-guide-actions{
  flex-wrap:wrap;
  justify-content:stretch;
}
.context-guide-actions .primary-button,
.context-guide-actions .secondary-button{
  flex:1 1 8rem;
  justify-content:center;
  min-height:2.6rem;
  overflow-wrap:normal;
  white-space:normal;
}
.context-guide-actions .primary-button{
  color:#fff;
}
.context-guide-actions .secondary-button{
  color:var(--text);
  background:var(--bg-elevated);
}
.notification-list{
  margin:0;
  padding:0;
  list-style:none;
}
.notification-list>li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:.35rem .55rem;
  padding:1rem 1.25rem;
  border-bottom:1px solid var(--border);
}
.notification-list>li:last-child{border-bottom:0}
.notification-list>li>strong,
.notification-list>li>small{grid-column:1;min-width:0;overflow-wrap:anywhere}
.notification-list>li>form{grid-row:1/3;margin:0!important}
.notification-list>li>form:first-of-type{grid-column:2}
.notification-list>li>form:last-of-type{grid-column:3}
.notification-list>li>.text-button,
.notification-list>li>form .text-button{white-space:normal}
@media(max-width:760px){
  .notification-list>li{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:.9rem;
  }
  .notification-list>li>strong,
  .notification-list>li>small{grid-column:1/-1}
  .notification-list>li>form{grid-row:auto!important;grid-column:auto!important;display:block!important}
  .notification-list>li>form .text-button{width:100%;min-height:2.75rem}
}
html[data-theme=dark] a:not(.primary-button):not(.secondary-button):not(.text-button):not(.danger-button):not(.approve-button):not(.inline-action):not(.nav-item):not(.skip-link):not(.metric-card):not(.farm-row-link):not(.hub-card):not(.role-card):not(.shell-action):not(.public-card):not(.page-owner-check){
  color:#b7e6cc;
}
html[data-theme=dark] .primary-button,
html[data-theme=dark] a.primary-button,
html[data-theme=dark] summary.primary-button,
html[data-theme=dark] .context-guide-actions .primary-button{
  background:var(--pine-2);
  color:#fff;
  border-color:#3d7a58;
}
html[data-theme=dark] .secondary-button,
html[data-theme=dark] a.secondary-button,
html[data-theme=dark] .context-guide-actions .secondary-button{
  background:var(--bg-elevated);
  color:var(--text);
  border-color:var(--border);
}
html[data-theme=dark] .text-button,
html[data-theme=dark] .language-toggle,
html[data-theme=dark] .mobile-menu,
html[data-theme=dark] .create-drawer summary{
  color:#cfe6d7;
}
html[data-theme=dark] .create-drawer{
  border-top-color:var(--border);
}
html[data-theme=dark] .metric-card,
html[data-theme=dark] .hub-card,
html[data-theme=dark] .quote-card,
html[data-theme=dark] .plan-card,
html[data-theme=dark] .role-card,
html[data-theme=dark] .seed-grid>div,
html[data-theme=dark] .receipt-cards>div,
html[data-theme=dark] .report-catalog>div,
html[data-theme=dark] .capacity-strip>div{
  background:var(--bg-elevated);
  border-color:var(--border);
  color:var(--text);
}
html[data-theme=dark] .metric-card.featured{
  background:var(--card-bg);
  border-color:var(--accent,var(--pine));
  color:var(--card-fg);
}
html[data-theme=dark] .state-badge,
html[data-theme=dark] .tenant-chip,
html[data-theme=dark] .ledger-lock{
  background:#24312c;
  border:1px solid #3a4a43;
  color:#d7e4dd;
}
html[data-theme=dark] .farm-code{
  background:#24312c;
  color:#d7e4dd;
}
html[data-theme=dark] .farm-row,
html[data-theme=dark] .farm-row-link,
html[data-theme=dark] .employee-row,
html[data-theme=dark] .compact-form,
html[data-theme=dark] .form-card,
html[data-theme=dark] .split-list,
html[data-theme=dark] .data-table,
html[data-theme=dark] .usage-table,
html[data-theme=dark] .create-drawer{
  background:var(--bg-elevated);
  border-color:var(--border);
  color:var(--text);
}
html[data-theme=dark] .farm-row button,
html[data-theme=dark] .password-field button,
html[data-theme=dark] .actions button{
  background:var(--bg-subtle);
  color:var(--text);
  border-color:var(--border);
}
html[data-theme=dark] .business-shell,
html[data-theme=dark] .workspace,
html[data-theme=dark] .app-shell{
  background:var(--bg);
  color:var(--text);
}
html[data-theme=dark] .workspace-header h1,
html[data-theme=dark] .workspace h1,
html[data-theme=dark] .surface h2,
html[data-theme=dark] .compact-form h2,
html[data-theme=dark] .compact-form h3{
  color:var(--text);
}
html[data-theme=dark] .empty-state p,
html[data-theme=dark] .mini-empty,
html[data-theme=dark] .panel-copy,
html[data-theme=dark] .field-hint{
  color:var(--text-muted);
}
html[data-theme=dark] .split-list p,
html[data-theme=dark] .quality-list small,
html[data-theme=dark] .hub-card small,
html[data-theme=dark] .hub-card p{
  color:var(--text-muted);
}
html[data-theme=dark] .context-guide-card,
html[data-theme=dark] .context-guide-launcher,
html[data-theme=dark] .page-assistants-link{
  background:#1b2420;
  color:#e7f0ea;
  border-color:#3a4a43;
}
html[data-theme=dark] .context-guide-copy,
html[data-theme=dark] .context-guide-dl dd{
  color:#b7c7bf;
}
html[data-theme=dark] .stock-table .table-head,
html[data-theme=dark] .plan-table .table-head,
html[data-theme=dark] .production-table .table-head,
html[data-theme=dark] .workforce-table .table-head,
html[data-theme=dark] .cycle-table>div.table-head,
html[data-theme=dark] .document-register-table .table-head{
  background:#121a17;
  color:#8a9a92;
}
html[data-theme=dark] .progress-cell{
  background:#24312c;
}
html[data-theme=dark] .progress-cell small{
  color:#e7f0ea;
}
html[data-theme=dark] .notice-box,
html[data-theme=dark] .success-banner{
  background:#1d3a2d;
  border-color:#3d7a58;
  color:#cfe6d7;
}
html[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=submit]):not([type=button]),
html[data-theme=dark] select,
html[data-theme=dark] textarea{
  background:var(--bg-subtle);
  border-color:var(--border);
  color:var(--text);
}
html[data-theme=dark] .sidebar input{
  background:rgba(0,0,0,.18);
  color:#fff;
  border-color:rgba(255,255,255,.18);
}
html[data-theme=dark] input::placeholder,
html[data-theme=dark] textarea::placeholder{
  color:#8a9a92;
}
.platform-mail-banner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin:0 1rem 1rem;
  padding:.85rem 1rem;
  border:1px solid #d7b56a;
  border-radius:12px;
  background:#fff8e8;
  color:#3d3214;
}
.platform-mail-banner .primary-button{margin:0}
html[data-theme=dark] .platform-mail-banner{
  background:#3a3218;
  border-color:#8a7428;
  color:#f0d48a;
}
.nav-unread{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.25rem;
  height:1.25rem;
  padding:0 .35rem;
  margin-inline-start:.35rem;
  border-radius:999px;
  background:#c45c26;
  color:#fff;
  font-size:.7rem;
  font-weight:800;
  line-height:1;
}
html[data-sidebar=collapsed] .nav-unread{margin-inline-start:0}
.inbox-unread-row td{background:rgba(196,92,38,.08)}
html[data-theme=dark] .inbox-unread-row td{background:rgba(240,180,90,.12)}

/* Cards: high-contrast labels in both themes */
html[data-theme=dark]{
  --muted:#c5d2cb;
  --text-muted:#c5d2cb;
}
.surface,
.metric-card,
.hub-card,
.role-card,
.quote-card,
.plan-card,
.register-plan-card,
.simple-card,
.roadmap-card,
.conflict-card,
.subscription-hero,
.admin-section,
.roles-section{
  color:var(--text);
}
.surface h1,.surface h2,.surface h3,
.metric-card strong,.hub-card strong,.role-card strong,
.register-plan-card h3,.register-plan-card strong,.plan-card strong{
  color:var(--text);
}
.surface .muted,.metric-card span,.metric-card small,
.hub-card small,.hub-card p,.role-card small{
  color:var(--text-muted);
}
html[data-theme=dark] .surface,
html[data-theme=dark] .metric-card,
html[data-theme=dark] .hub-card,
html[data-theme=dark] .role-card,
html[data-theme=dark] .quote-card,
html[data-theme=dark] .plan-card,
html[data-theme=dark] .register-plan-card,
html[data-theme=dark] .simple-card,
html[data-theme=dark] .roadmap-card,
html[data-theme=dark] .conflict-card,
html[data-theme=dark] .subscription-hero,
html[data-theme=dark] .admin-section,
html[data-theme=dark] .roles-section,
html[data-theme=dark] .onboarding-step,
html[data-theme=dark] .capacity-strip>div{
  background:var(--bg-elevated);
  border-color:var(--border);
  color:var(--text);
}
html[data-theme=dark] .surface h1,
html[data-theme=dark] .surface h2,
html[data-theme=dark] .surface h3,
html[data-theme=dark] .metric-card,
html[data-theme=dark] .metric-card strong,
html[data-theme=dark] .hub-card strong,
html[data-theme=dark] .register-plan-card h3,
html[data-theme=dark] .register-plan-card strong,
html[data-theme=dark] .plan-card{
  color:var(--text);
}
html[data-theme=dark] .surface .muted,
html[data-theme=dark] .metric-card span,
html[data-theme=dark] .metric-card small,
html[data-theme=dark] .hub-card small,
html[data-theme=dark] .hub-card p,
html[data-theme=dark] .qty-hint,
html[data-theme=dark] .muted{
  color:var(--text-muted);
  opacity:1;
}
html[data-theme=dark] .metric-card.featured{
  background:var(--card-bg);
  border-color:var(--accent,var(--pine));
  color:var(--card-fg);
}
html[data-theme=dark] .metric-card.featured span,
html[data-theme=dark] .metric-card.featured small{
  color:var(--card-muted);
}
html[data-theme=dark] .login-context .register-quote-card,
html[data-theme=dark] .login-context .register-quote-card div,
html[data-theme=dark] .login-context .register-quote-card strong{
  color:#fff;
}
html[data-theme=dark] .quality-hero,
html[data-theme=dark] .quality-hero h2{
  color:#fff;
}
html[data-theme=dark] .quality-hero p:last-child{
  color:rgba(255,255,255,.82);
}
html[data-theme=dark] .onboarding-step.done{
  background:#1d3329;
  border-color:#3d7a58;
  color:#eaf4ee;
}

/* Docked shell: pane scrollbars appear only when content overflows. */
body.has-app-sidebar{
  height:100vh;
  overflow:hidden;
}
.app-frame .management-shell,
.app-frame .management-main,
.app-frame .platform-shell,
.app-frame .subscription-shell,
.app-frame .business-shell{
  min-width:0;
  max-width:100%;
}
.app-frame .management-main,
.app-frame .management-shell > .management-main,
.app-frame .platform-shell .management-main,
.app-frame .subscription-shell .management-main,
.app-frame .business-shell .management-main,
.app-frame .farm-land-shell .management-main,
.app-frame .ai-shell .management-main,
.app-frame .voice-shell .management-main,
.app-frame .offline-shell .management-main,
.app-frame .workspace{
  width:100%!important;
  max-width:100%!important;
  min-width:0;
  margin-inline:0!important;
  padding-inline:clamp(1rem,2vw,1.75rem);
  overflow:visible;
  box-sizing:border-box;
}
.app-frame .workspace{
  padding-block:1.25rem 2rem;
}
.app-frame .page-title,
.app-frame .admin-grid,
.app-frame .hub-grid,
.app-frame .metric-grid,
.app-frame .content-grid,
.app-frame .farm-board,
.app-frame .inventory-board,
.app-frame .procurement-board,
.app-frame .sales-board,
.app-frame .production-grid,
.app-frame .workforce-grid{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.app-frame .metric-grid{
  grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
}
.app-frame .hub-grid,
.app-frame .admin-grid.hub-grid{
  grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
}
.app-frame .content-grid,
.app-frame .content-grid.dashboard-main,
.app-frame .dashboard-main{
  grid-template-columns:minmax(0,1fr);
}
.app-frame .surface{
  max-width:100%;
  min-width:0;
  overflow:visible;
}
.app-frame .usage-table-wrap,
.app-frame .table-scroll{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.app-frame .usage-table,
.app-frame .data-table{
  width:max-content;
  min-width:100%;
  max-width:none;
  table-layout:auto;
}
.app-frame .usage-table th,
.app-frame .usage-table td,
.app-frame .data-table th,
.app-frame .data-table td{
  white-space:nowrap;
  overflow-wrap:normal;
}
.app-frame .usage-table td.cell-control,
.app-frame .usage-table td.cell-actions,
.app-frame .usage-table td.cell-flag,
.app-frame .usage-table td.empty-cell,
.app-frame .usage-table td:has(:is(form,input,select,button,textarea,.platform-actions,.cell-actions)),
.app-frame .data-table td:has(:is(form,input,select,button,textarea)){
  white-space:normal;
}
.app-frame .admin-grid > .surface:has(.usage-table),
.app-frame .admin-grid > .surface:has(.data-table),
.app-frame .admin-grid > .surface:has(.data-list){
  grid-column:1/-1;
}
.app-frame .admin-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));
}
.app-frame .admin-grid > .surface,
.app-frame .compact-form,
.app-frame .compact-form input,
.app-frame .compact-form select{
  max-width:100%;
  min-width:0;
}
.app-frame-main,
.app-frame>.sidebar,
.sidebar-nav,
.app-frame .usage-table-wrap,
.app-frame .table-scroll,
.app-frame .surface{
  scrollbar-gutter:auto;
  scrollbar-width:thin;
  scrollbar-color:#6d8a7e transparent;
}
.app-frame-main::-webkit-scrollbar,
.app-frame>.sidebar::-webkit-scrollbar,
.sidebar-nav::-webkit-scrollbar,
.app-frame .usage-table-wrap::-webkit-scrollbar,
.app-frame .table-scroll::-webkit-scrollbar,
.app-frame .surface::-webkit-scrollbar{
  width:12px;
  height:12px;
}
.app-frame-main::-webkit-scrollbar-thumb,
.app-frame>.sidebar::-webkit-scrollbar-thumb,
.sidebar-nav::-webkit-scrollbar-thumb,
.app-frame .usage-table-wrap::-webkit-scrollbar-thumb,
.app-frame .table-scroll::-webkit-scrollbar-thumb,
.app-frame .surface::-webkit-scrollbar-thumb{
  background:#6d8a7e;
  border-radius:8px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.app-frame>.sidebar::-webkit-scrollbar-thumb,
.sidebar-nav::-webkit-scrollbar-thumb{
  background:#9bb5aa;
}
.app-frame-main::-webkit-scrollbar-track,
.app-frame>.sidebar::-webkit-scrollbar-track,
.sidebar-nav::-webkit-scrollbar-track,
.app-frame .usage-table-wrap::-webkit-scrollbar-track,
.app-frame .table-scroll::-webkit-scrollbar-track,
.app-frame .surface::-webkit-scrollbar-track{
  background:transparent;
}
html[data-theme=dark] .app-frame-main{
  background:var(--bg);
}
html[data-theme=dark] .app-frame-main,
html[data-theme=dark] .app-frame .usage-table-wrap,
html[data-theme=dark] .app-frame .table-scroll,
html[data-theme=dark] .app-frame .surface{
  scrollbar-color:#5f756b transparent;
}

/* Platform inspection-body registry */
.row-actions-menu{position:relative;min-width:9rem}
.row-actions-menu>summary{cursor:pointer;color:var(--primary,#176b4d);font-weight:700}
.row-actions-menu[open]{min-width:min(26rem,70vw)}
.row-actions-menu .compact-form{margin-top:.75rem;padding:.75rem;border:1px solid var(--border,#d8e2dd);border-radius:.75rem;background:var(--surface,#fff)}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;background:#e7f4ed;color:#155f45;font-size:.82rem;font-weight:700}
.empty-cell{text-align:center;color:var(--muted,#64746d);padding:1.5rem!important}
html[data-theme=dark] .row-actions-menu .compact-form{background:var(--surface);border-color:var(--border)}
html[data-theme=dark] .status-pill{background:#173d30;color:#b9ead5}

.surface.table-host{overflow:visible}
.usage-table-wrap.table-pane,
.app-frame .usage-table-wrap.table-pane{
  max-height:min(68vh,42rem);
  overflow:auto;
}
.table-pane thead th{
  position:sticky;
  z-index:3;
  background:var(--bg-elevated);
  box-shadow:0 1px 0 var(--border);
}
.table-pane thead tr:first-child th{top:0}
.table-pane thead tr.col-filters th{
  top:var(--table-head-h,2.45rem);
  z-index:2;
  font-weight:500;
}
.col-filters .col-filter{
  width:100%;
  min-height:2rem;
  padding:.3rem .45rem;
  border:1px solid var(--border);
  border-radius:.45rem;
  background:var(--bg);
  color:var(--text);
  font:inherit;
  font-weight:600;
}
.platform-row-form{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:center;
}
.row-actions-menu .compact-form select,
.row-actions-menu .platform-row-form select{min-width:min(22rem,100%);flex:1}
.theme-choice-row,.accent-grid{display:grid;gap:.75rem;margin-top:1rem}
.theme-choice-row{grid-template-columns:1fr 1fr}
.theme-choice,.accent-swatch{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);cursor:pointer;font-weight:800}
.theme-choice:has(input:checked),.accent-swatch:has(input:checked){border-color:var(--pine);box-shadow:var(--focus-ring)}
.accent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.accent-swatch i{display:inline-block;width:1.35rem;height:1.35rem;border-radius:999px;flex-shrink:0}
.user-status-actions{display:flex;gap:.75rem;margin-top:1rem}
.user-scope-link.is-selected{outline:2px solid var(--pine);border-radius:.5rem}

/* Shared management layout: lists full-width, create forms readable, tables do not overlap. */
.app-frame .platform-shell > .management-header{display:none}
.management-shell .page-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.25rem;
}
.management-shell .page-title p:not(.eyebrow){
  margin:0;
  color:var(--muted);
  line-height:1.7;
  max-width:46rem;
}
.surface-header .primary-button,
.surface-header .secondary-button{
  width:auto;
  min-height:2.4rem;
  padding:0 .9rem;
  flex:0 0 auto;
}
.compact-form.filter-bar > :is(.primary-button,.secondary-button),
.compact-form.filter-bar .form-pair > :is(.primary-button,.secondary-button){
  width:auto;
  max-width:12rem;
  min-height:2.55rem;
  justify-self:start;
  align-self:end;
}
.usage-table :is(.primary-button,.secondary-button,.danger-button),
.data-table :is(.primary-button,.secondary-button,.danger-button){
  width:auto;
  min-height:2.4rem;
  padding:.35rem .75rem;
}
.create-drawer .compact-form{
  padding:0 0 1.25rem;
}
.create-drawer .compact-form > :is(input,select,textarea),
.compact-form .form-pair > :is(input,select,textarea){
  width:100%;
  min-width:0;
}
.pager-row{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:.85rem 1.25rem;
}
.usage-table .platform-row-form select{
  max-width:none;
  min-width:min(18rem,100%);
  flex:1 1 12rem;
}

/* Inspection-body assignment stays inside the card without a horizontal table scrollbar. */
.app-frame .owner-program-bodies-pane{
  overflow-x:hidden;
  overflow-y:auto;
}
.app-frame .owner-program-bodies-table{
  width:100%;
  min-width:0;
  max-width:100%;
  table-layout:fixed;
}
.owner-program-bodies-table .owner-program-column{width:34%}
.owner-program-bodies-table .owner-body-column{width:66%}
.app-frame .owner-program-bodies-table :is(th,td){
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
}
.owner-program-body-form{
  display:grid;
  grid-template-columns:minmax(12rem,30rem) max-content;
  justify-content:start;
  gap:.5rem;
  width:100%;
  min-width:0;
}
.app-frame .usage-table .owner-program-body-form select{
  width:100%;
  min-width:0;
  max-width:30rem;
}
.owner-program-body-form .platform-action-btn{
  white-space:nowrap;
}
@media(max-width:720px){
  .owner-program-bodies-table .owner-program-column{width:42%}
  .owner-program-bodies-table .owner-body-column{width:58%}
  .owner-program-body-form{grid-template-columns:minmax(0,1fr)}
  .owner-program-body-form .platform-action-btn{justify-self:start}
}

/* Business onboarding: grouped setup steps with consistent controls and actions. */
.onboarding-page-title{align-items:center}
.onboarding-ready-link{
  width:auto;
  min-height:2.6rem;
  padding:.45rem 1rem;
  white-space:nowrap;
}
.onboarding-setup{overflow:hidden}
.onboarding-setup > .surface-header{
  padding:1.25rem 1.5rem;
  background:linear-gradient(135deg,var(--bg-elevated),var(--bg-subtle));
}
.onboarding-setup > .surface-header p{
  max-width:58rem;
  margin:.4rem 0 0;
  color:var(--muted);
  line-height:1.55;
}
.onboarding-setup-body{display:grid;gap:1rem;padding:1.25rem 1.5rem 1.5rem}
.onboarding-email-status{margin:0}
.onboarding-resume{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem .65rem;
  padding:.75rem 1rem;
  border:1px solid color-mix(in srgb,var(--pine-2) 28%,var(--border));
  border-radius:var(--radius-sm);
  background:var(--mist);
}
.onboarding-resume span{color:var(--muted);font-size:.8rem;font-weight:700}
.onboarding-resume strong{color:var(--pine);font-size:.92rem}
.onboarding-setup-grid{
  display:grid;
  grid-template-columns:minmax(15rem,.75fr) minmax(20rem,1.25fr);
  gap:1rem;
  min-width:0;
}
.onboarding-config-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:stretch;
  gap:.85rem;
  margin:0;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-subtle);
}
.onboarding-card-heading{display:flex;align-items:center;gap:.65rem;min-width:0}
.onboarding-card-heading > span{
  display:grid;
  width:1.8rem;
  height:1.8rem;
  flex:0 0 1.8rem;
  place-items:center;
  border-radius:50%;
  background:var(--pine);
  color:#fff;
  font-size:.75rem;
  font-weight:800;
}
.onboarding-card-heading strong{min-width:0;overflow-wrap:anywhere}
.onboarding-config-card .field-stack{display:grid;gap:.4rem}
.onboarding-config-card .field-stack > span{font-size:.78rem;font-weight:800;color:var(--text-muted)}
.onboarding-config-card select{
  width:100%;
  min-width:0;
  min-height:2.75rem;
  padding:.55rem .75rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  color:var(--text);
  font:inherit;
}
.onboarding-config-card > :is(.primary-button,.secondary-button){
  width:max-content;
  min-height:2.55rem;
  margin-top:auto;
  padding:.45rem 1rem;
}
.onboarding-modules-card{grid-row:span 2}
.onboarding-module-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.onboarding-module-options label{
  display:flex;
  min-width:0;
  align-items:center;
  gap:.55rem;
  padding:.65rem .7rem;
  border:1px solid var(--border);
  border-radius:.6rem;
  background:var(--bg-elevated);
  cursor:pointer;
  font-size:.84rem;
  font-weight:700;
}
.onboarding-module-options label:has(input:checked){
  border-color:color-mix(in srgb,var(--pine-2) 55%,var(--border));
  background:var(--mist);
}
.onboarding-module-options input{flex:0 0 auto;accent-color:var(--pine)}
.onboarding-module-options span{min-width:0;overflow-wrap:anywhere}
.onboarding-template-card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.55}
.onboarding-destinations{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.6rem;
  padding-top:1rem;
  border-top:1px solid var(--border);
}
.onboarding-destinations a{width:auto;min-width:10rem;padding:.45rem 1rem}
html[data-theme=dark] .onboarding-setup > .surface-header{
  background:linear-gradient(135deg,var(--bg-elevated),#1a2621);
}
html[data-theme=dark] .onboarding-resume,
html[data-theme=dark] .onboarding-module-options label:has(input:checked){background:#1c3028}
@media(max-width:880px){
  .onboarding-setup-grid{grid-template-columns:minmax(0,1fr)}
  .onboarding-modules-card{grid-row:auto}
}
@media(max-width:560px){
  .onboarding-page-title{align-items:stretch}
  .onboarding-ready-link{width:100%}
  .onboarding-setup > .surface-header,
  .onboarding-setup-body{padding:1rem}
  .onboarding-module-options{grid-template-columns:minmax(0,1fr)}
  .onboarding-config-card > :is(.primary-button,.secondary-button),
  .onboarding-destinations a{width:100%}
}

/* Tenant commercial chrome: keep module nav, drop duplicate brand/logout. */
.app-frame .management-shell > .management-header > .brand-lockup,
.app-frame .management-shell > .management-header > form{
  display:none;
}
.app-frame .management-shell > .management-header{
  padding:.65rem clamp(1rem,2vw,1.75rem);
  gap:.5rem;
  background:var(--bg-elevated);
}
.app-frame .management-shell > .management-header > nav,
.app-frame .management-shell > .management-header > .business-nav{
  order:1;
  flex:1 1 100%;
  margin-inline-start:0;
  overflow-x:auto;
  flex-wrap:nowrap;
  justify-content:flex-start;
  max-width:100%;
  -webkit-overflow-scrolling:touch;
}
.app-frame .management-shell > .management-header > nav > a,
.app-frame .management-shell > .management-header > .business-nav > a{
  flex:0 0 auto;
  white-space:nowrap;
}
.app-frame .workspace-header .header-actions form{
  display:none;
}

.management-shell .surface:has(table.data-table),
.management-shell .surface:has(table.usage-table),
.workspace .surface:has(table.data-table),
.workspace .surface:has(table.usage-table),
.management-shell .admin-section:has(table.data-table),
.workspace .admin-section:has(table.data-table){
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.management-shell .data-table{
  width:max-content;
  min-width:100%;
  border-collapse:collapse;
}
.management-shell .data-table th,
.management-shell .data-table td{
  padding:.7rem .8rem;
  border-bottom:1px solid var(--border);
  text-align:start;
  font-size:.86rem;
  white-space:nowrap;
}
.management-shell .data-table td.empty-cell,
.management-shell .data-table td:has(:is(form,input,select,button,textarea)){
  white-space:normal;
}
.app-frame .admin-grid > .surface:has(form.compact-form):not(:has(.usage-table)):not(:has(.data-table)):not(:has(.data-list)){
  grid-column:1/-1;
  width:100%;
  max-width:44rem;
}

details.create-drawer{
  background:var(--bg-elevated);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:0 1.25rem 1.1rem;
  margin:0 0 1.25rem;
  box-shadow:var(--shadow-sm);
}
details.create-drawer > summary{
  padding:1rem 0;
  font-weight:800;
  cursor:pointer;
}
.page-title > details.create-drawer{
  position:relative;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  flex:0 0 auto;
}
.page-title > details.create-drawer > summary{
  padding:0;
  list-style:none;
}
.page-title > details.create-drawer .compact-form,
.page-title > details.create-drawer > .compact-form{
  position:absolute;
  z-index:30;
  inset-inline-end:0;
  top:calc(100% + .4rem);
  min-width:15rem;
  margin:0;
  padding:.75rem;
  display:flex;
  flex-direction:column;
  gap:.4rem;
  border:1px solid var(--border);
  border-radius:.85rem;
  background:var(--bg-elevated);
  box-shadow:var(--shadow);
}
.header-actions > details.create-drawer{
  position:relative;
  display:inline-block;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.header-actions > details.create-drawer .compact-form{
  position:absolute;
  z-index:30;
  inset-inline-end:0;
  top:calc(100% + .35rem);
  min-width:15rem;
  display:flex;
  flex-direction:column;
  gap:.4rem;
  padding:.75rem;
  border:1px solid var(--border);
  border-radius:.85rem;
  background:var(--bg-elevated);
  box-shadow:var(--shadow);
}
.split-list a.primary-button,
.split-list a.secondary-button{
  width:auto;
  justify-self:start;
  text-align:center;
}
.compact-form.filter-bar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));
  align-items:end;
  gap:.75rem;
  margin:0 0 1rem;
  padding:1rem 1.15rem;
  background:var(--bg-elevated);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
}
.compact-form.filter-bar .form-pair{
  display:contents;
}
.employee-actions details{
  position:relative;
}
.employee-actions details .compact-form{
  position:absolute;
  z-index:20;
  inset-inline-end:0;
  top:calc(100% + .35rem);
  min-width:16rem;
  padding:.75rem;
  border:1px solid var(--border);
  border-radius:.75rem;
  background:var(--bg-elevated);
  box-shadow:var(--shadow);
}
html[data-theme=dark] .page-title > details.create-drawer .compact-form,
html[data-theme=dark] .header-actions > details.create-drawer .compact-form,
html[data-theme=dark] .employee-actions details .compact-form{
  background:var(--bg-elevated);
  border-color:var(--border);
}
.invoice-multi-combo{position:relative;min-width:16rem}
.invoice-multi-combo-toggle{
  width:100%;text-align:start;min-height:2.4rem;padding:.45rem .7rem;
  border:1px solid var(--border,#dfe7e2);border-radius:.65rem;background:var(--bg-elevated,#fff);
  color:var(--text);
}
.invoice-multi-combo-panel{
  position:absolute;z-index:30;inset-inline-start:0;top:calc(100% + .35rem);
  min-width:100%;max-height:18rem;overflow:auto;padding:.55rem;
  border:1px solid var(--border,#dfe7e2);border-radius:.75rem;
  background:var(--bg-elevated,#fff);box-shadow:var(--shadow);
}
.invoice-multi-combo-filter{width:100%;margin-bottom:.45rem}
.invoice-multi-combo-item{display:flex;gap:.45rem;align-items:flex-start;padding:.28rem .2rem;cursor:pointer}
.invoice-multi-combo-item input{margin-top:.2rem}
#lines-table{min-width:112rem}
#lines-table th:first-child,#lines-table td:first-child{min-width:26rem;width:26rem}
#lines-table .line-product{width:100%;min-width:26rem}
html[data-theme=dark] .invoice-multi-combo-toggle,
html[data-theme=dark] .invoice-multi-combo-panel{
  background:var(--bg-elevated);border-color:var(--border);
}
.cn-filter-bar.compact-form.filter-bar{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));
}
.cn-filter-bar.compact-form.filter-bar .field-stack{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
}
.cn-filter-bar.compact-form.filter-bar .field-stack > span{
  grid-column:1;
  grid-row:1;
}
.cn-filter-bar.compact-form.filter-bar .field-stack > :is(input,select){
  grid-column:1;
  grid-row:2;
  width:100%;
}
.cn-filter-bar .cn-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  align-items:end;
  align-self:end;
  grid-column:1 / -1;
}
.cn-filter-bar .cn-filter-actions > :is(.primary-button,.secondary-button,.text-button,.cn-export){
  width:auto;
  min-width:0;
  max-width:none;
  flex:0 0 auto;
  justify-self:start;
}
.page-title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  flex:0 0 auto;
  margin-inline-start:auto;
}
.page-title-actions > :is(.primary-button,.secondary-button){
  width:auto;
  min-width:0;
  max-width:none;
  height:2.5rem;
  min-height:2.5rem;
}
.page-title > .report-toolbar.is-inline{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-inline-start:auto;
}
#record-edit{
  scroll-margin-top:5.5rem;
}
.page-action-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:.75rem 1rem;
  margin:0 0 1rem;
  padding:.75rem .9rem;
  background:var(--bg-elevated);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
}
.page-action-bar-group{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  min-width:0;
  order:1;
}
.page-action-bar-group.is-meta{order:2}
.page-action-bar-group.is-docs{
  order:3;
  flex:1 1 18rem;
}
.page-action-bar-group.is-danger{
  order:4;
  margin-inline-start:auto;
}
.page-action-bar-group.is-meta{
  flex:1 1 16rem;
  padding:.45rem .65rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg);
}
.page-action-bar > :is(.primary-button,.secondary-button,.text-button,.danger-button),
.page-action-bar-group > :is(.primary-button,.secondary-button,.text-button,.danger-button),
.page-action-bar > form:not(.page-action-bar-field) > :is(.primary-button,.secondary-button,.text-button),
.page-action-bar-group > form:not(.page-action-bar-field) > :is(.primary-button,.secondary-button,.text-button),
.page-action-bar .report-toolbar > :is(.primary-button,.secondary-button,.text-button),
.page-action-bar-group .report-toolbar > :is(.primary-button,.secondary-button,.text-button){
  width:auto;
  min-width:0;
  max-width:none;
  flex:0 0 auto;
  height:2.5rem;
  min-height:2.5rem;
  justify-self:start;
  white-space:nowrap;
  overflow-wrap:normal;
}
.page-action-bar > form:not(.page-action-bar-field):not(.compact-form),
.page-action-bar-group > form:not(.page-action-bar-field):not(.compact-form){
  display:inline-flex;
  margin:0;
  min-width:0;
}
.page-action-bar > form.compact-form,
.page-action-bar-group > form.compact-form{
  flex:1 1 100%;
  width:100%;
  display:grid;
}
.page-action-bar > .report-toolbar.is-inline,
.page-action-bar-group > .report-toolbar.is-inline{
  display:contents;
}
.page-action-bar-field{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:.45rem;
  margin:0;
}
.page-action-bar-field label{
  display:grid;
  gap:.2rem;
  margin:0;
  font-size:.75rem;
  font-weight:800;
}
.page-action-bar-field :is(select,input){
  min-height:2.5rem;
  min-width:8.5rem;
  width:auto;
}
.page-action-bar-field > :is(.primary-button,.secondary-button){
  width:auto;
  min-height:2.5rem;
  height:2.5rem;
}
html[data-theme=dark] .page-action-bar{
  background:var(--bg-elevated);
  border-color:var(--border);
}
html[data-sidebar=collapsed] .sidebar-top{
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:.35rem;
  padding:.2rem 0 .1rem;
}
html[data-sidebar=collapsed] .sidebar-collapse{
  width:2.15rem;
  min-width:2.15rem;
  height:2.15rem;
  margin:0;
}
html[data-sidebar=collapsed] .sidebar-brand{
  justify-content:center;
}
html[data-sidebar=collapsed] .app-frame>.sidebar{
  overflow-x:hidden;
}
.doc-row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.3rem .7rem;
  align-items:center;
  min-width:11rem;
}
.doc-row-actions a,
.doc-row-actions .text-button{
  width:auto;
  min-width:0;
  max-width:none;
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  font-weight:700;
  white-space:nowrap;
}
.doc-row-actions form{margin:0;display:inline}

/* One title only: drop duplicate headings, eyebrows, and helper copy. */
.workspace-header > div:not(.header-actions) > p{
  display:none;
}
.header-actions .ledger-lock{
  display:none;
}
.page-title > div > .eyebrow,
.page-title > div > p{
  display:none;
}
.workspace-header ~ .page-title h1{
  display:none;
}
.workspace-header ~ .page-title:not(:has(.page-title-actions, details, .primary-button, .secondary-button, form)){
  display:none;
  margin:0;
  padding:0;
}
.table-host > .surface-header h2{
  display:none;
}
.metric-card > small,
.readiness-strip small{
  display:none;
}
.compact-form .field-hint,
p.field-hint{
  display:none;
}
.login-shell .field-hint,
.login-panel .field-hint,
.login-context .eyebrow{
  display:block;
}
.management-main > p.muted,
.workspace > p.muted{
  display:none;
}

.warehouse-edit-actions{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:.65rem;
  margin:.75rem 1.25rem 1.25rem;
}
.warehouse-edit-actions form{margin:0}
.warehouse-edit-actions :is(.primary-button,.danger-button,.text-button){
  width:auto;
  min-width:8.5rem;
}

/* Shared control row: buttons must not stretch like split-list cards. */
.form-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem;
  margin:0;
  padding:0;
  width:100%;
  min-width:0;
}
.form-actions > .primary-button,
.form-actions > .secondary-button,
.form-actions > .text-button,
.compact-form > .form-actions > .primary-button,
.compact-form > .form-actions > .secondary-button{
  width:auto;
  min-width:8.5rem;
  max-width:100%;
  flex:0 1 auto;
  padding:.65rem 1.15rem;
}
.assist-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.25rem;
  min-width:0;
  width:100%;
}
.assist-fields .field-stack,
.assist-fields > .field-stack{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.35rem;
  align-items:stretch;
}
.assist-fields .field-stack > span,
.assist-fields .field-stack > :is(input,select,textarea){
  grid-column:1;
  grid-row:auto;
  width:100%;
  max-width:100%;
}
.assist-fields .assist-message{
  grid-column:1/-1;
}
.assist-fields .assist-message textarea{
  min-height:8rem;
}
.ai-chat-panel,
.voice-controls{
  padding:1.25rem 1.35rem 1.4rem;
  margin-bottom:1.25rem;
}
.ai-chat-form,
.voice-form{
  margin-top:0;
  gap:1rem;
}
.assist-note{
  margin:0;
}
.page-title .state-badge{
  align-self:flex-start;
  min-height:2.4rem;
  display:inline-flex;
  align-items:center;
}
.voice-shell .voice-controls label{
  display:grid;
  margin:0;
}
.voice-shell .voice-controls textarea,
.voice-shell .voice-controls select{
  max-width:none;
}
.management-shell > .management-main{
  width:100%;
  max-width:100%;
  margin-inline:0;
  box-sizing:border-box;
}
body:not(.has-app-sidebar) .management-shell > .management-main{
  width:min(1440px,96vw);
  margin-inline:auto;
}
@media (max-width:760px){
  .assist-fields{
    grid-template-columns:minmax(0,1fr);
  }
  .form-actions > .primary-button,
  .form-actions > .secondary-button,
  .form-actions > .text-button{
    min-width:0;
    flex:1 1 12rem;
  }
}

/* Form typography is explicit: labels are bold, while user-entered and selected
   values remain regular instead of inheriting the semibold body weight. */
:is(input:not([type="button"]):not([type="submit"]):not([type="reset"]),select,textarea){
  font-weight:400;
}
label,
label > span:first-child,
.field-stack > span:first-child,
.msd-label,
.auth-field > label{
  font-weight:700;
}

/* Dense management forms use one intrinsic label track per form. Subgrid lets
   the widest label in this form define the track without leaking that width to
   forms on other pages. Phone and narrow layouts keep their stacked fields. */
@supports (grid-template-columns:subgrid){
@media (min-width:1101px){
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form):not(.cycle-plan-sheet){
    display:grid!important;
    grid-template-columns:minmax(7rem,var(--form-label-col)) minmax(0,1fr)!important;
    column-gap:var(--form-label-gap);
    row-gap:.85rem;
  }
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form):not(.cycle-plan-sheet) > .form-pair{
    display:contents!important;
  }
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form):not(.cycle-plan-sheet) > label:not(.check-label):not(.check-inline),
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form):not(.cycle-plan-sheet) > .form-pair > label:not(.check-label):not(.check-inline){
    display:grid!important;
    grid-column:1 / -1!important;
    grid-template-columns:subgrid!important;
    align-items:center!important;
  }
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form) > label:not(.check-label):not(.check-inline) > span:first-child,
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form) > .form-pair > label:not(.check-label):not(.check-inline) > span:first-child{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center;
    max-inline-size:12rem;
  }
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form) > label:not(.check-label):not(.check-inline) > :is(input,select,textarea,.entity-picker,.password-field),
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form) > .form-pair > label:not(.check-label):not(.check-inline) > :is(input,select,textarea,.entity-picker,.password-field){
    grid-column:2!important;
    grid-row:1!important;
  }
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form) > label:not(.check-label):not(.check-inline) > :is(.field-error,.field-hint,.muted),
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form) > .form-pair > label:not(.check-label):not(.check-inline) > :is(.field-error,.field-hint,.muted){
    grid-column:2!important;
    grid-row:auto!important;
  }
  .app-frame-main .compact-form:not(.form-grid):not(.filter-bar):not(.record-create-form) > :is(.primary-button,.secondary-button,.form-actions,fieldset,.form-alert){
    grid-column:1 / -1;
  }
}
}

.record-create-form{
  display:grid;
  gap:1rem;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  align-items:stretch;
}
.record-create-form .form-pair{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.85rem 1rem;
  min-width:0;
  align-items:start;
}
.record-create-form .field-stack{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  align-content:start!important;
  grid-auto-rows:min-content;
  row-gap:.35rem;
}
.record-create-form .field-stack > span:first-child,
.record-create-form .field-stack > :is(input,select,textarea,.muted,.file-pick){
  grid-column:1!important;
  grid-row:auto!important;
  max-inline-size:none;
  width:100%;
}
.record-create-form .field-stack > :is(input,select):not([type=file]):not([type=hidden]):not([type=checkbox]):not([type=radio]){
  height:var(--control-h);
  min-height:var(--control-h);
  max-height:var(--control-h);
  align-self:start;
}
.record-create-fields,
.branding-upload-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem 1rem;
  margin:0;
  padding:.9rem 1rem 1rem;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  min-width:0;
}
.record-create-fields{
  background:var(--bg-elevated);
}
.branding-upload-grid{
  background:var(--bg-subtle);
  align-items:start;
}
.record-create-fields > legend,
.branding-upload-grid > legend{
  padding:0 .35rem;
  font-size:.92rem;
  font-weight:800;
}
.record-create-fields > .form-pair,
.record-create-fields > .field-stack,
.record-create-fields > .muted,
.record-create-fields > .field-hint-row,
.branding-upload-grid > .muted{
  grid-column:1 / -1;
  margin:0;
}
.record-create-fields > .form-pair{
  grid-column:1 / -1;
}
.field-hint-row{
  margin:0;
  font-size:.78rem;
  font-weight:600;
}
.file-pick{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.55rem;
  align-items:center;
  min-width:0;
  min-height:var(--control-h);
}
.file-pick-input{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:pointer;
  font-size:0;
}
.record-create-form .file-pick-btn.secondary-button,
.file-pick-btn{
  pointer-events:none;
  width:auto;
  max-width:none;
  min-width:7.5rem;
  justify-self:start;
}
.file-pick-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.app-frame .admin-grid > .surface:has(form.record-create-form){
  align-self:start;
  max-width:min(44rem,100%);
}
@media (max-width:760px){
  .record-create-form .form-pair,
  .record-create-fields,
  .branding-upload-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* Shared branding and attachment actions use one predictable layout everywhere. */
.branding-assets-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  padding:0 1.2rem 1.2rem;
}
.branding-asset-card{
  margin:0;
  border:1px solid var(--border,#d7dde5);
  box-shadow:none;
}
.branding-asset-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.5rem;
  padding:1rem;
  align-items:stretch;
}
.branding-asset-actions > :is(a,form),
.branding-asset-actions > form > button{
  width:100%;
  min-width:0;
  margin:0;
}
.branding-asset-actions > form{display:flex}
.branding-asset-actions .branding-asset-file{grid-column:1/-1}
.branding-asset-actions > :only-child{grid-column:1/-1}
.entity-attachments .attachment-list{padding:0;margin:0}
.entity-attachments .attachment-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.75rem 1rem;
  align-items:center;
  padding:.75rem 1rem;
}
.entity-attachments .attachment-summary{min-width:0}
.entity-attachments .attachment-summary > a,
.entity-attachments .attachment-summary > span{overflow-wrap:anywhere}
.entity-attachments .attachment-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(6.5rem,1fr));
  gap:.4rem;
}
.entity-attachments .attachment-actions > a{width:100%;min-width:0}
@media (max-width:1100px){
  .branding-assets-grid{grid-template-columns:minmax(0,1fr)}
  .entity-attachments .attachment-row{grid-template-columns:minmax(0,1fr)}
  .entity-attachments .attachment-actions{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr))}
}
html[data-theme=dark] .ai-chat-panel,
html[data-theme=dark] .voice-controls{
  background:var(--bg-elevated);
}

.public-site{background:var(--bg);color:var(--text)}
.public-header{position:sticky;top:0;z-index:100;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);border-bottom:1px solid var(--border);background:var(--bg-elevated);box-shadow:0 .35rem 1rem rgba(18,61,50,.08)}
.public-brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;min-width:0}
.public-brand img{width:48px;height:48px;border-radius:.85rem;object-fit:cover}
.public-brand strong{display:block;font-size:1.1rem}
.public-brand small{display:block;color:var(--text-muted);font-size:.75rem;max-width:18rem}
.public-nav{display:flex;flex-wrap:wrap;gap:.3rem .7rem;flex:1 1 18rem;font-size:.82rem}
.public-nav a{color:var(--pine-2);text-decoration:none;font-size:.88rem;font-weight:800}
.public-nav a:hover{text-decoration:underline}
.public-header-tools{display:flex;align-items:center;gap:.75rem;margin-inline-start:auto}
.report-preview{display:grid;grid-template-rows:auto minmax(24rem,1fr);gap:.85rem;min-height:calc(100dvh - 8rem);padding:1.25rem clamp(1rem,3vw,2.5rem) 1.5rem}
.report-preview header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem}
.report-preview h1{margin:0;font-size:1.35rem}
.report-preview p{margin:.25rem 0 0;color:var(--text-muted);max-width:42rem}
.report-preview iframe{width:100%;height:100%;min-height:70vh;border:1px solid var(--border);border-radius:.85rem;background:#fff}
html[data-theme=dark] .report-preview iframe{border-color:#43574e;background:#0f1a16}
.public-history{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto}
.public-history :is(button,a){appearance:none;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--border);border-radius:.65rem;background:var(--bg-elevated);color:var(--pine);text-decoration:none;cursor:pointer;box-shadow:var(--shadow-sm)}
.public-history svg{display:block;width:1.15rem;height:1.15rem}
.public-history :is(button,a):hover{border-color:var(--pine-2);background:var(--mist);color:var(--pine)}
.public-history button:disabled{opacity:.4;cursor:default;background:transparent;box-shadow:none;color:var(--text-muted)}
.public-history button:disabled:hover{border-color:var(--border);background:transparent;color:var(--text-muted)}
.public-history a[aria-current=page]{border-color:var(--pine-2);background:var(--mist)}
.public-history :is(button,a):focus-visible{outline:3px solid color-mix(in srgb,var(--pine-2) 42%,transparent);outline-offset:2px}
html[dir=rtl] .public-history svg.history-flip{transform:scaleX(-1)}
html[data-theme=dark] .public-history :is(button,a){border-color:#43574e;background:#182720;color:#f3f8f5}
html[data-theme=dark] .public-history :is(button,a):hover{border-color:#789187;background:#2a3d34;color:#fff}
html[data-theme=dark] .public-history button:disabled{background:#121c18;border-color:#2c3d36;color:#7d9086}
html[data-theme=dark] .public-history button:disabled:hover{background:#121c18;border-color:#2c3d36;color:#7d9086}
html[data-theme=dark] .public-history a[aria-current=page]{border-color:#6ea88f;background:#1d342b;color:#f3f8f5}
.public-menu-toggle{display:none}
.public-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(12rem,.7fr);gap:2rem;align-items:center;padding:3rem clamp(1rem,4vw,3rem) 2rem;background:linear-gradient(145deg,#0e3229 0%,#174f40 70%);color:#fff}
.public-hero h1{margin:.4rem 0 0;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.15;letter-spacing:-.04em}
.public-hero p{max-width:40rem;color:rgba(255,255,255,.78);line-height:1.8}
.public-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.public-hero-actions .primary-button{background:#fff;color:var(--pine)}
.public-hero-visual{display:grid;place-items:center}
.public-hero-visual img{width:min(100%,18rem);height:auto;border-radius:1.5rem;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.public-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.85rem clamp(1rem,3vw,2.5rem);border-bottom:1px solid var(--border);background:var(--bg)}
.public-trust article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;min-width:0;padding:.85rem .95rem;border:1px solid var(--border);border-radius:.85rem;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}
.public-trust article>span{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.7rem;background:#e8f3ed;color:var(--pine)}
.public-trust article>span svg{display:block}
.public-trust strong,.public-trust small{display:block}
.public-trust strong{font-size:.92rem;line-height:1.3;color:var(--text)}
.public-trust small{margin-top:.2rem;color:var(--text-muted);font-size:.78rem;line-height:1.4}
html[data-theme=dark] .public-trust article{background:#1c2923}
html[data-theme=dark] .public-trust article>span{background:#17362d;color:#d5efe4}
.public-product-tour{margin:2.5rem 0}
.product-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.product-tour-card{min-width:0;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}
.product-tour-card h3{margin:1rem 0 .35rem;font-size:1.05rem}
.product-tour-card>p{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.55}
.product-preview{min-height:12rem;padding:.75rem;border:1px solid #c8dcd2;border-radius:.8rem;background:linear-gradient(145deg,#f8fbf9,#e8f3ed);overflow:hidden}
.preview-bar{display:flex;align-items:center;gap:.3rem;padding:.5rem .6rem;border-radius:.5rem;background:#fff;box-shadow:0 4px 14px rgba(18,61,50,.08)}
.preview-bar i{width:.45rem;height:.45rem;border-radius:50%;background:#d9e7df}.preview-bar i:first-child{background:#d5a33e}.preview-bar b{margin-inline-start:auto;color:var(--pine);font-size:.65rem}
.preview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.7rem}
.preview-metrics span{display:grid;gap:.2rem;padding:.65rem .4rem;border-radius:.5rem;background:#fff;color:var(--text-muted);font-size:.55rem;text-align:center}.preview-metrics b{color:var(--pine);font-size:1rem}
.preview-lines{display:grid;gap:.45rem;margin-top:.8rem}.preview-lines i{display:block;height:.65rem;border-radius:999px;background:#dce9e2}.preview-lines i:nth-child(2){width:78%}.preview-lines i:nth-child(3){width:58%}
.preview-flow{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:2.2rem}.preview-flow span{padding:.5rem .4rem;border-radius:.45rem;background:#fff;color:var(--pine);font-size:.55rem;font-weight:800;text-align:center}.preview-flow i{color:#d5a33e;font-style:normal}
.preview-status{width:max-content;margin:1.4rem auto 0;padding:.45rem .75rem;border-radius:999px;background:#dff1e7;color:#176444;font-size:.65rem;font-weight:900}
.preview-ring{display:grid;width:6.5rem;height:6.5rem;margin:1rem auto 0;place-items:center;align-content:center;border:.65rem solid #bddfca;border-top-color:#237d59;border-radius:50%;background:#fff}.preview-ring strong{color:var(--pine);font-size:1.25rem}.preview-ring span{color:var(--text-muted);font-size:.58rem}
.preview-checks{display:flex;justify-content:center;gap:.5rem;margin-top:.7rem}.preview-checks span{display:grid;width:1.4rem;height:1.4rem;place-items:center;border-radius:50%;background:#dff1e7;color:#176444;font-size:.65rem;font-weight:900}
.login-back-link{width:max-content;margin-bottom:.6rem}
.login-remembered-org{color:#176444;font-weight:700}
.public-section{padding:2.5rem clamp(1rem,4vw,3rem);max-width:72rem;margin:0 auto}
.public-section h2{margin:0 0 .75rem;font-size:1.55rem}
.public-section>p,.public-prose p{color:var(--text-muted);line-height:1.85;max-width:48rem}
.public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:1.25rem}
.public-card{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);text-decoration:none;color:inherit}
.public-card h3{margin:.2rem 0 .4rem;font-size:1.05rem}
.public-card p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.6}
.public-card .primary-button,.public-card .secondary-button{display:inline-flex;margin-top:.8rem}
.public-price{font-size:1.45rem;font-weight:800;color:var(--pine);margin:.35rem 0}
.public-price span{font-size:.85rem;font-weight:700;color:var(--text-muted)}
.public-badge{display:inline-block;margin:0 0 .4rem;padding:.15rem .5rem;border-radius:999px;background:#e8f3ed;color:var(--pine);font-size:.75rem;font-weight:800}
.public-list{margin:.8rem 0 0;padding-inline-start:1.1rem;color:var(--text-muted);line-height:1.6}
.public-hero .public-hero-actions .public-hero-actions{margin-top:0}
.public-chain{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}
.public-chain span{padding:.45rem .75rem;border-radius:999px;background:#e8f3ed;color:var(--pine);font-size:.8rem;font-weight:800}
.public-section-heading{max-width:52rem;margin-bottom:1.5rem}
.public-section-heading .eyebrow{margin:0 0 .45rem;color:var(--pine-2);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.public-section-heading h2{margin:0 0 .75rem}
.public-section-heading>p:last-child{margin:0;color:var(--text-muted);line-height:1.8}
.public-overview-section{max-width:78rem}
.public-architecture{max-width:78rem;margin-top:1.5rem}
.public-architecture+.public-grid{margin-top:2rem}
.architecture-map{position:relative;padding:1.5rem;border:1px solid var(--border);border-radius:1.2rem;background:var(--bg-elevated)}
.architecture-root{width:min(100%,34rem);margin:0 auto;padding:1rem 1.25rem;border-radius:var(--radius-md);background:var(--pine);color:#fff;text-align:center}
.architecture-root strong,.architecture-root span{display:block}
.architecture-root span{margin-top:.25rem;color:rgba(255,255,255,.78);font-size:.82rem}
.architecture-trunk{width:1px;height:2rem;margin:0 auto;background:var(--border-strong,var(--border))}
.architecture-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;position:relative}
.architecture-branches::before{content:"";position:absolute;inset-inline:25%;top:-2rem;height:1px;background:var(--border-strong,var(--border))}
.architecture-branch{position:relative;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}
.architecture-branch::before{content:"";position:absolute;inset-inline-start:50%;top:-2rem;width:1px;height:2rem;background:var(--border-strong,var(--border))}
.architecture-branch summary{text-align:center;list-style:none;cursor:default}
.architecture-branch summary::-webkit-details-marker{display:none}
.architecture-branch h3{margin:.15rem 0 .35rem;font-size:1.2rem}
.architecture-branch summary p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.6}
.architecture-kicker{color:var(--pine-2);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.architecture-flow{display:grid;gap:.65rem;margin-top:1rem}
.architecture-node{padding:.7rem .9rem;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);font-weight:700;text-align:center}
.architecture-node-strong{background:#edf8f3;border-color:#9ac9b1;color:var(--pine)}
.architecture-arrow{text-align:center;color:var(--text-muted);line-height:1}
.architecture-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.architecture-children span{display:grid;place-items:center;min-height:3.6rem;padding:.65rem;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);font-size:.82rem;font-weight:700;text-align:center}
.architecture-optional,.architecture-rule{margin:.85rem 0 0;color:var(--text-muted);font-size:.8rem;line-height:1.6;text-align:center}
.architecture-rule{padding:.8rem 1rem;border-radius:var(--radius-sm);background:#f4f0df;color:#5e4d16;font-weight:700}
.public-capabilities{max-width:78rem}
.public-capability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}
.public-capability-card{padding:1.1rem 1.15rem;border-inline-start:3px solid var(--pine-2);background:var(--bg-elevated)}
.public-capability-card h3{margin:0 0 .45rem;font-size:1rem}
.public-capability-card p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.65}
.public-capability-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem}
.public-capability-actions .public-hero-actions{margin:0}
.public-footer{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem clamp(1rem,4vw,3rem);border-top:1px solid var(--border);color:var(--text-muted)}
.public-footer nav{display:flex;gap:1rem}
.public-footer a{color:var(--pine-2);text-decoration:none;font-weight:800}
.public-form{display:grid;gap:1rem;max-width:32rem;margin-top:1.25rem}
.public-form label span{display:block;margin-bottom:.35rem}
.public-form input,.public-form textarea{width:100%;min-height:var(--control-h);padding:var(--control-pad-y) var(--control-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font:inherit}
.public-form textarea{min-height:8rem}
.public-note{margin-top:1rem;padding:1rem;border-radius:.7rem;background:#edf8f3;color:var(--pine)}
@media(max-width:1200px){
  .public-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-menu-toggle{display:block;margin-inline-start:auto}
  .public-nav{display:none;flex-basis:100%;order:4}
  .public-nav.is-open{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));width:100%}
}
@media(max-width:900px){
  .public-hero{grid-template-columns:1fr;padding-top:2rem}
  .public-hero-visual{order:-1}
  .public-nav.is-open{display:flex;flex-direction:column}
  .public-header-tools{width:100%;margin:0}
  .architecture-branches{grid-template-columns:1fr;gap:2.5rem}
  .architecture-branches::before{display:none}
  .architecture-branch::before{height:1.25rem;top:-1.25rem}
  .architecture-branch{padding:0;overflow:hidden}
  .architecture-branch summary{position:relative;padding:1.1rem 3rem 1.1rem 1rem;cursor:pointer;background:var(--bg-elevated)}
  html[dir=rtl] .architecture-branch summary{padding:1.1rem 1rem 1.1rem 3rem}
  .architecture-branch summary::after{content:"+";position:absolute;inset-inline-end:1rem;top:50%;transform:translateY(-50%);display:grid;width:1.8rem;height:1.8rem;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--pine);font-size:1.15rem;font-weight:900}
  .architecture-branch[open] summary::after{content:"−"}
  .architecture-branch .architecture-flow,.architecture-branch .architecture-optional{margin-inline:1rem}
  .architecture-branch .architecture-optional{margin-bottom:1rem}
  .product-tour-grid{grid-template-columns:1fr}
}
@media(max-width:520px){.public-trust{grid-template-columns:1fr}}
html[data-theme=dark] .public-hero{background:linear-gradient(145deg,#071812,#123d32)}
html[data-theme=dark] .public-chain span,html[data-theme=dark] .public-badge{background:#1a2e28;color:#d5efe4}
html[data-theme=dark] .architecture-node-strong{background:#17362d;border-color:#2f6b57;color:#d5efe4}
html[data-theme=dark] .architecture-rule{background:#3b3218;color:#f6e7b2}
html[dir=rtl] .public-header-tools{margin-inline-start:0;margin-inline-end:auto}
.demo-banner{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem 1rem;background:#f4e4b3;color:#3d3208}
.demo-banner a{color:inherit;font-weight:700}
html[data-theme=dark] .demo-banner{background:#4a3b12;color:#f6e7b2}
.lead-overdue{color:#9a3412;font-weight:700}
.trace-public{max-width:40rem;margin:0 auto;padding:1rem}
.trace-public dl{display:grid;grid-template-columns:1fr;gap:.35rem}
.trace-public dd{margin:0 0 .8rem;font-size:1.15rem}
.trace-public svg{width:100%;max-width:16rem;height:auto}
@media (max-width:480px){.trace-public h1{font-size:1.6rem}}
.audit-room{max-width:40rem}
.audit-room .compact-form{display:grid;gap:.75rem}
.audit-room ul{margin:.4rem 0 0;padding-inline-start:1.1rem}
@media (max-width:480px){.audit-room h1{font-size:1.35rem}.audit-room .form-pair{grid-template-columns:1fr}}
html[data-theme=dark] .lead-overdue{color:#fdba74}

/* Title and supporting text must not run together (BH + Organization code). */
.data-list>div>span{
  display:flex;
  flex-direction:column;
  align-items:start;
  gap:.25rem;
  min-width:0;
}
.data-list>div>span>strong,
.data-list>div>span>small{
  display:block;
}
.data-list>div>span>small{
  color:var(--muted);
  font-size:.74rem;
  line-height:1.45;
}

/* Shared record lists use stable columns rather than space-between.  This keeps
   every title and supporting line aligned regardless of text or action width. */
.app-frame .data-list>div{
  display:grid;
  grid-template-columns:3rem minmax(0,1fr) max-content;
  align-items:center;
  justify-content:normal;
  gap:.75rem;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.app-frame .data-list>div>:is(.farm-code,.cat-mark,.small-avatar){
  grid-column:1;
  justify-self:start;
  flex:none;
}
.app-frame .data-list>div>:is(.record-main,.cat-main),
.app-frame .data-list>div>:nth-child(2):not(form):not(.state-badge):not(.cat-actions){
  grid-column:2;
  min-width:0;
  justify-self:stretch;
  text-align:start;
}
.app-frame .data-list>div>:is(.record-main,.cat-main)>strong,
.app-frame .data-list>div>:is(.record-main,.cat-main)>small,
.app-frame .data-list>div>:nth-child(2):not(form):not(.state-badge):not(.cat-actions)>strong,
.app-frame .data-list>div>:nth-child(2):not(form):not(.state-badge):not(.cat-actions)>small{
  display:block;
  min-width:0;
}
.app-frame .data-list>div>:is(.record-main,.cat-main)>small,
.app-frame .data-list>div>:nth-child(2):not(form):not(.state-badge):not(.cat-actions)>small{
  margin-top:.2rem;
  color:var(--muted);
  font-size:.74rem;
  line-height:1.45;
  overflow-wrap:break-word;
}
.app-frame .data-list>div>:is(form,.state-badge,.cat-actions):last-child{
  grid-column:3;
  justify-self:end;
  min-width:0;
  margin:0;
}
.app-frame .data-list>div>.cat-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.4rem;
}
.app-frame .data-list>div>:first-child:not(.farm-code):not(.cat-mark):not(.small-avatar):not(.avatar):not(.user-scope-link){
  grid-column:1 / 3;
  min-width:0;
  justify-self:stretch;
  text-align:start;
}
.app-frame .data-list>div>:only-child{grid-column:1 / -1;justify-self:stretch}
.app-frame .data-list>div .primary-button,
.app-frame .data-list>div .secondary-button,
.app-frame .data-list>div .text-button{
  min-width:max-content;
  white-space:normal;
  word-break:normal;
}
.app-frame .data-list>div.user-list-row{
  grid-template-columns:minmax(0,1fr) max-content;
}
.app-frame .user-list-row>.user-scope-link{
  grid-column:1;
  display:grid;
  grid-template-columns:2.5rem minmax(0,1fr);
  align-items:center;
  gap:.75rem;
  width:100%;
  min-width:0;
  padding:.35rem;
  box-sizing:border-box;
}
.app-frame .user-list-row>.state-badge{
  grid-column:2;
  justify-self:end;
}
.app-frame .user-list-row .small-avatar{
  width:2.5rem;
  height:2.5rem;
  min-width:2.5rem;
}
.app-frame .user-record-main{
  display:block;
  min-width:0;
}
.app-frame .user-record-main>strong,
.app-frame .user-record-main>small{
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
}
.app-frame .user-record-main>small>span+span::before{content:" · "}

/* Operational areas contain editable records, so each record owns its controls
   instead of forcing an eleven-column table wider than the content surface. */
.app-frame .operational-areas-panel{
  grid-column:1/-1;
  width:100%;
  max-width:none;
  margin-inline:0;
  min-width:0;
  overflow:hidden;
}
.app-frame .facility-area-list{
  display:grid;
  gap:.75rem;
  padding:1.25rem;
  min-width:0;
}
.app-frame .facility-area-card{
  display:grid;
  gap:1rem;
  min-width:0;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-subtle);
}
.app-frame .facility-area-card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  min-width:0;
}
.app-frame .facility-area-identity{min-width:0}
.app-frame .facility-area-identity>strong,
.app-frame .facility-area-identity>small{display:block;overflow-wrap:anywhere}
.app-frame .facility-area-identity>small{margin-top:.25rem;color:var(--muted);font-size:.78rem}
.app-frame .facility-area-capabilities{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.5rem;
  margin:0;
}
.app-frame .facility-area-capabilities>div{
  min-width:0;
  padding:.65rem .75rem;
  border-radius:.55rem;
  background:var(--bg-elevated);
}
.app-frame .facility-area-capabilities dt{
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  overflow-wrap:break-word;
}
.app-frame .facility-area-capabilities dd{margin:.25rem 0 0;font-weight:700}
.app-frame .facility-area-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:end;
  gap:.65rem;
  min-width:0;
}
.app-frame .facility-area-edit-form{
  display:grid;
  grid-template-columns:minmax(12rem,2fr) minmax(10rem,1fr) max-content;
  align-items:end;
  gap:.65rem;
  min-width:0;
}
.app-frame .facility-area-edit-form>:is(input,select,button),
.app-frame .facility-area-actions>form>button{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.app-frame .organization-report-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  min-width:0;
}
.app-frame .organization-report-actions>.secondary-button{
  width:auto;
  min-width:max-content;
}
@media(max-width:680px){
  .app-frame .data-list>div{
    grid-template-columns:2.75rem minmax(0,1fr);
    align-items:start;
  }
  .app-frame .data-list>div>:is(form,.state-badge,.cat-actions):last-child{
    grid-column:2;
    justify-self:start;
    width:auto;
  }
  .app-frame .data-list>div>.cat-actions{justify-content:flex-start}
  .app-frame .data-list>div>:first-child:not(.farm-code):not(.cat-mark):not(.small-avatar):not(.avatar):not(.user-scope-link){grid-column:1 / -1}
  .app-frame .data-list>div.user-list-row{grid-template-columns:minmax(0,1fr)}
  .app-frame .user-list-row>.state-badge{
    grid-column:1;
    justify-self:start;
    margin-inline-start:3.25rem;
  }
  .app-frame .facility-area-list{padding:.8rem}
  .app-frame .facility-area-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-frame .facility-area-actions,
  .app-frame .facility-area-edit-form{grid-template-columns:minmax(0,1fr)}
  .app-frame .facility-area-actions>form{width:100%}
  .app-frame .organization-report-actions>.secondary-button{width:100%;min-width:0}
}

.osp-findings-shell{padding:0 1.25rem 1.25rem}
.osp-findings-overview{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}
.osp-findings-count{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.3rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-subtle);color:var(--muted);font-size:.76rem;font-weight:700}
.osp-findings-count b{color:var(--text);font-size:.9rem}
.osp-findings-count.is-blocking{border-color:#e6b8b8;background:#fff1f1;color:#9f2727}
.osp-findings-count.is-blocking b{color:#9f2727}
.osp-findings-count.is-warning{border-color:#ead39c;background:#fff8e7;color:#825c0e}
.osp-finding-groups{display:grid;gap:.6rem}
.osp-finding-group{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}
.osp-finding-group>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3.2rem;padding:.7rem .85rem;cursor:pointer;list-style:none;user-select:none}
.osp-finding-group>summary::-webkit-details-marker{display:none}
.osp-finding-group>summary::after{content:"›";flex:0 0 auto;color:var(--muted);font-size:1.35rem;line-height:1;transition:transform .18s ease}
.osp-finding-group[open]>summary::after{transform:rotate(90deg)}
html[dir=rtl] .osp-finding-group>summary::after{transform:rotate(180deg)}
html[dir=rtl] .osp-finding-group[open]>summary::after{transform:rotate(90deg)}
.osp-finding-section{min-width:0;flex:1}
.osp-finding-section strong,.osp-finding-section small{display:block}
.osp-finding-section strong{font-size:.88rem;text-transform:none}
.osp-finding-section small{margin-top:.15rem;color:var(--muted);font-size:.72rem}
.osp-finding-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}
.severity-badge{padding:.25rem .5rem;border-radius:999px;font-size:.66rem;white-space:nowrap}
.severity-badge.severity-blocking{background:#ffebeb;color:#a42c2c}
.severity-badge.severity-warning{background:#fff1d3;color:#815b0e}
.osp-finding-items{display:grid;gap:.5rem;padding:.65rem;border-top:1px solid var(--border);background:var(--bg-subtle)}
.osp-finding-item{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.65rem;padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}
.osp-finding-icon{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:#ffebeb;color:#a42c2c;font-weight:900}
.osp-finding-item.severity-warning .osp-finding-icon{background:#fff1d3;color:#815b0e}
.osp-finding-item strong,.osp-finding-item small{display:block}
.osp-finding-item strong{font-size:.84rem;line-height:1.4}
.osp-finding-code{margin-top:.18rem;color:var(--muted);font-size:.68rem;letter-spacing:.025em}
.osp-finding-detail{margin-top:.45rem}
.osp-finding-detail>summary{width:max-content;max-width:100%;cursor:pointer;color:var(--pine-2);font-size:.72rem;font-weight:800}
.osp-finding-detail ul{margin:.5rem 0 0;padding-inline-start:1.1rem;color:var(--muted);font-size:.74rem;line-height:1.55}
.osp-findings-empty{margin:0 1.25rem 1.25rem;padding:1rem;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--muted);text-align:center}
html[data-theme=dark] .osp-findings-count.is-blocking{border-color:#744343;background:#392525;color:#ffb8b8}
html[data-theme=dark] .osp-findings-count.is-blocking b{color:#ffb8b8}
html[data-theme=dark] .osp-findings-count.is-warning{border-color:#725e32;background:#342e20;color:#f2d17c}
html[data-theme=dark] .severity-badge.severity-blocking,html[data-theme=dark] .osp-finding-icon{background:#4a2828;color:#ffb8b8}
html[data-theme=dark] .severity-badge.severity-warning,html[data-theme=dark] .osp-finding-item.severity-warning .osp-finding-icon{background:#46391d;color:#f2d17c}
@media(max-width:620px){.osp-finding-group>summary{align-items:flex-start;flex-wrap:wrap}.osp-finding-badges{justify-content:flex-start}.osp-finding-group>summary::after{margin-inline-start:auto}}

/* Action forms must reserve a complete row for every control.  Several pages
   reuse split-list for mixed links and forms; a flex row let wide inputs shrink
   adjacent buttons to a one-character column. */
.app-frame .split-list > form:not(.compact-form),
.app-frame .report-action-form{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-self:start;
  gap:.55rem;
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0;
}
.app-frame .split-list > form:not(.compact-form) > :is(input,select,textarea,button,.primary-button,.secondary-button,.approve-button),
.app-frame .report-action-form > :is(input,select,textarea,button,.primary-button,.secondary-button,.approve-button){
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.app-frame :is(.primary-button,.secondary-button,.approve-button,.inline-action,.text-button:not([data-theme-toggle])){
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.report-governance-actions{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));
  align-items:start;
}
.report-governance-actions > :is(a,form){height:auto;align-self:start}
.report-governance-actions > a.primary-button{width:100%;box-sizing:border-box}
.report-procedure-form{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));
  align-items:end;
  gap:.75rem;
  padding:1.2rem 1.4rem;
}
.report-procedure-form > label{min-width:0}
.report-procedure-form > .secondary-button{width:100%;min-width:0}
@media(max-width:620px){
  .report-governance-actions,
  .report-procedure-form{grid-template-columns:minmax(0,1fr)}
}

html,body{max-width:100%;}
body.has-app-sidebar{
  display:flex;
  flex-direction:column;
  height:100dvh;
  max-height:100dvh;
  overflow:hidden;
}
body.has-app-sidebar .app-frame{
  flex:1 1 0;
  height:0;
  min-height:0;
}
.management-main{
  padding-bottom:.75rem;
}
.page-assistants{
  bottom:calc(4.35rem + env(safe-area-inset-bottom, 0px));
}

/* Keep the docked application full-height when the guided-help panel is open.
   On wide screens the guide gets its own inline column instead of covering page
   content; module navigation and account controls stay on one compact row. */
body.has-app-sidebar.coach-open{
  padding-bottom:0;
}
@media (min-width:901px){
  .app-frame .management-shell > .management-header{
    flex-wrap:nowrap;
    align-items:center;
  }
  .app-frame .management-shell > .management-header > nav,
  .app-frame .management-shell > .management-header > .business-nav{
    flex:1 1 auto;
    width:auto;
  }
  .app-frame .management-shell > .management-header > .header-end{
    flex:0 0 auto;
    margin-inline-start:auto;
  }
  body.has-app-sidebar.coach-open .app-frame-main :is(.management-main,.workspace){
    width:calc(100% - 22.5rem)!important;
    margin-inline-end:22.5rem!important;
  }
}

/* Phone headers must never compress labels into one-character columns.  Shared
   navigation scrolls horizontally; page actions wrap as complete controls. */
@media (max-width:760px){
  .app-frame :is(.primary-button,.secondary-button,.text-button,.approve-button,.inline-action){
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .app-frame .workspace-header > .header-actions{
    min-width:0;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:.45rem;
    overflow:visible;
  }
  .app-frame .workspace-header > .header-actions > :is(a,button,details,.shell-chrome,.header-end),
  .app-frame .workspace-header > .header-actions > form > button{
    flex:0 0 auto;
  }
  .app-frame :is(.workspace-header > .header-actions,.management-header > nav,.business-nav,.management-nav,.module-nav)
    :is(a,button,summary){
    min-inline-size:max-content;
    max-inline-size:100%;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:nowrap;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
  }
  .app-frame .management-shell > .management-header > :is(nav,.business-nav,.management-nav,.module-nav){
    flex:1 0 100%;
    width:100%;
    min-width:0;
    max-width:100%;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:inline proximity;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--pine-2) var(--bg-subtle);
    padding-block-end:.4rem;
  }
  .app-frame .management-shell > .management-header > :is(nav,.business-nav,.management-nav,.module-nav) > a{
    scroll-snap-align:center;
  }
  .app-frame .shell-preferences--header{
    max-width:100%;
  }
}

/* Keep values regular after every component rule, including public forms. */
:is(input:not([type="button"]):not([type="submit"]):not([type="reset"]),select,textarea){
  font-weight:400!important;
}

/* Stable application toolbar. The scroll container starts below this sticky row;
   page-specific headers no longer receive moved controls or duplicate logouts. */
.app-frame-main > .shell-chrome,
body > .shell-chrome.is-placed{
  position:sticky;
  top:0;
  z-index:90;
  display:flex;
  flex:0 0 auto;
  width:100%;
  min-width:0;
  min-height:3.5rem;
  align-items:center;
  justify-content:flex-end;
  margin:0;
  padding:.45rem clamp(.75rem,2vw,1.5rem);
  overflow:visible;
  border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--bg-elevated) 96%,transparent);
  color:var(--text);
  box-shadow:0 3px 12px rgba(18,61,50,.08);
  backdrop-filter:blur(10px);
}
.shell-chrome .shell-preferences,
.shell-chrome .shell-preferences.shell-preferences--header{
  display:flex;
  flex-direction:row-reverse;
  align-items:center;
  justify-content:flex-start;
  gap:.4rem;
  width:auto;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.shell-preferences > *{flex:0 0 auto}
.agri-sync-indicator{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:auto;min-width:2.45rem;min-height:2.45rem;height:2.45rem;padding:0 .7rem;border-radius:.6rem;border:1px solid var(--border);font-size:.72rem;font-weight:800;white-space:nowrap}
.agri-sync-indicator[data-state=online]{color:var(--pine,#123d32);background:#e4f5eb;border-color:#9ecdb2}
html[data-theme=dark] .agri-sync-indicator{background:#1b2a24;border-color:#3d5348;color:#e7f0ea}
html[data-theme=dark] .agri-sync-indicator[data-state=online]{color:#b7f0cc;background:#163328;border-color:#3d7a58}
html[data-theme=dark] .agri-sync-indicator[data-state=offline],html[data-theme=dark] .agri-sync-indicator[data-state=failed]{color:#ffb4b0;background:#3a1818;border-color:#8a3d3d}
html[data-theme=dark] .agri-sync-indicator[data-state=pending],html[data-theme=dark] .agri-sync-indicator[data-state=syncing]{color:#f3d48a;background:#2c2614;border-color:#7a6a32}
.agri-sync-indicator[data-state=offline],.agri-sync-indicator[data-state=failed]{color:#9b1c1c;background:rgba(155,28,28,.08)}
.agri-sync-indicator[data-state=pending],.agri-sync-indicator[data-state=syncing],.agri-sync-indicator[data-state=checking]{color:#8a5a00}
.agri-sync-indicator[data-state=conflict]{color:#7a2e0e}
.agri-sync-indicator .sync-icon,
.sync-indicator .sync-icon{display:none;flex-shrink:0}
.agri-sync-indicator[data-state=online] .sync-icon--online,
.sync-indicator[data-state=online] .sync-icon--online,
.agri-sync-indicator[data-state=offline] .sync-icon--offline,
.sync-indicator[data-state=offline] .sync-icon--offline,
.agri-sync-indicator[data-state=failed] .sync-icon--offline,
.sync-indicator[data-state=failed] .sync-icon--offline,
.agri-sync-indicator[data-state=conflict] .sync-icon--offline,
.sync-indicator[data-state=conflict] .sync-icon--offline,
.agri-sync-indicator[data-state=syncing] .sync-icon--busy,
.sync-indicator[data-state=syncing] .sync-icon--busy,
.agri-sync-indicator[data-state=pending] .sync-icon--busy,
.sync-indicator[data-state=pending] .sync-icon--busy,
.agri-sync-indicator[data-state=checking] .sync-icon--busy,
.sync-indicator[data-state=checking] .sync-icon--busy{display:block}
.agri-sync-indicator .sync-indicator-text{display:inline;font-size:.72rem;font-weight:800;line-height:1}
.sidebar-foot .sidebar-connection{display:inline-flex;align-items:center;justify-content:center;color:#58d39d}
.sidebar-foot .sidebar-connection .sync-icon{display:block}
.shell-action,
.shell-preferences .context-guide-launcher,
.shell-preferences .theme-toggle,
.shell-preferences .language-flag-btn{
  display:inline-flex;
  min-width:0;
  min-height:2.45rem;
  width:auto;
  height:2.45rem;
  align-items:center;
  justify-content:center;
  gap:0;
  margin:0;
  padding:0;
  border:1px solid var(--border);
  border-radius:.6rem;
  background:var(--bg-elevated);
  color:var(--text);
  font:inherit;
  font-size:.82rem;
  font-weight:750;
  line-height:1.15;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:none;
}
.shell-preferences .language-flag-btn{
  width:2.45rem;
  min-width:2.45rem;
  padding:0;
}
.shell-action,
.shell-preferences .context-guide-launcher{
  width:2.45rem;
  min-width:2.45rem;
}
.shell-action svg,
.shell-preferences .context-guide-launcher > span[aria-hidden=true]{
  display:block;
  line-height:1;
  font-size:1.05rem;
  font-weight:800;
}
.shell-preferences .pwa-install-launcher > .pwa-glyph-remove{display:none}
.shell-preferences .pwa-install-launcher[data-installed="1"] > .pwa-glyph-install{display:none}
.shell-preferences .pwa-install-launcher[data-installed="1"] > .pwa-glyph-remove{display:block}
.shell-preferences .theme-toggle{
  width:2.45rem;
  min-width:2.45rem;
  padding:0;
  border:1px solid var(--border)
}
.shell-preferences .language-current-name{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.shell-preferences .theme-toggle .theme-toggle-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.shell-preferences .theme-toggle .theme-toggle-icon{display:none;line-height:0}
html:not([data-theme=dark]) .shell-preferences .theme-toggle-icon--moon{display:inline-flex}
html[data-theme=dark] .shell-preferences .theme-toggle-icon--sun{display:inline-flex}
.shell-preferences .theme-toggle svg{display:block;width:1.15rem;height:1.15rem}
.shell-action:hover,
.shell-preferences .context-guide-launcher:hover,
.shell-preferences .theme-toggle:hover,
.shell-preferences .language-flag-btn:hover{
  border-color:var(--pine-2);
  background:var(--mist);
  color:var(--pine);
}
.shell-action:focus-visible,
.shell-preferences :is(button,a):focus-visible{
  outline:3px solid color-mix(in srgb,var(--pine-2) 42%,transparent);
  outline-offset:2px;
}
.shell-signout{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));color:var(--danger)}
.shell-ai-setup{border-color:color-mix(in srgb,var(--pine-2) 55%,var(--border));background:var(--pine);color:#fff}
.shell-ai-setup:hover{background:var(--pine-2);color:#fff}

/* Button text remains legible in both themes, including table and dialog actions. */
:is(button,.primary-button,.secondary-button,.text-button,.danger-button,.approve-button,.inline-action){
  font-weight:700;
  text-shadow:none;
}
.primary-button,
.approve-button,
.inline-action{color:#fff}
html:not([data-theme=dark]) :is(.secondary-button,.text-button){color:#123d32}
html[data-theme=dark] :where(button,[type=button],[type=submit],summary):not(.primary-button):not(.approve-button):not(.inline-action):not(.secondary-button):not(.danger-button):not(.text-button){
  color:var(--text);
}
html[data-theme=dark] .primary-button,
html[data-theme=dark] .approve-button,
html[data-theme=dark] .inline-action,
html[data-theme=dark] summary.primary-button{
  color:#fff;
}
html[data-theme=dark] .danger-button{color:#f97066}
html[data-theme=dark] .secondary-button{
  border-color:#52665d;
  background:#1b2a24;
}
html[data-theme=dark] :is(.secondary-button,.text-button):hover{
  border-color:#789187;
  background:#263931;
  color:#fff;
}
html[data-theme=dark] .shell-action,
html[data-theme=dark] .shell-preferences :is(.context-guide-launcher,.theme-toggle,.language-flag-btn){
  border-color:#43574e;
  background:#182720;
  color:#f3f8f5;
}
html[data-theme=dark] .shell-signout{border-color:#88595b;color:#ffc9cb;background:#2a1b1c}
html[data-theme=dark] .shell-ai-setup{border-color:#4f8c72;background:#245f49;color:#fff}
html[data-theme=dark] .shell-action:hover,
html[data-theme=dark] .shell-preferences :is(.context-guide-launcher,.theme-toggle,.language-flag-btn):hover{
  border-color:#789187;
  background:#2a3d34;
  color:#fff;
}

@media(max-width:760px){
  .app-frame-main > .shell-chrome,
  body > .shell-chrome.is-placed{
    min-height:3.35rem;
    padding:.4rem .55rem;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
  }
  .shell-chrome .shell-preferences,
  .shell-chrome .shell-preferences.shell-preferences--header{
    min-width:max-content;
    margin-inline-start:auto;
  }
  .shell-action,
  .shell-preferences .context-guide-launcher,
  .shell-preferences .theme-toggle,
  .shell-preferences .language-flag-btn{
    min-height:2.3rem;
    height:2.3rem;
    width:2.3rem;
    min-width:2.3rem;
    padding:0;
    font-size:.78rem;
  }
}

/* P1 accessibility and compact-shell safeguards. */
.validation-summary-valid{display:none!important}
[hidden]{display:none!important}
.sidebar :is(.nav-item small,.sidebar-foot small){color:rgba(255,255,255,.7)}
.sidebar-backdrop{display:none}

/* Reusable detail-page composition: replaces page-local spacing and flex rules. */
.section-stack{margin-top:1rem}
.section-stack-lg{margin-top:1.25rem}
.section-stack-bottom{margin-bottom:1rem}
.space-bottom-lg{margin-bottom:1.25rem}
.space-bottom-md{margin-bottom:.75rem}
.space-bottom-xs{margin-bottom:.35rem}
.block-space-md{margin-block:.75rem}
.form-fieldset-reset{min-inline-size:0;margin:0;padding:0;border:0}
.form-stack-sm{margin-top:.75rem}
.flush{margin:0}
.inline-element{display:inline}
.surface-body-pad-lg{padding:0 1.25rem 1.25rem}
.surface-body-pad-wide{padding:0 1.4rem 1.4rem}
.surface-form-inset{padding:1rem 1.25rem}
.surface-inset-wide{padding:1rem 1.4rem 1.4rem}
.scroll-section{margin-top:1rem;overflow-x:auto}
.compact-select-borderless{min-width:12rem;padding:0;border:0}
.stacked-options{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}
.fixed-control-sm{width:5rem}
.compact-subheading{margin:.5rem 0 0;font-size:.95rem}
.pad-bottom-md{padding:0 0 1rem}
.inline-actions-md{display:flex;flex-wrap:wrap;gap:.5rem}
.account-security-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:.6rem 0}
.surface-note-owner{padding:0 1.25rem 1rem}
.surface-note-muted-lg{padding:0 1.25rem 1.25rem;color:var(--muted)}
.surface-body-pad-compact{padding:0 1rem 1rem}

/* HACCP crop flow charts */
.flow-filter-surface{padding-bottom:1rem}
.flow-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.8rem;padding:0 1.25rem}
.flow-filter-grid label{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:800}
.flow-create-drawer{margin-block:1rem}.flow-template-note{padding-inline:1rem}
.flow-chart-picker{display:flex;gap:.65rem;overflow-x:auto;margin-block:1rem;padding:.2rem}
.flow-chart-picker a{display:grid;gap:.15rem;min-width:13rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);color:var(--text);text-decoration:none}
.flow-chart-picker a.active{border-color:var(--pine);box-shadow:0 0 0 2px color-mix(in srgb,var(--pine) 20%,transparent)}
.flow-chart-picker small{color:var(--muted)}
.haccp-flow-surface{overflow:visible!important}.flow-chart-header{align-items:flex-start}.flow-chart-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem}
.haccp-flow-layout{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:1.5rem 1rem 2rem}
.haccp-flow-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;width:min(100%,40rem);padding:.75rem 1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--bg-elevated)}
.haccp-flow-legend>span{display:flex;align-items:center;gap:.45rem;font-size:.8rem}
.hazard-dot{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#6b7280;color:#fff;font-style:normal;font-size:.68rem;font-weight:900}
.hazard-dot.biological{background:#8cc63f}.hazard-dot.chemical{background:#c62828}.hazard-dot.physical{background:#4b5563}.hazard-dot.allergen{background:#8b5cf6}
.haccp-flow{display:flex;flex-direction:column;align-items:stretch;width:min(100%,36rem);margin:0;padding:0;list-style:none}
.haccp-flow-stage{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;padding-bottom:2.4rem}
.haccp-flow-stage:last-child{padding-bottom:0}
.haccp-flow-stage:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:0;width:.3rem;height:1.7rem;background:var(--pine);transform:translateX(-50%)}
.haccp-flow-stage:not(:last-child)::before{content:"";position:absolute;z-index:1;left:50%;bottom:.15rem;width:.75rem;height:.75rem;border-right:.3rem solid var(--pine);border-bottom:.3rem solid var(--pine);transform:translateX(-50%) rotate(45deg)}
.haccp-flow-node{position:relative;display:grid;gap:.2rem;align-content:center;width:100%;min-height:4.2rem;padding:.85rem 3.2rem;border:2px solid color-mix(in srgb,var(--pine) 65%,var(--border));border-radius:.55rem;background:var(--surface);box-shadow:0 5px 18px rgba(13,51,41,.08);text-align:center}
.haccp-flow-node:has(.flow-control-badge){padding-top:1.7rem}
.haccp-flow-node small{color:var(--muted);font-size:.68rem}.haccp-flow-node strong{font-size:1rem;line-height:1.35}.is-ccp .haccp-flow-node{border-color:#c8901c;background:color-mix(in srgb,#f5c451 10%,var(--surface))}.is-oprp .haccp-flow-node{border-color:#4aa38a}
.flow-control-badge{position:absolute;inset-inline-start:.55rem;top:.45rem;padding:.28rem .5rem;border-radius:.4rem;background:#c8901c;color:#fff;font-size:.72rem;font-weight:900}.flow-control-badge.oprp{background:#26836b}
.flow-hazards{position:absolute;inset-inline-end:.6rem;top:50%;display:flex;gap:.2rem;transform:translateY(-50%)}
.flow-rework-node{position:relative;display:grid;place-items:center;width:100%;margin-top:.65rem;padding:.65rem;border:2px dashed #c8901c;border-radius:.55rem;background:var(--surface);text-align:center}
.flow-rework-node small{color:var(--muted)}
.flow-document-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:0 1.25rem 1.25rem;padding:.75rem 1rem;border:1px solid var(--border);background:var(--bg-elevated);color:var(--muted);font-size:.72rem;font-weight:800}
.flow-empty{margin-top:1rem;padding:2rem;text-align:center}
html[data-theme=dark] .haccp-flow-node,html[data-theme=dark] .flow-rework-node{background:var(--surface)}
@media(max-width:900px){.flow-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.flow-filter-grid{grid-template-columns:1fr}.haccp-flow-layout{padding:1rem .7rem}.haccp-flow-node{padding-inline:.7rem 2.6rem}.flow-hazards{position:static;justify-content:center;transform:none;margin-top:.35rem}.flow-chart-actions{justify-content:flex-start}}
@media print{.sidebar,.management-header,.flow-filter-surface,.flow-create-drawer,.flow-chart-picker,.flow-chart-actions,.app-topbar{display:none!important}.app-frame{display:block!important}.app-frame-main,.management-main{overflow:visible!important;margin:0!important;padding:0!important}.haccp-flow-surface{border:0;box-shadow:none}.haccp-flow-layout{padding:0}.haccp-flow,.haccp-flow-legend{width:100%}.haccp-flow-node,.flow-rework-node{box-shadow:none;break-inside:avoid}}
.banner-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.text-small{font-size:.85rem}
.horizontal-scroll{overflow-x:auto}
.space-bottom-xl{margin-bottom:1.5rem}
.hub-grid-inset{padding:1rem 1.25rem 1.25rem}
.option-stack{display:flex;min-width:12rem;flex-direction:column;gap:.4rem}
.surface-note-compact{padding:0 1.2rem 1rem}
.page-inset{padding:2rem}
.table-count-note{padding:.75rem 1.2rem}
.summary-button-reset{cursor:pointer;list-style:none}
.wrap-gap-sm{flex-wrap:wrap;gap:.5rem}
.notice-inset{margin:0 1.4rem 1.4rem}
.surface-inline-note{padding:0 1.4rem}
.surface-scroll-body{overflow-x:auto;padding:0 1.4rem 1.4rem}
.full-width-table{width:100%;border-collapse:collapse}
.centered-section{margin-top:1.25rem;text-align:center}
.embedded-page-actions{margin:0;padding:0 0 1.25rem;border:0;background:transparent}
.compact-form.compact-form-flush{gap:.5rem;margin:0}
.surface-note-small{padding:0 1.25rem 1rem;color:var(--muted);font-size:.82rem}
.form-measure{max-width:720px}
.sample-label-card{max-width:28rem;padding:1.5rem;border:2px solid var(--border,#ccc)}
.sample-label-title{margin:0 0 .5rem}
.barcode-text{font-family:monospace;letter-spacing:.08em}
.compact-form.triple-filter-form{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}
.print-content{max-width:900px;margin:1rem auto}
.horizontal-inset-form{padding:0 1.25rem}
.surface-message{padding:1rem 1.4rem}
.compact-action-grid{grid-template-columns:repeat(2,max-content);gap:.5rem;padding:0}
.filter-actions-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem}
.advanced-filter-hint{margin-top:-.5rem;font-size:.8rem}
.hub-intro-note{margin:.5rem 0 1rem;font-size:.9rem}
.hub-actions{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 1.2rem 1.2rem}
.compact-surface-header{padding:.8rem 1rem}
.compact-card-heading{margin:0;font-size:1rem}
.wrap-gap-md{flex-wrap:wrap;gap:.6rem}
.accent-pine{background:#123d32}.accent-olive{background:#3d4a12}.accent-navy{background:#12304d}
.accent-teal{background:#0f4c4c}.accent-wine{background:#4a1828}.accent-slate{background:#1e293b}
.contents-fieldset{display:contents}
.panel-form-inset{padding:1rem 1.2rem}
.org-tree-depth-0{padding-inline-start:0}.org-tree-depth-1{padding-inline-start:1.25rem}
.org-tree-depth-2{padding-inline-start:2.5rem}.org-tree-depth-3{padding-inline-start:3.75rem}
.org-tree-depth-4{padding-inline-start:5rem}.org-tree-depth-5{padding-inline-start:6.25rem}
.org-tree-depth-6{padding-inline-start:7.5rem}
.org-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem;margin-top:1rem}
.org-scope-card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;padding:1rem 1.05rem;border:1px solid var(--border);border-inline-start:4px solid #2f7a5c;border-radius:.85rem;background:var(--bg-elevated);color:inherit;text-decoration:none}
.org-scope-card[data-kind=farm]{border-inline-start-color:#6a8f3a}
.org-scope-card strong{font-size:1.02rem}
.org-scope-card small{color:var(--muted)}
.org-scope-open{margin-top:.35rem;color:#1d5c45;font-size:.82rem;font-weight:800}
html[data-theme=dark] .org-scope-open{color:#b7e0cc}
.org-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}
.org-workspace.has-editors{grid-template-columns:minmax(0,1fr)}
.org-structure-panel{min-width:0}
.org-structure-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}
.org-structure-head h2,.org-structure-head p{margin:0}
.org-structure-head p{color:var(--muted);font-size:.88rem}
.org-editors{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;align-items:start;min-width:0}
.org-editors>.surface{margin:0}
.org-tree{display:flex;flex-direction:column;gap:.45rem;margin-top:.85rem}
.org-tree>.org-tree-depth-0{--org-depth:0}.org-tree>.org-tree-depth-1{--org-depth:1}
.org-tree>.org-tree-depth-2{--org-depth:2}.org-tree>.org-tree-depth-3{--org-depth:3}
.org-tree>.org-tree-depth-4{--org-depth:4}.org-tree>.org-tree-depth-5{--org-depth:5}
.org-tree>.org-tree-depth-6{--org-depth:6}
.org-tree>[class*=org-tree-depth]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-inline-start:calc(var(--org-depth,0)*2rem);padding:.65rem .8rem;border:1px solid var(--border);border-inline-start:4px solid #2f7a5c;border-radius:.75rem;background:color-mix(in srgb,var(--bg-elevated,#fff) 88%,#2f7a5c 12%);min-width:0}
.org-tree>[data-kind=company]{border-inline-start-color:#3d6b4f}
.org-tree>[data-kind=farm]{border-inline-start-color:#6a8f3a}
.org-tree>[data-kind=unit]{border-inline-start-color:#8aa396}
.org-tree .record-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.org-tree .record-main strong{font-size:.98rem}
.org-tree .record-main strong a{color:inherit;text-decoration:none}
.org-tree .record-main strong a:hover{text-decoration:underline}
.org-node-kind{align-self:flex-start;display:inline-flex;align-items:center;min-height:1.25rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,#2f7a5c 14%,transparent);color:#1d5c45;font-size:.68rem;font-weight:800}
html[data-theme=dark] .org-node-kind{color:#b7e0cc}
.org-node-meta{color:var(--muted);font-size:.78rem}
.org-tree .inline-element{margin:0;flex:0 0 auto}
:is(.app-frame,.workspace) .org-editors :is(.compact-form:not(.filter-bar)){
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
}
:is(.app-frame,.workspace) .org-editors :is(.compact-form:not(.filter-bar)) > label.field-stack:not(.check-inline):not(.check-label):not(.invoice-multi-combo-item){
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
}
:is(.app-frame,.workspace) .org-editors :is(.compact-form:not(.filter-bar)) > label.field-stack:not(.check-inline):not(.check-label):not(.invoice-multi-combo-item) > span:first-child,
:is(.app-frame,.workspace) .org-editors :is(.compact-form:not(.filter-bar)) > label.field-stack:not(.check-inline):not(.check-label):not(.invoice-multi-combo-item) > :is(input,select,textarea){
  grid-column:1!important;
  grid-row:auto!important;
  width:100%!important;
  max-inline-size:none!important;
}
@media(max-width:980px){.org-editors{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.org-tree>[class*=org-tree-depth]{margin-inline-start:calc(min(var(--org-depth,0),3)*.65rem)}}
.plan-progress{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;appearance:none}
.plan-progress::-webkit-progress-bar{background:transparent}
.plan-progress::-webkit-progress-value{background:linear-gradient(90deg,#256d52,#67a976)}
.plan-progress::-moz-progress-bar{background:linear-gradient(90deg,#256d52,#67a976)}
.compact-form.triple-column-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.code-compact{font-size:.75rem}
.code-block-wrap{white-space:pre-wrap;font-size:.85rem}
.cell-actions-nowrap{white-space:nowrap}
.financial-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.grand-total-value{font-size:1.25rem}
.form-actions-row{grid-template-columns:repeat(2,max-content);justify-content:start;gap:.75rem;padding:0}
.chip-row-sm{gap:.5rem}
.compact-form.inline-cancel-form{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0}
.surface > .compact-form.surface-form-inset{padding:1rem 1.25rem}
.quote-line-card{margin:0;padding:.75rem}

/* Phase 3: accessible tables, resilient forms and faster below-fold rendering. */
.responsive-table-region,
.horizontal-scroll[role=region],
.scroll-section[role=region],
.surface-scroll-body[role=region],
.cycle-table[role=region]{
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.responsive-table-region:focus-visible,
.horizontal-scroll[role=region]:focus-visible,
.scroll-section[role=region]:focus-visible,
.surface-scroll-body[role=region]:focus-visible,
.cycle-table[role=region]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--pine-2) 48%,transparent);
  outline-offset:2px;
}
.responsive-table-region>table{min-width:max(42rem,100%)}
form[aria-busy=true]{cursor:progress}
:is(button,.primary-button,.secondary-button).is-submitting{
  pointer-events:none;
  opacity:.78;
}
:is(button,.primary-button,.secondary-button).is-submitting::after{
  content:attr(data-working-label);
  margin-inline-start:.45rem;
  font-size:.78em;
}
.platform-security-note{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  margin:1rem 0 1.25rem;
  padding:.85rem 1rem;
  border:1px solid color-mix(in srgb,var(--pine-2) 22%,var(--line));
  border-radius:.7rem;
  background:color-mix(in srgb,var(--mist) 78%,transparent);
  color:var(--pine);
}
.platform-security-note>span{display:grid;width:1.7rem;height:1.7rem;flex:0 0 auto;place-items:center;border-radius:.45rem;background:var(--pine);color:#fff;font-size:.65rem}
.platform-security-note strong{display:block;font-size:.82rem}
.platform-security-note p{margin:.2rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.55}
@supports(content-visibility:auto){
  .public-site .public-section,
  .public-site .public-footer{
    content-visibility:auto;
    contain-intrinsic-size:auto 760px;
  }
}
@media(pointer:coarse){
  :is(button,[role=button],input[type=button],input[type=submit],input[type=reset],.primary-button,.secondary-button,.text-button){min-height:44px}
}
@media(forced-colors:active){
  :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important}
  .platform-security-note,.surface,.metric-card,.product-tour-card{border:1px solid CanvasText}
  .state-badge,.tenant-chip{border:1px solid CanvasText}
}
.compact-form.inline-award-form{gap:.35rem;margin:0}
.award-reason-input{min-width:8rem}
.surface-header-secondary{margin-top:.5rem}
.surface-note{margin:0;padding:0 1.25rem 1rem;color:var(--muted);font-size:.85rem}
.mini-empty-compact{padding:1.25rem}
.surface-body-pad{padding:0 1.2rem 1.2rem}
.embedded-action-bar{margin:0;border:0;padding:1rem 1.2rem 1.2rem;background:transparent}
.invoice-totals{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:0}
.invoice-detail-note{margin-block:0;padding:0 1.2rem 1rem}
.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.inline-form{display:inline-flex;margin:0}
.compact-success-banner{margin:0;padding:.4rem .7rem}
.action-lead{margin:0 0 .75rem}
.attachment-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}
@media(max-width:760px){
  .invoice-totals{grid-template-columns:minmax(0,1fr)}
  .attachment-row{align-items:flex-start}
  .compact-form.triple-column-form{grid-template-columns:minmax(0,1fr)}
  .compact-form.triple-filter-form{grid-template-columns:minmax(0,1fr)}
  .financial-summary-grid{grid-template-columns:minmax(0,1fr)}
  .form-actions-row{grid-template-columns:minmax(0,1fr)}
  .compact-action-grid{grid-template-columns:minmax(0,1fr)}
  .org-tree-depth-4,.org-tree-depth-5,.org-tree-depth-6{padding-inline-start:3.75rem}
}
@media(max-width:760px){
  html[data-sidebar=expanded] .sidebar-backdrop{
    position:fixed;
    inset:0;
    z-index:94;
    display:block;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:rgba(0,0,0,.46);
    cursor:pointer;
  }
}

.permission-bulk-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.55rem;
  margin-top:1rem;
}
.permission-bulk-actions .secondary-button{min-height:2.5rem}

/* Farm satellite map (Business > Farm) */
.farm-list-actions{white-space:nowrap;text-align:end}
.farm-list-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:0 .75rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--pine-2);font-size:.8rem;font-weight:700;line-height:1;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.farm-list-actions a+a{margin-inline-start:.4rem}
.farm-list-actions a:hover,.farm-list-actions a:focus-visible{border-color:var(--pine-2);background:#eef5f1;color:var(--pine)}
html[data-theme=dark] .farm-list-actions a{color:#9fd8b8;border-color:var(--border);background:var(--bg-elevated)}
html[data-theme=dark] .farm-list-actions a:hover,html[data-theme=dark] .farm-list-actions a:focus-visible{border-color:#3d7a58;background:#22302a;color:#e7f0ea}
.page-title > .inline-actions-md{align-items:center;justify-content:flex-end;gap:.5rem}
.page-title > .inline-actions-md > :is(a.primary-button,a.secondary-button),
.page-title > .inline-actions-md > details.create-drawer > summary.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.5rem;padding:.4rem 1rem;white-space:normal;overflow-wrap:anywhere;font-size:.9rem;font-weight:700;line-height:1.2;text-decoration:none;box-shadow:none}
.page-title > .inline-actions-md > details.create-drawer{position:relative;flex:0 0 auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.page-title > .inline-actions-md > details.create-drawer > summary.primary-button{list-style:none;background:var(--pine);border-color:var(--pine);color:#fff}
.page-title > .inline-actions-md > details.create-drawer > summary::-webkit-details-marker{display:none}
.page-title > .inline-actions-md > details.create-drawer > .compact-form{position:absolute;z-index:30;inset-inline-end:0;top:calc(100% + .4rem);min-width:14rem;margin:0;padding:.5rem;display:flex;flex-direction:column;gap:.35rem;border:1px solid var(--border);border-radius:.85rem;background:var(--bg-elevated);box-shadow:var(--shadow)}
.page-title > .inline-actions-md > details.create-drawer > .compact-form > .secondary-button{justify-content:flex-start;width:100%;white-space:nowrap}
.page-title > .inline-actions-md > a.primary-button:hover,
.page-title > .inline-actions-md > details.create-drawer > summary.primary-button:hover{background:var(--pine-2);border-color:var(--pine-2)}
.page-title > .inline-actions-md > a.secondary-button:hover{border-color:var(--pine-2);background:#eef5f1}
html[data-theme=dark] .page-title > .inline-actions-md > details.create-drawer > summary.primary-button{background:var(--pine-2);border-color:#3d7a58;color:#fff}
html[data-theme=dark] .page-title > .inline-actions-md > a.primary-button:hover,
html[data-theme=dark] .page-title > .inline-actions-md > details.create-drawer > summary.primary-button:hover{background:#226b56;border-color:#226b56}
html[data-theme=dark] .page-title > .inline-actions-md > a.secondary-button:hover{border-color:#3d7a58;background:#22302a;color:#e7f0ea}
@media(max-width:760px){.page-title > .inline-actions-md{justify-content:flex-start}.page-title > .inline-actions-md > :is(a.primary-button,a.secondary-button),.page-title > .inline-actions-md > details.create-drawer > summary.primary-button{min-height:44px}}
.farm-map-body{display:grid;gap:.85rem}
.farm-map-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}
.farm-map-target{max-width:32rem}
.farm-map-new-plot{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem 1rem;max-width:40rem;margin:0;padding:.85rem 1rem;border:1px solid var(--border,rgba(127,127,127,.35));border-radius:10px}
.farm-map-new-plot[hidden]{display:none}
.farm-map-new-plot legend{padding:0 .35rem;font-weight:800}
.farm-map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.farm-map-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem 1rem;max-width:48rem;margin:0;padding:.85rem 1rem;border:1px solid var(--border,rgba(127,127,127,.35));border-radius:10px}
.farm-map-panel[hidden]{display:none}
.farm-map-panel legend{padding:0 .35rem;font-weight:800}
.farm-map-panel-help{grid-column:1/-1;margin:0;color:var(--text-muted);font-size:.88rem}
.farm-map-gps-status{grid-column:1/-1;margin:0;min-height:1.35em;font-size:.9rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.farm-map-gps-status.is-error{color:var(--danger)}
.farm-map-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;max-width:36rem}
.farm-map-search .field-stack{flex:1 1 16rem;min-width:0}
.farm-map-panel-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem}
.farm-map-location-line{margin:0;display:flex;flex-wrap:wrap;gap:.4rem;font-size:.9rem;color:var(--text-muted);font-weight:700}
.farm-map-location-line bdi{color:var(--text);font-variant-numeric:tabular-nums}
.farm-map-canvas .farm-map-coords-readout{background:rgba(10,20,16,.78);color:#fff;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:calc(100vw - 4rem);overflow:hidden;text-overflow:ellipsis}
.farm-map-canvas .farm-map-grid-icon{background:none;border:0}
.farm-map-grid-label{display:inline-block;background:rgba(10,20,16,.7);color:#fff;font-size:.66rem;font-weight:800;padding:1px 4px;border-radius:3px;white-space:nowrap;font-variant-numeric:tabular-nums}
.farm-map-grid-label.is-lat{transform:translate(2px,-50%)}
.farm-map-grid-label.is-lng{transform:translate(-50%,2px)}
.farm-map-canvas .farm-map-pin{background:none;border:0}
.farm-map-canvas .farm-map-pin::before{content:"";position:absolute;inset:0 3px 6px;background:#e11d48;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px rgba(0,0,0,.45)}
.farm-map-pin-swatch{display:inline-block;width:.8rem;height:.8rem;background:#e11d48;border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 1px rgba(0,0,0,.25);flex:none}
.farm-map-swatch.is-import{border-color:#ff4fd8;border-style:dashed;background:rgba(255,79,216,.18)}
.farm-map-label-body{display:grid;justify-items:center;line-height:1.2;gap:1px}
.farm-map-label-body small{font-size:.66rem;font-weight:700;opacity:.92;font-variant-numeric:tabular-nums;white-space:nowrap}
.farm-map-canvas .farm-map-plot-label.is-farm{background:rgba(120,80,0,.82)}
.farm-map-canvas .farm-map-plot-label.is-import{background:rgba(140,20,120,.85)}
.farm-map-legend{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin:0;padding:0;list-style:none;font-size:.85rem;color:var(--text-muted);font-weight:700}
.farm-map-legend li{display:inline-flex;align-items:center;gap:.4rem}
.farm-map-swatch{display:inline-block;width:1.4rem;height:.8rem;border-radius:3px;border:2px solid;flex:none}
.farm-map-swatch.is-farm{border-color:#e0a800;border-style:dashed;background:rgba(255,209,102,.18)}
.farm-map-swatch.is-plot{border-color:#1fa9d6;background:rgba(76,201,240,.25)}
.farm-map-swatch.is-selected{border-color:#05b386;background:rgba(6,214,160,.3)}
.farm-map-canvas .farm-map-plot-label{background:rgba(10,20,16,.72);color:#fff;border:0;border-radius:4px;box-shadow:none;padding:1px 6px;font-weight:800;font-size:.72rem;letter-spacing:.02em}
.farm-map-canvas .farm-map-plot-label::before{display:none}
.farm-map-canvas .farm-map-plot-label.is-selected{background:#05b386}
.farm-map-plots{display:grid;gap:.5rem}
.farm-map-plots h3{margin:0;font-size:1rem}
.farm-map-plot-table td,.farm-map-plot-table th{font-variant-numeric:tabular-nums}
.farm-map-plot-table tr.is-selected td{background:rgba(6,214,160,.12)}
.farm-map-plot-table tfoot th{font-weight:800}
.farm-map-stat{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);padding:.65rem .85rem;min-width:0}
.farm-map-stat dt{font-size:var(--fs-meta);color:var(--text-muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.farm-map-stat dd{margin:.2rem 0 0;font-size:1.2rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.farm-map-stat dd span{font-size:.85rem;color:var(--text-muted);font-weight:700}
.farm-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:var(--control-h)}
.farm-map-toolbar .farm-map-fit{margin-inline-start:auto}
.farm-map-canvas{position:relative;height:clamp(320px,58vh,560px);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:#1d2a25;isolation:isolate;z-index:0}
.farm-map-canvas.is-drawing,.farm-map-canvas.is-drawing .leaflet-container{cursor:crosshair}
.farm-map-canvas .leaflet-container{height:100%;width:100%;background:#1d2a25;font:inherit}
.farm-map-canvas .leaflet-control-attribution{font-size:.68rem;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.farm-map-vertex{background:#fff;border:3px solid #d97706;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.45);cursor:grab}
.farm-map-vertex.is-first{border-color:#16a34a;transform:scale(1.25)}
.farm-map-midpoint{background:rgba(255,255,255,.75);border:2px solid #d97706;border-radius:50%;cursor:copy}
.farm-map-vertex:focus-visible,.farm-map-midpoint:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.farm-map-hint,.farm-map-status{margin:0;min-height:1.35em;color:var(--text-muted);font-size:.9rem}
.farm-map-hint.is-error,.farm-map-status.is-error{color:var(--danger)}
.farm-map-status.is-success{color:var(--success)}
.farm-map-section.is-busy .farm-map-canvas{opacity:.85}
html[data-theme=dark] .farm-map-vertex{border-color:#fbbf24}
html[data-theme=dark] .farm-map-midpoint{background:rgba(22,36,30,.8);border-color:#fbbf24}
html[data-theme=dark] .farm-map-canvas .leaflet-bar a{background:var(--bg-elevated);color:var(--text);border-color:var(--border)}
html[data-theme=dark] .farm-map-canvas .leaflet-control-attribution{background:rgba(15,26,22,.8);color:var(--text-muted)}
html[data-theme=dark] .farm-map-canvas .leaflet-control-attribution a{color:var(--text)}
@media (max-width:760px){
  .farm-map-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .farm-map-stat dd{font-size:1.05rem}
  .farm-map-canvas{height:clamp(280px,52vh,420px)}
  .farm-map-toolbar .farm-map-fit{margin-inline-start:0}
}
.portal-manage-shell .workspace{min-width:0;max-width:100%}
.portal-manage-shell .workspace-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem}
.portal-manage-shell .workspace-header > div{flex:1 1 16rem;min-width:0}
.portal-manage-shell .workspace-header h1{margin:.15rem 0 .4rem}
.portal-manage-shell .workspace-header p{margin:0;max-width:46rem;color:var(--text-muted);font-weight:600;line-height:1.55}
.portal-manage-shell .legal-note{margin:0 0 1.1rem;max-width:52rem;color:var(--text-muted);font-size:.9rem;line-height:1.55}
.portal-manage-shell .admin-grid.portal-grant-grid{grid-template-columns:1fr;gap:1.1rem}
@media (min-width:1100px){
  .portal-manage-shell .admin-grid.portal-grant-grid{grid-template-columns:1fr 1fr}
  .portal-manage-shell .admin-section.span-2{grid-column:1/-1}
}
.portal-manage-shell .admin-section{min-width:0}
.portal-manage-shell .surface-header p{margin:.35rem 0 0;color:var(--text-muted);font-weight:600;line-height:1.5}
.portal-manage-shell .compact-form{display:grid;gap:.85rem}
.portal-manage-shell .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}
.portal-manage-shell .form-grid .span-2,.portal-manage-shell .form-grid .check-label{grid-column:1/-1}
.portal-manage-shell .compact-form label{display:grid;gap:.35rem;min-width:0;font-weight:800}
.portal-manage-shell .compact-form input:not([type=checkbox]):not([type=hidden]),
.portal-manage-shell .compact-form select{width:100%;min-width:0;min-height:var(--control-h)}
.portal-manage-shell .check-label{display:flex;align-items:center;gap:.55rem;font-weight:700}
.portal-manage-shell .token-panel{margin:0 0 1.1rem;padding:1.1rem 1.25rem}
.portal-manage-shell .token-value{margin:.35rem 0 0}
.portal-manage-shell .token-value code{display:block;overflow-wrap:anywhere;padding:.75rem .9rem;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border);font-weight:700}
.portal-manage-shell .audit-scope-block{margin:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:.75rem}
.portal-manage-shell .audit-scope-block legend{padding:0 .35rem;font-weight:800}
.portal-manage-shell .audit-scope-block > p{margin:0;color:var(--text-muted);font-weight:600}
.portal-manage-shell .audit-scope-row{margin:0}
.portal-manage-shell .data-list > div{align-items:flex-start;flex-wrap:wrap}
.portal-manage-shell .data-list .inline-actions-md{display:flex;flex-wrap:wrap;gap:.5rem}
.portal-manage-shell .audit-trail-list{margin:.75rem 0 0;padding-inline-start:1.2rem;display:grid;gap:.4rem}
html[data-theme=dark] .portal-manage-shell .token-value code{background:#16241e;border-color:#3a4a43}
@media (max-width:760px){
  .portal-manage-shell .form-grid,.portal-manage-shell .audit-scope-row{grid-template-columns:1fr}
  .portal-manage-shell .workspace-header .secondary-button{width:100%}
}
.farm-map-stage{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#1d2a25;min-height:clamp(360px,62vh,640px)}
.farm-map-stage .farm-map-canvas{height:clamp(360px,62vh,640px);border:0;border-radius:0}
.farm-map-stage .leaflet-control-zoom,.farm-map-stage .leaflet-control-layers{display:none}
.farm-map-chrome{pointer-events:none;position:absolute;inset:0;z-index:500}
.farm-map-chrome > *{pointer-events:auto}
.farm-map-search-bar{position:absolute;top:12px;inset-inline-start:12px;display:flex;align-items:center;gap:.55rem;width:min(22rem,calc(100% - 24px));max-width:none;margin:0;padding:.35rem .85rem;background:#fff;border-radius:28px;box-shadow:0 2px 10px rgba(0,0,0,.28)}
.farm-map-search-bar .farm-map-search-icon{color:#5f6368;display:flex}
.farm-map-search-bar input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:.95rem;padding:.35rem 0;color:#202124}
.farm-map-search-bar input:focus{outline:none}
.farm-map-iconbar{position:absolute;top:12px;inset-inline-start:min(24rem,calc(100% - 12px));transform:translateX(0);display:flex;flex-wrap:wrap;align-items:center;gap:2px;row-gap:6px;padding:4px;background:#fff;border-radius:28px;box-shadow:0 2px 10px rgba(0,0,0,.28);max-width:calc(100% - 24px);overflow:visible;scroll-snap-type:y mandatory}
html[dir=rtl] .farm-map-iconbar{inset-inline-start:auto;inset-inline-end:12px}
html[dir=ltr] .farm-map-iconbar{inset-inline-start:auto;left:min(calc(12px + 22.5rem + .6rem), 42%);right:auto}
.farm-map-icon,.farm-map-more > summary.farm-map-icon{appearance:none;border:0;background:transparent;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#3c4043;cursor:pointer;flex:none;padding:0;list-style:none;scroll-snap-align:start}
.farm-map-icon-text{appearance:none;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;min-height:40px;height:40px;padding:0 .95rem;border-radius:20px;font:inherit;font-weight:800;font-size:.82rem;line-height:1;white-space:nowrap;color:#3c4043;cursor:pointer;flex:none;scroll-snap-align:start}
.farm-map-icon:hover,.farm-map-more > summary.farm-map-icon:hover,.farm-map-icon-text:hover{background:#f1f3f4}
.farm-map-icon.is-off{opacity:.38}
.farm-map-icon-split{width:1px;height:22px;background:#dadce0;margin:0 4px}
.farm-map-more{position:relative}
.farm-map-more-menu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;display:flex;flex-direction:column;min-width:14rem;max-height:min(18rem,60vh);overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;padding:.3rem;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.22);z-index:2}
.farm-map-more-menu button{border:0;background:transparent;display:flex;align-items:center;justify-content:flex-start;min-height:2.45rem;height:2.45rem;padding:0 .75rem;border-radius:8px;font:inherit;font-weight:700;line-height:1;white-space:nowrap;color:inherit;cursor:pointer;scroll-snap-align:start}
.farm-map-more-menu button:hover{background:#f1f3f4}
.farm-map-card{position:absolute;top:12px;inset-inline-end:12px;width:min(20rem,calc(100% - 24px));background:#fff;color:#202124;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.28);padding:1rem 1.05rem .9rem;display:grid;gap:.55rem}
.farm-map-card[hidden]{display:none}
.farm-map-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}
.farm-map-card header strong{font-size:1.05rem}
.farm-map-card-close{border:0;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:#5f6368}
.farm-map-card-meta{margin:0;display:grid;gap:.15rem;font-size:.86rem;color:#5f6368;font-weight:600}
.farm-map-card details{border-top:1px solid #e8eaed;padding-top:.45rem}
.farm-map-card summary{cursor:pointer;font-weight:800;color:#3c4043}
.farm-map-card details p{margin:.25rem 0 0;font-weight:700;font-variant-numeric:tabular-nums}
.farm-map-card-edit{justify-self:start;display:inline-flex;align-items:center;gap:.4rem;border:0;background:#e8f0fe;color:#1967d2;font:inherit;font-weight:800;padding:.45rem .85rem;border-radius:20px;cursor:pointer}
.farm-map-dock{position:absolute;bottom:64px;inset-inline-end:12px;display:grid;gap:8px;justify-items:center}
.farm-map-dock-btn,.farm-map-zoom{border:0;background:#fff;color:#3c4043;box-shadow:0 1px 6px rgba(0,0,0,.3);cursor:pointer}
.farm-map-dock-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800}
.farm-map-dock-btn.is-on{background:#e8f0fe;color:#1967d2}
.farm-map-zoom{border-radius:20px;overflow:hidden;display:grid}
.farm-map-zoom .farm-map-dock-btn{border-radius:0;box-shadow:none;height:36px}
.farm-map-zoom .farm-map-dock-btn + .farm-map-dock-btn{border-top:1px solid #e8eaed}
.farm-map-layer-sheet{position:absolute;top:64px;inset-inline-end:12px;display:grid;gap:.4rem;padding:.75rem .9rem;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.22);min-width:14rem}
.farm-map-layer-sheet[hidden]{display:none}
.farm-map-layer-sheet label{display:flex;gap:.5rem;align-items:center;font-weight:700;color:#202124}
.farm-map-swatch.is-farm{border-color:#f5c518;border-style:solid;background:rgba(245,197,24,.22)}
html[data-theme=dark] .farm-map-search-bar,html[data-theme=dark] .farm-map-iconbar,html[data-theme=dark] .farm-map-card,html[data-theme=dark] .farm-map-more-menu,html[data-theme=dark] .farm-map-dock-btn,html[data-theme=dark] .farm-map-zoom,html[data-theme=dark] .farm-map-layer-sheet{background:#202124;color:#e8eaed}
html[data-theme=dark] .farm-map-search-bar input,html[data-theme=dark] .farm-map-card-meta,html[data-theme=dark] .farm-map-icon,html[data-theme=dark] .farm-map-icon-text,html[data-theme=dark] .farm-map-more-menu button{color:#f2f7f4}
html[data-theme=dark] .farm-map-icon:hover,html[data-theme=dark] .farm-map-icon-text:hover,html[data-theme=dark] .farm-map-more-menu button:hover{background:#3c4043}
html[data-theme=dark] .farm-map-card-edit{background:#1b3a5c;color:#8ab4f8}
@media (max-width:760px){
  .farm-map-iconbar{top:58px;left:12px;right:12px;inset-inline:12px}
  .farm-map-card{top:auto;bottom:12px;inset-inline:12px;width:auto}
  .farm-map-dock{bottom:auto;top:58px}
}

/* Professional AI conversation window */
.app-frame .ai-shell{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
}
.ai-an-chart{
  display:block;
  width:min(100%, 36rem);
  height:auto;
  margin-top:.75rem;
  color:var(--ag-accent, #1f6b4a);
}
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  padding-bottom:calc(1rem + env(safe-area-inset-bottom, 0px));
}
.ai-workspace{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  border:1px solid var(--border);
  border-radius:1rem;
  background:var(--bg-elevated);
  box-shadow:0 18px 40px rgba(8,22,18,.12);
  overflow:hidden;
}
.ai-workspace-head,
.ai-window-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.85rem;
  padding:1rem 1.15rem .85rem;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg, var(--bg-subtle), var(--bg-elevated));
}
.ai-workspace-head h1,
.ai-window-head h2{
  margin:.15rem 0 0;
  font-size:1.15rem;
}
.ai-context-line{margin:.35rem 0 0}
.ai-thread{
  flex:1 1 auto;
  min-height:12rem;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:.85rem;
  padding:1rem 1.15rem;
  overscroll-behavior:contain;
}
.ai-empty{
  margin:auto;
  text-align:center;
  max-width:28rem;
  color:var(--text-muted);
}
.ai-empty-mark{
  display:grid;
  place-items:center;
  width:2.6rem;
  height:2.6rem;
  margin:0 auto .7rem;
  border-radius:50%;
  background:var(--brand,#123d32);
  color:#fff;
  font-size:1.1rem;
}
.ai-bubble{
  max-width:min(42rem,92%);
  padding:.85rem 1rem;
  border-radius:1rem;
  border:1px solid var(--border);
  background:var(--bg);
}
.ai-bubble.is-user{
  align-self:flex-end;
  background:var(--brand,#123d32);
  color:#fff;
  border-color:transparent;
}
.ai-bubble.is-assistant{
  align-self:flex-start;
  background:var(--bg-subtle);
}
.ai-bubble-role{
  display:block;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:.35rem;
  opacity:.78;
}
.ai-bubble.is-user .ai-bubble-role{color:#fff}
.ai-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-break:strict}
.ai-answer{
  background:transparent;
  border:0;
  padding:0;
  border-radius:0;
  color:inherit;
}
.ai-subhead{
  font-size:.82rem;
  margin:.85rem 0 .35rem;
}
.ai-meta{margin:.45rem 0 0}
.ai-composer{
  display:grid;
  gap:.7rem;
  padding:.85rem 1.15rem 1rem;
  border-top:1px solid var(--border);
  background:var(--bg-elevated);
}
.ai-composer-tools{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}
.ai-advanced{
  border:1px solid var(--border);
  border-radius:.75rem;
  padding:.35rem .75rem .55rem;
}
.ai-advanced summary{
  cursor:pointer;
  font-weight:700;
  padding:.35rem 0;
}
.ai-composer-message textarea{
  width:100%;
  min-height:4.6rem;
  max-height:12rem;
  resize:vertical;
}
.ai-composer-actions{margin:0}
.ai-window-dialog{
  border:0;
  padding:0;
  background:transparent;
  max-width:none;
  max-height:none;
  margin:0;
}
.ai-window-dialog::backdrop{
  background:rgba(8,18,14,.42);
}
.ai-window{
  position:fixed;
  inset-inline-end:1rem;
  top:4.5rem;
  bottom:calc(5.4rem + env(safe-area-inset-bottom, 0px));
  width:min(28.5rem, calc(100vw - 1.5rem));
  display:flex;
  flex-direction:column;
  min-height:0;
  border:1px solid var(--border);
  border-radius:1.05rem;
  background:var(--bg-elevated);
  box-shadow:0 28px 64px rgba(8,22,18,.28);
  overflow:hidden;
}
.ai-window-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  justify-content:flex-end;
}
.ai-window-prompts{display:flex;flex-wrap:wrap;gap:.35rem;padding:.55rem .75rem;border-top:1px solid var(--border);background:var(--surface-soft)}
.ai-window-prompts .text-button{font-size:.82rem}
body.ai-window-open .page-assistants{visibility:hidden;pointer-events:none}
html[data-theme=dark] .ai-workspace,
html[data-theme=dark] .ai-window{
  box-shadow:0 28px 64px rgba(0,0,0,.45);
}
html[data-theme=dark] .ai-bubble.is-assistant{
  background:#121a17;
}
.ai-bubble.is-assistant.PermissionDenied,
.ai-bubble.is-assistant.InjectionBlocked{border-color:#c45c5c}
.ai-bubble.is-assistant.InsufficientData{border-color:#c9a227}
@media (max-width:1280px){
  .ai-window{
    width:min(26rem, calc(100vw - 1.25rem));
  }
}
@media (max-width:768px){
  .ai-composer-tools{grid-template-columns:minmax(0,1fr)}
  .ai-workspace-head,
  .ai-window-head{
    flex-direction:column;
  }
  .ai-window{
    inset:0;
    width:auto;
    border-radius:0;
    bottom:0;
  }
  .ai-window-dialog::backdrop{background:rgba(8,18,14,.55)}
}
@media (max-width:390px){
  .ai-thread{padding:.75rem}
  .ai-composer{padding:.7rem .75rem .85rem}
  .ai-bubble{max-width:100%}
}
.global-search{position:relative;min-width:min(22rem,36vw)}
.global-search .abos-page-search{display:block}
.global-search .abos-page-search input{width:100%}
.global-search-panel{position:absolute;z-index:120;inset-inline:0;top:calc(100% + .45rem);max-height:min(34rem,70vh);overflow:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:.85rem;box-shadow:0 20px 48px rgba(8,22,18,.24);padding:.45rem}
.global-search-panel [data-global-search-status]:not(:empty){padding:.8rem;color:var(--muted)}
.global-search-group h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.55rem .55rem .25rem}
.global-search-group a,.global-search-all{display:flex;flex-direction:column;gap:.12rem;padding:.55rem;border-radius:.55rem;text-decoration:none;color:var(--text)}
.global-search-group a:hover,.global-search-group a.is-active{background:var(--surface-soft)}
.global-search-group small,.search-result-group small{display:block;color:var(--muted);margin-top:.12rem}
.global-search-all{border-top:1px solid var(--border);margin-top:.35rem;font-weight:700;color:var(--pine)}
.search-page-form{display:flex;gap:.6rem;align-items:end;max-width:48rem;margin-block:1rem 1.5rem}.search-page-form .field-stack{flex:1}.search-page-form input{width:100%}
.search-results-page{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem}.search-result-group{border:1px solid var(--border);border-radius:.85rem;padding:1rem;background:var(--bg-elevated)}.search-result-group ul{list-style:none;padding:0;margin:.5rem 0 0}.search-result-group li+li{border-top:1px solid var(--border)}.search-result-group a{display:block;padding:.65rem .25rem;text-decoration:none;color:var(--text)}
@media (max-width:768px){.global-search{min-width:0;flex:1}.global-search-panel{position:fixed;inset-inline:.5rem;top:4rem;max-height:calc(100vh - 4.5rem)}.search-page-form{align-items:stretch;flex-direction:column}}
.assist-cmd-strip{
  padding:.65rem 1.15rem .85rem;
  border-bottom:1px solid var(--border);
}
.assist-cmd-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:.45rem;
}
.assist-cmd-chips .secondary-button{
  min-width:0;
  padding:.4rem .75rem;
  font-size:.85rem;
}
@media (max-width:390px){
  .assist-cmd-strip{padding:.55rem .75rem}
}

/* Readable control labels in both themes — last so it wins the older overrides. */
html:not([data-theme=dark]) :is(.primary-button,a.primary-button,button.primary-button,summary.primary-button,.approve-button,.inline-action){
  background:var(--pine);
  border-color:var(--pine);
  color:#fff;
}
html:not([data-theme=dark]) :is(.secondary-button,a.secondary-button,button.secondary-button){
  background:#fff;
  border:1px solid var(--line);
  color:#123d32;
}
html:not([data-theme=dark]) :is(.text-button,a.text-button,button.text-button,.mobile-menu){
  color:#123d32;
}
html:not([data-theme=dark]) .danger-button,
html:not([data-theme=dark]) a.danger-button{
  background:#fff;
  border-color:#b42318;
  color:#b42318;
}
html[data-theme=dark] :is(.primary-button,a.primary-button,button.primary-button,summary.primary-button,.approve-button,.inline-action){
  background:#2f7a5c !important;
  border-color:#4aa37a !important;
  color:#fff !important;
}
html[data-theme=dark] :is(.secondary-button,a.secondary-button,button.secondary-button){
  background:#24352e !important;
  border:1px solid #8aa89e !important;
  color:#f4faf6 !important;
}
html[data-theme=dark] :is(.text-button,a.text-button,button.text-button,.mobile-menu,.language-toggle){
  color:#eaf4ee;
  border-color:#6d857c;
}
html[data-theme=dark] .danger-button,
html[data-theme=dark] a.danger-button{
  background:#2a1616;
  border-color:#f97066;
  color:#ffc7c2;
}
html[data-theme=dark] .create-drawer summary:not(.primary-button){
  color:#eaf4ee;
}
html[data-theme=dark] .farm-row button,
html[data-theme=dark] .password-field button,
html[data-theme=dark] .actions button,
html[data-theme=dark] .employee-actions summary{
  color:#eaf4ee;
}
html[data-theme=dark] .management-header .dark-brand,
html[data-theme=dark] .management-header .brand-lockup strong{
  color:#f2f8f4;
}
html[data-theme=dark] .management-header .brand-lockup span:last-child{
  color:rgba(242,248,244,.72);
}
html[data-theme=dark] .usage-table a,
html[data-theme=dark] .data-table a,
html[data-theme=dark] .farm-list-actions a{
  color:#c6f0d6;
}
html[data-theme=dark] .public-hero-actions .primary-button{
  background:#fff !important;
  border-color:#fff !important;
  color:#123d32 !important;
}
html[data-theme=dark] .login-panel :is(.text-button,.language-toggle,.mobile-menu,.theme-toggle,.language-flag-btn){
  color:#f4faf6;
}
html[data-theme=dark] .login-panel .secondary-button,
html[data-theme=dark] .register-shell .secondary-button,
html[data-theme=dark] .login-card .secondary-button{
  background:#24352e !important;
  border-color:#8aa89e !important;
  color:#f4faf6 !important;
}
.preserve-whitespace{white-space:pre-wrap}
.planning-save-form{margin-top:.75rem}
.body-picker{position:relative}
.body-picker-toggle{width:100%;min-height:var(--control-h);text-align:start;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .8rem;cursor:pointer}
.body-picker-panel{position:absolute;z-index:40;inset-inline:0;top:calc(100% + .35rem);max-height:22rem;overflow:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:.5rem}
.body-picker-filter{width:100%;margin-bottom:.45rem}
.body-picker-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(7rem,.6fr) minmax(0,1.2fr);gap:.6rem;width:100%;text-align:start;background:transparent;border:0;border-bottom:1px solid var(--border);padding:.45rem .2rem;color:var(--text);cursor:pointer}
.body-picker-row.is-head{font-size:var(--fs-meta);font-weight:800;cursor:default;position:sticky;top:0;background:var(--bg-elevated)}
.body-picker-row.is-selected,.body-picker-row:hover:not(.is-head){background:var(--bg-subtle)}
.body-picker-row span{overflow:hidden;text-overflow:ellipsis}

/* Module nav and the page report bar stay under the top chrome.
   The vertical scrollbar belongs to the content under those bars. */
.app-frame-main{
  overflow:hidden;
}
.app-frame-main > .shell-chrome{
  position:relative;
  top:auto;
  flex:0 0 auto;
}
.app-frame-main > :not(.shell-chrome):not(.platform-mail-banner){
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.app-frame-main > .management-shell{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  height:auto;
  overflow:hidden;
}
.app-frame .management-shell > .management-header,
.app-frame .management-shell > .report-toolbar.is-docked{
  flex:0 0 auto;
  position:relative;
  z-index:6;
  background:var(--bg-elevated);
}
.app-frame .management-shell > .report-toolbar.is-docked{
  margin:0;
  padding:.55rem clamp(.75rem,2vw,1.75rem);
  border-bottom:1px solid var(--border);
  background:var(--bg);
}
.app-frame .management-shell > .management-main{
  flex:1 1 auto;
  min-height:0;
  margin:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
}

/* The scrollport must reach the window bottom. Outer padding was a dead
   zone that clipped the last card, including table navigation. */
body.has-app-sidebar .app-frame-main{
  padding-bottom:0;
  min-height:0;
  height:100%;
  overflow:hidden;
}
body.has-app-sidebar .app-frame-main > :not(.shell-chrome):not(.platform-mail-banner){
  flex:1 1 0;
  height:0;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
}
body.has-app-sidebar .app-frame-main > .platform-mail-banner{
  flex:0 0 auto;
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
}
body.has-app-sidebar .app-frame-main > .management-shell{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.has-app-sidebar .app-frame .management-shell > .management-main{
  container-type:normal;
  display:block;
  flex:1 1 0;
  height:0;
  max-height:none;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-bottom:0;
}
body.has-app-sidebar .app-frame .management-shell > .management-main > *{
  flex-grow:0;
  align-self:start;
  width:100%;
}
body.has-app-sidebar .app-frame-main > :not(.shell-chrome):not(.management-shell){
  padding-bottom:0;
  box-sizing:border-box;
}
body.has-app-sidebar .app-frame :is(.surface,.admin-section):has(table){
  overflow:visible;
  height:auto;
  max-height:none;
  min-height:min-content;
  flex:0 0 auto;
}
body.has-app-sidebar .app-frame :is(.table-scroll,.usage-table-wrap):not(.table-pane),
body.has-app-sidebar form.cycle-plan-sheet,
body.has-app-sidebar form.cycle-plan-sheet > .table-scroll,
body.has-app-sidebar .table-pagination{
  flex:0 0 auto;
  height:auto;
  max-height:none;
  min-height:min-content;
  overflow:visible;
}
body.has-app-sidebar .app-frame :is(.table-scroll,.usage-table-wrap):not(.table-pane){
  overflow-x:auto;
  overflow-y:visible;
}

/* Filter strips: label, control, and buttons share one row while the width allows it. */
body.has-app-sidebar .compact-form.filter-bar{
  display:flex;
  flex-flow:row wrap;
  align-items:center;
  gap:.65rem .85rem;
}
body.has-app-sidebar .compact-form.filter-bar .form-pair{
  display:contents;
}
body.has-app-sidebar .compact-form.filter-bar :is(.field-stack,label.field-stack){
  display:flex;
  flex-flow:row wrap;
  align-items:center;
  gap:.45rem .65rem;
  width:auto;
  max-width:100%;
  flex:1 1 14rem;
  min-width:min(100%,12rem);
}
body.has-app-sidebar .compact-form.filter-bar :is(.field-stack,label.field-stack) > span:first-child{
  width:auto;
  max-width:11rem;
  flex:0 0 auto;
  white-space:nowrap;
  grid-column:auto;
  grid-row:auto;
}
body.has-app-sidebar .compact-form.filter-bar :is(.field-stack,label.field-stack) > :is(input,select,.entity-picker){
  width:auto;
  flex:1 1 9rem;
  min-width:8rem;
  max-width:none;
  grid-column:auto;
  grid-row:auto;
}
body.has-app-sidebar .compact-form.filter-bar :is(.field-stack,label.field-stack):has(textarea){
  flex-direction:column;
  align-items:stretch;
  flex-basis:100%;
}
body.has-app-sidebar .compact-form.filter-bar > :is(.primary-button,.secondary-button,.text-button),
body.has-app-sidebar .compact-form.filter-bar .form-pair > :is(.primary-button,.secondary-button,.text-button),
body.has-app-sidebar .compact-form.filter-bar .form-actions{
  display:flex;
  flex-flow:row wrap;
  align-items:center;
  gap:.5rem;
  width:auto;
  max-width:none;
  flex:0 0 auto;
  align-self:center;
  margin:0;
}
body.has-app-sidebar .compact-form.filter-bar .form-actions > :is(.primary-button,.secondary-button,.text-button){
  width:auto;
  flex:0 0 auto;
}
@media (max-width:720px){
  body.has-app-sidebar .compact-form.filter-bar :is(.field-stack,label.field-stack){
    flex-basis:100%;
  }
}

/* The content pane keeps its vertical scrollbar. Nothing after the last
   block may reserve a blank tail, and create cards fill the row. */
body.has-app-sidebar .app-frame :is(.management-main,.workspace){
  margin-bottom:0;
  overflow-y:auto;
}
body.has-app-sidebar .app-frame .management-shell > .management-main{
  padding-bottom:.75rem;
}
body.has-app-sidebar .app-frame .management-shell > .management-main > :last-child{
  margin-bottom:0;
}
body.has-app-sidebar .app-frame :is(.admin-grid,.farm-board,.inventory-board,.procurement-board,.sales-board,.production-grid,.workforce-grid){
  align-items:start;
  align-content:start;
}
body.has-app-sidebar .app-frame .admin-grid > .surface:has(form.compact-form):not(:has(.usage-table)):not(:has(.data-table)):not(:has(.data-list)){
  max-width:none;
  width:100%;
}

/* Toolbars stay in view. Only the page body scrolls, including after a long
   farm table replaces the short empty state. */
body.has-app-sidebar .app-frame-main{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.has-app-sidebar .app-frame-main > .shell-chrome{
  position:sticky;
  top:0;
  flex:0 0 auto;
  z-index:30;
}
body.has-app-sidebar .app-frame-main > .management-shell{
  flex:1 1 0;
  height:0;
  min-height:0;
  overflow:hidden;
}
body.has-app-sidebar .app-frame .management-shell > .management-header{
  position:sticky;
  top:0;
  flex:0 0 auto;
  z-index:20;
  background:var(--bg-elevated);
}
body.has-app-sidebar .app-frame .management-shell > .management-main{
  flex:1 1 0;
  height:0;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
}

/* Label beside its control. Related controls stay on that same row. */
.labeled-form{
  display:grid;
  gap:.7rem;
  width:100%;
  min-width:0;
}
.sales-shell .compact-form.labeled-form label.field-stack,
.labeled-form .field-stack{
  display:grid;
  grid-template-columns:minmax(8.75rem,13.5rem) minmax(0,1fr);
  align-items:center;
  column-gap:.85rem;
}
.sales-shell .compact-form.labeled-form label.check-inline,
.labeled-form label.check-inline{
  display:flex;
  flex-flow:row nowrap;
  align-items:center;
  gap:.45rem .65rem;
  grid-column:1 / -1;
  grid-template-columns:none;
  width:auto;
  max-width:100%;
  font-weight:700;
}
.sales-shell .compact-form.labeled-form label.check-inline > span,
.labeled-form label.check-inline > span,
.sales-shell .compact-form.labeled-form label.check-inline > input,
.labeled-form label.check-inline > input{
  width:auto;
  max-width:none;
  flex:0 0 auto;
  grid-column:auto;
  grid-row:auto;
}
.cot-rate-input{
  width:100%;
  min-width:8rem;
  box-sizing:border-box;
}
.labeled-form .field-stack > span:first-child{
  grid-column:1;
  grid-row:1;
}
.labeled-form .field-stack > .field-hint{
  grid-column:2;
  grid-row:2;
}
.labeled-form .field-stack > :is(input,select,textarea,.product-picker,.entity-picker,.inline-controls){
  grid-column:2;
  grid-row:1;
  width:100%;
  min-width:0;
  max-width:100%;
}
.labeled-form .field-stack:has(textarea){
  align-items:start;
}
.labeled-form .field-stack:has(textarea) > span:first-child{
  padding-top:.65rem;
}
.labeled-form .inline-controls{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(7rem,.8fr);
  gap:.5rem;
  min-width:0;
}
.labeled-form .inline-controls > :is(input,select){
  width:100%;
  min-width:0;
}
.labeled-form .form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:flex-end;
}
.labeled-form.filter-bar .form-actions{
  display:grid;
  grid-template-columns:minmax(8.75rem,13.5rem) minmax(0,1fr);
}
.labeled-form.filter-bar .form-actions > button{
  grid-column:2;
  justify-self:start;
  width:auto;
}
.labeled-form > :is(h3,.compact-subheading,div){
  grid-column:1 / -1;
}
.labeled-form .quote-line-card{
  display:grid;
  gap:.55rem;
  min-width:0;
}
/* Every remaining management form: label beside its control, including
   invoices, compliance, and shells that previously used a wrapping flex label. */
:is(.app-frame,.workspace,.portal-manage-shell) :is(.compact-form:not(.filter-bar),.form-grid) > label:not(.check-inline):not(.check-label):not(.customer-filter-field):not(.invoice-multi-combo-item):not(:has(> input[type=checkbox])),
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) .form-pair > label:not(.check-inline):not(.check-label):not(:has(> input[type=checkbox])),
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) label.field-stack,
:is(.sales-shell,.receiving-shell,.processing-shell) .compact-form:not(.filter-bar) label.field-stack,
:is(.sales-shell,.receiving-shell,.processing-shell) .compact-form:not(.filter-bar) .form-grid > label:not(.check-inline):not(.check-label):not(.invoice-multi-combo-item):not(:has(> input[type=checkbox])){
  display:grid;
  grid-template-columns:minmax(8.5rem,12.5rem) minmax(0,1fr);
  align-items:center;
  column-gap:.75rem;
  row-gap:.28rem;
}
:is(.app-frame,.workspace,.portal-manage-shell) :is(.compact-form:not(.filter-bar),.form-grid) > label:not(.check-inline):not(.check-label):not(.invoice-multi-combo-item) > span:first-child,
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) .form-pair > label:not(.check-inline):not(.check-label) > span:first-child,
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) label.field-stack > span:first-child{
  grid-column:1;
  grid-row:1;
  width:auto;
  max-width:100%;
}
:is(.app-frame,.workspace,.portal-manage-shell) :is(.compact-form:not(.filter-bar),.form-grid) > label:not(.check-inline):not(.check-label):not(.invoice-multi-combo-item) > :is(input,select,textarea,.invoice-multi-combo,.entity-picker,.product-picker,.password-field,.msd),
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) .form-pair > label:not(.check-inline):not(.check-label) > :is(input,select,textarea,.entity-picker,.product-picker,.password-field,.msd),
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) label.field-stack > :is(input,select,textarea,.entity-picker,.product-picker,.password-field,.msd,.inline-controls){
  grid-column:2;
  grid-row:1;
  width:100%;
  min-width:0;
  max-width:100%;
}
:is(.app-frame,.workspace,.portal-manage-shell) :is(.compact-form:not(.filter-bar),.form-grid) > label > .field-hint,
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) label.field-stack > .field-hint{
  grid-column:2;
  grid-row:2;
  width:auto;
}
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) .form-grid{
  grid-template-columns:minmax(0,1fr);
}
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form label.check-inline,
:is(.sales-shell,.receiving-shell,.processing-shell) .compact-form label.check-inline{
  display:flex!important;
  flex-flow:row nowrap;
  align-items:center;
  gap:.45rem .65rem;
  grid-column:1 / -1;
  grid-template-columns:none;
  width:auto;
  max-width:100%;
  font-weight:700;
}
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form label.check-inline > span,
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form label.check-inline > input{
  width:auto;
  max-width:none;
  flex:0 0 auto;
  grid-column:auto;
  grid-row:auto;
}
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form .form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:flex-end;
}
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) .form-pair:has(> label),
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) .form-pair:has(label.field-stack){
  grid-template-columns:minmax(0,1fr);
}
:is(.app-frame,.workspace,.portal-manage-shell) :is(.compact-form:not(.filter-bar),.form-grid) > label:has(textarea),
:is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) label.field-stack:has(textarea){
  align-items:start;
}
:is(.app-frame,.workspace,.portal-manage-shell) :is(table,.usage-table,.data-table) .field-stack,
:is(.app-frame,.workspace,.portal-manage-shell) :is(table,.usage-table,.data-table) .field-stack > span,
:is(.app-frame,.workspace,.portal-manage-shell) :is(table,.usage-table,.data-table) .field-stack > :is(input,select,textarea){
  grid-template-columns:minmax(0,1fr);
  grid-column:1;
  grid-row:auto;
  width:100%;
}
@media (max-width:760px){
  .sales-shell .compact-form.labeled-form label.field-stack,
  .labeled-form .field-stack,
  .labeled-form.filter-bar .form-actions,
  :is(.app-frame,.workspace,.portal-manage-shell) :is(.compact-form:not(.filter-bar),.form-grid) > label:not(.check-inline):not(.check-label),
  :is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) label.field-stack,
  :is(.sales-shell,.receiving-shell,.processing-shell) .compact-form:not(.filter-bar) label.field-stack,
  :is(.sales-shell,.receiving-shell,.processing-shell) .compact-form:not(.filter-bar) .form-grid > label{
    grid-template-columns:minmax(0,1fr);
  }
  .labeled-form .field-stack > span:first-child,
  .labeled-form .field-stack > :is(input,select,textarea,.product-picker,.inline-controls),
  .labeled-form.filter-bar .form-actions > button,
  :is(.app-frame,.workspace,.portal-manage-shell) :is(.compact-form:not(.filter-bar),.form-grid) > label > span:first-child,
  :is(.app-frame,.workspace,.portal-manage-shell) :is(.compact-form:not(.filter-bar),.form-grid) > label > :is(input,select,textarea,.invoice-multi-combo,.entity-picker,.product-picker,.password-field,.msd,.field-hint),
  :is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) label.field-stack > span:first-child,
  :is(.app-frame,.workspace,.portal-manage-shell) .compact-form:not(.filter-bar) label.field-stack > :is(input,select,textarea,.entity-picker,.product-picker,.password-field,.msd,.inline-controls,.field-hint){
    grid-column:1;
    grid-row:auto;
  }
  .labeled-form .inline-controls{
    grid-template-columns:minmax(0,1fr);
  }
}

.public-offer{
  display:grid;
  grid-template-columns:minmax(0,16rem) minmax(0,1fr);
  gap:1rem 1.5rem;
  align-items:center;
  padding:.85rem clamp(1rem,3vw,2.5rem);
  border-bottom:1px solid var(--border);
  background:var(--bg);
}
.public-offer-copy h2{margin:.15rem 0 .35rem;font-size:1.15rem}
.public-offer-copy p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.45}
.public-offer .eyebrow{margin:0;color:var(--pine-2)}
.public-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.public-offer-grid article{
  min-width:0;
  padding:.7rem .85rem;
  border:1px solid var(--border);
  border-radius:.85rem;
  background:var(--bg-elevated);
}
.public-offer-grid h3{margin:0 0 .25rem;font-size:.92rem}
.public-offer-price{margin:0;color:var(--text)}
.public-offer-price strong{font-size:1.15rem;color:var(--pine)}
.public-offer-price span,.public-offer-annual,.public-offer-grid small{color:var(--text-muted);font-size:.75rem}
.public-offer-annual{margin:.1rem 0 0}
.public-offer-grid small{display:block;margin-top:.25rem;line-height:1.35}
html[data-theme=dark] .public-offer-grid article{background:#1c2923}

@media (min-width:1201px){
  body.public-home{
    height:100dvh;
    max-height:100dvh;
    overflow:hidden;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
  }
  body.public-home .public-header{padding-block:.55rem}
  body.public-home .public-brand img{width:40px;height:40px}
  body.public-home #main-content{
    min-height:0;
    overflow:hidden;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto auto;
  }
  body.public-home .public-hero{
    min-height:0;
    padding:clamp(.7rem,2vh,1.6rem) clamp(1rem,3vw,2.5rem);
    gap:1rem;
  }
  body.public-home .public-hero h1{font-size:clamp(1.6rem,3.4vh,2.7rem)}
  body.public-home .public-hero p{font-size:clamp(.88rem,1.7vh,1rem);line-height:1.45}
  body.public-home .public-hero-actions{margin-top:.8rem}
  body.public-home .public-hero-visual img{width:min(15rem,28vh)}
  body.public-home .public-trust{padding-block:.4rem .55rem}
  body.public-home .public-trust article{padding:.65rem .8rem}
  body.public-home .public-trust small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  body.public-home .public-offer{padding-block:.55rem}
  body.public-home .public-home-rest{display:none}
  body.public-home .public-footer{padding-block:.55rem}
}
@media (max-width:1200px){
  body.public-home{height:auto;overflow-x:hidden;overflow-y:auto}
  body.public-home .public-home-rest{display:block}
  .public-offer{grid-template-columns:1fr}
}
@media (max-width:700px){
  .public-offer-grid{grid-template-columns:1fr}
}

.public-demo{max-width:78rem}
.public-demo-intro h1{margin:.2rem 0 .6rem}
.public-demo-intro>p{max-width:42rem}
.public-demo-intro form{margin-top:1rem}
.public-demo-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:1.5rem}
.public-demo-groups section{min-width:0;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:1rem;background:var(--bg-elevated)}
.public-demo-groups h2{margin:0 0 .6rem;font-size:1.05rem}
.public-demo-groups ol{margin:0;padding-inline-start:1.15rem;display:grid;gap:.35rem}
.public-demo-groups li{color:var(--text-muted);line-height:1.45}
.public-demo-groups a{color:var(--pine-2);font-weight:800;text-decoration:none}
.public-demo-groups a:hover{text-decoration:underline}
html[data-theme=dark] .public-demo-groups section{background:#1c2923}
@media (max-width:900px){
  .public-demo-groups{grid-template-columns:1fr}
}
@media (min-width:1051px){
  html:has(main.login-shell:not(.register-shell):not(.platform-login)),
  body:has(main.login-shell:not(.register-shell):not(.platform-login)){
    height:100dvh;
    max-height:100dvh;
    overflow:hidden;
  }
  main.login-shell:not(.register-shell):not(.platform-login){
    height:100dvh;
    min-height:0;
    max-height:100dvh;
    overflow:hidden;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-context{
    min-height:0;
    padding:clamp(1rem,3vh,2.4rem) clamp(1.4rem,3vw,3.2rem);
  }
  main.login-shell:not(.register-shell):not(.platform-login) .context-copy h1{
    font-size:clamp(1.7rem,4.4vh,3.15rem);
  }
  main.login-shell:not(.register-shell):not(.platform-login) .context-copy>p:last-child{
    margin-top:.75rem;
    font-size:.95rem;
    line-height:1.5;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-panel{
    min-height:0;
    height:100%;
    padding:0 1.5rem .6rem;
    overflow:hidden;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-panel>.auth-toolbar{
    min-height:2.6rem;
    padding-top:.45rem;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-panel>.login-card{
    margin-block:auto;
    max-height:100%;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-card header h2{
    font-size:clamp(1.4rem,3vh,1.85rem);
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-card header>p:last-child{
    margin-top:.35rem;
    line-height:1.4;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .auth-form{
    gap:clamp(.35rem,1vh,.75rem);
    margin-top:clamp(.55rem,1.4vh,1.15rem);
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-subscribe-note{
    margin-top:.4rem;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .field-hint{
    margin-top:.15rem;
  }
}
@media (min-width:1051px) and (max-height:760px){
  main.login-shell:not(.register-shell):not(.platform-login){
    --control-h:2.35rem;
    --control-pad-y:.4rem;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .context-copy>p:last-child{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .auth-form{
    gap:.28rem;
    margin-top:.4rem;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-subscribe-note,
  main.login-shell:not(.register-shell):not(.platform-login) .login-back-link{
    margin-top:.2rem;
    margin-bottom:.15rem;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .field-hint{
    line-height:1.25;
  }
}
@media (max-width:1050px){
  html:has(main.login-shell:not(.register-shell):not(.platform-login)),
  body:has(main.login-shell:not(.register-shell):not(.platform-login)){
    height:auto;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto;
  }
  main.login-shell:not(.register-shell):not(.platform-login){
    height:auto;
    min-height:100dvh;
    max-height:none;
    overflow:visible;
  }
}

/* section-action-group: title row + balanced action grid. Not for row actions, pagination, or icon toggles. */
.section-action-group{
  container-type:inline-size;
  container-name:section-actions;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:.65rem;
  margin-block:.85rem 1.1rem;
  margin-inline:0;
  min-width:0;
  max-width:100%;
}
.section-action-title{
  margin:0;
  min-width:0;
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
  writing-mode:horizontal-tb;
}
.section-action-title :is(h2,p){margin:0}
.section-action-grid,
.split-list:not(td):not(.doc-row-actions):has(> :is(a.primary-button,a.secondary-button,a.text-button,button.primary-button,button.secondary-button)):not(:has(> :not(:is(a,button)))){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));
  gap:.55rem;
  min-width:0;
  max-width:100%;
  justify-items:stretch;
}
.section-action-grid > :last-child:nth-child(odd),
.split-list:not(td):not(.doc-row-actions):has(> :is(a.primary-button,a.secondary-button,a.text-button,button.primary-button,button.secondary-button)):not(:has(> :not(:is(a,button)))) > :last-child:nth-child(odd){
  grid-column:1 / -1;
}
.section-action-group > .section-action-grid > :last-child:nth-child(odd),
nav.dashboard-quick.section-action-grid > :last-child:nth-child(odd){
  grid-column:auto;
}
.section-action-grid > :is(a,button),
.dashboard-quick.section-action-grid > a,
.dashboard-quick .section-action-grid > a,
.split-list:not(td):not(.doc-row-actions):has(> :is(a.primary-button,a.secondary-button,a.text-button,button.primary-button,button.secondary-button)):not(:has(> :not(:is(a,button)))) > :is(a,button){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:2.75rem;
  height:auto;
  margin:0;
  padding-block:.45rem;
  padding-inline:.85rem;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  writing-mode:horizontal-tb;
  text-align:center;
  text-decoration:none;
  line-height:1.3;
  overflow:visible;
  text-overflow:unset;
}
.section-action-grid > :is(a,button):focus-visible,
.dashboard-quick .section-action-grid > a:focus-visible,
.split-list:not(td):not(.doc-row-actions):has(> :is(a.primary-button,a.secondary-button,a.text-button,button.primary-button,button.secondary-button)):not(:has(> :not(:is(a,button)))) > :is(a,button):focus-visible{
  outline:2px solid var(--pine);
  outline-offset:2px;
}
html[data-theme=dark] .section-action-grid > :is(a,button):focus-visible,
html[data-theme=dark] .dashboard-quick .section-action-grid > a:focus-visible{
  outline-color:var(--gold);
}
@container section-actions (max-width:22rem){
  .section-action-grid{
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width:420px){
  .section-action-group{grid-template-columns:minmax(0,1fr)}
  .section-action-grid,
  .split-list:not(td):not(.doc-row-actions):has(> :is(a.primary-button,a.secondary-button,a.text-button,button.primary-button,button.secondary-button)):not(:has(> :not(:is(a,button)))){
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width:720px){
  .page-action-bar .report-toolbar.is-inline > :is(.primary-button,.secondary-button,.text-button),
  .page-action-bar-group .report-toolbar.is-inline > :is(.primary-button,.secondary-button,.text-button){
    white-space:normal;
    overflow-wrap:anywhere;
    writing-mode:horizontal-tb;
    flex:1 1 min(100%,11rem);
    height:auto;
    min-height:2.75rem;
    max-width:100%;
  }
}

/* filter-card: shared filter chrome, aligned with surface cards. */
.filter-card{
  container-type:inline-size;
  container-name:filter-card;
  margin:0 0 1rem;
  padding:0;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.filter-card-body{min-width:0;padding:1rem 1.1rem}
.filter-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));
  align-items:end;
  gap:.65rem .75rem;
  margin:0;
  min-width:0;
}
.filter-field{
  display:grid;
  gap:.3rem;
  align-content:end;
  min-width:0;
  margin:0;
}
.filter-label,
.text-single-line{
  white-space:nowrap;
  writing-mode:horizontal-tb;
  word-break:keep-all;
}
.filter-control{
  width:100%;
  min-width:0;
  min-height:2.75rem;
  box-sizing:border-box;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg);
  color:var(--text);
  font:inherit;
  padding-block:.4rem;
  padding-inline:.75rem;
}
select.filter-control{padding-inline-end:2.1rem}
input.filter-control[type=checkbox]{
  width:1.25rem;
  min-height:1.25rem;
  padding:0;
  justify-self:start;
}
.filter-control:focus-visible,
.filter-actions :is(a,button):focus-visible{
  outline:2px solid var(--pine);
  outline-offset:2px;
}
html[data-theme=dark] .filter-control:focus-visible,
html[data-theme=dark] .filter-actions :is(a,button):focus-visible{outline-color:var(--gold)}
.filter-actions{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:.5rem;
  min-width:max-content;
  align-self:end;
}
.filter-actions > :is(a,button){
  flex:0 0 auto;
  width:auto;
  min-height:2.75rem;
  height:2.75rem;
  margin:0;
  text-decoration:none;
  justify-content:center;
}
.active-filters{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem .55rem;
  margin-top:.75rem;
  min-width:0;
}
.active-filter-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:1.75rem;
  padding-block:.15rem;
  padding-inline:.65rem;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--bg);
  color:var(--text);
  overflow:hidden;
  text-overflow:ellipsis;
}
@container filter-card (min-width:64rem){
  .filter-card-body{
    display:flex;
    flex-wrap:wrap;
    align-items:end;
    gap:.75rem 1rem;
  }
  .filter-grid{flex:1 1 auto}
  .active-filters{flex:0 1 auto;margin-top:0}
}
@container filter-card (max-width:22rem){
  .filter-grid{grid-template-columns:minmax(0,1fr)}
  .filter-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-width:0;
  }
  .filter-actions > :is(a,button){width:100%;min-width:0}
}
@media (max-width:420px){
  .filter-grid{grid-template-columns:minmax(0,1fr)}
  .filter-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-width:0;
  }
  .filter-actions > :is(a,button){width:100%;min-width:0}
}
.checkout-panel .surface-header > div{
  display:grid;
  align-items:start;
  gap:.35rem;
}
.checkout-panel .meta-grid{margin:0 1.4rem 1rem}
.checkout-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  padding:0 1.4rem 1.2rem;
}
.checkout-choice{
  display:grid;
  align-content:start;
  gap:.45rem;
  min-width:0;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--bg-subtle);
}
.checkout-choice h3{
  margin:0;
  font-size:var(--fs-h2);
  font-weight:700;
  color:var(--text);
}
.checkout-choice p{
  margin:0;
  color:var(--text-muted);
  font-size:.92rem;
  line-height:1.5;
}
.pay-panel{display:grid;gap:.85rem;max-width:28rem;margin-top:1.25rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}
.pay-panel h2{margin:0;font-size:1.05rem}
.pay-field{display:grid;gap:.35rem;min-width:0}
.pay-field>span{font-size:.76rem;font-weight:750;color:var(--text-muted)}
.pay-field select{width:100%;min-width:0;min-height:2.75rem;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text)}
.checkout-slot{min-height:2.75rem;margin-top:.35rem}
@media(max-width:42rem){.pay-panel{max-width:none}}
.card-field{min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .7rem;background:var(--input-bg)}
#card-pay{min-height:var(--control-h)}
.checkout-panel #paddle-result-message{margin:0 1.4rem 1.2rem}
.checkout-installment,.checkout-amount,.checkout-balance-note{margin:0 1.4rem 1rem}
.checkout-amount{max-width:16rem}
.checkout-schedule{display:grid;gap:.75rem;margin:0 1.4rem 1rem;padding:0;list-style:none}
.checkout-schedule li{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-elevated)}
.checkout-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .9rem}
.checkout-row-main strong{font-size:1rem}
.checkout-row-pay{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}
.checkout-row-pay .field-stack{flex:1 1 12rem;max-width:16rem;margin:0}
.checkout-row-pay .secondary-button{min-height:var(--control-h)}
.installment-pay{
  display:inline-grid;
  grid-template-columns:8.75rem 6.25rem 4.6rem;
  align-items:center;
  justify-items:start;
  column-gap:.4rem;
  width:max-content;
  max-width:100%;
}
.installment-pay .field-stack{margin:0;width:100%;min-width:0}
.installment-pay form{display:inline-flex;margin:0}
.installment-apply-slot{display:block;width:100%;height:1px}
.checkout-row-pay input[type=number],
.installment-pay input[type=number]{
  width:100%;
  min-width:0;
  min-height:var(--control-h);
  padding:var(--control-pad-y) var(--control-pad-x);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  outline:0;
  background:var(--bg-elevated);
  color:var(--text);
  font:inherit;
  font-weight:400;
  box-sizing:border-box;
}
.installment-pay .secondary-button{min-height:2.75rem;height:2.75rem;width:100%;padding-inline:.5rem}
.instapay-icon-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:4.6rem;
  height:2.75rem;
  padding:.2rem .28rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  text-decoration:none;
  line-height:0;
}
.instapay-icon-button:hover{border-color:var(--border);background:var(--hover)}
html[data-theme=dark] .instapay-icon-button{background:var(--bg-elevated);border-color:var(--border)}
html[data-theme=dark] .instapay-icon-button:hover{background:var(--hover)}
.instapay-icon-button img{display:block;width:100%;height:100%;object-fit:contain}
.instapay-sheet{display:grid;gap:1rem;max-width:42rem}
.instapay-steps{margin:.25rem 0 0;padding:0;list-style:none;display:grid;gap:.65rem;counter-reset:instapay-step}
.instapay-steps li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.7rem;align-items:start;line-height:1.55}
.instapay-steps li::before{counter-increment:instapay-step;content:counter(instapay-step);display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:var(--pine);color:#fff;font-weight:700}
.instapay-sheet h2,.surface > h2{margin:0;font-size:1.05rem}
.instapay-sheet h1{margin:0;font-size:var(--fs-h1)}
.instapay-sheet .surface-header p{margin:0}
.instapay-sheet .meta-grid{margin:0}
.instapay-number-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}
.instapay-number-row .field-stack{display:grid;gap:.35rem;flex:1 1 16rem;margin:0}
.instapay-number-value{display:flex;align-items:center;min-height:var(--control-h);padding:0 .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-weight:700}
.instapay-form{display:grid;gap:.9rem}
.instapay-form .field-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;margin:0}
.instapay-form .field-stack>span:first-child,.instapay-number-row .field-stack>span:first-child{font-weight:700}
.instapay-form input[type=text]{width:100%;min-height:var(--control-h);padding:var(--control-pad-y) var(--control-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font:inherit;font-weight:400;box-sizing:border-box}
.instapay-form input[type=file]{width:100%;min-height:var(--control-h);padding:.45rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);box-sizing:border-box}
.instapay-form .field-hint{margin:0;color:var(--muted);line-height:1.55}
.instapay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.instapay-actions :is(.primary-button,.secondary-button){width:auto;min-height:2.75rem}
.installment-remaining{
  display:grid;
  justify-items:start;
  gap:.45rem;
  margin-top:.85rem;
}
.installment-remaining .header-note{margin:0;max-width:42rem}
@media(max-width:760px){.checkout-actions{grid-template-columns:1fr}}
.surface-header > div{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:flex-start;
  gap:.35rem 1rem;
  min-width:0;
  flex:1 1 auto;
}
.surface-header > div > :is(h2,p){
  margin:0;
  max-width:100%;
  writing-mode:horizontal-tb;
  word-break:keep-all;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.surface-header > div > p.header-note{
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  word-break:normal;
  overflow-wrap:anywhere;
}
:is(.usage-table,.data-table) th,
.state-badge{
  white-space:nowrap;
  writing-mode:horizontal-tb;
  word-break:keep-all;
}
form.compact-form.filter-bar :is(button,.secondary-button,.primary-button,.text-button){
  white-space:nowrap;
  writing-mode:horizontal-tb;
  word-break:keep-all;
  min-height:2.75rem;
}

.table-totals-bar{
  container-type:inline-size;
  container-name:table-totals;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem 1.25rem;
  margin-block:.75rem;
  padding:.75rem 1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--surface);
  color:var(--text);
}
.table-total-item{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem .5rem;
  min-inline-size:min(100%,8rem);
}
.table-total-label,
.table-total-value,
.table-total-unit,
.table-total-scope{
  writing-mode:horizontal-tb;
  word-break:keep-all;
}
.table-total-label,
.table-total-unit,
.table-total-scope{
  white-space:nowrap;
}
.table-total-value{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
@container table-totals (max-width:22rem){
  .table-totals-bar{flex-direction:column;align-items:stretch}
  .table-total-item{inline-size:100%}
}
@media (max-width:420px){
  .table-totals-bar{flex-direction:column;align-items:stretch}
  .table-total-item{inline-size:100%}
}

/* Shared density: spacing, controls, filters, cards. Theme colors stay on existing tokens. */
:root{
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --control-h:40px;
  --control-h-sm:36px;
  --card-pad:16px;
  --radius-sm:8px;
  --radius-md:10px;
}
.management-main{
  max-width:none;
  margin-top:var(--space-4);
  padding-inline:var(--space-4);
}
.management-main > .admin-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--card-gap,1rem);
  align-items:stretch;
}
.surface,
.admin-section,
.roles-section{
  padding:var(--card-pad);
}
.page-title{margin:0 0 var(--space-3);gap:var(--space-3)}
.section-stack{margin-top:var(--space-3)}
.section-stack-bottom{margin-bottom:var(--space-3)}
.compact-form.filter-bar,
.sales-shell .compact-form.filter-bar.customer-filter-bar{
  display:flex;
  flex-flow:row wrap;
  align-items:flex-end;
  gap:var(--space-2) var(--space-3);
  margin:0 0 var(--space-3);
  padding:var(--space-3) var(--space-4);
  grid-template-columns:none;
}
.compact-form.filter-bar :is(.field-stack,.customer-filter-field,label.field-stack),
.sales-shell .customer-filter-bar .customer-filter-field{
  display:flex;
  flex-flow:column nowrap;
  align-items:stretch;
  gap:var(--space-1);
  flex:1 1 12rem;
  min-width:min(100%,10rem);
  margin:0;
  grid-template-columns:none;
}
.compact-form.filter-bar :is(.field-stack,.customer-filter-field) > span,
.sales-shell .customer-filter-bar .customer-filter-field > span{
  width:auto;
  max-width:none;
}
.compact-form.filter-bar :is(input,select),
.sales-shell .customer-filter-bar :is(input,select),
form.compact-form.filter-bar :is(button,.secondary-button,.primary-button){
  min-height:var(--control-h);
  height:var(--control-h);
}
.sales-shell .customer-filter-submit,
.compact-form.filter-bar > :is(.primary-button,.secondary-button){
  width:auto;
  flex:0 0 auto;
  align-self:flex-end;
}
.primary-button,
.secondary-button,
.text-button{
  min-height:var(--control-h);
}
main.login-shell:not(.register-shell):not(.platform-login) .login-context > .brand-lockup,
main.login-shell:not(.register-shell):not(.platform-login) .context-copy,
main.login-shell:not(.register-shell):not(.platform-login) .context-status{
  position:relative;
  z-index:1;
}
main.login-shell:not(.register-shell):not(.platform-login) .context-copy{
  margin:clamp(1.15rem, 3vh, 2.4rem) 0 0;
}
main.login-shell:not(.register-shell):not(.platform-login) .context-copy h1{
  font-size:clamp(1.85rem, 3.5vw, 3.05rem);
}
main.login-shell:not(.register-shell):not(.platform-login) .context-status{
  margin-top:auto;
}
main.login-shell:not(.register-shell):not(.platform-login) .login-subscription{
  position:relative;
  z-index:1;
  width:min(100%, 34rem);
  margin-top:0;
  margin-bottom:clamp(.7rem, 2vh, 1.3rem);
  max-height:min(42vh, 22rem);
  overflow:auto;
}
main.login-shell:not(.register-shell):not(.platform-login) .login-subscription:not(.is-hidden){
  margin-top:auto;
}
main.login-shell:not(.register-shell):not(.platform-login) .login-subscription:not(.is-hidden) + .context-status{
  margin-top:0;
}
main.login-shell:not(.register-shell):not(.platform-login) .login-subscription.is-hidden{
  display:none;
}
.login-subscription-card{
  padding:.95rem 1rem 1rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:1rem;
  background:rgba(5, 22, 16, .42);
}
.login-subscription-card h2{
  margin:0;
  color:#fff;
  font-size:1.2rem;
  font-weight:650;
  letter-spacing:-.02em;
  line-height:1.25;
}
.login-subscription-accepted,
.login-subscription-org,
.login-subscription-card > p{
  margin:.35rem 0 0;
  color:rgba(255,255,255,.78);
  font-size:.92rem;
  line-height:1.45;
}
.login-subscription-heading{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem .7rem;
  margin-top:.55rem;
}
.login-subscription-meta{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.45rem .8rem;
  margin:.8rem 0 0;
}
.login-subscription-meta div{min-width:0}
.login-subscription-meta dt{
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.login-subscription-meta dd{
  margin:.12rem 0 0;
  color:#fff;
  font-size:.92rem;
  font-weight:700;
  overflow-wrap:anywhere;
}
@media (max-width:760px){
  main.login-shell:not(.register-shell):not(.platform-login) .login-context{
    min-height:0;
    height:auto;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .context-copy{
    margin:1.15rem 0 0;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .context-copy > p:last-child{
    display:block;
  }
  main.login-shell:not(.register-shell):not(.platform-login) .login-subscription{
    max-height:none;
    margin-top:1.25rem;
  }
}
@media (max-width:760px){
  .management-main > .admin-grid,
  .sales-shell .admin-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .compact-form.filter-bar :is(.field-stack,.customer-filter-field),
  .sales-shell .customer-filter-submit{
    flex-basis:100%;
    width:100%;
  }
}
.notif-bell{position:relative;flex:0 0 auto}
.notif-bell-btn{appearance:none;display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:0;border-radius:.55rem;background:transparent;color:var(--text);cursor:pointer}
.notif-bell-btn:focus-visible{outline:2px solid var(--brand,#123d32);outline-offset:2px}
.notif-bell-count{position:absolute;top:.1rem;inset-inline-end:.05rem;min-width:1rem;padding:0 .2rem;border-radius:999px;background:var(--brand,#123d32);color:#fff;font-size:.65rem;line-height:1rem;text-align:center}
.notif-bell-panel{position:absolute;z-index:140;top:calc(100% + .35rem);inset-inline-end:0;width:min(22rem,calc(100vw - 1.5rem));max-height:24rem;overflow:auto;padding:.7rem;border:1px solid var(--border);border-radius:.75rem;background:var(--bg-elevated);box-shadow:0 14px 34px rgba(0,0,0,.16)}
.notif-bell-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.notif-bell-panel a{color:inherit}
.notification-list p{margin:.2rem 0}
.filter-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}
