/* SR mobile UI, Pass 1. Shared tokens; no business or API behavior. */
:root {
  --sr-font-scale:1;
  --sr-forest:#163A2E; --sr-forest-deep:#102B23; --sr-cream:#F7F5ED;
  --sr-surface:#FFFEF8; --sr-bronze:#746747; --sr-gold:#B5AA7B;
  --sr-sage:#E5EBDF; --sr-green:#526C58; --sr-ink:#21372C;
  --sr-muted:#606D61; --sr-border:#DDE2D6;
  --sr-radius:18px; --sr-radius-sm:12px; --sr-shadow:0 5px 18px rgba(16,43,35,.08);
  --sr-space-1:4px; --sr-space-2:8px; --sr-space-3:12px; --sr-space-4:16px;
}
.sr-menu-content { min-width:0; overflow-wrap:anywhere; }
.sr-menu-description { display:block; margin-top:3px; font-size:calc(13px * var(--sr-font-scale, 1)); line-height:1.45; font-weight:450; color:var(--sr-muted); }
.sr-settings { display:grid; gap:12px; min-width:0; }
.sr-settings-section { padding:14px; border:1px solid var(--sr-border); border-radius:var(--sr-radius); background:var(--sr-surface); box-shadow:var(--sr-shadow); min-width:0; }
.sr-settings h2 { margin:0 0 12px; font-size:calc(13px * var(--sr-font-scale, 1)); color:var(--sr-bronze); letter-spacing:.5px; text-transform:uppercase; }
.sr-settings p { font-size:calc(13px * var(--sr-font-scale, 1)); line-height:1.5; color:var(--sr-muted); margin:6px 0; }
.sr-settings-identity { display:flex; align-items:center; gap:10px; }
.sr-settings-identity span:not(.sr-icon-circle) { display:block; font-size:calc(13px * var(--sr-font-scale, 1)); color:var(--sr-muted); margin-top:4px; }
.sr-settings dl { margin:12px 0; font-size:calc(14px * var(--sr-font-scale, 1)); }
.sr-settings dl >div { display:flex; justify-content:space-between; gap:10px; padding:5px 0; }
.sr-settings dd { margin:0; text-align:right; }
.sr-setting-label { font-weight:650; font-size:calc(15px * var(--sr-font-scale, 1)); }
.sr-font-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:12px; }
.sr-font-choices button,.sr-settings-logout { min-height:44px; padding:8px 5px; font-size:calc(13px * var(--sr-font-scale, 1)); border-radius:10px; border:1px solid var(--sr-border); background:var(--sr-sage); color:var(--sr-forest); }
.sr-font-choices button[aria-pressed="true"] { background:var(--sr-forest); color:var(--sr-cream); border-color:var(--sr-forest); }
.sr-settings-logout { width:100%; background:var(--sr-bronze); color:var(--sr-cream); }
.sr-settings-operations { min-width:0; }
.sr-settings-operations >div >div:first-child { color:var(--sr-ink)!important; }
html[data-sr-font-size="extra-large"] .sr-owner-app { padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }
.sr-report-estate { font-size:calc(12px * var(--sr-font-scale, 1)); color:var(--sr-muted); margin-top:3px; }
.sr-reports-hub { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; min-width:0; }
.sr-reports-intro,.sr-reports-status { margin:0 0 3px; color:var(--sr-muted); font-size:calc(13px * var(--sr-font-scale, 1)); line-height:1.5; }
.sr-report-card { display:grid; grid-template-columns:34px minmax(0,1fr) 19px; gap:10px; align-items:start;
  width:100%; min-width:0; padding:13px!important; border:1px solid var(--sr-border); border-radius:var(--sr-radius);
  background:var(--sr-surface); color:var(--sr-ink); box-shadow:var(--sr-shadow); text-align:left; cursor:pointer; }
