/* MHSD Farm integration layer for AdminKit v1.6.6 */
:root {
  --farm-success: #12b76a;
  --farm-warning: #f79009;
  --farm-danger: #f04438;
  --farm-info: #2e90fa;
}

body { min-width: 320px; }
.admin-brand-title { max-width: 150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-brand-mark { font-size: 1rem; font-weight: 900; letter-spacing: .02em; }
.admin-page .breadcrumb { margin-bottom:.4rem; }
.page-heading p { max-width:760px; }
.farm-coming-soon { opacity:.55; cursor:not-allowed; pointer-events:none; }
.farm-coming-soon::after { content:'Soon'; margin-inline-start:auto; font-size:.61rem; font-weight:850; letter-spacing:.04em; padding:.18rem .38rem; border-radius:999px; background:rgba(255,255,255,.10); color:inherit; }
body.sidebar-collapsed .farm-coming-soon::after { display:none; }

.farm-kpi-note { color:var(--admin-muted); font-size:.76rem; margin-top:.22rem; }
/* Farm stat icons inherit AdminKit's 46x46 stat-icon geometry.
   The geometry is repeated here intentionally so farm icons stay correct even if a view
   accidentally omits the base .stat-icon class. */
.farm-stat-icon-success,.farm-stat-icon-warning,.farm-stat-icon-info,.farm-stat-icon-danger {
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  font-size:21px;
  line-height:1;
  position:relative;
  z-index:1;
}
.farm-stat-icon-success i,.farm-stat-icon-warning i,.farm-stat-icon-info i,.farm-stat-icon-danger i { line-height:1; }
.farm-stat-icon-success { color:var(--farm-success)!important; background:color-mix(in srgb,var(--farm-success) 11%,var(--admin-surface-2))!important; }
.farm-stat-icon-warning { color:var(--farm-warning)!important; background:color-mix(in srgb,var(--farm-warning) 11%,var(--admin-surface-2))!important; }
.farm-stat-icon-info { color:var(--farm-info)!important; background:color-mix(in srgb,var(--farm-info) 11%,var(--admin-surface-2))!important; }
.farm-stat-icon-danger { color:var(--farm-danger)!important; background:color-mix(in srgb,var(--farm-danger) 11%,var(--admin-surface-2))!important; }

.farm-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.farm-type-card { display:flex; gap:12px; align-items:flex-start; padding:14px; border:1px solid var(--admin-border); border-radius:13px; background:var(--admin-surface-2); }
.farm-type-icon { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; border-radius:11px; background:var(--admin-primary-soft); color:var(--admin-primary); }
.farm-type-card strong { display:block; font-size:.83rem; }
.farm-type-card span { display:block; color:var(--admin-muted); font-size:.72rem; margin-top:2px; }

.farm-empty { text-align:center; padding:3rem 1.2rem!important; color:var(--admin-muted)!important; }
.farm-empty i { display:block; font-size:1.6rem; margin-bottom:.65rem; opacity:.55; }
.farm-table-title { font-weight:800; color:var(--admin-text); }
.farm-table-subtitle { font-size:.7rem; color:var(--admin-muted); margin-top:2px; }
.farm-location-code { display:inline-flex; align-items:center; padding:.25rem .48rem; border-radius:8px; border:1px solid var(--admin-border); background:var(--admin-bg); font-size:.73rem; font-weight:800; letter-spacing:.02em; }

.farm-status { display:inline-flex; align-items:center; gap:.38rem; border-radius:999px; padding:.31rem .55rem; font-size:.7rem; font-weight:800; }
.farm-status::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.farm-status-active,.farm-status-completed,.farm-status-closed { color:#067647; background:#ecfdf3; }
.farm-status-planned,.farm-status-paused { color:#b54708; background:#fffaeb; }
.farm-status-cancelled,.farm-status-inactive { color:#b42318; background:#fef3f2; }
.farm-status-default { color:#175cd3; background:#eff8ff; }
[data-bs-theme="dark"] .farm-status-active,[data-bs-theme="dark"] .farm-status-completed,[data-bs-theme="dark"] .farm-status-closed { background:rgba(18,183,106,.14); color:#6ce9a6; }
[data-bs-theme="dark"] .farm-status-planned,[data-bs-theme="dark"] .farm-status-paused { background:rgba(247,144,9,.14); color:#fec84b; }
[data-bs-theme="dark"] .farm-status-cancelled,[data-bs-theme="dark"] .farm-status-inactive { background:rgba(240,68,56,.14); color:#fda29b; }
[data-bs-theme="dark"] .farm-status-default { background:rgba(46,144,250,.14); color:#84caff; }

.farm-action-group { display:inline-flex; gap:5px; }
.farm-action-btn { width:34px; height:34px; display:inline-grid; place-items:center; border:1px solid var(--admin-border); border-radius:9px; background:var(--admin-surface); color:var(--admin-muted); }
.farm-action-btn:hover { color:var(--admin-primary); background:var(--admin-primary-soft); border-color:color-mix(in srgb,var(--admin-primary) 30%,var(--admin-border)); }
.farm-action-btn.danger:hover { color:var(--farm-danger); background:color-mix(in srgb,var(--farm-danger) 10%,var(--admin-surface)); }

.farm-filter-card { padding:14px; }
.farm-filter-card .form-select,.farm-filter-card .form-control { min-width:150px; }
.farm-modal-help { font-size:.7rem; color:var(--admin-muted); }
.modal-content { overflow:hidden; }
.modal-header { background:linear-gradient(180deg,var(--admin-surface-2),var(--admin-surface)); }
.modal-footer { background:var(--admin-surface-2); }

.farm-settings-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; background:var(--admin-primary-soft); color:var(--admin-primary); font-size:1rem; }
.farm-info-panel { padding:13px 14px; border-radius:11px; border:1px solid color-mix(in srgb,var(--farm-info) 22%,var(--admin-border)); background:color-mix(in srgb,var(--farm-info) 6%,var(--admin-surface)); color:var(--admin-text); font-size:.78rem; }

.admin-notification-menu .farm-notification-empty { width:310px; padding:22px 18px; text-align:center; color:var(--admin-muted); }
.admin-notification-menu .farm-notification-empty i { font-size:1.45rem; margin-bottom:8px; opacity:.6; }

@media (max-width: 767.98px) {
  .farm-type-grid { grid-template-columns:1fr; }
  .farm-filter-card .form-select,.farm-filter-card .form-control { min-width:0; width:100%; }
  .farm-filter-actions { width:100%; }
  .farm-filter-actions .btn { flex:1; }
}

@media print {
  .farm-action-group,.farm-filter-card,.page-actions { display:none!important; }
}

/* Farm v0.3.0 - Production & Daily Activities */
.farm-form-section-title{font-size:.86rem;font-weight:700;color:var(--bs-heading-color);padding:.75rem 0 .2rem;border-bottom:1px solid var(--bs-border-color);text-transform:uppercase;letter-spacing:.03em}
.farm-activity-snapshot{border:1px solid var(--bs-border-color);border-radius:var(--admin-radius,14px);padding:1rem;background:var(--bs-body-bg);box-shadow:0 1px 2px rgba(0,0,0,.02)}
.farm-activity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1rem}
.farm-activity-metrics span{display:flex;flex-direction:column;min-width:0;padding:.65rem;border-radius:.65rem;background:color-mix(in srgb,var(--bs-secondary-bg) 85%,transparent)}
.farm-activity-metrics b{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.farm-activity-metrics small{font-size:.68rem;color:var(--bs-secondary-color);margin-top:.15rem}
@media(max-width:575.98px){.farm-activity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Farm v0.4.0 - Inventory & Procurement */
.farm-module-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.farm-module-tabs a{display:inline-flex;align-items:center;gap:.5rem;padding:.58rem .8rem;border:1px solid var(--admin-border);border-radius:10px;color:var(--admin-muted);font-size:.78rem;font-weight:750;text-decoration:none;background:var(--admin-surface)}.farm-module-tabs a:hover{color:var(--admin-primary);background:var(--admin-primary-soft)}.farm-module-tabs a.active{color:var(--admin-primary);border-color:color-mix(in srgb,var(--admin-primary) 28%,var(--admin-border));background:var(--admin-primary-soft)}
.farm-low-stock-row{background:color-mix(in srgb,var(--farm-warning) 4%,transparent)}.farm-low-stock-row:hover>*{background:color-mix(in srgb,var(--farm-warning) 7%,var(--admin-surface))!important}
.farm-mini-progress{height:5px;background:var(--admin-border);border-radius:999px;overflow:hidden}.farm-mini-progress .progress-bar{background:var(--admin-primary)}
.farm-procurement-lines th{font-size:.72rem;color:var(--admin-muted);white-space:nowrap}.farm-procurement-lines td{vertical-align:middle}.farm-procurement-lines .line-total,.farm-procurement-lines .procurement-grand-total{white-space:nowrap}
.farm-nav-alert{margin-inline-start:auto;min-width:19px;height:19px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--farm-danger);color:#fff;font-size:.61rem;font-weight:900}.farm-topbar-alert{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--farm-danger);color:#fff;font-size:.55rem;font-weight:900;border:2px solid var(--admin-surface)}
.farm-notification-list{max-height:310px;overflow:auto}.farm-notification-item{display:flex;gap:.7rem;padding:.72rem .9rem;border-bottom:1px solid var(--admin-border);text-decoration:none;color:var(--admin-text);min-width:320px}.farm-notification-item:hover{background:var(--admin-surface-2)}.farm-notification-item span:last-child{display:flex;flex-direction:column;min-width:0}.farm-notification-item strong{font-size:.76rem}.farm-notification-item small{font-size:.68rem;color:var(--admin-muted);margin-top:2px}.farm-notification-icon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--farm-warning) 13%,var(--admin-surface));color:var(--farm-warning)}
body.sidebar-collapsed .farm-nav-alert{display:none}
@media(max-width:575.98px){.farm-module-tabs{display:grid;grid-template-columns:1fr 1fr}.farm-module-tabs a{justify-content:center}.farm-notification-item{min-width:280px}.farm-procurement-lines{min-width:790px}}

/* Farm v0.5.0 - Customers & Sales */
.farm-sale-lines{min-width:1100px}.farm-sale-lines th{font-size:.71rem;color:var(--admin-muted);white-space:nowrap}.farm-sale-lines td{vertical-align:middle}.farm-sale-line-source{min-width:120px}
.farm-sale-summary{border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface-2);padding:.7rem .85rem}.farm-sale-summary>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.43rem 0;border-bottom:1px dashed var(--admin-border);font-size:.76rem}.farm-sale-summary>div:last-child{border-bottom:0}.farm-sale-summary>div>span{color:var(--admin-muted)}.farm-sale-summary .input-group{max-width:190px}.farm-sale-summary .farm-sale-grand{font-size:.88rem;padding-top:.7rem}.farm-sale-summary .farm-sale-grand span,.farm-sale-summary .farm-sale-grand strong{color:var(--admin-text)}
.farm-receivable-overdue{background:color-mix(in srgb,var(--farm-danger) 4%,transparent)}.farm-receivable-overdue:hover>*{background:color-mix(in srgb,var(--farm-danger) 7%,var(--admin-surface))!important}
@media(max-width:575.98px){.farm-sale-summary{padding:.65rem}.farm-sale-summary>div{align-items:flex-start}.farm-sale-summary .input-group{max-width:160px}}

/* Farm v0.9.0 - Notifications & Alerts */
.farm-alert-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.farm-alert-toolbar .form-select{min-width:190px}
.farm-alert-kpi-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:12px;font-size:20px}.farm-alert-critical{color:var(--farm-danger);background:color-mix(in srgb,var(--farm-danger) 12%,var(--admin-surface-2))}.farm-alert-high{color:#e04f16;background:color-mix(in srgb,#e04f16 12%,var(--admin-surface-2))}.farm-alert-medium{color:var(--farm-warning);background:color-mix(in srgb,var(--farm-warning) 12%,var(--admin-surface-2))}.farm-alert-info{color:var(--farm-info);background:color-mix(in srgb,var(--farm-info) 12%,var(--admin-surface-2))}
.farm-alert-list{display:grid;gap:.75rem}.farm-alert-card{overflow:hidden;border-left:4px solid var(--admin-border)}.farm-alert-card-critical{border-left-color:var(--farm-danger)}.farm-alert-card-high{border-left-color:#e04f16}.farm-alert-card-medium{border-left-color:var(--farm-warning)}.farm-alert-card-info{border-left-color:var(--farm-info)}.farm-alert-card.is-read{opacity:.86}.farm-alert-card.is-unread{box-shadow:0 0 0 1px color-mix(in srgb,var(--admin-primary) 9%,transparent),var(--admin-shadow)}
.farm-alert-card-grid{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:.9rem}.farm-alert-main-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;font-size:18px}.farm-alert-severity{display:inline-flex;align-items:center;border-radius:999px;padding:.24rem .5rem;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.farm-alert-severity-critical{color:#b42318;background:#fef3f2}.farm-alert-severity-high{color:#b54708;background:#fff4ed}.farm-alert-severity-medium{color:#b54708;background:#fffaeb}.farm-alert-severity-info{color:#175cd3;background:#eff8ff}[data-bs-theme="dark"] .farm-alert-severity-critical{color:#fda29b;background:rgba(240,68,56,.14)}[data-bs-theme="dark"] .farm-alert-severity-high,[data-bs-theme="dark"] .farm-alert-severity-medium{color:#fec84b;background:rgba(247,144,9,.14)}[data-bs-theme="dark"] .farm-alert-severity-info{color:#84caff;background:rgba(46,144,250,.14)}
.farm-alert-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--admin-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--admin-primary) 15%,transparent)}.farm-alert-meta{display:flex;flex-wrap:wrap;gap:.45rem 1rem;color:var(--admin-muted);font-size:.7rem}.farm-alert-meta span{display:inline-flex;align-items:center;gap:.35rem}.farm-alert-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem;max-width:330px}.farm-alert-actions form{margin:0}.farm-alert-empty{text-align:center;padding:4rem 1rem}.farm-alert-empty>i{font-size:2.25rem}
.farm-notification-icon-critical{color:var(--farm-danger)!important;background:color-mix(in srgb,var(--farm-danger) 13%,var(--admin-surface))!important}.farm-notification-icon-high{color:#e04f16!important;background:color-mix(in srgb,#e04f16 13%,var(--admin-surface))!important}.farm-notification-icon-medium{color:var(--farm-warning)!important;background:color-mix(in srgb,var(--farm-warning) 13%,var(--admin-surface))!important}.farm-notification-icon-info{color:var(--farm-info)!important;background:color-mix(in srgb,var(--farm-info) 13%,var(--admin-surface))!important}
@media(max-width:991.98px){.farm-alert-card-grid{grid-template-columns:44px minmax(0,1fr)}.farm-alert-actions{grid-column:1/-1;justify-content:flex-start;max-width:none;padding-left:59px}}
@media(max-width:575.98px){.farm-alert-toolbar{align-items:stretch}.farm-alert-toolbar>form,.farm-alert-toolbar .form-select{width:100%;min-width:0}.farm-alert-card-grid{grid-template-columns:1fr}.farm-alert-main-icon{width:40px;height:40px}.farm-alert-actions{grid-column:auto;padding-left:0}.farm-alert-actions .btn{font-size:.7rem}}
/* Farm v0.9.1 - Notification dropdown visual alignment with AdminKit */
.admin-topbar .admin-notification-menu{
  --bs-dropdown-spacer:.55rem;
  width:min(380px,calc(100vw - 18px));
  max-width:calc(100vw - 18px);
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--admin-border);
  border-radius:14px;
  background:var(--admin-surface);
  box-shadow:0 20px 55px rgba(16,24,40,.18);
}
.farm-notification-header{
  min-height:76px;
  padding:15px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid var(--admin-border);
  background:linear-gradient(135deg,color-mix(in srgb,var(--admin-primary) 5%,var(--admin-surface)),var(--admin-surface));
}
.farm-notification-header strong{font-size:.9rem;color:var(--admin-text)}
.farm-notification-header .text-secondary{margin-top:2px;color:var(--admin-muted)!important;line-height:1.35}
.farm-notification-empty{
  width:auto!important;
  min-height:150px;
  padding:22px 28px!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--admin-muted)!important;
}
.farm-notification-empty-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin-bottom:10px;
  border-radius:50%;
  color:#067647;
  background:#ecfdf3;
  font-size:1rem;
}
.farm-notification-empty strong{display:block;margin-bottom:4px;color:var(--admin-text);font-size:.85rem}
.farm-notification-empty>span:last-child{display:block;max-width:260px;font-size:.76rem;line-height:1.55}
.farm-notification-list{max-height:330px;overflow:auto;overscroll-behavior:contain}
.admin-notification-menu .farm-notification-item{
  min-width:0;
  gap:12px;
  padding:12px 14px;
  text-decoration:none;
}
.admin-notification-menu .farm-notification-item:last-child{border-bottom:0}
.farm-notification-copy{display:flex;flex:1;min-width:0;flex-direction:column;padding-right:4px}
.farm-notification-copy strong{font-size:.78rem;line-height:1.35;white-space:normal}
.farm-notification-copy small{margin-top:3px;font-size:.69rem;line-height:1.4;color:var(--admin-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.admin-notification-menu .farm-notification-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;font-size:.9rem}
.farm-notification-icon-critical,.farm-notification-icon-high{color:var(--farm-danger);background:color-mix(in srgb,var(--farm-danger) 11%,var(--admin-surface))}
.farm-notification-icon-medium{color:var(--farm-warning);background:color-mix(in srgb,var(--farm-warning) 12%,var(--admin-surface))}
.farm-notification-icon-info,.farm-notification-icon-low{color:var(--farm-info);background:color-mix(in srgb,var(--farm-info) 11%,var(--admin-surface))}
.farm-notification-footer{padding:8px;border-top:1px solid var(--admin-border);background:var(--admin-surface-2)}
.farm-notification-footer .btn{min-height:34px;display:flex;align-items:center;justify-content:center;font-weight:700;border-color:var(--admin-border);background:var(--admin-surface)}
.farm-topbar-alert{border-color:var(--admin-topbar-bg)!important}
[data-bs-theme="dark"] .farm-notification-empty-icon{color:#6ce9a6;background:rgba(18,183,106,.14)}
@media(max-width:575.98px){
  .admin-topbar .admin-notification-menu{width:min(350px,calc(100vw - 12px));max-width:calc(100vw - 12px)}
  .farm-notification-header{padding:13px 14px;min-height:70px}
  .farm-notification-empty{min-height:138px;padding:20px 18px!important}
  .admin-notification-menu .farm-notification-item{padding:11px 12px}
}

/* Farm v0.10.0 - Batch Accounting & Closure */
.farm-accounting-table{min-width:1260px}.farm-accounting-table th{white-space:nowrap}.farm-accounting-table td{vertical-align:middle}
.farm-ready-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;color:#067647;background:#ecfdf3;font-size:.69rem;font-weight:800;white-space:nowrap}
[data-bs-theme="dark"] .farm-ready-chip{color:#6ce9a6;background:rgba(18,183,106,.14)}
.farm-closure-lock{display:flex;align-items:center;gap:.55rem}.farm-closure-lock>i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#175cd3;background:#eff8ff}.farm-closure-lock>div{display:flex;flex-direction:column}.farm-closure-lock strong{font-size:.72rem}.farm-closure-lock small{font-size:.66rem;color:var(--admin-muted)}
[data-bs-theme="dark"] .farm-closure-lock>i{color:#84caff;background:rgba(46,144,250,.14)}
.farm-blocker-list{display:grid;gap:.25rem;max-width:330px}.farm-blocker-list>div{display:flex;align-items:flex-start;gap:.4rem;color:var(--admin-muted);font-size:.68rem;line-height:1.35}.farm-blocker-list i{font-size:.35rem;margin-top:.38rem;color:var(--farm-warning)}
.farm-accounting-rule{background:color-mix(in srgb,var(--admin-primary) 3%,var(--admin-surface))}
.farm-closure-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.farm-closure-metrics>div{padding:.75rem;border:1px solid var(--admin-border);border-radius:11px;background:var(--admin-surface-2);display:flex;flex-direction:column;gap:.2rem}.farm-closure-metrics span{font-size:.68rem;color:var(--admin-muted)}.farm-closure-metrics strong{font-size:.86rem}.farm-closure-metrics .farm-closure-net{border-color:color-mix(in srgb,var(--farm-success) 45%,var(--admin-border));background:color-mix(in srgb,var(--farm-success) 5%,var(--admin-surface-2))}
@media(max-width:767.98px){.farm-closure-metrics{grid-template-columns:1fr 1fr}.farm-closure-metrics .farm-closure-net{grid-column:1/-1}}

/* Farm v0.14.1 - Shared module empty-state styling
   Used by Aquaculture, Crops, Livestock and other AdminKit module tables. */
.farm-empty-state {
  min-height: 188px;
  padding: 2.5rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--admin-muted);
  border-top: 1px solid var(--admin-border);
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--admin-primary) 5%, transparent), transparent 46%),
    var(--admin-surface);
}
.farm-empty-state > i {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: grid;
  place-items: center;
  margin: 0 0 .85rem;
  border-radius: 14px;
  color: var(--admin-primary);
  background: var(--admin-primary-soft);
  border: 1px solid color-mix(in srgb, var(--admin-primary) 18%, var(--admin-border));
  font-size: 1.2rem;
  line-height: 1;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--admin-primary) 9%, transparent);
}
.farm-empty-state > i.text-success {
  color: var(--farm-success) !important;
  background: color-mix(in srgb, var(--farm-success) 11%, var(--admin-surface-2));
  border-color: color-mix(in srgb, var(--farm-success) 22%, var(--admin-border));
  box-shadow: 0 8px 22px color-mix(in srgb, var(--farm-success) 8%, transparent);
}
.farm-empty-state h3 {
  margin: 0 0 .35rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.35;
}
.farm-empty-state p {
  max-width: 560px;
  margin: 0;
  color: var(--admin-muted);
  font-size: .78rem;
  line-height: 1.6;
}
.admin-card-body.p-0 > .table-responsive + .farm-empty-state {
  margin-top: 0;
}
[data-bs-theme="dark"] .farm-empty-state {
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--admin-primary) 7%, transparent), transparent 48%),
    var(--admin-surface);
}
@media (max-width: 575.98px) {
  .farm-empty-state { min-height: 165px; padding: 2rem 1rem; }
  .farm-empty-state > i { width: 46px; height: 46px; flex-basis: 46px; border-radius: 12px; font-size: 1.05rem; }
  .farm-empty-state h3 { font-size: .94rem; }
  .farm-empty-state p { font-size: .74rem; }
}

