/* RD37 — suite landing page */
* { box-sizing: border-box; }
body {
  margin: 0; font-family: system-ui, -apple-system, sans-serif;
  background: #f4f6f2; color: #1a1a18; min-height: 100vh;
}

/* HOME */
.home-top {
  background: #1a3d2b; display: flex; align-items: center; justify-content: space-between;
  padding: 12px 24px;
}
.home-brand { display: flex; align-items: center; gap: 12px; font-family: 'DM Sans', sans-serif; font-size: 17px; font-weight: 500; color: #fff; }
.home-main { max-width: 880px; margin: 0 auto; padding: 32px 24px 64px; }
.home-row { display: flex; align-items: center; justify-content: space-between; }
.home-main h2 { font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 500; color: #1a3d2b; margin: 0 0 14px; }
.muted-inline { color: #6b7b66; font-weight: 400; }
.home-apps { margin-top: 40px; }

.farm-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.farm-card {
  background: #fff; border: 1px solid #e4e7df; border-radius: 14px; padding: 16px 18px;
  cursor: pointer; position: relative; transition: border-color .12s;
}
.farm-card:hover { border-color: #97C459; }
.farm-card.active { border-color: #2d6a4f; background: #f3f9ee; }
.farm-card-top { display: flex; align-items: center; justify-content: space-between; }
.farm-card-name { font-weight: 600; font-size: 15px; color: #1a3d2b; }
.farm-card-tick { color: #2d6a4f; font-weight: 700; }
.farm-card-meta { font-size: 12px; color: #7a8a74; margin-top: 4px; }
.farm-card-manage {
  margin-top: 12px; font-size: 12px; background: #fff; border: 1px solid #d7ddd0;
  color: #2d6a4f; padding: 5px 11px; border-radius: 7px; cursor: pointer; font-weight: 600;
}
.farm-card-manage:hover { background: #e8f5ee; }

.app-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.app-tile {
  background: #fff; border: 1px solid #e4e7df; border-radius: 14px; padding: 22px;
  text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 6px;
  transition: border-color .12s, transform .12s;
}
.app-tile:hover { border-color: #2d6a4f; transform: translateY(-2px); }
.app-tile-ico { font-size: 28px; }
.app-tile-name { font-family: 'DM Sans', sans-serif; font-size: 18px; font-weight: 700; color: #1a3d2b; }
.app-tile-desc { font-size: 13px; color: #7a8a74; }

.btn-ghost {
  background: #fff; border: 1px solid #d7ddd0; color: #2d6a4f; font-weight: 600;
  font-size: 13px; padding: 7px 13px; border-radius: 8px; cursor: pointer;
}
.btn-ghost:hover { background: #e8f5ee; }
.btn-primary {
  background: #2d6a4f; color: #fff; border: none; border-radius: 9px;
  padding: 11px 18px; font-size: 14px; font-weight: 600; cursor: pointer;
}
.btn-primary:hover { background: #235741; }

/* DASHBOARD SECTIONS */
.dash-section { margin-top: 20px; }
.dash-section-hdr { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.dash-section-title { font-size:13px; font-weight:700; color:#1a3d2b; }
.dash-section-note { font-size:11px; color:#9aa595; font-weight:400; margin-left:5px; }
.dash-link-btn { font-size:12px; color:#2d6a4f; font-weight:600; background:none; border:none; cursor:pointer; padding:0; text-decoration:none; }
.dash-empty-note { font-size:13px; color:#9aa595; padding:4px 0; }

/* Today's tasks */
.dash-task-list { background:#fff; border:1px solid #e4e7df; border-radius:12px; overflow:hidden; }
.task-row { display:flex; align-items:center; gap:10px; padding:11px 14px; border-bottom:1px solid #f0f2ed; font-size:13px; }
.task-row:last-child { border-bottom:none; }
.task-icon { font-size:16px; flex-shrink:0; }
.task-title { font-weight:600; color:#1a3d2b; }
.task-sub { font-size:11px; color:#7a8a74; margin-top:2px; }
.task-overdue { color:#b45309; font-weight:600; }
.task-open { font-size:11px; color:#2d6a4f; font-weight:600; text-decoration:none; white-space:nowrap; }
.task-check-wrap { display:flex; align-items:center; cursor:pointer; }
.task-check { width:20px; height:20px; accent-color:#2d6a4f; cursor:pointer; }

/* Cover entry */
.cover-entry-list { background:#fff; border:1px solid #e4e7df; border-radius:12px; overflow:hidden; }
.cover-entry-row { display:flex; align-items:center; gap:8px; padding:9px 14px; border-bottom:1px solid #f0f2ed; }
.cover-entry-row:last-child { border-bottom:none; }
.cover-pad-lbl { font-weight:600; color:#1a3d2b; font-size:13px; margin-right:6px; }
.cover-pad-val { font-size:11px; color:#7a8a74; }
.cover-stale { color:#b45309; }
.cover-num-input { width:72px; border:1px solid #e4e7df; border-radius:6px; padding:5px 8px; font-size:13px; text-align:right; }
.cover-save-btn { background:#2d6a4f; color:#fff; border:none; border-radius:6px; width:30px; height:30px; font-size:14px; cursor:pointer; flex-shrink:0; }
.cover-entry-row { display:block; padding:10px 14px; }
.cover-entry-head { display:flex; align-items:baseline; gap:8px; margin-bottom:7px; }
.cover-pick-row { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.cover-pick { border:1px solid #d7ddd0; background:#fff; color:#2d6a4f; border-radius:16px; padding:6px 13px; font-size:13px; font-weight:600; cursor:pointer; }
.cover-pick:hover { background:#e8f5ee; }
.cover-pick:active { background:#2d6a4f; color:#fff; }

/* Activity log */
.activity-list { background:#fff; border:1px solid #e4e7df; border-radius:12px; overflow:hidden; }
.activity-row { display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid #f0f2ed; font-size:12px; }
.activity-row:last-child { border-bottom:none; }
.activity-icon { font-size:14px; flex-shrink:0; }
.activity-text { flex:1; color:#1a3d2b; }
.activity-date { color:#9aa595; white-space:nowrap; font-size:11px; }

/* Weekly summary */
.dash-summary-pre { background:#f4f6f2; border:1px solid #e4e7df; border-radius:8px; padding:14px; font-size:12px; font-family:monospace; white-space:pre-wrap; color:#1a3d2b; margin-bottom:10px; max-height:400px; overflow-y:auto; }
.dash-export-btn { background:#2d6a4f; color:#fff; border:none; border-radius:8px; padding:9px 16px; font-size:13px; font-weight:600; cursor:pointer; }

/* ONBOARD */
#onboard { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.onboard-card {
  background: #fff; border-radius: 18px; padding: 40px; width: 440px; max-width: 92vw;
  text-align: center; box-shadow: 0 12px 40px rgba(0,0,0,.1);
}
.onboard-badge { display: flex; justify-content: center; margin-bottom: 16px; }
.onboard-title { font-family: 'DM Sans', sans-serif; font-size: 22px; font-weight: 700; color: #1a3d2b; }
.onboard-sub { font-size: 14px; color: #6b7b66; margin: 8px 0 24px; line-height: 1.5; }
.onboard-form { display: flex; gap: 8px; }
.onboard-input { flex: 1; border: 1px solid #d7ddd0; border-radius: 9px; padding: 11px 13px; font-size: 14px; }
.onboard-err { color: #dc2626; font-size: 13px; margin-top: 12px; min-height: 18px; }
.onboard-foot { font-size: 12px; color: #9aa595; margin-top: 20px; }

/* DASHBOARD */
.home-dashboard { margin-top: 36px; }
.dash-header { display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; }
.dash-header h2 { margin: 0; }
.dash-loading { color: #9aa595; font-size: 13px; padding: 8px 0; }

.dash-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.dash-stat {
  background: #fff;
  border: 1px solid #e4e7df;
  border-radius: 12px;
  padding: 14px 16px;
}
.dash-stat-good { border-color: #86efac; background: #f0fdf4; }
.dash-stat-warn { border-color: #fcd34d; background: #fffbeb; }
.dash-stat-bad  { border-color: #fca5a5; background: #fef2f2; }
.dash-stat-label { font-size: 11px; font-weight: 600; color: #6b7b66; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.dash-stat-value { font-family: 'DM Sans', sans-serif; font-size: 22px; font-weight: 700; color: #1a3d2b; line-height: 1.1; }
.dash-stat-unit  { font-size: 13px; font-weight: 400; color: #7a8a74; }
.dash-stat-sub   { font-size: 11px; color: #7a8a74; margin-top: 6px; }
.dash-overdue    { color: #b45309; font-weight: 600; }

.dash-bar-track { height: 5px; background: #e4e7df; border-radius: 3px; margin: 8px 0 6px; overflow: hidden; }
.dash-bar-fill  { height: 100%; border-radius: 3px; transition: width .3s; }
.dash-bar-good  { background: #2d6a4f; }
.dash-bar-warn  { background: #b45309; }
.dash-bar-bad   { background: #dc2626; }

.dash-alerts { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.dash-alert {
  font-size: 12px; padding: 8px 12px; border-radius: 8px; border: 1px solid;
}
.dash-alert-warn { background: #fffbeb; border-color: #fcd34d; color: #92400e; }
.dash-alert-bad  { background: #fef2f2; border-color: #fca5a5; color: #991b1b; }

.dash-mobs-title { font-size: 13px; font-weight: 600; color: #1a3d2b; margin-bottom: 8px; }
.dash-mobs-list {
  background: #fff; border: 1px solid #e4e7df; border-radius: 12px; overflow: hidden;
}
.dash-mob-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-bottom: 1px solid #f0f2ed; font-size: 13px;
}
.dash-mob-row:last-child { border-bottom: none; }
.dash-mob-dot  { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.dash-mob-name { font-weight: 600; color: #1a3d2b; min-width: 80px; }
.dash-mob-tag  { font-size: 10px; background: #dcfce7; color: #166534; border-radius: 4px; padding: 1px 5px; margin-left: 5px; font-weight: 500; }
.dash-mob-loc  { color: #6b7b66; flex: 1; }
.dash-mob-warn { color: #dc2626; font-weight: 600; }
.dash-mob-demand { color: #1a3d2b; font-weight: 500; white-space: nowrap; }
.dash-mob-weighed { font-size: 11px; color: #9aa595; white-space: nowrap; }