.sr-report-content { min-width:0; overflow-wrap:anywhere; }
.sr-report-title { display:block; font-size:calc(14px * var(--sr-font-scale, 1)); font-weight:650; }
.sr-report-metric { display:block; font-size:calc(18px * var(--sr-font-scale, 1)); font-weight:750; line-height:1.4; margin:4px 0; }
.sr-report-support { display:block; font-size:calc(13px * var(--sr-font-scale, 1)); font-weight:450; line-height:1.5; color:var(--sr-muted); }
.sr-report-chevron { align-self:center; color:var(--sr-bronze); }
.sr-report-card:hover { background:var(--sr-sage); }
body { background:var(--sr-forest-deep); color:var(--sr-ink); }
.sr-app { width:100%; max-width:480px!important; }
.sr-card { border-radius:var(--sr-radius)!important; box-shadow:var(--sr-shadow)!important; }
.sr-content input,.sr-content select,.sr-content textarea {
  border-color:var(--sr-border)!important; border-radius:var(--sr-radius-sm)!important;
  background:var(--sr-surface); min-width:0; max-width:100%;
}
button,input,select,textarea { font:inherit; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid var(--sr-gold); outline-offset:2px;
}
button:disabled { opacity:.55; cursor:not-allowed; }
.sr-app button { touch-action:manipulation; }
.sr-app[data-role="owner"] { background:var(--sr-cream); }
.sr-app[data-role="owner"] .sr-header {
  padding:14px 16px!important; gap:8px; flex-wrap:nowrap!important; color:var(--sr-cream);
  background:var(--sr-forest)!important; border-radius:0 0 22px 22px;
}
.sr-app[data-role="owner"] .sr-header >div { flex:1 1 auto; min-width:0; }
.sr-header-title { font-size:calc(17px * var(--sr-font-scale, 1)); font-weight:750; letter-spacing:-.3px; }
.sr-header-subtitle { font-size:calc(11px * var(--sr-font-scale, 1)); margin-top:3px; color:#D5D8BD; overflow-wrap:anywhere; }
.sr-header small[lang="kn"] { display:block; font-size:calc(9px * var(--sr-font-scale, 1)); line-height:1.25; }
.sr-profile { width:32px; height:32px; border-radius:50%; display:grid; place-items:center;
  background:rgba(247,245,237,.13); border:1px solid rgba(181,170,123,.5); flex:0 0 32px; color:#F7F5ED; }
.sr-app[data-role="owner"] .sr-header button { min-height:40px; padding:5px 7px!important; font-size:calc(10px * var(--sr-font-scale, 1)); }
.sr-app[data-role="owner"] .sr-content { padding:12px 14px!important; }
.sr-owner-app { padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)); min-width:0; }
.sr-owner-app small[lang="kn"] { display:block; font-size:calc(10px * var(--sr-font-scale, 1)); line-height:1.4; font-weight:450; opacity:.9; }
.sr-owner-home { display:grid; gap:14px; }
.sr-greeting { position:relative; padding:2px 40px 0 0; }
.sr-greeting h1 { margin:0; font-size:calc(20px * var(--sr-font-scale, 1)); line-height:1.35; letter-spacing:-.45px; }
.sr-greeting small { color:var(--sr-muted); margin-top:4px; }
.sr-greeting::after { content:""; position:absolute; right:6px; top:8px; width:26px; height:38px;
  border-radius:80% 0 80% 0; transform:rotate(25deg); background:var(--sr-sage); border:1px solid #C3CEBB; }
.sr-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.sr-live-tile { grid-column:1 / -1; display:grid!important; grid-template-columns:36px minmax(0,1fr); text-align:left; gap:10px; padding:12px!important; }
.sr-tile-content { min-width:0; }
.sr-tile-content >strong { display:block; }
.sr-tile-metric { display:block; font-size:calc(18px * var(--sr-font-scale, 1)); line-height:1.4; font-weight:650; margin-top:4px; }
.sr-tile-secondary { display:block; font-size:calc(13px * var(--sr-font-scale, 1)); font-weight:450; color:var(--sr-muted); line-height:1.5; }
.sr-quick-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  min-width:0; min-height:76px!important; padding:8px 4px!important; border:1px solid var(--sr-border);
  border-radius:var(--sr-radius-sm); background:var(--sr-surface); color:var(--sr-ink);
  box-shadow:0 2px 6px rgba(16,43,35,.03); font-size:calc(12px * var(--sr-font-scale, 1)); font-weight:650; overflow-wrap:anywhere; }
