:root {
  --awid-blue:#0f6d8f; --awid-blue-2:#1686ad; --awid-navy:#12334a; --awid-green:#169b62;
  --awid-orange:#e89124; --awid-red:#d94a4a; --awid-gray:#7b8794; --awid-bg:#f4f7f9;
  --awid-card:#ffffff; --awid-border:#e3eaee; --awid-text:#18313f; --awid-muted:#71808c;
  --shadow:0 8px 28px rgba(24,49,63,.07); --radius:18px;
}
*{box-sizing:border-box} body{margin:0;background:var(--awid-bg);color:var(--awid-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:#0d3349;color:#d8e7ef;padding:24px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#1f91b8,#18a46c);display:grid;place-items:center;font-weight:900;color:white;letter-spacing:-1px}.brand strong{display:block;color:white;font-size:20px}.brand small{display:block;color:#9ec2d4;font-size:10px;line-height:1.2;margin-top:2px}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#6fa0b6;margin:24px 12px 8px}.nav-link{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;color:#c5dbe5;margin:3px 0}.nav-link:hover,.nav-link.active{background:#164861;color:white}.nav-icon{width:22px;text-align:center}.sidebar-footer{margin-top:30px;padding-top:18px;border-top:1px solid #235268}.main{min-width:0}.topbar{height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--awid-border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-right{display:flex;align-items:center;gap:12px}.pill{border:1px solid var(--awid-border);background:white;border-radius:999px;padding:8px 12px;color:var(--awid-muted);font-size:13px}.notif{position:relative;width:42px;height:42px;border:1px solid var(--awid-border);border-radius:13px;display:grid;place-items:center;background:white}.notif-badge{position:absolute;right:-4px;top:-5px;background:var(--awid-red);color:white;border-radius:999px;font-size:10px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}.avatar{width:40px;height:40px;border-radius:50%;background:#d8edf5;display:grid;place-items:center;color:var(--awid-blue);font-weight:800}.content{padding:30px;max-width:1600px;margin:0 auto}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.page-header h1{margin:0;font-size:29px;letter-spacing:-.03em}.page-header p{color:var(--awid-muted);margin:6px 0 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:10px 15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--awid-blue);color:white}.btn-primary:hover{background:#0d5f7c}.btn-green{background:var(--awid-green);color:white}.btn-danger{background:var(--awid-red);color:white}.btn-soft{background:#eaf4f7;color:var(--awid-blue)}.btn-outline{background:white;border:1px solid var(--awid-border);color:var(--awid-text)}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--awid-card);border:1px solid var(--awid-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.kpi{position:relative;overflow:hidden}.kpi-label{color:var(--awid-muted);font-size:13px;font-weight:650}.kpi-value{font-size:30px;font-weight:850;letter-spacing:-.04em;margin-top:8px}.kpi-note{font-size:12px;color:var(--awid-muted);margin-top:7px}.kpi-icon{position:absolute;right:16px;top:18px;width:42px;height:42px;background:#edf7fa;border-radius:13px;display:grid;place-items:center;color:var(--awid-blue)}.status-good{--status:var(--awid-green);color:var(--awid-green)}.status-warning{--status:var(--awid-orange);color:var(--awid-orange)}.status-critical{--status:var(--awid-red);color:var(--awid-red)}.status-unknown{--status:#a8b1b8;color:#85929b}.status-online{--status:var(--awid-green);color:var(--awid-green)}.status-offline{--status:#6f7c85;color:#6f7c85}.status-delayed{--status:var(--awid-orange);color:var(--awid-orange)}.status-badge{display:inline-flex;gap:7px;align-items:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--status,currentColor);box-shadow:0 0 0 4px color-mix(in srgb,var(--status,currentColor) 14%,transparent)}
.health-card{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}.health-ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--status,var(--awid-green)) calc(var(--score,0)*1%),#e8eef1 0);position:relative}.health-ring:after{content:"";position:absolute;inset:12px;background:white;border-radius:50%}.health-score{position:relative;z-index:2;text-align:center}.health-score strong{display:block;font-size:29px}.health-score span{font-size:11px;color:var(--awid-muted)}.health-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-score{padding:10px 12px;border-radius:12px;background:#f6f9fa}.mini-score b{display:block;font-size:15px}.mini-score small{color:var(--awid-muted)}
.metric-card{position:relative;overflow:hidden;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%);border-color:#dbe7ec;box-shadow:0 12px 34px rgba(24,49,63,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.metric-top{display:flex;justify-content:space-between;align-items:flex-start}.metric-title{font-size:13px;color:var(--awid-muted);font-weight:700;text-transform:uppercase;letter-spacing:.055em}.metric-main{display:flex;align-items:center;gap:16px}.lamp{width:82px;height:82px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 5%,var(--status,#a8b1b8) 44%,color-mix(in srgb,var(--status,#a8b1b8) 78%,#000) 100%);box-shadow:inset 0 -8px 12px rgba(0,0,0,.12),0 0 0 7px color-mix(in srgb,var(--status,#a8b1b8) 13%,transparent)}.metric-value{font-size:35px;font-weight:900;letter-spacing:-.04em}.metric-unit{font-size:14px;color:var(--awid-muted);font-weight:600}.metric-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f3;padding-top:13px;color:var(--awid-muted);font-size:12px}.trend{font-weight:800}.trend-UP{color:var(--awid-green)}.trend-DOWN{color:var(--awid-orange)}
.farm-card{transition:.18s ease}.farm-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(24,49,63,.10)}.farm-card-head{display:flex;justify-content:space-between;gap:10px}.farm-card h3{margin:0 0 4px;font-size:17px}.muted{color:var(--awid-muted)}.small{font-size:12px}.farm-stats{display:flex;gap:14px;margin:18px 0;font-size:13px}.farm-stats b{display:block;font-size:18px;color:var(--awid-text)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 14px}.section-title h2{font-size:18px;margin:0}.section-title small{color:var(--awid-muted)}
.alert-list{display:flex;flex-direction:column;gap:10px}.alert-item{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:start;padding:13px;border:1px solid var(--awid-border);border-radius:13px;background:white}.alert-bar{width:5px;height:100%;min-height:42px;border-radius:8px;background:var(--status)}.alert-item h4{margin:0 0 3px;font-size:14px}.alert-item p{margin:0;color:var(--awid-muted);font-size:12px}.alert-time{color:var(--awid-muted);font-size:11px;white-space:nowrap}
.node-card{border:1px solid var(--awid-border);border-radius:15px;padding:15px;background:#fff}.node-card-head{display:flex;justify-content:space-between;gap:8px}.node-card h4{margin:0;font-size:15px}.node-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.node-values div{background:#f6f9fa;border-radius:10px;padding:8px}.node-values small{display:block;color:var(--awid-muted)}.node-values b{font-size:14px}.map{height:410px;border-radius:15px;overflow:hidden;border:1px solid var(--awid-border)}
.table-wrap{overflow:auto;background:white;border-radius:var(--radius);border:1px solid var(--awid-border)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf1f3;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--awid-muted);background:#f8fafb}tr:last-child td{border-bottom:0}
.form-card{max-width:1050px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-section{border-top:1px solid var(--awid-border);padding-top:20px;margin-top:22px}.form-section:first-child{border-top:0;margin-top:0;padding-top:0}.form-section h3{margin:0 0 4px}.field label{display:block;font-size:12px;font-weight:750;color:#536571;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #d7e1e6;border-radius:11px;padding:10px 11px;background:white;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#56a8c3;box-shadow:0 0 0 3px rgba(22,134,173,.09)}.field .helptext{font-size:11px;color:var(--awid-muted)}.errorlist{color:var(--awid-red);font-size:12px;margin:4px 0;padding-left:18px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
.message{padding:12px 15px;border-radius:12px;margin-bottom:16px;font-size:13px}.message.success{background:#e9f8f0;color:#147849}.message.warning{background:#fff5e6;color:#9a6215}.message.error{background:#fdecec;color:#a93434}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-visual{background:linear-gradient(145deg,#0d425c,#0b6d81 55%,#139267);padding:70px;display:flex;flex-direction:column;justify-content:space-between;color:white}.login-visual h1{font-size:52px;line-height:1.02;letter-spacing:-.05em;max-width:650px}.login-visual p{color:#d7eef2;max-width:600px;font-size:17px;line-height:1.6}.login-panel{background:white;display:grid;place-items:center;padding:40px}.login-box{width:min(440px,100%)}.login-box h2{font-size:30px;margin-bottom:8px}.login-box form p{margin:14px 0}.login-box label{display:block;font-size:12px;font-weight:750;margin-bottom:6px}.login-box input{width:100%;padding:12px;border:1px solid #d6e0e5;border-radius:12px}.login-box button{width:100%;justify-content:center;margin-top:10px}.google-btn{display:flex;justify-content:center;width:100%;padding:11px;border:1px solid #d6e0e5;border-radius:12px;margin-top:10px;font-weight:700}.divider{display:flex;align-items:center;gap:10px;color:#8a969e;font-size:12px;margin:16px 0}.divider:before,.divider:after{content:"";height:1px;background:#e3e9ec;flex:1}.irrigation-panel{border-left:5px solid var(--awid-blue)}.irrigation-control{display:flex;align-items:center;justify-content:space-between;gap:20px}.valve-state{display:flex;align-items:center;gap:12px}.valve-icon{width:50px;height:50px;border-radius:15px;background:#eaf4f7;display:grid;place-items:center;font-size:24px}.chart-box{height:360px}.empty{padding:38px;text-align:center;color:var(--awid-muted)}
@media(max-width:1100px){.app-shell{grid-template-columns:82px 1fr}.sidebar{padding:20px 10px}.brand-text,.nav-link span:not(.nav-icon),.nav-label,.sidebar-footer{display:none}.brand{justify-content:center}.nav-link{justify-content:center}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.topbar{padding:0 15px}.content{padding:18px}.page-header{flex-direction:column}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.health-card{grid-template-columns:1fr}.health-ring{margin:auto}.login-page{display:block}.login-visual{display:none}.login-panel{min-height:100vh}.topbar .pill{display:none}.map{height:320px}.irrigation-control{align-items:flex-start;flex-direction:column}}
/* Extended AWID operations components */
.panel{background:var(--awid-card);border:1px solid var(--awid-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-head h2{margin:0 0 4px}.panel-head p{margin:0;color:var(--awid-muted);font-size:13px}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{background:var(--awid-card);border:1px solid var(--awid-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.stat-card span{display:block;color:var(--awid-muted);font-size:12px}.stat-card strong{display:block;font-size:29px;margin-top:5px}.list{display:flex;flex-direction:column;gap:9px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--awid-border);border-radius:13px;padding:12px;background:#fff}.list-row small{display:block;color:var(--awid-muted);margin-top:3px}.status{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:6px 9px;background:#eef3f6;color:#687781}.status.online,.status.ready,.status.completed{background:#e4f5ec;color:var(--awid-green)}.status.delayed,.status.running,.status.planned{background:#fff0dc;color:var(--awid-orange)}.status.offline,.status.failed,.status.fault{background:#fde7e9;color:var(--awid-red)}.btn-sm{padding:7px 10px;font-size:12px}.btn-secondary{background:#edf3f6;color:var(--awid-text)}.danger-text{display:block;color:var(--awid-red);margin-top:4px}.eyebrow{display:block;color:var(--awid-blue);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.page-head h1{margin:4px 0}.page-head p{color:var(--awid-muted);margin:0}.form-grid p{display:flex;flex-direction:column;gap:5px;margin:0 0 12px}.form-grid input,.form-grid select,.form-grid textarea,.card form input,.card form select,.card form textarea{width:100%;padding:10px 11px;border:1px solid var(--awid-border);border-radius:10px;background:#fff}.card form input[type=checkbox],.form-grid input[type=checkbox]{width:auto}.table-wrap small{display:block}.table-wrap td,.table-wrap th{vertical-align:top}
@media(max-width:1100px){.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cols-4,.cols-2{grid-template-columns:1fr}}

/* AWID semantic sensor visuals */
.metric-visual-row{min-height:104px;align-items:center}.awid-gauge{--pct:0;--status:#a8b1b8;width:106px;height:106px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--status) calc(var(--pct)*1%),#e8eef1 0);position:relative;box-shadow:0 0 0 1px #dce5e9}.awid-gauge:before{content:"";position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle at 38% 28%,#fff 0 12%,#f8fafb 62%,#edf1f3 100%);box-shadow:inset 0 0 8px rgba(23,49,63,.12)}.awid-gauge-core{position:relative;z-index:1;text-align:center;display:grid}.awid-gauge-core span{font-size:23px;font-weight:900;line-height:1}.awid-gauge-core small{font-size:10px;color:var(--awid-muted);font-weight:800;margin-top:5px}.ph-widget{min-width:145px;flex:1}.ph-track{height:16px;border-radius:999px;position:relative;background:linear-gradient(90deg,#dc4d4d 0%,#efb23d 28%,#2fab67 44%,#2fab67 56%,#efb23d 72%,#dc4d4d 100%);box-shadow:inset 0 1px 3px rgba(0,0,0,.15)}.ph-marker{position:absolute;top:50%;width:18px;height:26px;border:4px solid white;background:var(--status,#a8b1b8);border-radius:9px;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.25)}.scale-labels{display:flex;justify-content:space-between;color:var(--awid-muted);font-size:10px;margin-top:7px}.thermometer{--status:#a8b1b8;width:34px;height:94px;border:5px solid #dfe7ea;border-radius:20px 20px 17px 17px;position:relative;background:#fff;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.thermometer:after{content:"";position:absolute;bottom:-1px;width:25px;height:25px;background:var(--status);border-radius:50%}.thermo-fill{width:12px;background:var(--status);min-height:10%;border-radius:8px 8px 0 0}.bar-widget{min-width:150px;flex:1}.bar-track{height:18px;background:#e7eef1;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.08)}.bar-fill{height:100%;min-width:4px;background:var(--status,#a8b1b8);border-radius:999px}.bar-reading{margin-top:10px;font-size:14px;color:var(--awid-muted)}.bar-reading strong{font-size:25px;color:var(--awid-text);margin-right:4px}

/* AWID Account & Security */
.auth-page .auth-visual{position:relative;overflow:hidden}.auth-page .auth-visual:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-170px;bottom:-160px;box-shadow:0 0 0 85px rgba(255,255,255,.035),0 0 0 170px rgba(255,255,255,.025)}.auth-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#bde5ea}.auth-box h2{font-size:30px;margin:8px 0}.auth-box .muted{line-height:1.6}.auth-back{display:inline-block;margin-bottom:14px;color:var(--awid-blue);font-size:13px;font-weight:750}.awid-auth-form p{margin:15px 0}.awid-auth-form label{display:block;font-size:12px;font-weight:750;color:#536571;margin-bottom:6px}.awid-auth-form input,.awid-auth-form select{width:100%;padding:12px;border:1px solid #d6e0e5;border-radius:12px;background:#fff;outline:none}.awid-auth-form input:focus,.awid-auth-form select:focus{border-color:#56a8c3;box-shadow:0 0 0 3px rgba(22,134,173,.09)}.awid-auth-form .helptext,.awid-auth-form ul{font-size:11px;color:var(--awid-muted);line-height:1.45}.awid-auth-form ul{padding-left:18px}.auth-full{width:100%;justify-content:center;margin-top:10px}.auth-note{font-size:11px;color:var(--awid-muted);margin-top:18px;text-align:center}.auth-secondary-action{display:flex;margin-top:10px}.auth-success-icon,.auth-error-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-size:28px;font-weight:900;margin-bottom:18px}.auth-success-icon{background:#e6f6ee;color:var(--awid-green)}.auth-error-icon{background:#fdebed;color:var(--awid-red)}
.account-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.account-security-nav{padding:14px}.account-identity{display:flex;align-items:center;gap:11px;padding:8px 7px 18px;border-bottom:1px solid var(--awid-border)}.account-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#0b6d81,#139267);color:#fff;display:grid;place-items:center;font-weight:900;font-size:18px}.account-identity strong,.account-identity small{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis}.account-identity small{font-size:11px;color:var(--awid-muted);margin-top:3px}.account-security-nav nav{display:flex;flex-direction:column;padding:10px 0}.account-security-nav nav a{padding:10px 11px;border-radius:10px;color:#415461;font-size:13px;font-weight:700}.account-security-nav nav a:hover{background:#f1f6f8;color:var(--awid-blue)}.account-security-nav nav a.danger{color:var(--awid-red)}.admin-badge{margin:7px;padding:9px 10px;border-radius:10px;background:#eaf5f8;color:#0b718d;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.account-security-main{padding:26px;min-height:400px}.security-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--awid-border);margin-bottom:20px}.security-section-head h2{margin:0 0 5px}.security-section-head p{margin:0;color:var(--awid-muted);font-size:13px}.security-icon{width:45px;height:45px;border-radius:14px;background:#ebf5f7;color:var(--awid-blue);display:grid;place-items:center;font-size:21px;font-weight:900}.auth-actions{align-items:center}.btn-danger{background:#b93d47;color:#fff}.btn-danger:hover{background:#9e3039}.email-address-list{display:flex;flex-direction:column;gap:9px}.email-address-row{display:flex;gap:12px;align-items:center;border:1px solid var(--awid-border);border-radius:13px;padding:13px;cursor:pointer}.email-address-row:hover{border-color:#b8d7e1;background:#fbfdfe}.email-address-row input{accent-color:var(--awid-blue)}.email-address-copy{display:flex;flex-wrap:wrap;gap:7px;justify-content:space-between;align-items:center;flex:1}.email-address-copy>span{display:flex;gap:5px;flex-wrap:wrap}.mini-badge{font-size:9px;text-transform:uppercase;letter-spacing:.05em;background:#edf2f4;color:#64747e;padding:4px 6px;border-radius:999px}.mini-badge.good{background:#e5f5ec;color:var(--awid-green)}.mini-badge.warning{background:#fff0dd;color:#a56c19}.security-divider{height:1px;background:var(--awid-border);margin:26px 0}.security-empty{padding:19px;border:1px dashed #cfdbe0;border-radius:13px;background:#fafcfd}.security-empty p{margin:5px 0 0;color:var(--awid-muted);font-size:12px}.security-link-list{display:flex;flex-direction:column;margin-top:14px}.security-link-list a{display:flex;align-items:center;justify-content:space-between;padding:13px 3px;border-bottom:1px solid var(--awid-border);color:var(--awid-text)}.security-link-list a:last-child{border-bottom:0}.security-link-list a:hover strong{transform:translateX(3px);color:var(--awid-blue)}.security-link-list span b,.security-link-list span small{display:block}.security-link-list span small{margin-top:3px;color:var(--awid-muted);font-size:11px}.security-link-list>a>strong{transition:.15s ease}.admin-access-card{border-left:4px solid var(--awid-blue)}
@media(max-width:900px){.account-layout{grid-template-columns:1fr}.account-security-nav nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.account-identity{border-bottom:0}.account-security-main{min-height:0}}
@media(max-width:560px){.account-security-nav nav{grid-template-columns:1fr}.email-address-copy{align-items:flex-start;flex-direction:column}.account-security-main{padding:18px}.security-section-head{gap:10px}}
.auth-inline-links{display:flex;justify-content:flex-end;margin-top:10px}.auth-inline-links a{color:var(--awid-blue);font-size:12px;font-weight:750}

/* AWID professional architecture: codes, cascading commissioning, battery and ThingSpeak history */
.entity-code{display:inline-flex;align-items:center;border:1px solid #d8e4e9;background:#f4f8fa;color:#45606e;border-radius:8px;padding:3px 7px;font-size:10px;font-weight:850;letter-spacing:.055em;white-space:nowrap}.topbar-org{display:flex;flex-direction:column;min-width:0}.topbar-org b{font-size:12px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-org small{font-size:9px;color:var(--awid-muted);margin-top:2px}.quick-add{width:38px;height:38px;border-radius:12px;background:#edf6f8;color:var(--awid-blue);display:grid;place-items:center;font-size:19px;font-weight:700}.quick-add:hover{background:#deeff4}.admin-nav-link{border:1px solid rgba(79,176,205,.22);background:rgba(54,144,173,.08)}

.battery-widget{--status:#a8b1b8;display:flex;align-items:center;min-width:150px}.battery-body{width:136px;height:70px;border:5px solid #d7e1e5;border-radius:14px;padding:5px;position:relative;background:#f9fbfc;overflow:hidden;box-shadow:inset 0 2px 8px rgba(24,49,63,.08)}.battery-fill{height:100%;min-width:0;background:var(--status);border-radius:7px;opacity:.88;transition:width .25s ease}.battery-reading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:2;text-shadow:0 1px 0 rgba(255,255,255,.9)}.battery-reading strong{font-size:23px;color:var(--awid-text);line-height:1}.battery-reading small{font-size:9px;color:#5c6d77;text-transform:uppercase;letter-spacing:.09em;font-weight:900;margin-top:5px}.battery-terminal{width:9px;height:30px;border-radius:0 6px 6px 0;background:#cbd7dc;margin-left:1px}.battery-widget.status-critical .battery-fill{animation:battery-pulse 1.8s ease-in-out infinite}@keyframes battery-pulse{50%{opacity:.45}}

.setup-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.setup-main{display:flex;flex-direction:column;gap:18px;min-width:0}.form-section-pro{position:relative;padding:24px 24px 24px 78px}.step-badge{position:absolute;left:24px;top:24px;width:38px;height:38px;border-radius:12px;background:#e8f4f7;color:var(--awid-blue);display:grid;place-items:center;font-size:11px;font-weight:900;letter-spacing:.08em}.form-section-copy{margin-bottom:20px}.form-section-copy h2{font-size:18px;margin:0 0 5px}.form-section-copy p{font-size:12px;color:var(--awid-muted);margin:0;line-height:1.55}.form-grid.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid.cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.field{min-width:0}.field label{display:block;font-size:11px;font-weight:800;color:#4e626e;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #d8e3e8;border-radius:11px;background:#fff;min-height:42px}.field small{display:block;font-size:10px;color:var(--awid-muted);margin-top:5px;line-height:1.4}.field .errorlist{font-size:10px;color:var(--awid-red);padding-left:16px;margin:5px 0}.span-2{grid-column:span 2}.auto-code-note{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #bed4dd;background:#f7fbfc;border-radius:12px;padding:10px 12px;margin-bottom:17px}.auto-code-note span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--awid-muted);font-weight:850}.auto-code-note strong{font-size:11px;color:var(--awid-blue)}.info-callout{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;background:#edf7fa;border-radius:12px;margin-top:15px;font-size:11px}.info-callout b{white-space:nowrap;color:var(--awid-blue)}.info-callout span{color:#536671;line-height:1.45}.switch-field{border:1px solid var(--awid-border);border-radius:12px;padding:12px;margin-bottom:15px}.switch-label{display:flex!important;gap:10px;align-items:center;margin:0!important;font-size:12px!important}.switch-label input{width:auto!important;accent-color:var(--awid-green)}.sticky-actions{position:sticky;bottom:14px;z-index:10;background:rgba(244,247,249,.92);backdrop-filter:blur(8px);padding:10px;border:1px solid var(--awid-border);border-radius:14px;justify-content:flex-end}.setup-summary{position:sticky;top:94px}.setup-summary h3{margin:6px 0 16px}.setup-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}.setup-checklist li{display:flex;gap:10px;align-items:center;padding:9px;border-bottom:1px solid #edf1f3}.setup-checklist li>span{width:28px;height:28px;border-radius:9px;background:#eef5f7;color:var(--awid-blue);display:grid;place-items:center;font-size:10px;font-weight:900}.setup-checklist b,.setup-checklist small{display:block}.setup-checklist b{font-size:11px}.setup-checklist small{font-size:9px;color:var(--awid-muted);margin-top:2px}.summary-note{margin-top:17px;padding:13px;border-radius:12px;background:#f1f8f4}.summary-note b{font-size:11px;color:var(--awid-green)}.summary-note p{font-size:10px;color:var(--awid-muted);line-height:1.5;margin:4px 0 0}.field-map-grid .mapping-field{background:#f9fbfc;border:1px solid var(--awid-border);border-radius:12px;padding:10px}

.card-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.card-title-row h3{margin-top:0}.verified-phone{display:flex;flex-direction:column;padding:15px;border-radius:13px;background:#eef8f3;margin:14px 0}.verified-phone span{font-size:9px;text-transform:uppercase;color:#597368;letter-spacing:.08em;font-weight:850}.verified-phone strong{font-size:20px;margin:4px 0}.verified-phone small{font-size:10px;color:var(--awid-muted)}.inline-verify-form{display:flex;align-items:flex-end;gap:10px;margin-top:14px}.inline-verify-form .field{flex:1}.verification-code-box{border-top:1px solid var(--awid-border);margin-top:18px;padding-top:16px}.verification-code-box p{margin:5px 0 12px}.otp-row{display:flex;gap:9px}.otp-row input{font-size:19px!important;font-weight:800!important;letter-spacing:.25em!important;text-align:center;max-width:170px}.organization-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--awid-border)}.organization-row b,.organization-row small{display:block}.organization-row small{font-size:10px;color:var(--awid-muted);margin-top:3px}.architecture-card{background:linear-gradient(160deg,#12394d,#0e5b6c);color:#fff}.architecture-card .eyebrow{color:#9bd8df}.hierarchy-visual{display:flex;flex-direction:column;gap:8px;margin-top:20px}.hierarchy-visual>div{padding:13px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:12px}.hierarchy-visual b,.hierarchy-visual small{display:block}.hierarchy-visual small{color:#bcd2da;font-size:10px;margin-top:4px}.hierarchy-visual>span{text-align:center;color:#79c1cf}.org-create-grid{align-items:start}

.thingspeak-panel{margin-bottom:18px}.thingspeak-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--awid-border)}.thingspeak-head h3{font-size:23px;margin:4px 0}.thingspeak-head p{font-size:10px;margin:0}.field-mapping-summary{display:flex;gap:7px;flex-wrap:wrap;padding:14px 0}.field-mapping-summary span{padding:6px 8px;border-radius:9px;background:#f3f7f9;font-size:10px;color:#536671}.history-import-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:20px;align-items:start;border-top:1px solid var(--awid-border);padding-top:18px}.history-explainer h4{margin:0 0 6px}.history-explainer p{font-size:11px;color:var(--awid-muted);line-height:1.55;margin:0}.history-import-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.history-import-form .field:first-child{grid-column:1/-1}.history-import-form .btn{grid-column:1/-1;justify-content:center}.history-import-form input,.history-import-form select{width:100%;padding:9px;border:1px solid var(--awid-border);border-radius:10px}.history-import-form [hidden]{display:none!important}

@media(max-width:1150px){.setup-layout{grid-template-columns:1fr}.setup-summary{position:static}.form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.history-import-grid{grid-template-columns:1fr}}
@media(max-width:760px){.form-grid.cols-2,.form-grid.cols-4{grid-template-columns:1fr}.form-section-pro{padding:74px 18px 20px}.step-badge{left:18px;top:18px}.span-2{grid-column:auto}.inline-verify-form,.otp-row{align-items:stretch;flex-direction:column}.history-import-form{grid-template-columns:1fr}.history-import-form .field:first-child,.history-import-form .btn{grid-column:auto}.topbar-org{display:none}.battery-body{width:124px}.setup-summary{display:none}}
@media(prefers-reduced-motion:reduce){.battery-widget.status-critical .battery-fill{animation:none}}


/* AWID user-facing data explorer */
.data-page-header .eyebrow{margin-bottom:5px}.data-context-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #cfe1e7;background:#f0f8fa;border-radius:14px;padding:13px 16px;margin-bottom:18px}.data-context-banner>div{display:flex;flex-direction:column;gap:3px}.data-context-banner strong{font-size:12px;color:var(--awid-blue)}.data-context-banner span{font-size:10px;color:var(--awid-muted);line-height:1.5}.data-context-banner>a{white-space:nowrap;color:var(--awid-blue);font-weight:800}.data-filter-card{padding:18px}.data-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.data-filter-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--awid-border);padding-top:14px;margin-top:15px}.data-kpis{margin-top:18px}.data-coverage{display:flex;align-items:center;gap:6px;font-size:11px;min-height:42px}.data-coverage strong{font-size:13px}.data-coverage span{color:var(--awid-muted)}.data-table-card{padding:0;overflow:hidden}.data-table-card .table-wrap{border:0;border-radius:0}.data-table td{vertical-align:middle}.data-table td:first-child{white-space:nowrap}.measurement-value{font-size:13px;font-weight:850;color:var(--awid-text)}.quality-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.03em;background:#eef3f5;color:#536671}.quality-good{background:#eaf7f0;color:#18784e}.quality-suspect,.quality-stale,.quality-calibration_required{background:#fff4e4;color:#a35e00}.quality-out_of_range{background:#fdebec;color:#b1353e}.quality-manual{background:#edf2fb;color:#3d5e9b}.data-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:34px 20px}.data-empty-state strong{font-size:14px}.data-empty-state span{font-size:11px;color:var(--awid-muted);max-width:620px;line-height:1.55}.pagination-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-top:1px solid var(--awid-border);background:#fbfcfd}.pagination-actions{display:flex;gap:8px}
@media(max-width:980px){.data-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.data-context-banner{align-items:flex-start;flex-direction:column}.data-filter-grid{grid-template-columns:1fr}.data-filter-actions,.pagination-row{align-items:stretch;flex-direction:column}.pagination-actions{display:grid;grid-template-columns:1fr 1fr}.pagination-actions .btn{justify-content:center}}

/* AWID telemetry semantics & agronomic moisture UX */
.status-info{--status:var(--awid-blue);color:var(--awid-blue)}
.metric-subnote{font-size:10px;color:var(--awid-muted);margin-top:5px;line-height:1.35}
.metric-threshold-note{font-size:9px;line-height:1.4;color:var(--awid-muted);background:#f7fafb;border-radius:9px;padding:7px 9px;margin:2px 0 8px}

/* Moisture: the central value itself is the strong lamp requested by the user. */
.moisture-gauge{width:112px;height:112px;background:conic-gradient(color-mix(in srgb,var(--status) 80%,#fff) calc(var(--pct)*1%),#e8eef1 0);box-shadow:0 0 0 1px #dce5e9,0 6px 18px color-mix(in srgb,var(--status) 16%,transparent)}
.moisture-gauge:before{inset:12px;background:var(--status);box-shadow:inset 0 4px 12px rgba(255,255,255,.35),inset 0 -8px 14px rgba(0,0,0,.12)}
.moisture-gauge .awid-gauge-core span{font-size:25px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.28)}
.moisture-gauge .awid-gauge-core small{color:rgba(255,255,255,.88)}

/* Temperature: a larger, high-contrast liquid column makes 34.7 °C visibly different from 20 °C. */
.thermometer-wrap{display:flex;align-items:stretch;gap:5px;height:118px}
.thermo-scale{display:flex;flex-direction:column;justify-content:space-between;font-size:8px;color:var(--awid-muted);padding:2px 0 14px;text-align:right}
.thermometer{--pct:0;width:42px;height:116px;border-width:4px;border-color:#d8e3e8;border-radius:24px 24px 20px 20px;background:linear-gradient(#fbfdfe,#f4f8fa);box-shadow:inset 0 0 0 1px rgba(24,49,63,.03)}
.thermometer:after{width:30px;height:30px;bottom:2px;box-shadow:inset 0 3px 7px rgba(255,255,255,.32)}
.thermo-fill{width:16px;min-height:13%;background:var(--status);box-shadow:0 0 10px color-mix(in srgb,var(--status) 22%,transparent)}

/* An unconfigured EC threshold is informational, not "unknown". */
.bar-fill.status-info{background:var(--awid-blue)}

/* Battery: percentage is primary, raw voltage is secondary. */
.battery-widget{min-width:174px}
.battery-body{width:154px;height:76px;border-color:#cfdce2;background:#f7fafb}
.battery-fill{background:linear-gradient(90deg,color-mix(in srgb,var(--status) 78%,#fff),var(--status));opacity:.92}
.battery-reading strong{font-size:27px}
.battery-reading small{font-size:9px;letter-spacing:.04em;text-transform:none}

/* Soil-water configuration */
.soil-water-layout{align-items:start}.soil-water-form .soil-water-field{margin-bottom:14px}.soil-water-form input,.soil-water-form select{width:100%;padding:11px;border:1px solid var(--awid-border);border-radius:11px;background:#fff}.soil-water-explainer h2{font-size:20px;margin:6px 0 15px}.soil-water-diagram{display:flex;flex-direction:column;margin:18px 0;border-radius:14px;overflow:hidden;border:1px solid var(--awid-border)}.soil-zone{padding:13px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center}.soil-zone b{font-size:12px}.soil-zone span{font-size:10px;opacity:.82}.zone-saturated{background:var(--soil-water-saturation,#13aeca);color:#082f38}.zone-wet{background:var(--soil-water-above-fc,#dfa31b);color:#412b00}.zone-good{background:var(--soil-water-optimal,#176d3b);color:#fff}.zone-warning{background:var(--soil-water-irrigation,#e87512);color:#3a1c00}.zone-critical{background:var(--soil-water-critical,#d7252f);color:#fff}
@media(max-width:800px){.soil-water-layout{grid-template-columns:1fr}.soil-zone{align-items:flex-start;flex-direction:column;gap:3px}}

/* Live ThingSpeak historical-import activity */
.import-activity-title{align-items:center}.import-live-state{display:inline-flex;align-items:center;gap:7px;color:var(--awid-muted);font-size:11px;font-weight:750}.import-live-dot{width:8px;height:8px;border-radius:50%;background:#a8b1b8;box-shadow:0 0 0 4px rgba(168,177,184,.13)}.import-live-state.is-active{color:var(--awid-blue)}.import-live-state.is-active .import-live-dot{background:var(--awid-blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--awid-blue) 14%,transparent);animation:awid-live-pulse 1.2s ease-in-out infinite}.import-live-state.has-error{color:var(--awid-red)}.import-live-state.has-error .import-live-dot{background:var(--awid-red);box-shadow:0 0 0 4px color-mix(in srgb,var(--awid-red) 14%,transparent)}.import-count{font-variant-numeric:tabular-nums;font-weight:800}.import-working{display:inline-block;width:10px;height:10px;margin-right:2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:awid-import-spin .75s linear infinite}.import-row-updated{animation:awid-row-flash 1.15s ease-out}.import-jobs-wrap tbody tr{transition:background-color .25s ease}.import-jobs-wrap .danger-text{max-width:520px;line-height:1.35}.import-empty-row .empty{text-align:center;padding:22px;color:var(--awid-muted)}
@keyframes awid-import-spin{to{transform:rotate(360deg)}}
@keyframes awid-live-pulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@keyframes awid-row-flash{0%{background:#eaf7fa}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.import-live-state.is-active .import-live-dot,.import-working,.import-row-updated{animation:none}}
.history-import-feedback{grid-column:1/-1;min-height:16px;font-size:11px;color:var(--awid-muted);line-height:1.4}.history-import-feedback.success{color:var(--awid-green)}.history-import-feedback.error{color:var(--awid-red)}.history-import-form button[disabled]{opacity:.65;cursor:wait}

/* Reliability patch: component defaults must never override semantic status.
   These compound selectors intentionally outrank .awid-gauge/.thermometer/
   .battery-widget default --status declarations. */
.awid-gauge.status-good,.thermometer.status-good,.battery-widget.status-good{--status:var(--awid-green)}
.awid-gauge.status-warning,.thermometer.status-warning,.battery-widget.status-warning{--status:var(--awid-orange)}
.awid-gauge.status-critical,.thermometer.status-critical,.battery-widget.status-critical{--status:var(--awid-red)}
.awid-gauge.status-info,.thermometer.status-info,.battery-widget.status-info{--status:var(--awid-blue)}
.awid-gauge.status-unknown,.thermometer.status-unknown,.battery-widget.status-unknown{--status:#a8b1b8}
.lamp.status-warning{--status:var(--awid-orange)}

/* Battery text remains readable over strong fills. */
.battery-widget.status-good .battery-reading strong,
.battery-widget.status-warning .battery-reading strong,
.battery-widget.status-critical .battery-reading strong{color:#102f40}


/* Stable, professional Node Status composition.
   The status orb must never be squeezed into an oval by long stale-status text. */
.status-lamp-layout{display:flex;align-items:center;gap:18px;width:100%;min-width:0}
.status-lamp-orb{flex:0 0 88px;width:88px;height:88px;min-width:88px;min-height:88px;aspect-ratio:1/1;border-radius:50%}
.status-lamp-copy{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center}
.status-lamp-context{font-size:12px;line-height:1.1;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--awid-muted);margin-bottom:4px}
.status-lamp-value{font-size:32px;line-height:.98;font-weight:950;letter-spacing:-.035em;color:var(--awid-text);white-space:nowrap}
.status-lamp-copy .metric-unit{margin-top:8px;line-height:1.35}
@media (max-width:520px){.status-lamp-layout{gap:14px}.status-lamp-orb{flex-basis:76px;width:76px;height:76px;min-width:76px;min-height:76px}.status-lamp-value{font-size:27px}}

/* --- Professional identity & invitation onboarding --- */
.invite-card-head{margin-bottom:20px}.invite-card-head h2,.profile-completion-head h2{margin:7px 0 8px}
.invite-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 22px}
.invite-summary>div{border:1px solid #e2ebf0;background:#f8fbfc;border-radius:12px;padding:12px 14px;min-width:0}
.invite-summary span{display:block;color:#7b8c98;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.invite-summary strong{display:block;color:#173246;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.invite-summary small{display:block;color:#7b8c98;margin-top:3px;overflow-wrap:anywhere}
.invite-state{display:flex;flex-direction:column;gap:4px;border-radius:12px;padding:13px 15px;margin:16px 0 18px;font-size:13px;line-height:1.45}
.invite-state.success{background:#eef9f4;border:1px solid #cfeedd;color:#137651}.invite-state.warning{background:#fff8eb;border:1px solid #f4dfb1;color:#97610a}
.invite-state strong{font-size:14px}.invite-guidance{font-size:13px;line-height:1.55;color:#647784;margin:0 0 16px}
.invite-secondary{margin-top:9px}.invite-accept-form{margin-top:8px}.auth-security-note{line-height:1.5;margin-top:15px}
.awid-auth-form input[disabled]{background:#f2f6f8;color:#61727e;cursor:not-allowed}
@media(max-width:640px){.invite-summary{grid-template-columns:1fr}}

/* --- Geospatial farm map, editable entities & dynamic platform branding --- */
.brand-logo-wrap{width:44px;height:44px;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 44px;border:1px solid rgba(255,255,255,.18)}
.brand-logo{width:100%;height:100%;object-fit:contain;padding:4px}
.entity-edit-card{max-width:1050px}.entity-edit-grid{margin-top:18px}.entity-edit-grid .field input[type="checkbox"]{width:auto;min-height:auto}
.farm-map-card{min-width:0}.map{position:relative;min-height:410px;background:#eef3f5}.map-loading,.map-error{height:100%;min-height:410px;display:grid;place-items:center;text-align:center;padding:30px;color:var(--awid-muted);font-size:13px}.map-error{color:var(--awid-red);background:#fff7f7}
.map-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:12px;color:var(--awid-muted);font-size:10px;font-weight:700}.map-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.node-online{background:var(--awid-green)}.node-warning{background:var(--awid-orange)}.node-offline{background:#6f7c85}.legend-gateway{width:11px;height:11px;background:var(--awid-blue);display:inline-block;transform:rotate(45deg);border-radius:2px}.legend-boundary{width:15px;height:8px;border:2px solid var(--awid-blue);background:color-mix(in srgb,var(--awid-blue) 8%,transparent);display:inline-block;border-radius:2px}
.awid-map-label{background:rgba(255,255,255,.96)!important;border:1px solid #d7e3e8!important;border-radius:8px!important;padding:4px 7px!important;box-shadow:0 4px 12px rgba(13,51,73,.12)!important;color:#173246!important;font-weight:800!important;font-size:10px!important}.awid-map-label:before{display:none!important}.gateway-label{color:var(--awid-blue)!important}
.awid-gateway-marker-wrap{background:transparent!important;border:0!important}.awid-gateway-marker{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#137d9f,#0d526d);color:white;border:3px solid white;box-shadow:0 4px 14px rgba(13,51,73,.25);display:grid;place-items:center;font-weight:900;font-size:18px}
.awid-map-popup{display:flex;flex-direction:column;gap:4px;min-width:150px}.awid-map-popup b{font-size:13px}.awid-map-popup small{color:#7b8c98}.awid-map-popup span{font-size:10px;font-weight:800;text-transform:uppercase;color:#536671}.awid-map-popup a{font-weight:750;color:var(--awid-blue);margin-top:2px}
@media(max-width:760px){.map,.map-loading,.map-error{min-height:330px}.map-legend{gap:10px}}

/* -------------------------------------------------------------------------
   AWID visual analytics & dynamic widget positioning
   ------------------------------------------------------------------------- */
.ph-marker,.bar-position-marker,.ec-scale-marker,.thermo-fill,.battery-fill{transition:all .28s ease}
.bar-track{position:relative}
.bar-position-marker{position:absolute;top:50%;width:3px;height:28px;background:#17313f;border-radius:3px;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(255,255,255,.86),0 2px 6px rgba(23,49,63,.22);pointer-events:none}
.ec-scale-widget{min-width:190px;flex:1;padding-top:10px}
.ec-scale-track{position:relative;height:18px;border-radius:999px;background:linear-gradient(90deg,#e6f3f8 0%,#b8deeb 38%,#5db3cf 72%,#1686ad 100%);box-shadow:inset 0 1px 3px rgba(18,61,78,.12)}
.ec-scale-progress{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,rgba(22,134,173,.12),rgba(22,134,173,.36));min-width:0}
.ec-scale-marker{--status:#1686ad;position:absolute;top:50%;width:18px;height:30px;border:4px solid #fff;border-radius:9px;background:var(--status);transform:translate(-50%,-50%);box-shadow:0 3px 9px rgba(23,49,63,.28);z-index:2}
.ec-scale-marker.status-good{--status:var(--awid-green)}.ec-scale-marker.status-warning{--status:var(--awid-orange)}.ec-scale-marker.status-critical{--status:var(--awid-red)}.ec-scale-marker.status-info{--status:var(--awid-blue)}.ec-scale-marker.status-unknown{--status:#a8b1b8}
.ec-marker-tip{position:absolute;left:50%;top:-10px;transform:translateX(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--status)}
.ec-scale-labels{display:flex;justify-content:space-between;gap:10px;color:var(--awid-muted);font-size:9px;font-weight:750;margin-top:8px}.ec-scale-labels span:nth-child(2){text-align:center;flex:1}.ec-scale-labels span:last-child{text-align:right}
.ec-scale-widget .bar-reading small{font-size:10px;color:var(--awid-muted);font-weight:650}
.thermo-fill{min-height:0!important}
.metric-time-stack{display:flex;flex-direction:column;gap:2px;min-width:0}.metric-time-stack small{font-size:10px;color:var(--awid-orange);font-weight:750}.metric-footer{align-items:flex-end}

.node-trends-title{margin-top:34px}.node-trend-charts{display:grid;gap:22px}.trend-chart-card{padding:20px 20px 14px;min-width:0;overflow:hidden}.trend-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:10px}.trend-chart-head h3{margin:4px 0 7px;font-size:19px}.chart-axis-summary{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:800;color:var(--awid-muted)}.chart-axis-summary span{padding:4px 8px;background:#f3f7f8;border-radius:999px}.trend-chart-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.trend-chart-controls select{height:36px;padding:0 34px 0 10px;border:1px solid var(--awid-border);border-radius:10px;background:#fff;color:var(--awid-text);font-size:12px;font-weight:750}.trend-chart-box{height:390px;position:relative}.chart-loading{position:absolute;z-index:3;margin-top:88px;left:50%;transform:translateX(-50%);padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 4px 18px rgba(23,49,63,.1);font-size:12px;color:var(--awid-muted);pointer-events:none}.chart-footnote{min-height:20px;padding-top:8px;font-size:10px;color:var(--awid-muted)}
.awid-chart-modal{position:fixed;inset:0;z-index:1600;display:none;align-items:center;justify-content:center;padding:32px;background:rgba(13,37,49,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.awid-chart-modal.is-open{display:flex}.awid-chart-modal-panel{width:min(1320px,96vw);height:min(820px,91vh);background:#fff;border-radius:22px;box-shadow:0 28px 90px rgba(7,29,41,.34);display:flex;flex-direction:column;overflow:hidden}.awid-chart-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--awid-border)}.awid-chart-modal-head h2{margin:4px 0 5px}.chart-modal-close{width:42px;height:42px;border:0;border-radius:50%;background:#eef4f6;color:#274451;font-size:28px;line-height:1;cursor:pointer}.chart-modal-close:hover{background:#dfecef}.awid-chart-modal-canvas{flex:1;min-height:0;padding:20px 24px 28px}.awid-chart-modal-canvas canvas{width:100%!important;height:100%!important}.chart-modal-open{overflow:hidden}

.awid-map-empty-hint{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.94);border:1px solid rgba(16,77,99,.12);box-shadow:0 5px 20px rgba(23,49,63,.12);border-radius:12px;padding:10px 12px;color:#34505d;max-width:260px}.awid-map-empty-hint b{font-size:12px}.awid-map-empty-hint span{font-size:10px;color:#687d87;line-height:1.35}

@media(max-width:900px){.trend-chart-head{flex-direction:column}.trend-chart-controls{justify-content:flex-start}.trend-chart-box{height:340px}.awid-chart-modal{padding:12px}.awid-chart-modal-panel{width:100%;height:94vh;border-radius:16px}}
@media(max-width:560px){.trend-chart-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}.trend-chart-controls select{grid-column:1/-1;width:100%}.trend-chart-controls .btn{justify-content:center}.trend-chart-box{height:310px}.ec-scale-widget{min-width:150px}}

/* Final chart data-mode controls and diagnostic marker affordance. */
.chart-mode-fixed{display:inline-flex;align-items:center;height:36px;padding:0 11px;border:1px solid #d8e3e8;border-radius:10px;background:#f6f9fa;color:#526b77;font-size:11px;font-weight:800;white-space:nowrap}
.trend-chart-card .chart-footnote{line-height:1.45}
@media(max-width:560px){.trend-chart-controls .chart-mode-fixed{grid-column:1/-1;justify-content:center;width:100%}}

/* -------------------------------------------------------------------------
   AWID chart workspace controls: compact temporal resolution + settings menu
   ------------------------------------------------------------------------- */
.chart-settings-wrap{position:relative;display:inline-flex}
.chart-settings-toggle{white-space:nowrap}
.chart-settings-menu{position:absolute;z-index:35;right:0;top:calc(100% + 8px);width:280px;padding:12px;background:#fff;border:1px solid var(--awid-border);border-radius:14px;box-shadow:0 18px 48px rgba(19,49,64,.18)}
.chart-settings-menu[hidden]{display:none!important}
.chart-settings-title{padding:2px 4px 8px;color:#6d808a;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.chart-setting-action{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:#254655;font:inherit;font-size:12px;font-weight:760;text-align:left;cursor:pointer}
.chart-setting-action:hover{background:#f1f6f8;color:#0b6f91}
.chart-setting-row{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;color:#355361;font-size:12px;font-weight:730;cursor:pointer}
.chart-setting-row:hover{background:#f7fafb}.chart-setting-row input{accent-color:var(--awid-blue)}
.chart-tension-row{display:grid;grid-template-columns:auto 1fr 38px;align-items:center;gap:9px;padding:8px 10px;color:#536c78;font-size:11px;font-weight:730}
.chart-tension-row input[type="range"]{width:100%;accent-color:var(--awid-blue)}
.chart-tension-row output{font-variant-numeric:tabular-nums;text-align:right;color:#17313f;font-weight:850}
.chart-setting-note{display:block;padding:2px 10px 8px;color:#7a8e98;font-size:9.5px;line-height:1.4}
.chart-settings-divider{height:1px;background:#e7eef1;margin:6px 4px}
.trend-chart-controls .chart-aggregation{min-width:160px}
.trend-chart-controls .chart-mode{min-width:134px}
.trend-chart-controls .chart-range{min-width:145px}
@media(max-width:900px){.chart-settings-menu{left:0;right:auto}}
@media(max-width:560px){.trend-chart-controls .chart-range,.trend-chart-controls .chart-mode,.trend-chart-controls .chart-aggregation{grid-column:auto;min-width:0;width:100%}.trend-chart-controls .chart-settings-wrap{grid-column:1/-1;width:100%}.trend-chart-controls .chart-settings-toggle{width:100%;justify-content:center}.chart-settings-menu{left:0;right:0;width:100%;top:calc(100% + 7px)}}

/* --- AWID node metric dashboard layout ------------------------------------- */
.node-metrics-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:18px;align-items:stretch}
.node-metrics-layout .metric-card{height:100%;min-width:0}
@media(max-width:1100px) and (min-width:761px){.node-metrics-layout{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.node-metrics-layout{grid-template-columns:1fr}}


/* --- AWID node header refinement ------------------------------------------ */
.node-detail-header{align-items:flex-start}
.node-heading-block{min-width:0}
.node-title-line{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:5px}
.node-title-line h1{margin:0}
.node-title-status{font-size:11px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--status,currentColor) 24%,transparent);border-radius:999px;background:color-mix(in srgb,var(--status,currentColor) 9%,#fff)}
.node-header-actions{align-items:center;justify-content:flex-end;flex-wrap:nowrap;max-width:min(760px,62vw);padding:8px 10px;border:1px solid #dfe8ec;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,252,.96));box-shadow:0 10px 26px rgba(24,49,63,.06)}
.node-header-actions .btn{white-space:nowrap;box-shadow:0 6px 16px rgba(24,49,63,.05)}
.node-more-actions{position:relative;flex:0 0 auto}
.node-more-actions>summary{list-style:none;user-select:none}
.node-more-actions>summary::-webkit-details-marker{display:none}
.node-more-actions[open]>summary{background:#f4f8fa}
.node-more-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:205px;padding:7px;background:#fff;border:1px solid var(--awid-border);border-radius:12px;box-shadow:0 15px 40px rgba(18,49,64,.16)}
.node-more-menu a{display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:9px;color:var(--awid-text);font-size:12px;font-weight:750;white-space:nowrap}
.node-more-menu a:hover{background:#eef6f8;color:var(--awid-blue)}
@media(max-width:1180px){.node-detail-header{flex-direction:column}.node-header-actions{max-width:100%;width:100%;justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:620px){.node-header-actions .btn{padding:9px 11px;font-size:12px}.node-title-line{gap:8px}.node-more-menu{left:0;right:auto}}


/* Final visual polish — structured node UI */
.metric-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(24,49,63,.10);border-color:#d3e2e9}
.metric-card::before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,rgba(22,134,173,.08),rgba(22,155,98,.14),rgba(232,145,36,.10));pointer-events:none}
.btn-sync-primary{background:linear-gradient(180deg,#eaf5f8 0%,#dceef5 100%);border:1px solid #d0e4eb;color:var(--awid-blue)}
.btn-sync-primary:hover{background:linear-gradient(180deg,#deeff5 0%,#cde6ef 100%)}
.node-header-actions .btn-outline{background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%)}
.node-more-actions>summary{display:inline-flex;align-items:center;gap:8px}
.thermometer{position:relative;overflow:visible}
.thermo-marker{position:absolute;left:50%;bottom:clamp(14px,calc(var(--pct,0) * 1%),calc(100% - 14px));width:20px;height:20px;border-radius:50%;transform:translate(-50%,50%);background:radial-gradient(circle at 35% 30%,#ffffff 0 20%,color-mix(in srgb,var(--status) 38%,#fff) 33%,var(--status) 76%,color-mix(in srgb,var(--status) 68%,#000) 100%);border:3px solid rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(16,47,63,.20);z-index:3;pointer-events:none;transition:bottom .28s ease}
.thermo-fill{position:relative;z-index:2}

/* --- Kobo / manual field observations ------------------------------------ */
.compact-context-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;margin-bottom:18px}.compact-context-card>div{display:flex;flex-direction:column;gap:3px}.compact-context-card strong{font-size:12px}.compact-context-card span{font-size:10px;color:var(--awid-muted)}.compact-context-card select{min-width:250px;border:1px solid #d7e1e6;border-radius:10px;background:#fff;padding:9px 11px;color:var(--awid-text)}
.field-observation-kpis{margin-bottom:18px}.kpi-date{font-size:26px}
.kobo-connector-card{margin-top:18px;border-color:#cfe2e9;background:linear-gradient(180deg,#fff,#fbfdfe)}.kobo-connector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.kobo-connector-title{display:flex;align-items:center;gap:9px;margin-bottom:5px}.kobo-live-dot{width:10px;height:10px;border-radius:50%;background:#a8b1b8;box-shadow:0 0 0 4px rgba(168,177,184,.14)}.kobo-live-dot.is-live{background:var(--awid-green);box-shadow:0 0 0 4px color-mix(in srgb,var(--awid-green) 15%,transparent);animation:awid-live-pulse 1.5s ease-in-out infinite}.kobo-live-dot.has-error{background:var(--awid-red);box-shadow:0 0 0 4px color-mix(in srgb,var(--awid-red) 15%,transparent)}.kobo-inline-actions{flex-wrap:wrap;justify-content:flex-end}.kobo-inline-actions form{margin:0}.kobo-connector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.kobo-connector-grid>div{padding:11px 12px;border:1px solid #e4ecef;border-radius:12px;background:#f8fbfc;min-width:0}.kobo-connector-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--awid-muted);margin-bottom:5px}.kobo-connector-grid strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kobo-baseline-banner{margin-top:14px;padding:11px 13px;border-radius:11px;background:#edf7fa;color:#28566a;font-size:11px;line-height:1.45}.kobo-error-message{margin-top:14px;margin-bottom:0}
.kobo-flow-card{margin-top:18px}.kobo-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:9px}.kobo-flow>div{min-width:0;padding:13px;border:1px solid #dfe9ed;background:#f8fbfc;border-radius:12px;text-align:center}.kobo-flow>div.active{border-color:#aad5e2;background:#edf8fb}.kobo-flow b{display:block;font-size:12px}.kobo-flow span{display:block;font-size:9px;color:var(--awid-muted);margin-top:4px}.kobo-flow i{font-style:normal;color:#8da0aa;font-weight:900}.kobo-webhook-details{margin-top:14px;border-top:1px solid #e6edef;padding-top:12px}.kobo-webhook-details summary{cursor:pointer;font-size:11px;font-weight:800;color:var(--awid-blue)}.kobo-webhook-box{margin-top:10px;padding:12px;border:1px solid #e4ecef;border-radius:11px;background:#fbfdfe}.kobo-webhook-box p{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--awid-muted);margin:8px 0 4px}.kobo-webhook-box code{display:block;overflow:auto;padding:9px;background:#eef4f6;border-radius:8px;font-size:10px}.kobo-webhook-box .message{margin-top:10px;margin-bottom:0}
.kobo-empty-connect{display:flex;align-items:center;gap:20px;margin-top:18px;padding:25px}.kobo-empty-connect h2{margin:0 0 6px;font-size:18px}.kobo-empty-connect p{margin:0 0 14px;color:var(--awid-muted);font-size:12px;max-width:720px}.kobo-empty-icon{width:54px;height:54px;flex:0 0 54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#0f6d8f,#169b62);color:#fff;font-weight:950;font-size:23px}
.kobo-live-baseline-note{display:flex;gap:14px;align-items:flex-start;padding:14px;margin-bottom:18px;border:1px solid #cfe4ea;border-radius:13px;background:#eef8fa}.kobo-live-baseline-note>div:last-child{display:flex;flex-direction:column;gap:4px}.kobo-live-baseline-note strong{font-size:12px}.kobo-live-baseline-note span{font-size:10px;line-height:1.5;color:#56727f}.kobo-live-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:#d9eff5;color:var(--awid-blue);font-weight:900}.kobo-unit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kobo-confirm-row{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:11px 12px;border-radius:11px;background:#f7fafb;border:1px solid #e5ecef}.kobo-confirm-row input{width:auto;margin-top:2px}.kobo-confirm-row label{font-size:11px;font-weight:750;line-height:1.4}
.kobo-preview-card{padding:0;overflow:hidden}.field-observation-table-card{padding:0}.field-moment{display:inline-flex;min-width:31px;justify-content:center;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.05em;background:#edf2f4;color:#52646d}.moment-AV{background:#fff0dc;color:#9b5900}.moment-AP{background:#eaf7f0;color:#19764d}.moment-PI{background:#edf2fb;color:#3d5e9b}.quality-manual{background:#eef5f8;color:#2b677f}.kobo-live-toast{position:fixed;right:24px;bottom:24px;z-index:1000;padding:12px 16px;border-radius:12px;background:#12334a;color:#fff;box-shadow:0 14px 40px rgba(18,49,64,.28);font-size:12px;font-weight:750;animation:awid-row-flash .8s ease-out}
@media(max-width:1100px){.kobo-connector-head{flex-direction:column}.kobo-inline-actions{justify-content:flex-start}.kobo-connector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kobo-flow{grid-template-columns:1fr}.kobo-flow i{transform:rotate(90deg);text-align:center}.kobo-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.compact-context-card{align-items:stretch;flex-direction:column}.compact-context-card select{min-width:0;width:100%}.kobo-connector-grid,.kobo-unit-grid{grid-template-columns:1fr}.kobo-empty-connect{align-items:flex-start;flex-direction:column}}

/* -------------------------------------------------------------------------
   Field Observations — agronomic intelligence workspace
   ------------------------------------------------------------------------- */
.field-workspace-nav{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:5px;margin:-5px 0 18px;border:1px solid #dfe9ed;border-radius:15px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(24,49,63,.05);scrollbar-width:thin}
.field-workspace-nav a{flex:0 0 auto;padding:9px 11px;border-radius:10px;font-size:11px;font-weight:800;color:#5c6f79;white-space:nowrap;transition:.16s ease}
.field-workspace-nav a:hover{background:#f0f7f9;color:var(--awid-blue)}
.field-workspace-nav a.active{background:#e6f3f7;color:var(--awid-blue);box-shadow:inset 0 0 0 1px #cde5ed}
.field-header-farm{display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:9px 12px;border:1px solid #dfe9ed;border-radius:12px;background:#fff;min-width:150px}.field-header-farm span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--awid-muted);font-weight:850}.field-header-farm strong{font-size:13px}.field-farm-context{margin-bottom:18px}
.field-filter-card{margin-bottom:18px}.field-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.field-filter-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;margin-top:14px;border-top:1px solid #edf2f4}
.field-mini-kpis{margin-bottom:18px}.field-mini-kpis .kpi{min-height:122px}.field-mini-kpis .kpi-value{font-size:27px}
.field-inline-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:13px 15px;border:1px solid #d7e8ee;border-radius:14px;background:linear-gradient(90deg,#f4fafc,#fff)}.field-inline-callout>div{display:flex;flex-direction:column;gap:3px}.field-inline-callout strong{font-size:12px}.field-inline-callout span{font-size:10px;color:var(--awid-muted);line-height:1.4}
.field-plot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.field-plot-card{display:flex;flex-direction:column;gap:14px;min-height:270px}.field-plot-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.field-plot-card h3{margin:3px 0 0;font-size:20px}.field-plot-meta{display:flex;gap:7px;flex-wrap:wrap}.field-plot-meta span{padding:5px 8px;border-radius:999px;background:#f0f5f7;color:#52666f;font-size:10px;font-weight:750}.field-plot-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.field-plot-stats div{padding:10px;border:1px solid #e7eef1;border-radius:11px;background:#fbfdfe}.field-plot-stats span{display:block;font-size:9px;color:var(--awid-muted);margin-bottom:5px}.field-plot-stats strong{font-size:17px}.field-plot-moments{display:flex;gap:8px}.field-plot-moments span{flex:1;padding:8px;text-align:center;border-radius:9px;background:#f4f7f9;font-size:10px;color:#667780}.field-plot-moments b{color:var(--awid-text);font-size:13px}
.field-analysis-grid{align-items:stretch;margin-bottom:18px}.field-chart-card{overflow:hidden}.section-title.compact{margin:0 0 14px}.section-title.compact h2{font-size:16px}.section-title.table-title{padding:16px 18px 0}.field-status-bars{display:grid;gap:8px}.field-status-bars+ .field-status-bars{margin-top:16px;padding-top:16px;border-top:1px solid #edf2f4}.field-status-bars div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;background:#f7fafb;font-size:11px}.field-status-bars b{font-size:13px}.recovery-bars div:nth-child(1){background:#edf8f2}.recovery-bars div:nth-child(3),.recovery-bars div:nth-child(4){background:#fff6e8}
.field-parameter-switcher{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.field-parameter-switcher>div{display:flex;flex-direction:column;gap:3px}.field-parameter-switcher span{font-size:10px;color:var(--awid-muted)}.field-parameter-switcher select{min-width:270px;border:1px solid #d7e1e6;border-radius:11px;padding:10px;background:white}.field-science-note{border:1px solid #d8e8ee;background:#f3f9fb;color:#355766}.field-science-note strong{color:#183f52}
.field-metric-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.comparison-metric-card{min-height:185px}.comparison-n{margin:7px 0 13px;color:var(--awid-muted);font-size:11px}.comparison-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.comparison-grid div{padding:9px;border-radius:9px;background:#f7fafb}.comparison-grid span{display:block;font-size:8px;color:var(--awid-muted);text-transform:uppercase;letter-spacing:.06em}.comparison-grid strong{font-size:13px;white-space:nowrap}
.sustainability-kpi{position:relative;overflow:hidden;min-height:140px;background:linear-gradient(180deg,#fff,#fbfefd)}.sustainability-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--awid-green)}.sustainability-kpi.critical:before{background:var(--awid-red)}.sustainability-kpi.wet:before{background:#43bccc}.sustainability-kpi span{display:block;font-size:11px;font-weight:750;color:#58707b}.sustainability-kpi strong{display:block;margin:10px 0 5px;font-size:30px}.sustainability-kpi small{color:var(--awid-muted);line-height:1.4}.field-indicator-list,.field-reason-list{display:grid;gap:8px}.field-indicator-list div,.field-reason-list div{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:9px;background:#f7fafb;font-size:11px}.field-reason-list b,.field-indicator-list strong{font-size:12px}.field-response-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.field-response-cards>div{padding:13px;border:1px solid #e4ecef;border-radius:12px;background:#fbfdfe}.field-response-cards span,.field-response-cards small{display:block;color:var(--awid-muted);font-size:9px}.field-response-cards strong{display:block;margin:5px 0;font-size:20px}.field-future-indicators{margin-top:18px;border-style:dashed;background:#fbfcfd}.field-future-indicators p{font-size:11px;color:var(--awid-muted);line-height:1.55;margin-bottom:0}
.mapping-list{display:grid;gap:12px}.mapping-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(160px,1.3fr) minmax(180px,1.3fr) 130px 80px 74px;gap:12px;align-items:end;padding:15px}.mapping-label{align-self:center;display:flex;flex-direction:column;gap:3px}.mapping-label span{font-size:9px;color:var(--awid-muted);text-transform:uppercase;letter-spacing:.06em}.mapping-label strong{font-size:15px}.mapping-label small{font-size:9px;color:var(--awid-green)}.mapping-active{text-align:center}.mapping-active input{width:auto}.mapping-save{display:flex;align-items:flex-end}.mapping-row .field select,.mapping-row .field input[type=number],.mapping-row .field input[type=text]{width:100%;border:1px solid #d7e1e6;border-radius:10px;padding:9px;background:#fff}
.field-practice-summary{margin-bottom:18px}.field-practice-summary .card{min-height:170px}.field-science-card h3{margin:7px 0;font-size:19px}.field-science-card p{font-size:11px;color:var(--awid-muted);line-height:1.55;margin:0}
@media(max-width:1200px){.field-plot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mapping-row{grid-template-columns:1fr 1fr 1fr}.mapping-label,.mapping-save{grid-column:auto}.field-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.field-header-farm{display:none}.field-plot-grid,.field-metric-table-grid,.field-response-cards{grid-template-columns:1fr}.field-filter-grid,.mapping-row{grid-template-columns:1fr}.field-parameter-switcher,.field-inline-callout{align-items:stretch;flex-direction:column}.field-parameter-switcher select{min-width:0;width:100%}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-workspace-nav{border-radius:12px}.field-workspace-nav a{padding:8px 9px}}

/* Kobo historical import progress */
.kobo-history-progress{margin-top:10px;padding:10px 12px;border:1px solid #cfe4ec;border-radius:11px;background:#eef8fb;color:var(--awid-blue);font-size:11px;font-weight:800}
.kobo-history-progress.has-error{border-color:#f0c8cb;background:#fff0f1;color:var(--awid-red)}

/* Same-farm previous / next node navigation. */
.node-sequence-nav{display:inline-flex;align-items:center;gap:5px;margin-left:3px}
.node-nav-arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d8e4e9;border-radius:9px;background:#fff;color:#365866;font-size:17px;font-weight:850;line-height:1;text-decoration:none;box-shadow:0 4px 12px rgba(24,49,63,.05);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.node-nav-arrow:hover{background:#eef7fa;border-color:#c7dfe7;color:var(--awid-blue);transform:translateY(-1px)}
.node-nav-arrow.is-disabled{opacity:.32;cursor:default;box-shadow:none}

/* Active primary navigation ------------------------------------------------ */
.sidebar .nav-link{position:relative;transition:background .16s ease,color .16s ease,transform .16s ease}
.sidebar .nav-link.active{background:linear-gradient(90deg,#1a536d,#164861);color:#fff;box-shadow:inset 0 0 0 1px rgba(129,211,235,.16),0 8px 20px rgba(2,24,36,.16);font-weight:800}
.sidebar .nav-link.active::before{content:"";position:absolute;left:-8px;top:9px;bottom:9px;width:4px;border-radius:999px;background:#50c5dc;box-shadow:0 0 12px rgba(80,197,220,.6)}
.sidebar .nav-link.active .nav-icon{color:#7fdef0}
@media(max-width:1100px){.sidebar .nav-link.active::before{left:-4px}}

/* Shared Field Observations chart workspace ------------------------------- */
.awid-chart-workspace{position:relative;margin-bottom:18px;overflow:visible}
.field-analysis-grid .awid-chart-workspace{margin-bottom:0}
.awid-chart-workspace .trend-chart-head>div:first-child{min-width:210px}
.awid-chart-workspace .trend-chart-head h3{margin-bottom:5px}
.awid-chart-workspace .trend-chart-head small{display:block;max-width:620px;color:var(--awid-muted);font-size:10px;line-height:1.5}
.awid-chart-controls{max-width:760px}
.awid-chart-parameter-label{display:inline-flex;align-items:center;gap:8px;margin-top:11px;color:#5b707b;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}
.awid-chart-parameter{min-width:210px;padding:8px 32px 8px 10px;border:1px solid var(--awid-border);border-radius:9px;background:#fff;color:var(--awid-text);font-size:11px;font-weight:750;text-transform:none;letter-spacing:0}
.awid-shared-chart-modal-meta{margin-top:4px}
@media(max-width:900px){.awid-chart-workspace .trend-chart-head>div:first-child{width:100%}.awid-chart-controls{max-width:none;width:100%}}

/* Packet-oriented node measurement history ------------------------------- */
.node-history-section{scroll-margin-top:88px;margin-top:36px}
.node-history-title{align-items:flex-end}
.node-history-title h2{margin-bottom:5px}
.node-history-total{display:inline-flex;padding:7px 10px;border:1px solid #dbe7eb;border-radius:999px;background:#f5f9fa;color:#536b76;font-size:10px;font-weight:850;white-space:nowrap}
.node-history-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(135px,.8fr)) auto;gap:12px;align-items:end;margin-bottom:16px;padding:16px}
.node-history-filters .field{min-width:0}
.node-history-filters label{display:block;margin-bottom:6px;color:#607581;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.node-history-filters input,.node-history-filters select{width:100%;height:39px;padding:0 10px;border:1px solid #d7e2e7;border-radius:10px;background:#fff;color:var(--awid-text);font-size:11px}
.node-history-search input{min-width:0}
.node-history-filter-actions{display:flex;gap:8px;align-items:center}
.node-history-filter-actions .btn{height:39px;white-space:nowrap}
.node-history-card{overflow:visible}
.node-history-table-wrap{max-height:720px;overflow:auto;overscroll-behavior:contain}
.node-history-table{min-width:1180px;border-collapse:separate;border-spacing:0}
.node-history-table thead th{position:sticky;top:0;z-index:5;background:#f6f9fa;box-shadow:0 1px 0 var(--awid-border);white-space:nowrap}
.node-history-table th small{display:block;margin-top:3px;color:#8b9aa2;font-size:8px;font-weight:650;text-transform:none;letter-spacing:0}
.node-history-table td{min-width:118px;vertical-align:middle;background:#fff}
.node-history-table td:nth-child(-n+5){white-space:nowrap}
.node-history-table .history-sticky-time{position:sticky;left:0;z-index:4;min-width:154px;background:#fff;box-shadow:1px 0 0 var(--awid-border)}
.node-history-table thead .history-sticky-time{z-index:7;background:#f6f9fa}
.node-history-table tr.history-packet-rejected td{background:#fffafa}
.node-history-table tr.history-packet-rejected .history-sticky-time{background:#fffafa}
.history-entry-id{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis}
.history-quality-note{display:block;margin-top:5px;color:#9b6870;font-size:8.5px}
.history-value-cell strong{font-size:12px;color:#17313f;font-variant-numeric:tabular-nums}
.history-value-cell>span:not(.muted){margin-left:3px;color:#657883;font-size:9px}
.history-value-cell small{display:block;margin-top:4px;color:#748790;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}
.history-value-cell.is-packet-rejected strong{color:#a42d35;text-decoration:line-through;text-decoration-thickness:1px}
.history-value-cell.is-packet-rejected small{color:#b12f39}
.node-history-pagination{position:relative;z-index:8;flex-wrap:wrap}
.history-page-indicator{display:inline-flex;align-items:center;padding:0 9px;color:#586e79;font-size:10px;font-weight:800;white-space:nowrap}
@media(max-width:1350px){.node-history-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.node-history-search{grid-column:span 2}.node-history-filter-actions{justify-content:flex-end}}
@media(max-width:760px){.node-history-title{align-items:flex-start}.node-history-total{margin-top:8px}.node-history-filters{grid-template-columns:1fr}.node-history-search{grid-column:auto}.node-history-filter-actions{justify-content:stretch}.node-history-filter-actions .btn{flex:1;justify-content:center}.node-history-pagination{align-items:flex-start;flex-direction:column}.node-history-pagination .pagination-actions{width:100%;overflow-x:auto}}