/* Farm v0.15.0 - Feed & Nutrition */
.feed-stock-low{background:color-mix(in srgb,var(--farm-danger) 4%,var(--admin-surface))}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}

/* Farm v0.18.0 - Tasks, Calendar & Farm Activity */
.farm-task-overdue{background:color-mix(in srgb,var(--farm-danger) 4%,var(--admin-surface))}
.farm-priority,.farm-task-status{display:inline-flex;align-items:center;padding:.24rem .5rem;border-radius:999px;border:1px solid var(--admin-border);font-size:.66rem;font-weight:800;line-height:1}
.farm-priority-low{color:var(--admin-muted);background:var(--admin-surface-2)}
.farm-priority-normal{color:#175cd3;background:#eff8ff;border-color:#b2ddff}
.farm-priority-high{color:#b54708;background:#fffaeb;border-color:#fedf89}
.farm-priority-urgent{color:#b42318;background:#fef3f2;border-color:#fecdca}
.farm-task-status-todo{color:#344054;background:#f9fafb}.farm-task-status-in_progress{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.farm-task-status-completed{color:#067647;background:#ecfdf3;border-color:#abefc6}.farm-task-status-cancelled{color:#b42318;background:#fef3f2;border-color:#fecdca}
[data-bs-theme="dark"] .farm-priority-normal,[data-bs-theme="dark"] .farm-task-status-in_progress{color:#84caff;background:rgba(46,144,250,.12);border-color:rgba(46,144,250,.25)}
[data-bs-theme="dark"] .farm-priority-high{color:#fec84b;background:rgba(247,144,9,.12);border-color:rgba(247,144,9,.25)}
[data-bs-theme="dark"] .farm-priority-urgent,[data-bs-theme="dark"] .farm-task-status-cancelled{color:#fda29b;background:rgba(240,68,56,.12);border-color:rgba(240,68,56,.25)}
[data-bs-theme="dark"] .farm-task-status-completed{color:#75e0a7;background:rgba(18,183,106,.12);border-color:rgba(18,183,106,.25)}
.farm-calendar{overflow:hidden;border:1px solid var(--admin-border);border-radius:14px;background:var(--admin-surface)}
.farm-calendar-head,.farm-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.farm-calendar-head{background:var(--admin-surface-2);border-bottom:1px solid var(--admin-border)}
.farm-calendar-head>div{padding:.65rem .55rem;text-align:center;font-size:.7rem;font-weight:800;color:var(--admin-muted)}
.farm-calendar-week:not(:last-child){border-bottom:1px solid var(--admin-border)}
.farm-calendar-day{min-height:138px;padding:.5rem;border-right:1px solid var(--admin-border);background:var(--admin-surface)}
.farm-calendar-day:last-child{border-right:0}.farm-calendar-day.is-outside{background:color-mix(in srgb,var(--admin-surface-2) 70%,var(--admin-surface));opacity:.72}.farm-calendar-day.is-today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--admin-primary) 62%,transparent)}
.farm-calendar-date{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:.72rem;font-weight:800}.farm-calendar-day.is-today .farm-calendar-date{background:var(--admin-primary);color:#fff}
.farm-calendar-events{display:grid;gap:.28rem;margin-top:.35rem}.farm-calendar-event{min-width:0;display:flex;align-items:center;gap:.35rem;padding:.3rem .4rem;border-radius:7px;text-decoration:none;color:var(--admin-text);background:var(--admin-surface-2);border:1px solid var(--admin-border);font-size:.64rem;line-height:1.2}.farm-calendar-event i{width:12px;text-align:center;color:var(--admin-primary)}.farm-calendar-event span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.farm-calendar-event-task{border-left:3px solid var(--admin-primary)}.farm-calendar-event-health{border-left:3px solid #12b76a}.farm-calendar-event-maintenance{border-left:3px solid #f79009}.farm-calendar-event-document{border-left:3px solid #7f56d9}.farm-calendar-event-batch{border-left:3px solid #06aed4}
.farm-activity-list{display:grid}.farm-activity-item{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;text-decoration:none;color:inherit;border-bottom:1px solid var(--admin-border)}.farm-activity-item:last-child{border-bottom:0}.farm-activity-item:hover{background:var(--admin-surface-2)}.farm-activity-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--admin-primary);background:var(--admin-primary-soft);border:1px solid color-mix(in srgb,var(--admin-primary) 18%,var(--admin-border))}.farm-activity-item strong{display:block;font-size:.76rem}.farm-activity-item small{display:block;color:var(--admin-muted);font-size:.66rem}.farm-activity-item time{margin-left:auto;color:var(--admin-muted);font-size:.66rem;white-space:nowrap}
@media(max-width:991.98px){.farm-calendar{overflow-x:auto}.farm-calendar-head,.farm-calendar-week{min-width:840px}.farm-calendar-day{min-height:125px}}
@media(max-width:575.98px){.farm-activity-item{padding:.7rem .75rem}.farm-activity-item time{display:none}}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}

/* Farm v0.18.1 - Tasks UI + mobile sidebar polish */
.farm-task-stat{
  min-height:112px;
  padding:18px;
}
.farm-task-stat .stat-label{
  display:block;
  color:var(--admin-muted);
  font-size:.76rem;
  font-weight:650;
  line-height:1.35;
}
.farm-task-stat .stat-value{
  display:block;
  margin-top:.36rem;
  color:var(--admin-text);
  font-size:1.45rem;
  font-weight:850;
  line-height:1.05;
  letter-spacing:-.025em;
}
.farm-task-stat-info{--card-accent:var(--farm-info)}
.farm-task-stat-success{--card-accent:var(--farm-success)}
.farm-task-stat-warning{--card-accent:var(--farm-warning)}
.farm-task-stat-danger{--card-accent:var(--farm-danger)}
.farm-tabs .badge{
  min-width:20px;
  height:20px;
  padding:0 .38rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.62rem;
}
@media(max-width:575.98px){
  .farm-task-stat{min-height:102px;padding:14px}
  .farm-task-stat .stat-value{font-size:1.25rem}
}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}

/* Farm v0.19.0 - System Audit, Backup & Data Health */
.farm-system-stat{min-height:118px;padding:18px;--card-accent:var(--admin-primary)}
.farm-system-stat .stat-label{display:block;color:var(--admin-muted);font-size:.74rem;font-weight:650}
.farm-system-stat .stat-value{display:block;margin-top:.35rem;color:var(--admin-text);font-size:1.22rem;font-weight:850;line-height:1.1}
.farm-system-stat small{display:block;margin-top:.32rem;color:var(--admin-muted);font-size:.66rem;line-height:1.35}
.farm-system-stat-info{--card-accent:var(--farm-info)}
.farm-system-stat-success{--card-accent:var(--farm-success)}
.farm-system-stat-warning{--card-accent:var(--farm-warning)}
.farm-system-stat-danger{--card-accent:var(--farm-danger)}
.farm-system-stat-violet{--card-accent:#7f56d9}
.farm-system-stat-neutral{--card-accent:#667085}
.farm-health-list{display:grid}
.farm-health-item{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border-bottom:1px solid var(--admin-border)}
.farm-health-item:last-child{border-bottom:0}
.farm-health-item strong{display:block;font-size:.76rem;color:var(--admin-text)}
.farm-health-item small{display:block;margin-top:.2rem;font-size:.68rem;line-height:1.45;color:var(--admin-muted)}
.farm-health-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;font-size:.72rem;border:1px solid var(--admin-border)}
.farm-health-icon.is-ok{color:#067647;background:#ecfdf3;border-color:#abefc6}
.farm-health-icon.is-bad{color:#b42318;background:#fef3f2;border-color:#fecdca}
[data-bs-theme="dark"] .farm-health-icon.is-ok{color:#75e0a7;background:rgba(18,183,106,.12);border-color:rgba(18,183,106,.25)}
[data-bs-theme="dark"] .farm-health-icon.is-bad{color:#fda29b;background:rgba(240,68,56,.12);border-color:rgba(240,68,56,.25)}
.farm-system-table{min-width:760px}
.farm-system-table th{white-space:nowrap}
.farm-audit-action{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:999px;border:1px solid var(--admin-border);font-size:.63rem;font-weight:800;white-space:nowrap;background:var(--admin-surface-2);color:var(--admin-muted)}
.farm-audit-create-action{color:#067647;background:#ecfdf3;border-color:#abefc6}
.farm-audit-update-action{color:#175cd3;background:#eff8ff;border-color:#b2ddff}
.farm-audit-delete{color:#b42318;background:#fef3f2;border-color:#fecdca}
[data-bs-theme="dark"] .farm-audit-create-action{color:#75e0a7;background:rgba(18,183,106,.12);border-color:rgba(18,183,106,.25)}
[data-bs-theme="dark"] .farm-audit-update-action{color:#84caff;background:rgba(46,144,250,.12);border-color:rgba(46,144,250,.25)}
[data-bs-theme="dark"] .farm-audit-delete{color:#fda29b;background:rgba(240,68,56,.12);border-color:rgba(240,68,56,.25)}
.farm-audit-detail-row td{padding:0!important;background:var(--admin-surface-2)}
.farm-audit-json{max-height:280px;overflow:auto;padding:1rem;color:var(--admin-text);background:transparent;font-size:.68rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}
@media(max-width:575.98px){.farm-system-stat{min-height:105px;padding:14px}.farm-system-stat .stat-value{font-size:1.08rem}}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}

/* Farm v0.20.0 - Quality, Biosecurity & Incidents */
.compliance-kpi{--card-accent:var(--admin-primary)}
.compliance-kpi-info{--card-accent:var(--farm-info)}
.compliance-kpi-success{--card-accent:var(--farm-success)}
.compliance-kpi-warning{--card-accent:var(--farm-warning)}
.compliance-kpi-danger{--card-accent:var(--farm-danger)}
.compliance-kpi-violet{--card-accent:#7f56d9}
.compliance-expense-box{padding:.9rem;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface-2)}
.farm-compliance-table{min-width:1040px}
.farm-compliance-table th{white-space:nowrap}
.farm-risk-badge,.farm-status-badge,.farm-result-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.26rem .5rem;border:1px solid var(--admin-border);border-radius:999px;font-size:.64rem;font-weight:800;line-height:1.15;white-space:nowrap}
.farm-risk-low{color:#067647;background:#ecfdf3;border-color:#abefc6}
.farm-risk-medium{color:#175cd3;background:#eff8ff;border-color:#b2ddff}
.farm-risk-high{color:#b54708;background:#fffaeb;border-color:#fedf89}
.farm-risk-critical{color:#b42318;background:#fef3f2;border-color:#fecdca}
.farm-status-open,.farm-status-investigating{color:#b54708;background:#fffaeb;border-color:#fedf89}
.farm-status-contained{color:#175cd3;background:#eff8ff;border-color:#b2ddff}
.farm-status-resolved{color:#067647;background:#ecfdf3;border-color:#abefc6}
.farm-status-closed{color:#344054;background:#f9fafb;border-color:#e4e7ec}
.farm-result-passed{color:#067647;background:#ecfdf3;border-color:#abefc6}
.farm-result-observation{color:#175cd3;background:#eff8ff;border-color:#b2ddff}
.farm-result-corrective_action{color:#b54708;background:#fffaeb;border-color:#fedf89}
.farm-result-failed{color:#b42318;background:#fef3f2;border-color:#fecdca}
.farm-row-critical{background:color-mix(in srgb,var(--farm-danger) 5%,var(--admin-surface))}
.farm-row-overdue{background:color-mix(in srgb,var(--farm-warning) 5%,var(--admin-surface))}
[data-bs-theme="dark"] .farm-risk-low,[data-bs-theme="dark"] .farm-status-resolved,[data-bs-theme="dark"] .farm-result-passed{color:#75e0a7;background:rgba(18,183,106,.12);border-color:rgba(18,183,106,.25)}
[data-bs-theme="dark"] .farm-risk-medium,[data-bs-theme="dark"] .farm-status-contained,[data-bs-theme="dark"] .farm-result-observation{color:#84caff;background:rgba(46,144,250,.12);border-color:rgba(46,144,250,.25)}
[data-bs-theme="dark"] .farm-risk-high,[data-bs-theme="dark"] .farm-status-open,[data-bs-theme="dark"] .farm-status-investigating,[data-bs-theme="dark"] .farm-result-corrective_action{color:#fec84b;background:rgba(247,144,9,.12);border-color:rgba(247,144,9,.25)}
[data-bs-theme="dark"] .farm-risk-critical,[data-bs-theme="dark"] .farm-result-failed{color:#fda29b;background:rgba(240,68,56,.12);border-color:rgba(240,68,56,.25)}
[data-bs-theme="dark"] .farm-status-closed{color:#d0d5dd;background:rgba(152,162,179,.08);border-color:rgba(152,162,179,.25)}
@media(max-width:575.98px){.compliance-kpi .admin-card-body{padding:14px}.farm-risk-badge,.farm-status-badge,.farm-result-badge{font-size:.6rem}}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}

/* Farm v0.21.0 - Production Output & Yield */
.output-kpi{--card-accent:var(--admin-primary)}
.output-kpi-info{--card-accent:var(--farm-info)}
.output-kpi-success{--card-accent:var(--farm-success)}
.output-kpi-warning{--card-accent:var(--farm-warning)}
.output-kpi-danger{--card-accent:var(--farm-danger)}
.output-kpi-violet{--card-accent:#7f56d9}
.output-kpi-money{--card-accent:#06aed4}
.farm-output-table{min-width:1320px}
.farm-output-table th{white-space:nowrap}
.farm-output-posting-note{display:flex;gap:.65rem;align-items:flex-start;padding:.8rem .9rem;border:1px solid color-mix(in srgb,var(--farm-info) 32%,var(--admin-border));border-radius:12px;background:color-mix(in srgb,var(--farm-info) 7%,var(--admin-surface));color:var(--admin-text-secondary);font-size:.78rem;line-height:1.45}
.farm-output-posting-note i{color:var(--farm-info);margin-top:.15rem}
.farm-output-quality{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .52rem;border-radius:999px;border:1px solid var(--admin-border);font-size:.64rem;font-weight:800;white-space:nowrap}
.farm-output-quality-accepted{color:#067647;background:#ecfdf3;border-color:#abefc6}
.farm-output-quality-hold{color:#b54708;background:#fffaeb;border-color:#fedf89}
.farm-output-quality-rejected{color:#b42318;background:#fef3f2;border-color:#fecdca}
.farm-output-status-draft{color:#175cd3;background:#eff8ff;border-color:#b2ddff}
.farm-output-status-completed{color:#067647;background:#ecfdf3;border-color:#abefc6}
.farm-output-status-cancelled{color:#667085;background:#f9fafb;border-color:#e4e7ec}
.farm-output-stock-posted{display:inline-flex;align-items:center;color:#067647;font-size:.72rem;font-weight:800}
.farm-row-output-hold{background:color-mix(in srgb,var(--farm-warning) 5%,var(--admin-surface))}
.farm-row-output-rejected{background:color-mix(in srgb,var(--farm-danger) 4%,var(--admin-surface))}
.farm-action-success{color:#067647!important;border-color:rgba(18,183,106,.25)!important;background:rgba(18,183,106,.08)!important}
.farm-action-warning{color:#b54708!important;border-color:rgba(247,144,9,.25)!important;background:rgba(247,144,9,.08)!important}
.farm-output-yield{height:8px;min-width:100px;border-radius:999px;background:var(--admin-surface-2);overflow:hidden;border:1px solid var(--admin-border)}
.farm-output-yield span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#12b76a,#2e90fa)}
[data-bs-theme="dark"] .farm-output-quality-accepted,[data-bs-theme="dark"] .farm-output-status-completed{color:#75e0a7;background:rgba(18,183,106,.12);border-color:rgba(18,183,106,.25)}
[data-bs-theme="dark"] .farm-output-quality-hold{color:#fec84b;background:rgba(247,144,9,.12);border-color:rgba(247,144,9,.25)}
[data-bs-theme="dark"] .farm-output-quality-rejected{color:#fda29b;background:rgba(240,68,56,.12);border-color:rgba(240,68,56,.25)}
[data-bs-theme="dark"] .farm-output-status-draft{color:#84caff;background:rgba(46,144,250,.12);border-color:rgba(46,144,250,.25)}
[data-bs-theme="dark"] .farm-output-status-cancelled{color:#d0d5dd;background:rgba(152,162,179,.08);border-color:rgba(152,162,179,.25)}
@media(max-width:575.98px){.output-kpi .admin-card-body{padding:14px}.farm-output-posting-note{font-size:.72rem}}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}


/* Farm v0.22.0 - Branding & Browser Protection */
.admin-brand-mark-image{padding:4px;overflow:hidden;background:var(--admin-surface)}
.admin-brand-mark-image img{width:100%;height:100%;object-fit:contain;display:block;border-radius:8px}
.farm-brand-existing{padding:.75rem;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface-2)}
.farm-brand-existing img{display:block;max-width:180px;max-height:70px;object-fit:contain;border-radius:10px;background:var(--admin-surface);border:1px solid var(--admin-border);padding:.35rem}
.farm-brand-existing .farm-brand-favicon-preview{width:48px;height:48px;object-fit:contain;padding:.25rem}
.farm-brand-color-input{max-width:64px;min-width:56px;padding:.35rem}
.farm-brand-preview{display:flex;align-items:center;gap:.85rem;padding:1rem;border:1px solid var(--admin-border);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--admin-primary) 8%,var(--admin-surface)),var(--admin-surface))}
.farm-brand-preview-mark{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--admin-primary) 28%,var(--admin-border));border-radius:14px;background:var(--admin-surface);box-shadow:0 6px 18px rgba(16,24,40,.08);overflow:hidden;color:var(--admin-primary);font-weight:900}
.farm-brand-preview-mark img{width:100%;height:100%;object-fit:contain;padding:.35rem}
.farm-brand-preview strong{display:block;color:var(--admin-text);font-size:.9rem;line-height:1.25;word-break:break-word}
.farm-brand-preview span{display:block;margin-top:.2rem;color:var(--admin-muted);font-size:.7rem}
.farm-brand-color-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;color:var(--admin-text)}
.farm-brand-color-chip i{width:16px;height:16px;border-radius:5px;border:1px solid var(--admin-border);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.farm-browser-guard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.farm-guard-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .95rem;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface-2)}
.farm-guard-option strong{display:block;color:var(--admin-text);font-size:.76rem}
.farm-guard-option small{display:block;margin-top:.2rem;color:var(--admin-muted);font-size:.66rem;line-height:1.4}
.farm-guard-master{grid-column:1/-1;border-color:color-mix(in srgb,var(--farm-success) 30%,var(--admin-border));background:color-mix(in srgb,var(--farm-success) 5%,var(--admin-surface))}
.farm-settings-note{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--admin-border)}
.farm-settings-note:last-child{border-bottom:0}
.farm-settings-note>i{width:24px;flex:0 0 24px;text-align:center;margin-top:.15rem}
.farm-settings-note strong{display:block;color:var(--admin-text);font-size:.74rem}
.farm-settings-note small{display:block;margin-top:.15rem;color:var(--admin-muted);font-size:.66rem;line-height:1.45}
@media(max-width:767.98px){.farm-browser-guard-grid{grid-template-columns:1fr}.farm-guard-master{grid-column:auto}.farm-guard-option{align-items:flex-start}.farm-brand-existing img{max-width:140px}}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}

/* Farm v0.23.0 - Authentication, Users & Access Control */
.farm-auth-body{min-height:100vh;margin:0;background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--farm-auth-brand,#5a2f4e) 14%,transparent),transparent 34%),linear-gradient(135deg,#f8fafc,#eef2f6);color:#101828}
.farm-auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.farm-auth-panel{width:min(100%,460px);padding:28px;border:1px solid #e4e7ec;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(16,24,40,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
.farm-auth-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid #eaecf0}
.farm-auth-brand-mark{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:14px;background:var(--farm-auth-brand,#5a2f4e);color:#fff;font-weight:900;overflow:hidden;box-shadow:0 8px 24px color-mix(in srgb,var(--farm-auth-brand,#5a2f4e) 22%,transparent)}
.farm-auth-brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff;padding:4px}
.farm-auth-brand strong{display:block;font-size:.92rem}.farm-auth-brand small{display:block;color:#667085;font-size:.7rem;margin-top:.15rem}
.farm-auth-heading{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:1.25rem}.farm-auth-heading h1{margin:0;font-size:1.35rem;font-weight:800}.farm-auth-heading p{margin:.3rem 0 0;color:#667085;font-size:.78rem;line-height:1.5}
.farm-auth-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;color:var(--farm-auth-brand,#5a2f4e);background:color-mix(in srgb,var(--farm-auth-brand,#5a2f4e) 10%,#fff);border:1px solid color-mix(in srgb,var(--farm-auth-brand,#5a2f4e) 22%,#e4e7ec)}
.farm-auth-icon-danger{color:#b42318;background:#fef3f2;border-color:#fecdca}.farm-auth-form .form-label{font-size:.72rem;font-weight:700}.farm-auth-form .input-group-text{min-width:42px;justify-content:center;color:#667085;background:#f9fafb}
.farm-auth-security-note{display:flex;gap:.55rem;align-items:flex-start;margin:1rem 0;padding:.75rem;border-radius:12px;background:#f9fafb;border:1px solid #eaecf0;color:#667085;font-size:.7rem;line-height:1.45}.farm-auth-security-note i{margin-top:.12rem;color:var(--farm-auth-brand,#5a2f4e)}
.farm-auth-footer{margin-top:14px;text-align:center;color:#98a2b3;font-size:.66rem}.farm-user-avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;background:color-mix(in srgb,var(--admin-primary) 10%,var(--admin-surface));color:var(--admin-primary);font-weight:900;font-size:.68rem;border:1px solid color-mix(in srgb,var(--admin-primary) 22%,var(--admin-border))}
.farm-role-badge{display:inline-flex;align-items:center;padding:.28rem .52rem;border-radius:999px;border:1px solid var(--admin-border);font-size:.62rem;font-weight:800;white-space:nowrap}.farm-role-admin{color:#6941c6;background:#f4f3ff;border-color:#d9d6fe}.farm-role-manager{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.farm-role-staff{color:#067647;background:#ecfdf3;border-color:#abefc6}.farm-role-viewer{color:#475467;background:#f9fafb;border-color:#e4e7ec}
[data-bs-theme="dark"] .farm-role-admin{color:#bdb4fe;background:rgba(127,86,217,.12);border-color:rgba(127,86,217,.25)}[data-bs-theme="dark"] .farm-role-manager{color:#84caff;background:rgba(46,144,250,.12);border-color:rgba(46,144,250,.25)}[data-bs-theme="dark"] .farm-role-staff{color:#75e0a7;background:rgba(18,183,106,.12);border-color:rgba(18,183,106,.25)}[data-bs-theme="dark"] .farm-role-viewer{color:#d0d5dd;background:rgba(152,162,179,.08);border-color:rgba(152,162,179,.25)}
@media(max-width:575.98px){.farm-auth-shell{padding:14px}.farm-auth-panel{padding:20px;border-radius:16px}.farm-auth-heading h1{font-size:1.18rem}}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}

/* =========================================================
   Farm v0.23.1 - Dynamic brand color for AdminKit shell
   The Branding > Theme Color now controls the visible shell,
   not only browser/PWA metadata.
   ========================================================= */
:root {
  --farm-brand-theme: #5a2f4e;
  --farm-shell-text: #ffffff;
  --farm-shell-muted: rgba(255,255,255,.72);

  --admin-sidebar-bg: var(--farm-brand-theme);
  --admin-sidebar-head: color-mix(in srgb,var(--farm-brand-theme) 78%,#000);
  --admin-sidebar-footer-bg: color-mix(in srgb,var(--farm-brand-theme) 88%,#fff);
  --admin-sidebar-text: color-mix(in srgb,var(--farm-shell-text) 82%,var(--farm-brand-theme));
  --admin-sidebar-muted: color-mix(in srgb,var(--farm-shell-text) 64%,var(--farm-brand-theme));
  --admin-sidebar-active: var(--farm-shell-text);
  --admin-sidebar-accent: color-mix(in srgb,var(--farm-brand-theme) 60%,#fff);

  --admin-topbar-bg: var(--farm-brand-theme);
  --admin-topbar-text: var(--farm-shell-text);
  --admin-topbar-muted: var(--farm-shell-muted);

  --admin-footer-bg: var(--farm-brand-theme);
  --admin-footer-text: var(--farm-shell-text);
  --admin-footer-muted: var(--farm-shell-muted);
}

/* Sidebar foregrounds adapt to very light as well as dark custom colors. */
.admin-brand,
.admin-brand:hover,
.admin-account-card,
.admin-account-card:hover,
.admin-nav-link.active,
.admin-nav-link:hover,
.admin-nav-button:hover,
.admin-nav-button.active-parent,
.admin-sidebar-flyout-link:hover,
.admin-sidebar-flyout-single:hover,
.admin-sidebar-flyout-link.active,
.admin-sidebar-flyout-single.active {
  color: var(--farm-shell-text) !important;
}
.admin-brand-subtitle,
.admin-account-copy small,
.admin-account-role,
.admin-account-arrow,
.admin-nav-section,
.admin-sidebar-flyout-title i,
.admin-sidebar-flyout-link > i:last-child,
.admin-sidebar-flyout-single > i:last-child {
  color: var(--admin-sidebar-muted) !important;
}
.admin-sidebar-scroll {
  scrollbar-color: color-mix(in srgb,var(--farm-shell-text) 32%,transparent) transparent;
}

/* Topbar controls/search inherit the dynamic contrast color. */
.admin-topbar .icon-btn,
.admin-topbar .topbar-profile,
.admin-topbar .topbar-profile.text-body,
.admin-topbar .topbar-profile .avatar,
.admin-topbar .admin-search input {
  color: var(--farm-shell-text) !important;
}
.admin-topbar .admin-search > i,
.admin-topbar .admin-search input::placeholder,
.admin-topbar .admin-search-kbd,
.admin-topbar .topbar-profile .text-secondary,
.admin-topbar .topbar-profile > .fa-chevron-down {
  color: var(--farm-shell-muted) !important;
}
.admin-topbar .icon-btn,
.admin-topbar .admin-search input,
.admin-topbar .admin-search-kbd,
.admin-topbar .topbar-profile .avatar {
  border-color: color-mix(in srgb,var(--farm-shell-text) 22%,transparent) !important;
}
.admin-topbar .icon-btn,
.admin-topbar .admin-search input,
.admin-topbar .admin-search-kbd {
  background: color-mix(in srgb,var(--farm-shell-text) 9%,transparent) !important;
}
.admin-topbar .icon-btn:hover,
.admin-topbar .icon-btn:focus-visible,
.admin-topbar .topbar-profile:hover,
.admin-topbar .topbar-profile:focus-visible,
.admin-topbar .admin-search input:focus {
  color: var(--farm-shell-text) !important;
  background: color-mix(in srgb,var(--farm-shell-text) 15%,transparent) !important;
  border-color: color-mix(in srgb,var(--farm-shell-text) 34%,transparent) !important;
}
.admin-topbar .notification-dot,
.farm-topbar-alert {
  border-color: var(--farm-brand-theme) !important;
}

/* Footer and shell separators follow the selected brand color. */
.admin-footer,
.admin-footer a {
  color: var(--farm-shell-text) !important;
}
.admin-footer .text-secondary {
  color: var(--farm-shell-muted) !important;
}

/* Keep the logo/image tile readable regardless of shell color. */
.admin-brand-mark-image {
  background: #fff;
}

/* Settings live brand preview helper. */
.farm-brand-shell-preview {
  display:grid;
  grid-template-columns:72px 1fr;
  min-height:78px;
  margin-top:.8rem;
  overflow:hidden;
  border:1px solid var(--admin-border);
  border-radius:12px;
  background:var(--admin-surface);
}
.farm-brand-shell-preview-sidebar {
  background:var(--farm-brand-theme);
  border-right:1px solid color-mix(in srgb,var(--farm-shell-text) 18%,transparent);
}
.farm-brand-shell-preview-main {display:grid;grid-template-rows:30px 1fr 20px;min-width:0}
.farm-brand-shell-preview-top,
.farm-brand-shell-preview-footer {background:var(--farm-brand-theme)}
.farm-brand-shell-preview-content {background:var(--admin-surface-2)}

/* Bootstrap tables */
.table-responsive {
    border-radius: 0px;
}



/* Farm v0.23.3 - Profile photo */
.admin-account-avatar.has-image,
.admin-topbar .topbar-profile .avatar.has-image,
.admin-profile-menu-avatar.has-image {
    padding: 0 !important;
    overflow: hidden;
    background: transparent !important;
}
.admin-account-avatar.has-image img,
.admin-topbar .topbar-profile .avatar.has-image img,
.admin-profile-menu-avatar.has-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: inherit;
}
.farm-profile-photo-editor {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--admin-border);
    border-radius: 14px;
    background: color-mix(in srgb,var(--admin-primary) 3%,var(--admin-surface));
}
.farm-profile-photo-preview {
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border-radius: 22px;
    border: 1px solid color-mix(in srgb,var(--admin-primary) 28%,var(--admin-border));
    background: color-mix(in srgb,var(--admin-primary) 10%,var(--admin-surface));
    color: var(--admin-primary);
    box-shadow: 0 8px 24px rgba(16,24,40,.08);
}
.farm-profile-photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.farm-profile-photo-fallback {
    font-size: 1.2rem;
    font-weight: 900;
    letter-spacing: .02em;
}
@media (max-width:575.98px) {
    .farm-profile-photo-editor { align-items:flex-start; }
    .farm-profile-photo-preview { width:72px;height:72px;flex-basis:72px;border-radius:18px; }
}

/* =========================================================
   Farm v0.24.0 — Global UI / CSS audit
   Compact professional AdminKit refinement shared by all modules.
   ========================================================= */

/* Page rhythm and headings */
.admin-page { --farm-page-gap: 1rem; }
.page-heading h1,
.admin-page-header h1 { margin:0; color:var(--admin-text); font-size:clamp(1.35rem,2vw,1.7rem); font-weight:850; letter-spacing:-.03em; line-height:1.15; }
.page-heading p,
.admin-page-header p { max-width:780px; margin:.32rem 0 0; color:var(--admin-muted); font-size:.82rem; line-height:1.5; }
.admin-page-header { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.admin-page-kicker { margin-bottom:.3rem; color:var(--admin-primary); font-size:.66rem; font-weight:850; text-transform:uppercase; letter-spacing:.075em; }
.breadcrumb { font-size:.74rem; }
.page-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.page-actions .btn { min-height:38px; }

/* Cards: consistent compact spacing without changing module semantics */
.admin-card { border-radius:14px; }
.admin-card-header { min-height:64px; padding:14px 16px; }
.admin-card-body { padding:16px; }
.admin-card-footer { padding:12px 16px; }
.admin-card-header h2,
.admin-card-header h3,
.admin-card-header .admin-card-title { margin:0; color:var(--admin-text); font-size:.9rem; font-weight:850; line-height:1.3; }
.admin-card-header p,
.admin-card-header .admin-card-subtitle { margin:.2rem 0 0; color:var(--admin-muted); font-size:.7rem; line-height:1.45; }

/* KPI audit */
.stat-card { min-height:112px; padding:16px; }
.stat-card .stat-label { display:block; font-size:.73rem; font-weight:700; line-height:1.3; }
.stat-card .stat-value { display:block; margin-top:.35rem; font-size:1.48rem; line-height:1.05; }
.stat-card .farm-kpi-note { margin-top:.38rem; font-size:.68rem; line-height:1.35; }
.stat-card .stat-icon,
.farm-stat-icon-success,.farm-stat-icon-warning,.farm-stat-icon-info,.farm-stat-icon-danger { width:44px; height:44px; flex-basis:44px; border-radius:12px; font-size:19px; }

/* Tables: shared readability and compact density */
.table-responsive { border-radius:0px!important; }
.table { --bs-table-bg: transparent; color:var(--admin-text); }
.table > :not(caption) > * > * { padding:.72rem .8rem; vertical-align:middle; border-color:var(--admin-border); }
.table thead th { color:var(--admin-muted); font-size:.67rem; font-weight:850; text-transform:uppercase; letter-spacing:.055em; white-space:nowrap; }
.table tbody td { font-size:.78rem; }
.table-hover>tbody>tr:hover>* { --bs-table-bg-state:color-mix(in srgb,var(--admin-primary) 3.5%,transparent); }
.farm-table-title { font-size:.78rem; line-height:1.3; }
.farm-table-subtitle { font-size:.66rem; line-height:1.35; }
.farm-empty { padding:2.25rem 1rem!important; font-size:.76rem; }
.farm-empty i { font-size:1.35rem; }

/* Forms and filters */
.form-label { margin-bottom:.38rem; color:var(--admin-text); font-size:.7rem; font-weight:750; }
.form-text { margin-top:.3rem; color:var(--admin-muted); font-size:.65rem; line-height:1.4; }
.form-control,.form-select { min-height:40px; border-radius:9px; font-size:.8rem; }
textarea.form-control { min-height:96px; }
.farm-filter-card { padding:12px 14px; }
.farm-filter-card label { margin-bottom:.32rem; }
.input-group-text { font-size:.78rem; }

/* Buttons and actions */
.btn { border-radius:9px; font-weight:750; }
.btn-sm { border-radius:8px; }
.farm-action-group { align-items:center; gap:5px; }
.farm-action-btn { width:32px; height:32px; border-radius:8px; font-size:.74rem; transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease; }
.farm-action-btn:hover { transform:translateY(-1px); }

/* Status / role / utility chips */
.farm-status,.farm-role-badge { line-height:1; }
.badge { font-weight:800; }
.farm-account-status { display:inline-flex; align-items:center; gap:.35rem; padding:.32rem .52rem; border:1px solid var(--admin-border); border-radius:999px; font-size:.64rem; font-weight:850; white-space:nowrap; }
.farm-account-status.is-active { color:#067647; background:#ecfdf3; border-color:#abefc6; }
.farm-account-status.is-inactive { color:#475467; background:#f9fafb; border-color:#e4e7ec; }
[data-bs-theme="dark"] .farm-account-status.is-active { color:#75e0a7; background:rgba(18,183,106,.12); border-color:rgba(18,183,106,.25); }
[data-bs-theme="dark"] .farm-account-status.is-inactive { color:#d0d5dd; background:rgba(152,162,179,.08); border-color:rgba(152,162,179,.25); }

/* Empty-state normalization */
.farm-empty-state { min-height:150px; padding:1.75rem 1rem; }
.farm-empty-state > i { width:46px; height:46px; flex-basis:46px; font-size:1.05rem; border-radius:12px; }
.farm-empty-state h3,.farm-empty-state strong { font-size:.88rem; }
.farm-empty-state p { max-width:520px; font-size:.7rem; }

/* Modals */
.modal-header { padding:14px 16px; }
.modal-body { padding:16px; }
.modal-footer { padding:12px 16px; }
.modal-title { font-size:.92rem; font-weight:850; }
.farm-modal-help { margin-top:.15rem; font-size:.66rem; }

/* User / access management redesign */
.farm-user-stat { overflow:hidden; position:relative; }
.farm-user-stat::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--admin-primary); }
.farm-user-stat-success::before { background:var(--farm-success); }
.farm-user-stat-warning::before { background:var(--farm-warning); }
.farm-user-stat-neutral::before { background:#98a2b3; }
.farm-user-stat-neutral-icon { width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;color:#667085;background:color-mix(in srgb,#98a2b3 12%,var(--admin-surface-2));font-size:19px;position:relative;z-index:1; }
.farm-role-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.farm-role-summary-grid>div { min-width:0; padding:.7rem .8rem; border:1px solid var(--admin-border); border-radius:10px; background:var(--admin-surface-2); }
.farm-role-summary-grid small { display:block; margin-top:.45rem; color:var(--admin-muted); font-size:.64rem; line-height:1.4; }
.farm-user-cell { display:flex; align-items:center; gap:.7rem; min-width:205px; }
.farm-user-avatar.has-image { padding:0; overflow:hidden; }
.farm-user-avatar.has-image img { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; }
.farm-access-summary { border-style:dashed; }

/* Form section used by larger modals */
.farm-form-section { padding:.85rem; border:1px solid var(--admin-border); border-radius:11px; background:color-mix(in srgb,var(--admin-surface-2) 72%,transparent); }
.farm-form-section-heading { display:flex; align-items:flex-start; gap:.65rem; margin-bottom:.8rem; }
.farm-form-section-heading>i { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:9px; color:var(--admin-primary); background:var(--admin-primary-soft); }
.farm-form-section-heading strong { display:block; color:var(--admin-text); font-size:.75rem; }
.farm-form-section-heading small { display:block; margin-top:.12rem; color:var(--admin-muted); font-size:.63rem; line-height:1.35; }

/* Profile editor */
.farm-profile-photo-editor { padding:.9rem; border-radius:12px; }
.farm-profile-photo-preview { width:80px; height:80px; flex-basis:80px; border-radius:18px; }

/* Tabs and DataTables controls */
.farm-module-tabs { gap:.38rem; }
.farm-module-tabs a { padding:.5rem .7rem; border-radius:9px; font-size:.72rem; }
.dt-container .dt-layout-row { margin:.65rem .75rem; }
.dt-container .dt-search input,.dt-container .dt-length select { min-height:36px; }

/* Responsive audit */
@media(max-width:1199.98px){
  .farm-role-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767.98px){
  .admin-card-header{align-items:flex-start}
  .page-actions{width:100%}
  .page-actions .btn{flex:1}
  .table > :not(caption) > * > *{padding:.65rem .7rem}
  .farm-profile-photo-editor{align-items:flex-start}
}
@media(max-width:575.98px){
  .page-heading h1,.admin-page-header h1{font-size:1.28rem}
  .page-heading p,.admin-page-header p{font-size:.76rem}
  .admin-card-header,.admin-card-body{padding:13px}
  .stat-card{min-height:104px;padding:14px}
  .stat-card .stat-value{font-size:1.32rem}
  .farm-role-summary-grid{grid-template-columns:1fr}
  .farm-profile-photo-editor{flex-direction:column}
  .farm-profile-photo-preview{width:72px;height:72px;flex-basis:72px}
}

@media print{
  .farm-access-summary{display:none!important}
}

/* ============================================================
   v0.25.0 — Dashboard Command Center
   ============================================================ */
.farm-dashboard-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
.farm-dashboard-kpi{display:block;color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.farm-dashboard-kpi:hover{color:inherit;transform:translateY(-2px);border-color:color-mix(in srgb,var(--admin-primary) 36%,var(--admin-border));box-shadow:0 12px 28px rgba(15,23,42,.08)}
.farm-dashboard-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.farm-dashboard-finance-card{padding:.85rem 1rem;min-width:0}
.farm-dashboard-finance-card span,.farm-dashboard-finance-card small{display:block;color:var(--admin-muted);font-size:.68rem}
.farm-dashboard-finance-card strong{display:block;margin:.25rem 0 .2rem;color:var(--admin-text);font-size:1.08rem;line-height:1.2;overflow-wrap:anywhere}
.farm-dashboard-chart-area{height:286px}
.farm-dashboard-chip{display:inline-flex;align-items:center;padding:.35rem .55rem;border:1px solid var(--admin-border);border-radius:999px;background:var(--admin-surface-2);color:var(--admin-muted);font-size:.64rem;font-weight:800;white-space:nowrap}
.farm-dashboard-task-list,.farm-dashboard-alert-list{display:flex;flex-direction:column}
.farm-dashboard-task-item,.farm-dashboard-alert-item{display:flex;align-items:center;gap:.72rem;padding:.72rem .9rem;border-top:1px solid var(--admin-border);color:var(--admin-text);text-decoration:none;transition:background .15s ease}
.farm-dashboard-task-item:first-child,.farm-dashboard-alert-item:first-child{border-top:0}
.farm-dashboard-task-item:hover,.farm-dashboard-alert-item:hover{color:var(--admin-text);background:color-mix(in srgb,var(--admin-primary) 4%,transparent)}
.farm-dashboard-task-check,.farm-dashboard-alert-icon,.farm-dashboard-activity-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;background:var(--admin-primary-soft);color:var(--admin-primary)}
.farm-dashboard-task-item strong,.farm-dashboard-alert-item strong,.farm-dashboard-activity-item strong{display:block;font-size:.74rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.farm-dashboard-task-item small,.farm-dashboard-alert-item small,.farm-dashboard-activity-item small{display:block;margin-top:.15rem;color:var(--admin-muted);font-size:.63rem;line-height:1.35}
.farm-dashboard-due{margin-left:auto;padding:.3rem .48rem;border:1px solid var(--admin-border);border-radius:999px;color:var(--admin-muted);font-size:.62rem;font-weight:800;white-space:nowrap}
.farm-dashboard-due.is-today{color:#b54708;background:#fffaeb;border-color:#fedf89}
.farm-dashboard-due.is-overdue{color:#b42318;background:#fef3f2;border-color:#fecdca}
[data-bs-theme="dark"] .farm-dashboard-due.is-today{color:#fec84b;background:rgba(247,144,9,.10);border-color:rgba(247,144,9,.28)}
[data-bs-theme="dark"] .farm-dashboard-due.is-overdue{color:#fda29b;background:rgba(240,68,56,.10);border-color:rgba(240,68,56,.28)}
.farm-dashboard-alert-icon.is-critical,.farm-dashboard-alert-icon.is-danger{color:#d92d20;background:rgba(217,45,32,.10)}
.farm-dashboard-alert-icon.is-high,.farm-dashboard-alert-icon.is-warning{color:#dc6803;background:rgba(247,144,9,.11)}
.farm-dashboard-alert-icon.is-medium,.farm-dashboard-alert-icon.is-info{color:#1570ef;background:rgba(46,144,250,.10)}
.farm-dashboard-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.farm-dashboard-quick-grid>a{min-height:72px;padding:.72rem;border:1px solid var(--admin-border);border-radius:11px;background:var(--admin-surface-2);color:var(--admin-text);text-decoration:none;display:flex;flex-direction:column;justify-content:center;gap:.42rem;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.farm-dashboard-quick-grid>a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--admin-primary) 42%,var(--admin-border));background:color-mix(in srgb,var(--admin-primary) 5%,var(--admin-surface-2))}
.farm-dashboard-quick-grid i{color:var(--admin-primary);font-size:1rem}
.farm-dashboard-quick-grid span{font-size:.7rem;font-weight:800}
.farm-dashboard-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--admin-border)}
.farm-dashboard-activity-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.78rem .9rem;border-right:1px solid var(--admin-border);border-bottom:1px solid var(--admin-border);color:var(--admin-text);text-decoration:none}
.farm-dashboard-activity-item:nth-child(even){border-right:0}
.farm-dashboard-activity-item:hover{color:var(--admin-text);background:color-mix(in srgb,var(--admin-primary) 4%,transparent)}
.farm-dashboard-activity-item time{color:var(--admin-muted);font-size:.6rem;white-space:nowrap}
.farm-dashboard-activity-icon.is-success{color:#039855;background:rgba(18,183,106,.10)}
.farm-dashboard-activity-icon.is-warning{color:#dc6803;background:rgba(247,144,9,.11)}
.farm-dashboard-activity-icon.is-info{color:#1570ef;background:rgba(46,144,250,.10)}

@media(max-width:1399.98px){.farm-dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.farm-dashboard-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.farm-dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-dashboard-finance-grid{grid-template-columns:1fr 1fr}.farm-dashboard-chart-area{height:240px}.farm-dashboard-activity-grid{grid-template-columns:1fr}.farm-dashboard-activity-item{border-right:0}.farm-dashboard-due{font-size:.58rem}}
@media(max-width:575.98px){.farm-dashboard-kpi-grid,.farm-dashboard-finance-grid{grid-template-columns:1fr}.farm-dashboard-task-item,.farm-dashboard-alert-item{padding:.68rem .75rem}.farm-dashboard-due{max-width:105px;overflow:hidden;text-overflow:ellipsis}.farm-dashboard-quick-grid{grid-template-columns:1fr 1fr}.farm-dashboard-activity-item{grid-template-columns:34px minmax(0,1fr)}.farm-dashboard-activity-item time{grid-column:2}}

/* ============================================================
   v0.25.1 — Unified KPI / Summary Card Design
   One visual language for KPI cards across every Farm module.
   ============================================================ */

/* Shared KPI surface */
.stat-card,
.farm-task-stat,
.farm-system-stat,
.compliance-kpi,
.output-kpi,
.farm-user-stat {
    --card-accent: var(--admin-primary);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 118px;
    border: 1px solid color-mix(in srgb, var(--card-accent) 24%, var(--admin-border)) !important;
    background:
        linear-gradient(135deg,
            color-mix(in srgb, var(--card-accent) 7%, var(--admin-surface-2)) 0%,
            color-mix(in srgb, var(--card-accent) 2.5%, var(--admin-surface-2)) 58%,
            var(--admin-surface-2) 100%) !important;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--card-accent) 4%, transparent);
}

/* Soft colored corner used by System Health cards */
.stat-card::after,
.farm-task-stat::after,
.farm-system-stat::after,
.compliance-kpi::after,
.output-kpi::after,
.farm-user-stat::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 58px;
    height: 58px;
    border-radius: 0 0 0 58px;
    background: color-mix(in srgb, var(--card-accent) 20%, transparent);
    pointer-events: none;
}

.stat-card > *,
.farm-task-stat > *,
.farm-system-stat > *,
.compliance-kpi > *,
.output-kpi > *,
.farm-user-stat > * {
    position: relative;
    z-index: 1;
}

/* Remove old Users-only top stripe so all cards use the same corner style */
.farm-user-stat::before { display: none !important; }

/* Accent mapping */
.farm-task-stat-info,
.farm-system-stat-info,
.compliance-kpi-info,
.output-kpi-info { --card-accent: var(--farm-info); }

.farm-task-stat-success,
.farm-system-stat-success,
.compliance-kpi-success,
.output-kpi-success,
.farm-user-stat-success { --card-accent: var(--farm-success); }

.farm-task-stat-warning,
.farm-system-stat-warning,
.compliance-kpi-warning,
.output-kpi-warning,
.farm-user-stat-warning { --card-accent: var(--farm-warning); }

.farm-task-stat-danger,
.farm-system-stat-danger,
.compliance-kpi-danger,
.output-kpi-danger { --card-accent: var(--farm-danger); }

.farm-system-stat-violet,
.compliance-kpi-violet,
.output-kpi-violet { --card-accent: #7f56d9; }

.output-kpi-money { --card-accent: #06aed4; }
.farm-system-stat-neutral,
.farm-user-stat-neutral { --card-accent: #667085; }

/* Standard stat cards inherit the color of their icon variant */
.stat-card:has(.farm-stat-icon-info) { --card-accent: var(--farm-info); }
.stat-card:has(.farm-stat-icon-success) { --card-accent: var(--farm-success); }
.stat-card:has(.farm-stat-icon-warning) { --card-accent: var(--farm-warning); }
.stat-card:has(.farm-stat-icon-danger) { --card-accent: var(--farm-danger); }

/* Unified text rhythm */
.stat-card .stat-label,
.farm-task-stat .stat-label,
.farm-system-stat .stat-label,
.compliance-kpi .stat-label,
.output-kpi .stat-label,
.farm-user-stat .stat-label {
    display: block;
    color: var(--admin-muted);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.3;
}

.stat-card .stat-value,
.farm-task-stat .stat-value,
.farm-system-stat .stat-value,
.compliance-kpi .stat-value,
.output-kpi .stat-value,
.farm-user-stat .stat-value {
    display: block;
    margin-top: .3rem;
    color: var(--admin-text);
    font-size: 1.42rem;
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.stat-card .farm-kpi-note,
.farm-task-stat small,
.farm-system-stat small,
.compliance-kpi small,
.output-kpi small,
.farm-user-stat small {
    color: var(--admin-muted);
    font-size: .67rem;
    line-height: 1.4;
}

/* Unified icon tile */
.stat-card .stat-icon,
.farm-task-stat .stat-icon,
.farm-system-stat .stat-icon,
.compliance-kpi .stat-icon,
.output-kpi .stat-icon,
.farm-user-stat .stat-icon,
.farm-user-stat-neutral-icon,
.farm-stat-icon-success,
.farm-stat-icon-warning,
.farm-stat-icon-info,
.farm-stat-icon-danger {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--card-accent) 28%, var(--admin-border));
    color: var(--card-accent) !important;
    background: color-mix(in srgb, var(--card-accent) 10%, var(--admin-surface-2)) !important;
    font-size: 18px;
}

/* Dashboard finance cards should follow the same KPI language too */
.farm-dashboard-finance-card {
    --card-accent: var(--admin-primary);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 104px;
    border: 1px solid color-mix(in srgb, var(--card-accent) 20%, var(--admin-border)) !important;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--card-accent) 5%, var(--admin-surface-2)),
        var(--admin-surface-2) 72%) !important;
}
.farm-dashboard-finance-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    border-radius: 0 0 0 48px;
    background: color-mix(in srgb, var(--card-accent) 14%, transparent);
    pointer-events: none;
}
.farm-dashboard-finance-card > * { position: relative; z-index: 1; }

/* Dark theme: keep the same design without turning cards bright */
[data-bs-theme="dark"] .stat-card,
[data-bs-theme="dark"] .farm-task-stat,
[data-bs-theme="dark"] .farm-system-stat,
[data-bs-theme="dark"] .compliance-kpi,
[data-bs-theme="dark"] .output-kpi,
[data-bs-theme="dark"] .farm-user-stat,
[data-bs-theme="dark"] .farm-dashboard-finance-card {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--card-accent) 9%, var(--admin-surface-2)),
        var(--admin-surface-2) 68%) !important;
    box-shadow: none;
}

@media (max-width: 575.98px) {
    .stat-card,
    .farm-task-stat,
    .farm-system-stat,
    .compliance-kpi,
    .output-kpi,
    .farm-user-stat {
        min-height: 104px;
    }
    .stat-card .stat-value,
    .farm-task-stat .stat-value,
    .farm-system-stat .stat-value,
    .compliance-kpi .stat-value,
    .output-kpi .stat-value,
    .farm-user-stat .stat-value {
        font-size: 1.25rem;
    }
}

/* =========================================================
   Farm v0.25.3 - Output filter/tabs + grouped sidebar
   ========================================================= */

/* Output filter row: avoid squeezed date/status fields on wide screens. */
.farm-filter-grid {
  display:grid;
  gap:.65rem;
  align-items:end;
}
.farm-output-filter-grid {
  grid-template-columns:
    minmax(150px,1.15fr)
    minmax(165px,1.2fr)
    minmax(150px,1.1fr)
    minmax(150px,1.05fr)
    minmax(120px,.8fr)
    minmax(150px,.95fr)
    minmax(150px,.95fr)
    auto;
}
.farm-filter-field { min-width:0; }
.farm-filter-field .form-control,
.farm-filter-field .form-select { width:100%; }
.farm-filter-actions {
  display:flex;
  align-items:center;
  gap:.45rem;
  min-height:40px;
}
.farm-filter-actions .btn { min-height:40px; white-space:nowrap; }
.farm-filter-actions .btn-primary { min-width:92px; }

/* Module tabs support both anchors and real buttons. */
.farm-module-tabs {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
}
.farm-module-tabs a,
.farm-module-tabs button {
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--admin-border);
  border-radius:10px;
  background:var(--admin-surface);
  color:var(--admin-muted);
  min-height:38px;
  padding:.55rem .78rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.48rem;
  font:inherit;
  font-size:.75rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.farm-module-tabs a:hover,
.farm-module-tabs button:hover {
  color:var(--admin-primary);
  border-color:color-mix(in srgb,var(--admin-primary) 28%,var(--admin-border));
  background:var(--admin-primary-soft);
  transform:translateY(-1px);
}
.farm-module-tabs a.active,
.farm-module-tabs button.active {
  color:var(--admin-primary);
  border-color:color-mix(in srgb,var(--admin-primary) 42%,var(--admin-border));
  background:var(--admin-primary-soft);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--admin-primary) 10%,transparent);
}
.farm-module-tabs .badge {
  min-width:22px;
  padding:.28rem .42rem;
  font-size:.61rem;
  line-height:1;
}

/* Grouped sidebar: make long module navigation compact but familiar. */
.admin-sidebar-scroll > .admin-nav-button {
  margin-bottom:2px;
}
.admin-sidebar-scroll > .admin-nav-button.active-parent {
  background:color-mix(in srgb,var(--farm-shell-text) 11%,transparent);
  box-shadow:inset 3px 0 var(--admin-sidebar-accent);
}
.admin-sidebar-scroll > .admin-subnav {
  margin:0 0 4px;
  padding:3px 4px 7px 34px;
}
.admin-sidebar-scroll > .admin-subnav .admin-nav-link {
  min-height:35px;
  padding:7px 9px;
  border-radius:8px;
  font-size:.75rem;
}
.admin-sidebar-scroll > .admin-subnav .admin-nav-link .subnav-icon {
  width:16px;
  flex:0 0 16px;
  font-size:.72rem;
  text-align:center;
}
.admin-sidebar-scroll > .admin-subnav .admin-nav-link.active {
  box-shadow:inset 2px 0 var(--admin-sidebar-accent);
}
.admin-sidebar-scroll > .admin-nav-button .chevron {
  transition:transform .18s ease;
}

@media (max-width:1399.98px) {
  .farm-output-filter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .farm-output-filter-grid .farm-filter-actions { grid-column:span 4; justify-content:flex-end; }
}
@media (max-width:991.98px) {
  .farm-output-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .farm-output-filter-grid .farm-filter-actions { grid-column:span 2; }
}
@media (max-width:575.98px) {
  .farm-output-filter-grid { grid-template-columns:1fr; }
  .farm-output-filter-grid .farm-filter-actions { grid-column:auto; }
  .farm-filter-actions .btn-primary { flex:1 1 auto; }
  .farm-module-tabs { display:grid; grid-template-columns:1fr; }
  .farm-module-tabs a,
  .farm-module-tabs button { width:100%; }
}

/* ============================================================
   v0.25.4 — Compact KPI Cards + Global Modal Audit
   Keep every summary card readable without oversized typography.
   ============================================================ */

/* Compact shared KPI cards across every module */
.stat-card,
.farm-task-stat,
.farm-system-stat,
.compliance-kpi,
.output-kpi,
.farm-user-stat {
    min-width: 0;
    min-height: 102px !important;
    padding: 12px 13px !important;
    border-radius: 12px !important;
}

.stat-card::after,
.farm-task-stat::after,
.farm-system-stat::after,
.compliance-kpi::after,
.output-kpi::after,
.farm-user-stat::after {
    width: 46px !important;
    height: 46px !important;
    border-radius: 0 0 0 46px !important;
}

/* Prevent long labels, currencies and notes from being clipped */
.stat-card > *,
.farm-task-stat > *,
.farm-system-stat > *,
.compliance-kpi > *,
.output-kpi > *,
.farm-user-stat > * {
    min-width: 0;
}

.stat-card .stat-label,
.farm-task-stat .stat-label,
.farm-system-stat .stat-label,
.compliance-kpi .stat-label,
.output-kpi .stat-label,
.farm-user-stat .stat-label,
.farm-system-stat .farm-system-stat-label,
.output-kpi .output-kpi-label,
.compliance-kpi .compliance-kpi-label {
    display: block;
    margin: 0;
    font-size: .64rem !important;
    font-weight: 760 !important;
    line-height: 1.28 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere;
}

.stat-card .stat-value,
.farm-task-stat .stat-value,
.farm-system-stat .stat-value,
.compliance-kpi .stat-value,
.output-kpi .stat-value,
.farm-user-stat .stat-value,
.farm-system-stat .farm-system-stat-value,
.output-kpi .output-kpi-value,
.compliance-kpi .compliance-kpi-value {
    display: block;
    margin-top: .2rem !important;
    max-width: 100%;
    font-size: 1.16rem !important;
    font-weight: 850 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.stat-card .farm-kpi-note,
.farm-task-stat .farm-kpi-note,
.farm-system-stat .farm-kpi-note,
.compliance-kpi .farm-kpi-note,
.output-kpi .farm-kpi-note,
.farm-user-stat .farm-kpi-note,
.farm-system-stat small,
.output-kpi small,
.compliance-kpi small {
    display: block;
    margin-top: .28rem !important;
    max-width: 100%;
    color: var(--admin-muted);
    font-size: .59rem !important;
    line-height: 1.32 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere;
}

/* Smaller icon tiles leave more room for content */
.stat-card .stat-icon,
.farm-stat-icon-success,
.farm-stat-icon-warning,
.farm-stat-icon-info,
.farm-stat-icon-danger,
.farm-task-stat .stat-icon,
.farm-system-stat .stat-icon,
.compliance-kpi .stat-icon,
.output-kpi .stat-icon,
.farm-user-stat .stat-icon,
.farm-system-stat .farm-system-stat-icon,
.output-kpi .output-kpi-icon,
.compliance-kpi .compliance-kpi-icon,
.farm-user-stat .farm-user-stat-icon,
.farm-user-stat-neutral-icon {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
}

/* Generic card typography: compact but fully readable */
.admin-card-header { padding: 12px 14px !important; }
.admin-card-body { padding: 14px !important; }
.admin-card-header h3,
.admin-card-header .admin-card-title { font-size: .82rem !important; line-height: 1.28 !important; }
.admin-card-header p,
.admin-card-header .admin-card-subtitle { font-size: .64rem !important; line-height: 1.4 !important; }

/* Make content wrap instead of disappearing in cards */
.admin-card,
.admin-card-body,
.admin-card-header,
.stat-card,
.farm-task-stat,
.farm-system-stat,
.compliance-kpi,
.output-kpi,
.farm-user-stat {
    overflow-wrap: anywhere;
}

/* ============================================================
   Global Bootstrap modal normalization
   Audited for modal-md/default/lg/xl + centered/scrollable variants.
   ============================================================ */
.modal { --bs-modal-margin: .75rem; }
.modal-dialog { margin: .75rem auto; }
.modal-dialog.modal-md { max-width: 620px; }
.modal-dialog:not(.modal-sm):not(.modal-md):not(.modal-lg):not(.modal-xl) { max-width: 620px; }
.modal-lg { --bs-modal-width: 820px; }
.modal-xl { --bs-modal-width: 1080px; }

.modal-content {
    max-height: calc(100dvh - 1.5rem);
    overflow: hidden !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: 14px !important;
    background: var(--admin-surface) !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .22) !important;
}

.modal-header {
    flex: 0 0 auto;
    min-height: 54px;
    padding: 11px 14px !important;
    gap: .75rem;
    border-bottom: 1px solid var(--admin-border) !important;
    background: linear-gradient(180deg, var(--admin-surface-2), var(--admin-surface)) !important;
}
.modal-title {
    margin: 0;
    color: var(--admin-text);
    font-size: .86rem !important;
    font-weight: 850 !important;
    line-height: 1.3;
}
.modal-header .btn-close {
    flex: 0 0 auto;
    width: 31px;
    height: 31px;
    padding: 0 !important;
    margin: 0 0 0 auto !important;
    border-radius: 9px;
    background-size: 10px;
    opacity: .72;
}
.modal-header .btn-close:hover { background-color: var(--admin-surface-3); opacity: 1; }

.modal-body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: calc(100dvh - 136px);
    padding: 14px !important;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--admin-text);
    font-size: .75rem;
    line-height: 1.45;
    scrollbar-width: thin;
}
.modal-dialog-scrollable .modal-body { overflow-y: auto; }

.modal-footer {
    flex: 0 0 auto;
    padding: 10px 14px !important;
    gap: .45rem;
    border-top: 1px solid var(--admin-border) !important;
    background: var(--admin-surface-2) !important;
}
.modal-footer > * { margin: 0 !important; }
.modal-footer .btn { min-width: 92px; }

/* Compact forms inside every modal */
.modal-body .row { --bs-gutter-x: .75rem; --bs-gutter-y: .72rem; }
.modal-body .form-label { margin-bottom: .28rem; font-size: .66rem !important; }
.modal-body .form-text,
.modal-body .farm-modal-help { font-size: .6rem !important; line-height: 1.35; }
.modal-body .form-control,
.modal-body .form-select {
    min-height: 37px !important;
    padding-top: .42rem;
    padding-bottom: .42rem;
    font-size: .76rem !important;
    border-radius: 8px !important;
}
.modal-body textarea.form-control { min-height: 82px !important; }
.modal-body .input-group-text { font-size: .72rem; }
.modal-body .form-check { min-height: 1.25rem; }
.modal-body .form-check-label { font-size: .7rem; line-height: 1.35; }

/* Section cards used inside large forms/modals */
.modal-body .farm-form-section {
    padding: .72rem !important;
    border-radius: 10px !important;
}
.modal-body .farm-form-section-heading { gap: .55rem; margin-bottom: .65rem !important; }
.modal-body .farm-form-section-heading > i {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
    border-radius: 8px !important;
    font-size: .72rem;
}
.modal-body .farm-form-section-heading strong { font-size: .7rem !important; }
.modal-body .farm-form-section-heading small { font-size: .58rem !important; }

/* Keep tables/long components usable inside modals */
.modal-body .table-responsive { max-width: 100%; overflow-x: auto; border-radius: 0 !important; }
.modal-body .table { font-size: .7rem; }
.modal-body .table > :not(caption) > * > * { padding: .55rem .62rem; }

/* SweetAlert should visually match our compact modal system */
.swal2-popup {
    border-radius: 14px !important;
    border: 1px solid var(--admin-border) !important;
    background: var(--admin-surface) !important;
    color: var(--admin-text) !important;
    font-size: .78rem !important;
}
.swal2-title { color: var(--admin-text) !important; font-size: 1.02rem !important; }
.swal2-html-container { color: var(--admin-muted) !important; font-size: .74rem !important; }

/* Mobile modals: almost full-screen with fixed header/footer and scrollable body */
@media (max-width: 767.98px) {
    .modal { --bs-modal-margin: .45rem; }
    .modal-dialog,
    .modal-dialog.modal-md,
    .modal-lg,
    .modal-xl {
        width: auto !important;
        max-width: none !important;
        margin: .45rem !important;
    }
    .modal-content {
        max-height: calc(100dvh - .9rem);
        border-radius: 12px !important;
    }
    .modal-header { min-height: 50px; padding: 10px 12px !important; }
    .modal-body { max-height: calc(100dvh - 119px); padding: 12px !important; }
    .modal-footer { padding: 9px 12px !important; }
    .modal-footer .btn { min-width: 0; flex: 1 1 auto; }
}

@media (max-width: 575.98px) {
    .stat-card,
    .farm-task-stat,
    .farm-system-stat,
    .compliance-kpi,
    .output-kpi,
    .farm-user-stat {
        min-height: 94px !important;
        padding: 11px 12px !important;
    }
    .stat-card .stat-value,
    .farm-task-stat .stat-value,
    .farm-system-stat .stat-value,
    .compliance-kpi .stat-value,
    .output-kpi .stat-value,
    .farm-user-stat .stat-value,
    .farm-system-stat .farm-system-stat-value,
    .output-kpi .output-kpi-value,
    .compliance-kpi .compliance-kpi-value {
        font-size: 1.06rem !important;
    }
}

/* v1.0.0 sidebar module organization
   Advanced Suite pages now live in the main application sidebar. */
.admin-subnav-section {
    padding: .6rem .72rem .22rem;
    margin-top: .18rem;
    font-size: .58rem;
    line-height: 1.2;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .075em;
    color: var(--admin-sidebar-muted);
    opacity: .82;
    user-select: none;
    pointer-events: none;
}
.admin-subnav-section + .admin-nav-link { margin-top: .06rem; }
body.sidebar-collapsed .admin-subnav-section { display: none; }

/* =========================================================
   MHSD FARM v1.0.4 - Browser Protection Selection Guard
   The master Browser Protection switch blocks text selection,
   copy and cut. Paste remains available (Ctrl/Cmd+V).
   ========================================================= */
html.mhsd-browser-protection,
html.mhsd-browser-protection body,
html.mhsd-browser-protection body * {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
}

/* MHSD FARM v1.1.3 - labels */
@media print{.label-sheet{gap:6mm}.label-sheet-card{box-shadow:none}.label-print-toolbar{display:none!important}body{background:#fff!important}.admin-shell,.admin-sidebar,.admin-topbar,.admin-footer{display:none!important}.admin-main,.admin-page{display:block!important;margin:0!important;padding:0!important;width:100%!important}}
@media(max-width:767.98px){.label-sheet{grid-template-columns:1fr}.label-sheet-card.large{grid-column:auto}}


/* =========================================================
   MHSD FARM v1.1.5 — No Blur UI
   Keeps overlays and loaders clear/solid without backdrop blur.
   ========================================================= */
.admin-topbar,.admin-footer,.admin-loader-surface,.modal-backdrop.show,.toast,.swal2-container,.farm-auth-panel{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.admin-glass-ring-loader::before,.admin-glass-ring-outer{filter:none!important;}
html[data-bs-theme="dark"] .farm-auth-panel{background:var(--admin-surface,#111827);}

/* ============================================================
   v1.3.4 — Dashboard & Daily Operations Command Center
   ============================================================ */
.dashboard-widget{position:relative}
.dashboard-widget.dashboard-user-hidden{display:none!important}
.dashboard-widget-drag{position:absolute;top:-7px;right:-7px;z-index:12;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--admin-border);border-radius:9px;background:var(--admin-surface-2);color:var(--admin-muted);box-shadow:0 5px 14px rgba(15,23,42,.08);opacity:.25;transition:opacity .15s ease,color .15s ease,border-color .15s ease;cursor:grab}
.dashboard-widget:hover>.dashboard-widget-drag,.dashboard-widget-drag:focus{opacity:1;color:var(--admin-primary);border-color:color-mix(in srgb,var(--admin-primary) 38%,var(--admin-border))}
.dashboard-widget-drag:active{cursor:grabbing}
.dashboard-widget-ghost{opacity:.42}
.farm-dashboard-finance-grid-wide{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.farm-dashboard-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.farm-dashboard-command-card{--command-accent:var(--admin-primary);display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.7rem;min-height:96px;padding:.82rem;border:1px solid color-mix(in srgb,var(--command-accent) 24%,var(--admin-border));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--command-accent) 6%,var(--admin-surface-2)),var(--admin-surface-2));color:var(--admin-text);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.farm-dashboard-command-card:hover{color:var(--admin-text);transform:translateY(-1px);border-color:color-mix(in srgb,var(--command-accent) 44%,var(--admin-border));box-shadow:0 8px 18px color-mix(in srgb,var(--command-accent) 7%,transparent)}
.farm-dashboard-command-card.is-danger{--command-accent:#d92d20}
.farm-dashboard-command-card.is-warning{--command-accent:#dc6803}
.farm-dashboard-command-card.is-success{--command-accent:#039855}
.farm-dashboard-command-card.is-info{--command-accent:#1570ef}
.farm-dashboard-command-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--command-accent) 10%,var(--admin-surface-2));color:var(--command-accent);font-size:1rem}
.farm-dashboard-command-card small,.farm-dashboard-command-card em{display:block;color:var(--admin-muted);font-size:.63rem;font-style:normal;line-height:1.32}
.farm-dashboard-command-card strong{display:block;margin:.1rem 0;font-size:1.28rem;line-height:1.1;color:var(--admin-text)}
.farm-dashboard-milestone-list{display:flex;flex-direction:column}
.farm-dashboard-milestone-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.72rem;padding:.75rem .9rem;border-top:1px solid var(--admin-border);color:var(--admin-text);text-decoration:none;transition:background .15s ease}
.farm-dashboard-milestone-item:first-child{border-top:0}
.farm-dashboard-milestone-item:hover{color:var(--admin-text);background:color-mix(in srgb,var(--admin-primary) 4%,transparent)}
.farm-dashboard-milestone-item strong{display:block;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.farm-dashboard-milestone-item small{display:block;margin-top:.15rem;color:var(--admin-muted);font-size:.63rem}
.farm-dashboard-milestone-item time{padding:.3rem .48rem;border:1px solid var(--admin-border);border-radius:999px;color:var(--admin-muted);font-size:.61rem;font-weight:800;white-space:nowrap}
.dashboard-widget-options{display:flex;flex-direction:column;border:1px solid var(--admin-border);border-radius:12px;overflow:hidden}
.dashboard-widget-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem .9rem;border-top:1px solid var(--admin-border);background:var(--admin-surface-2);color:var(--admin-text);font-size:.74rem;font-weight:700;cursor:pointer}
.dashboard-widget-option:first-child{border-top:0}
.dashboard-widget-option:hover{background:color-mix(in srgb,var(--admin-primary) 4%,var(--admin-surface-2))}
.dashboard-widget-option .fa-grip-lines{color:var(--admin-muted)}
@media(max-width:1199.98px){.farm-dashboard-command-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.farm-dashboard-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-widget-drag{right:2px}.farm-dashboard-milestone-item{grid-template-columns:34px minmax(0,1fr) auto}}
@media(max-width:575.98px){.farm-dashboard-command-grid{grid-template-columns:1fr}.farm-dashboard-milestone-item{grid-template-columns:34px minmax(0,1fr)}.farm-dashboard-milestone-item time{grid-column:2;justify-self:start}.dashboard-widget-drag{top:-4px}}
@media print{.dashboard-widget-drag{display:none!important}.dashboard-widget.dashboard-user-hidden{display:block!important}}


/* ============================================================
   v1.3.5 — Advanced Reports & Management Insights
   ============================================================ */
.farm-report-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:.18rem;-webkit-overflow-scrolling:touch}
.farm-report-tabs>a{flex:0 0 auto;white-space:nowrap}
@media(max-width:575.98px){.farm-module-tabs.farm-report-tabs{display:flex;grid-template-columns:none}.farm-report-tabs>a{justify-content:flex-start}}
@media print{.farm-report-tabs{display:none!important}.professional-datatable{overflow:visible!important}.professional-datatable table{width:100%!important;font-size:9.5pt}.admin-card{break-inside:avoid}.admin-card .table-responsive{overflow:visible!important}}

/* ========================================================================
   Mobile Navigation & Touch UX
   ======================================================================== */
.admin-field-quick{min-height:38px;border-radius:10px}
@media (max-width:991.98px){.admin-footer{margin-bottom:0}.modal-dialog{margin:.5rem}.modal-content{max-height:calc(100dvh - 1rem)}.modal-body{overflow:auto}.modal-footer{position:sticky;bottom:0;z-index:4;background:var(--bs-body-bg);border-top:1px solid var(--bs-border-color);padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.modal-footer .btn{min-height:44px}.admin-page .form-control,.admin-page .form-select,.admin-page .btn{touch-action:manipulation}}

/* v1.6.5 Unified Operations Calendar */
.farm-calendar-filter .form-label{font-size:.72rem;font-weight:800;color:var(--admin-muted);text-transform:uppercase;letter-spacing:.035em}
.farm-calendar-attention-filter{min-height:38px;display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem .55rem 2.75rem;border:1px solid var(--admin-border);border-radius:10px;background:var(--admin-surface-2)}
.farm-calendar-event-production{border-left:3px solid #6172f3}.farm-calendar-event-feed{border-left:3px solid #15b79e}.farm-calendar-event-crop{border-left:3px solid #12b76a}.farm-calendar-event-aquaculture{border-left:3px solid #2e90fa}.farm-calendar-event-procurement{border-left:3px solid #f79009}.farm-calendar-event-receivable{border-left:3px solid #ee46bc}
.farm-calendar-event.is-attention{background:color-mix(in srgb,#f04438 8%,var(--admin-surface));border-color:color-mix(in srgb,#f04438 35%,var(--admin-border));box-shadow:inset 3px 0 0 #f04438}.farm-calendar-event.is-attention i{color:#d92d20}
.farm-calendar-legend{font-size:.72rem;color:var(--admin-muted)}.farm-calendar-legend-item{display:inline-flex;align-items:center;gap:.32rem;padding:.35rem .55rem;border:1px solid var(--admin-border);border-radius:999px;background:var(--admin-surface)}.farm-calendar-legend-item i{color:var(--admin-primary)}
.farm-calendar-agenda{display:grid}.farm-calendar-agenda-item{display:flex;gap:.7rem;align-items:center;padding:.75rem .9rem;border-top:1px solid var(--admin-border);color:var(--admin-text);text-decoration:none}.farm-calendar-agenda-item:first-child{border-top:0}.farm-calendar-agenda-item:hover{background:var(--admin-surface-2)}.farm-calendar-agenda-item.is-attention{background:color-mix(in srgb,#f04438 5%,var(--admin-surface))}.farm-calendar-agenda-item>span:last-child{display:grid;gap:.16rem}.farm-calendar-agenda-item>span:last-child>strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.farm-calendar-agenda-item>span:last-child>small{font-size:.67rem;color:var(--admin-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.farm-calendar-agenda-date{width:42px;height:42px;flex:0 0 42px;border-radius:10px;display:grid;place-items:center;background:var(--admin-surface-2);border:1px solid var(--admin-border);line-height:1}.farm-calendar-agenda-date strong{font-size:.9rem}.farm-calendar-agenda-date small{font-size:.58rem;text-transform:uppercase;color:var(--admin-muted)}
@media(max-width:767.98px){.farm-calendar-filter .col-md-2,.farm-calendar-filter .col-md-4{width:100%}.farm-calendar-attention-filter{margin-top:.1rem}}

/* MHSD FARM v1.6.6 - Daily Operations Board */
.farm-work-queue{display:flex;flex-direction:column}.farm-work-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto 86px 24px;gap:12px;align-items:center;padding:14px 16px;border-top:1px solid var(--bs-border-color);color:inherit;text-decoration:none;transition:background-color .16s ease,border-color .16s ease}.farm-work-item:first-child{border-top:0}.farm-work-item:hover{background:rgba(var(--bs-primary-rgb),.045);color:inherit}.farm-work-item.is-attention{box-shadow:inset 3px 0 0 rgba(var(--bs-danger-rgb),.8)}.farm-work-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(var(--bs-primary-rgb),.09);color:var(--bs-primary)}.farm-work-main{min-width:0}.farm-work-main strong{line-height:1.25}.farm-work-main>small{display:block;color:var(--bs-secondary-color);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.farm-work-source{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);font-size:.72rem;font-weight:600;color:var(--bs-secondary-color)}.farm-work-amount{font-weight:700;white-space:nowrap}.farm-work-due{display:flex;flex-direction:column;text-align:right;white-space:nowrap}.farm-work-due small{font-size:.72rem;color:var(--bs-secondary-color)}.farm-work-due-overdue strong{color:var(--bs-danger)}.farm-work-due-today strong{color:var(--bs-warning-text-emphasis)}.farm-work-open{color:var(--bs-secondary-color);text-align:right}.farm-work-icon-approval,.farm-work-icon-shortage{background:rgba(var(--bs-danger-rgb),.1);color:var(--bs-danger)}.farm-work-icon-receivable,.farm-work-icon-procurement,.farm-work-icon-requisition{background:rgba(var(--bs-warning-rgb),.12);color:var(--bs-warning-text-emphasis)}.farm-work-icon-health,.farm-work-icon-maintenance{background:rgba(var(--bs-info-rgb),.12);color:var(--bs-info-text-emphasis)}.farm-work-icon-crop,.farm-work-icon-aquaculture,.farm-work-icon-batch{background:rgba(var(--bs-success-rgb),.1);color:var(--bs-success)}
@media(max-width:767.98px){.farm-work-item{grid-template-columns:40px minmax(0,1fr) auto;padding:12px}.farm-work-amount{grid-column:2/3}.farm-work-due{grid-column:3/4;grid-row:1/3;align-self:center}.farm-work-open{display:none}.farm-work-main>small{white-space:normal}}