.sr-icon-circle { display:grid; place-items:center; width:30px; height:30px; border-radius:10px;
  background:var(--sr-sage); color:var(--sr-forest); flex:0 0 auto; }
.sr-icon { width:19px; height:19px; display:block; }
.sr-today-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.sr-today-heading h2 { font-size:calc(15px * var(--sr-font-scale, 1)); margin:0; }
.sr-today-heading time { font-size:calc(11px * var(--sr-font-scale, 1)); color:var(--sr-muted); }
.sr-owner-home .sr-dashboard-summary { display:grid; grid-template-columns:minmax(0,1fr)!important; gap:8px!important; margin:0!important; }
.sr-owner-home .sr-dashboard-summary >.sr-summary-card { padding:12px!important; }
.sr-summary-card { display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:start; gap:9px;
  border:1px solid var(--sr-border); border-radius:var(--sr-radius); background:var(--sr-surface); box-shadow:var(--sr-shadow); min-width:0; }
.sr-summary-card .sr-icon-circle { width:36px; height:36px; border-radius:12px; }
.sr-summary-card h3 { margin:0; font-size:calc(12px * var(--sr-font-scale, 1)); font-weight:650; }
.sr-summary-value { display:block; font-size:calc(23px * var(--sr-font-scale, 1)); font-weight:750; letter-spacing:-.7px; line-height:1.25; margin-top:5px; overflow-wrap:anywhere; }
.sr-summary-sub { font-size:calc(10px * var(--sr-font-scale, 1)); line-height:1.5; color:var(--sr-muted); margin:5px 0 0; overflow-wrap:anywhere; }
.sr-summary-unit { font-size:calc(14px * var(--sr-font-scale, 1)); color:var(--sr-muted); }
.sr-card-link { min-width:40px; min-height:40px!important; border:0; border-radius:10px; color:var(--sr-forest); background:var(--sr-sage); padding:7px!important; }
.sr-section-heading { font-size:calc(14px * var(--sr-font-scale, 1)); margin:0 0 10px; color:var(--sr-ink); }
.sr-alerts { background:var(--sr-sage); padding:12px; border-radius:var(--sr-radius); border:1px solid var(--sr-border); }
.sr-alerts p { margin:8px 0; font-size:calc(11px * var(--sr-font-scale, 1)); line-height:1.55; }
.sr-alerts button,.sr-inline-action { color:var(--sr-forest); background:transparent; border:1px solid var(--sr-border);
  border-radius:10px; padding:8px 12px; min-height:40px!important; font-size:calc(11px * var(--sr-font-scale, 1)); font-weight:650; }
.sr-module-heading { display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.sr-module-heading h1 { font-size:calc(17px * var(--sr-font-scale, 1)); margin:0; }
.sr-module-heading button { min-height:40px!important; width:40px; padding:8px!important; }
.sr-menu { background:var(--sr-surface); border:1px solid var(--sr-border); border-radius:var(--sr-radius); overflow:hidden; box-shadow:var(--sr-shadow); }
.sr-menu-item { width:100%; display:flex; align-items:center; gap:10px; min-height:52px!important; padding:9px 12px!important;
  text-align:left; border:0; border-bottom:1px solid var(--sr-border); background:transparent; color:var(--sr-ink); font-size:calc(12px * var(--sr-font-scale, 1)); font-weight:650; }
.sr-menu-item:last-child { border-bottom:0; }
.sr-menu-item .sr-menu-chevron { margin-left:auto; color:var(--sr-muted); }
.sr-bottom-nav { position:fixed; z-index:20; left:50%; bottom:0; transform:translateX(-50%); width:100%; max-width:480px;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; background:var(--sr-surface);
  border-top:1px solid var(--sr-border); box-shadow:0 -4px 18px rgba(16,43,35,.07);
  padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px)); }
.sr-bottom-nav button { border:0; border-radius:12px; background:transparent; color:var(--sr-muted);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  min-height:52px!important; min-width:0; padding:4px 2px!important; font-size:calc(10px * var(--sr-font-scale, 1)); font-weight:600; }
.sr-bottom-nav button[aria-current="page"] { background:var(--sr-sage); color:var(--sr-forest); }
.sr-bottom-nav small[lang="kn"] { font-size:calc(9px * var(--sr-font-scale, 1)); }
.sr-quick-tile:hover,.sr-menu-item:hover { background:var(--sr-sage); }
.sr-owner-app .sr-card,.sr-owner-app form { max-width:100%; min-width:0; }
.sr-owner-app >* { min-width:0; max-width:100%; }
.sr-owner-app { overflow-wrap:anywhere; }
.sr-owner-app input,.sr-owner-app select,.sr-owner-app textarea { width:auto; }
@media(max-width:375px) {
  .sr-app[data-role="owner"] .sr-content { padding:10px!important; }
  .sr-greeting h1 { font-size:calc(18px * var(--sr-font-scale, 1)); }
  .sr-header-title { font-size:calc(15px * var(--sr-font-scale, 1)); }
  .sr-header-subtitle { font-size:calc(10px * var(--sr-font-scale, 1)); }
}
body { font-size:calc(1rem * var(--sr-font-scale, 1)); }
.sr-admin-page { min-width:0; display:grid; gap:8px; }
.sr-admin-page >div:first-child { color:var(--sr-ink)!important; }
.sr-admin-page .sr-card { margin-bottom:0!important; padding:12px!important; }
.sr-admin-page >button { background:var(--sr-forest)!important; color:var(--sr-cream)!important; border-color:var(--sr-forest)!important; min-height:44px!important; }
.sr-admin-record { flex-wrap:wrap; gap:8px; }
.sr-admin-record >div:first-child { min-width:0; flex:1 1 150px; overflow-wrap:anywhere; }
.sr-admin-actions { flex-wrap:wrap; gap:6px; }
.sr-admin-actions button { min-height:40px!important; padding:7px 12px!important; color:var(--sr-ink); background:var(--sr-sage)!important; border-width:1px; flex-shrink:0; }
.sr-admin-page input,.sr-admin-page select { min-width:0; max-width:100%; }
.sr-history-hub,.sr-history-categories { display:grid; gap:8px; min-width:0; }
.sr-history-intro { margin:0 0 4px; color:var(--sr-muted); font-size:calc(14px * var(--sr-font-scale, 1)); line-height:1.5; }
.sr-history-card { display:flex; align-items:center; gap:10px; width:100%; min-width:0; min-height:56px!important; padding:12px!important; text-align:left; background:var(--sr-surface); color:var(--sr-ink); border:1px solid var(--sr-border); border-radius:var(--sr-radius); box-shadow:var(--sr-shadow); }
.sr-history-content { flex:1; min-width:0; overflow-wrap:anywhere; display:grid; gap:4px; }
.sr-history-content strong { font-size:calc(14px * var(--sr-font-scale, 1)); }
.sr-history-content >span { font-size:calc(13px * var(--sr-font-scale, 1)); line-height:1.45; color:var(--sr-muted); }
.sr-history-card .sr-icon-circle,.sr-history-card .sr-menu-chevron { flex-shrink:0; }
.sr-history-card:hover,.sr-history-card:focus-visible { background:var(--sr-sage); }
.sr-history-recent h2 { font-size:calc(14px * var(--sr-font-scale, 1)); margin:12px 0 8px; color:var(--sr-bronze); }
.sr-report-date { background:var(--sr-sage); border:1px solid var(--sr-border); border-radius:var(--sr-radius-sm); padding:10px; }
.sr-report-date >div { flex-wrap:wrap; gap:8px; }
.sr-report-date span { color:var(--sr-ink)!important; flex:1 1 160px; }
.sr-report-date button { color:var(--sr-forest)!important; min-height:40px!important; }
.sr-labour-entry { gap:10px; padding:10px; border:1px solid var(--sr-border); border-radius:var(--sr-radius-sm); background:var(--sr-surface); }
.sr-labour-entry >span,.sr-labour-entry >div { min-width:0; overflow-wrap:anywhere; }
.sr-labour-entry input { flex:0 0 76px; min-width:0; max-width:76px; min-height:44px; background:var(--sr-cream)!important; border-color:var(--sr-bronze)!important; }
.sr-labour-total { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px; background:var(--sr-sage); border-radius:var(--sr-radius-sm); font-size:calc(18px * var(--sr-font-scale, 1)); }
.sr-morning-assignment,.sr-evening-work { min-width:0; }
.sr-morning-assignment button,.sr-evening-work button { min-height:40px!important; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.sr-morning-assignment input,.sr-evening-work input,.sr-evening-work textarea { min-width:0; max-width:100%; }
.sr-morning-assignment [style*="display: grid"] { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,.6fr)!important; }
.sr-owner-labour { min-width:0; }
.sr-labour-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.sr-labour-metric { min-width:0; padding:12px; background:var(--sr-surface); border:1px solid var(--sr-border); border-radius:var(--sr-radius); box-shadow:var(--sr-shadow); display:grid; gap:5px; }
.sr-labour-metric h2 { font-size:calc(13px * var(--sr-font-scale, 1)); margin:0; color:var(--sr-muted); }
.sr-labour-metric >strong { font-size:calc(24px * var(--sr-font-scale, 1)); overflow-wrap:anywhere; }
.sr-labour-metric >span:last-child { font-size:calc(13px * var(--sr-font-scale, 1)); color:var(--sr-muted); }
.sr-owner-labour .sr-card { padding:12px!important; }
.sr-manager-workflow .sr-manager-nav { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); }
.sr-manager-workflow .sr-manager-nav button { width:100%; min-width:0; }
.sr-owner-rainfall { min-width:0; }
.sr-rainfall-intro { color:var(--sr-muted); font-size:calc(14px * var(--sr-font-scale, 1)); margin:0 0 10px; }
.sr-rainfall-status { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.sr-rainfall-metric { min-width:0; display:grid; gap:6px; padding:12px; background:var(--sr-surface); border:1px solid var(--sr-border); border-radius:var(--sr-radius); box-shadow:var(--sr-shadow); }
.sr-rainfall-metric:last-child { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; }
.sr-rainfall-metric h2,.sr-rainfall-comparison label { font-size:calc(13px * var(--sr-font-scale, 1)); margin:0; color:var(--sr-muted); }
.sr-rainfall-metric strong { font-size:calc(18px * var(--sr-font-scale, 1)); overflow-wrap:anywhere; }
.sr-rainfall-history-link { width:100%; display:flex; justify-content:space-between; align-items:center; min-height:44px!important; padding:10px 12px!important; color:var(--sr-forest); background:var(--sr-sage); border:1px solid var(--sr-border); border-radius:var(--sr-radius-sm); margin-bottom:10px; font-size:calc(14px * var(--sr-font-scale, 1)); text-align:left; }
.sr-rainfall-comparison h2,.sr-rainfall-history h2 { font-size:calc(15px * var(--sr-font-scale, 1)); margin:0 0 8px; }
.sr-rainfall-comparison p,.sr-rainfall-history >p { font-size:calc(13px * var(--sr-font-scale, 1)); line-height:1.5; color:var(--sr-muted); }
.sr-rainfall-month { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; background:var(--sr-surface); border:1px solid var(--sr-border); border-radius:var(--sr-radius-sm); padding:12px; margin-bottom:8px; }
.sr-rainfall-month h3 { grid-column:1/-1; margin:0; font-size:calc(14px * var(--sr-font-scale, 1)); color:var(--sr-bronze); }
.sr-rainfall-month >div { min-width:0; display:grid; gap:4px; overflow-wrap:anywhere; font-size:calc(13px * var(--sr-font-scale, 1)); }
.sr-rainfall-month strong { font-size:calc(14px * var(--sr-font-scale, 1)); }
.sr-rainfall-history { scroll-margin-top:12px; }
.sr-rainfall-entry input { min-width:0; max-width:100%; min-height:44px; }
.sr-rainfall-entry button { min-height:40px!important; white-space:normal; max-width:100%; }
.sr-rainfall-entry [style*="display: flex"] { flex-wrap:wrap; gap:8px!important; }
