/* AgroLens workspace v2 — role-aware, extensible app shell */
:root{--ag-forest:#123a2a;--ag-forest-darker:#09291d;--ag-mint:#dff0e6;--ag-ink:#182c27;--ag-fog:#f4f7f3;--ag-line:#dfe7de;--ag-slate:#667c72;--ag-teal:#238269;--ag-gold:#dda85a}
.app-shell{flex-direction:row;align-items:stretch;background:var(--ag-fog);min-height:100dvh}
.ag-sidebar{background:var(--ag-forest-darker);color:#eaf2ea;width:248px;min-width:248px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;padding:26px 15px 20px;z-index:40}
.ag-brand{padding:0 14px 30px;display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.ag-brand-symbol{display:flex;justify-content:center;align-items:center;width:39px;height:39px;border:1px solid #80b49e;border-radius:12px;font-size:21px;background:linear-gradient(140deg,#256247,#113e2d)}
.ag-brand-text{display:flex;flex-direction:column;font-size:19px;letter-spacing:-.045em;font-weight:800;line-height:1.1}
.ag-brand-text small{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8fc7ac;margin-top:5px}
.ag-nav-group-label{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.14em;color:#88b59e;margin:0 12px 12px}
.ag-main-nav{display:flex;flex-direction:column;gap:5px}
.ag-nav-btn{width:100%;border:none;border-radius:10px;display:flex;align-items:center;gap:12px;text-align:left;color:#bad1c3;font:600 13px Inter,system-ui,sans-serif;background:transparent;padding:12px 13px;cursor:pointer;transition:background .15s,color .15s}
.ag-nav-btn:hover,.ag-nav-btn:focus-visible{background:#254838;color:#fff}
.ag-nav-btn.active{background:#28664a;color:white;box-shadow:inset 3px 0 0 #a1dbbc}
.ag-nav-symbol{width:19px;font-size:17px;text-align:center;display:inline-flex;justify-content:center}
.ag-side-bottom{margin-top:auto;border-top:1px solid #355247;padding-top:18px}
.ag-side-bottom .ag-user{display:flex;align-items:center;gap:10px;margin:0 8px 16px;min-width:0}
.ag-user-avatar{width:37px;height:37px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:12px;background:#38654f;color:#eff9f1;font-size:13px;font-weight:750}
.ag-side-bottom strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-side-bottom small{font-size:11px;color:#8dbaa2;display:block;margin-top:3px}
.ag-logout{border:1px solid #466c58;padding:9px 12px;background:transparent;color:#d8e7dc;border-radius:9px;width:100%;font-size:12px;cursor:pointer;text-align:left}
.ag-area{min-width:0;display:flex;flex-direction:column;flex:1;min-height:100dvh}
.ag-topbar{height:77px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 35px;border-bottom:1px solid var(--ag-line);background:#fff}
.ag-topbar-title{font-size:15px;font-weight:750;color:var(--ag-ink)}
.ag-topbar-sub{color:var(--ag-slate);font-size:11px;margin-top:4px}
.ag-topbar-actions{display:flex;align-items:center;gap:12px}
.ag-topbar-actions .btn{width:auto;padding:11px 18px;font-size:12px}
.ag-topbar-chip{border:1px solid #d9e8dd;background:#f5faf6;border-radius:30px;padding:8px 11px;font-size:11px;color:#375848;font-weight:650}
.ag-mobile-trigger{display:none;background:none;border:0;font-size:20px;color:var(--ag-forest)}
.ag-workspace-main{padding:32px clamp(20px,3vw,52px) 70px;flex:1;width:100%;max-width:1560px;margin:0 auto;min-width:0}
.ag-eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:#5a9176;margin-bottom:11px}
.ag-page-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:25px;flex-wrap:wrap}
.ag-page-head h1{font-size:clamp(25px,2.8vw,38px);letter-spacing:-.045em;line-height:1.1;color:#102d22;font-weight:790}
.ag-page-head p{font-size:13px;line-height:1.6;color:#60786b;max-width:660px;margin-top:9px}
.ag-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ag-button{border:1px solid #b6d0c0;background:#fff;border-radius:9px;padding:10px 15px;color:#204f38;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center;white-space:nowrap}
.ag-button:hover{background:#ecf6ef;border-color:#669d7d}
.ag-button.primary{background:#1b6948;color:#fff;border-color:#1b6948}
.ag-button.primary:hover{background:#0e5738}
.ag-button.subtle{background:#eff6f0;border-color:transparent}
.ag-card{background:white;border:1px solid var(--ag-line);border-radius:16px;box-shadow:0 2px 8px rgba(21,65,42,.025);padding:20px}
.ag-grid{display:grid;gap:16px}
.ag-grid.two{grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr)}
.ag-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.ag-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.ag-stat{padding:21px 19px;display:flex;flex-direction:column;min-width:0;gap:12px}
.ag-stat .ag-stat-icon{width:32px;height:32px;border-radius:10px;background:#eaf4ed;color:#316d4d;display:flex;justify-content:center;align-items:center;font-size:16px}
.ag-stat small{font-size:12px;color:#647b6d;font-weight:600}
.ag-stat strong{font-size:28px;letter-spacing:-.04em;color:#163c2a;line-height:1;font-weight:760}
.ag-stat .ag-stat-note{font-size:11px;color:#8a9a8d;line-height:1.3;margin-top:auto}
.ag-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:31px 0 15px}
.ag-section-heading h2{font-size:18px;font-weight:760;letter-spacing:-.025em;color:#1a382a}
.ag-section-heading p{font-size:12px;color:#738778}
.ag-section-heading a{font-size:12px;color:#1b7652;text-decoration:none;font-weight:750;cursor:pointer}
.ag-hero{border-radius:18px;padding:27px 30px;min-height:180px;background:radial-gradient(circle at 82% 25%,rgba(112,177,121,.22) 0%,transparent 28%),linear-gradient(115deg,#123c2a 4%,#1a583e 70%,#28553e 100%);color:#fff;position:relative;overflow:hidden}
.ag-hero:after{content:'';position:absolute;right:-45px;top:-90px;border:1px solid rgba(201,232,209,.16);height:260px;width:260px;border-radius:60px;transform:rotate(40deg)}
.ag-hero .ag-eyebrow{color:#a1dbba}
.ag-hero h2{font-size:clamp(22px,2.5vw,30px);font-weight:770;letter-spacing:-.037em;max-width:600px;line-height:1.18}
.ag-hero p{font-size:13px;color:#d1e8d8;line-height:1.6;max-width:560px;margin-top:10px}
.ag-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.ag-hero .ag-button{background:#eef8ec;color:#155438;border:0;position:relative;z-index:2}
.ag-hero .ag-button.ghost{background:#ffffff1d;color:white;border:1px solid #ffffff6b}
.ag-task-list{display:flex;flex-direction:column;gap:0}
.ag-task{display:flex;gap:13px;align-items:center;border-bottom:1px solid #edf1ed;padding:13px 0}
.ag-task:last-child{border-bottom:0;padding-bottom:0}
.ag-task-icon{flex-shrink:0;width:34px;height:34px;border-radius:11px;background:#ebf3ea;display:flex;align-items:center;justify-content:center}
.ag-task strong{display:block;font-size:12px;color:#243c2c;margin-bottom:4px}
.ag-task p{font-size:11px;color:#72877b;line-height:1.4}
.ag-task button{border:0;background:none;color:#22754e;font-size:12px;font-weight:800;cursor:pointer;margin-left:auto;flex-shrink:0}
.ag-tool-card{padding:21px;min-height:172px;display:flex;flex-direction:column;gap:8px;position:relative}
.ag-tool-symbol{height:37px;width:37px;background:#e9f5ee;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px}
.ag-tool-card h3{font-size:14px;font-weight:760;color:#17382a;margin-top:8px}
.ag-tool-card p{font-size:12px;color:#687b6f;line-height:1.5;flex:1}
.ag-tool-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px}
.ag-tool-meta{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.045em;color:#6f9b81}
.ag-tool-go{border:0;background:none;color:#18704c;font-weight:750;font-size:12px;cursor:pointer}
.ag-tool-card.unavailable{opacity:.65}
.ag-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.ag-search{padding:12px 13px;border-radius:10px;border:1px solid #d6e2d8;background:#fff;color:#203629;flex:1;min-width:180px;font:inherit;font-size:13px;outline:0}
.ag-search:focus{border-color:#35865b;box-shadow:0 0 0 3px #d3eddb}
.ag-filter{border:1px solid #d6e2d8;border-radius:9px;padding:11px 13px;background:white;font:inherit;font-size:12px;color:#315c45;max-width:220px}
.ag-parcel-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.ag-parcel{display:flex;flex-direction:column;gap:13px;padding:20px 21px;cursor:pointer;transition:transform .15s,border-color .15s;min-width:0}
.ag-parcel:hover{border-color:#95bbaa;transform:translateY(-1px)}
.ag-parcel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ag-parcel h3{font-size:16px;letter-spacing:-.02em;line-height:1.25;color:#1a402e}
.ag-parcel p{font-size:11px;color:#778579;line-height:1.55;margin-top:4px}
.ag-parcel-reading{text-align:right;flex-shrink:0}
.ag-parcel-reading strong{font-size:23px;color:#1e5237;letter-spacing:-.04em;display:block}
.ag-parcel-reading small{font-size:10px;color:#8b9c91}
.ag-tags{display:flex;gap:6px;flex-wrap:wrap}
.ag-tag{font-size:10px;color:#42614d;background:#eef5ee;border-radius:7px;padding:6px 8px;font-weight:650}
.ag-tag.missing{background:#fff3e2;color:#9b6d26}
.ag-parcel-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0ec;padding-top:14px;margin-top:auto;font-size:11px;color:#718175}
.ag-parcel-foot b{color:#236d47;font-size:12px}
.ag-empty{padding:34px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.ag-empty .ag-empty-icon{height:62px;width:62px;border-radius:20px;background:#edf6ee;font-size:28px;display:flex;justify-content:center;align-items:center}
.ag-empty h3{font-size:18px;color:#23442f}
.ag-empty p{font-size:13px;line-height:1.6;color:#77887d;max-width:450px}
.ag-map{height:520px;width:100%;border-radius:13px;overflow:hidden;border:1px solid #d6dfd3;z-index:0}
.ag-map-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:13px;font-size:11px;color:#698273}
.ag-map-legend span i{display:inline-block;height:9px;width:9px;border-radius:50%;margin-right:5px}
.ag-notice{border-left:3px solid #c69749;background:#fff9ee;color:#77532e;border-radius:0 9px 9px 0;padding:12px 16px;line-height:1.55;font-size:12px}
.ag-callout{display:flex;align-items:flex-start;gap:12px;background:#eff7f0;border:1px solid #d9e9db;border-radius:12px;padding:17px 18px;margin:14px 0;color:#34654b;font-size:12px;line-height:1.55}
.ag-callout strong{color:#1a593d;display:block;margin-bottom:4px}
.ag-operator-table{overflow-x:auto}
.ag-operator-table table{width:100%;border-collapse:collapse;font-size:12px}
.ag-operator-table th,.ag-operator-table td{border-bottom:1px solid #e7ece7;text-align:left;padding:14px 12px;vertical-align:middle}
.ag-operator-table th{font-size:10px;letter-spacing:.08em;color:#6c8473}
.ag-operator-table td{color:#3a5a46}
.ag-bottom-nav{display:none}
/* Detail product workspace */
.detail-view{background:#f3f7f3}
.detail-view .detail-header{padding:15px clamp(18px,3vw,48px);background:#fff}
.detail-view #detailBody{width:100%;max-width:1430px;margin:0 auto;padding:24px clamp(16px,3vw,48px) 60px}
.detail-view .detail-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.detail-view .detail-stat{background:#fff;border:1px solid #dce7df;border-radius:13px;padding:21px 15px}
.detail-view .detail-stat .val{font-size:clamp(16px,2vw,26px);color:#22513a}
.detail-view .detail-stat .lbl{color:#7b9180;font-size:11px;margin-top:8px}
.ag-detail-visual{background:#fff;border:1px solid #e0e9e0;border-radius:16px;padding:16px;margin-bottom:18px}
.ag-detail-visual .detail-map{height:340px;margin:0}
.ag-detail-visual .boundary-toolbar{margin-top:12px;margin-bottom:0}
.ag-detail-tabs{display:flex;gap:4px;border-bottom:1px solid #d9e6dc;margin:22px 0 18px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.ag-detail-tab{border:0;background:none;color:#6c8575;font-weight:680;font-size:12px;cursor:pointer;padding:13px 17px;border-bottom:3px solid transparent;white-space:nowrap}
.ag-detail-tab:hover{color:#196641}
.ag-detail-tab.active{color:#14653d;border-bottom-color:#218451}
.ag-detail-panel{display:none}
.ag-detail-panel.active{display:block}
.ag-detail-panel .detail-chart{border:1px solid #dfe9e1;box-shadow:0 2px 5px #123a2a08;padding:21px;border-radius:14px;margin-bottom:14px}
.ag-detail-panel .detail-chart h3{font-size:15px;color:#1c4832}
.ag-detail-lead{background:linear-gradient(110deg,#eff7ef,#f8fbf6);border:1px solid #d7e7d9;border-radius:14px;padding:20px 23px;margin-bottom:16px}
.ag-detail-lead h3{font-size:17px;color:#1a5137;letter-spacing:-.025em}
.ag-detail-lead p{font-size:12px;line-height:1.5;color:#64836f;margin-top:8px}
.ag-detail-shortcuts{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.ag-detail-shortcuts button{border:1px solid #bcd5c5;border-radius:9px;background:white;color:#1a6c45;padding:9px 12px;font-size:12px;font-weight:750;cursor:pointer}
.ag-detail-crumb{font-size:10px;color:#6b8f79;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
@media(max-width:1190px){.ag-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-grid.two{grid-template-columns:1fr}}
@media(max-width:840px){.ag-sidebar{position:fixed;left:-265px;transition:left .2s;top:0;bottom:0;box-shadow:0 0 0 transparent}.ag-sidebar.open{left:0;box-shadow:30px 0 0 900px #10281a52}.ag-mobile-trigger{display:block}.ag-topbar{height:65px;padding:0 16px}.ag-topbar-chip{display:none}.ag-topbar-actions .btn{padding:10px}.ag-workspace-main{padding:24px 16px 100px}.ag-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:35;height:68px;background:#fff;border-top:1px solid #dce9df;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom)}.ag-bottom-btn{border:0;background:none;color:#798e80;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:700;min-width:55px;cursor:pointer}.ag-bottom-btn.active{color:#177249}.ag-bottom-btn span{font-size:20px}.ag-map{height:400px}.detail-view #detailBody{padding:16px 13px 100px}}
@media(max-width:590px){.ag-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ag-grid.three{grid-template-columns:1fr}.ag-parcel-list{grid-template-columns:1fr}.ag-stat{padding:16px 14px}.ag-stat strong{font-size:24px}.ag-hero{padding:24px 20px}.ag-page-head h1{font-size:28px}.ag-detail-visual .detail-map{height:255px}.detail-view .detail-stats{grid-template-columns:repeat(2,1fr)}.ag-detail-tab{padding:12px 14px}.ag-detail-panel .detail-chart{padding:15px}}

/* Field notes: intentionally fewer controls than a traditional scouting form. */
.ag-note-compose h3{font-size:22px;font-weight:750;color:#183e2c;margin:8px 0}
.ag-note-compose>p{font-size:12px;color:#6b8674;line-height:1.65;margin-bottom:17px}
.ag-note-label{font-weight:700;font-size:12px;color:#315842;display:block;margin:14px 0 7px}
.ag-note-compose textarea,.ag-note-edit-slot textarea{width:100%;display:block;padding:13px 15px;line-height:1.55;font-size:14px;box-sizing:border-box;border:1px solid #bfcebf;border-radius:11px;font-family:inherit;background:white;color:#1e392b;resize:vertical}
.ag-note-compose textarea:focus,.ag-note-edit-slot textarea:focus{outline:3px solid #d8f1df;border-color:#448e64}
.ag-note-message{font-size:12px;color:#356d48;line-height:1.5;margin-top:12px}
.ag-note-footnote{font-size:11px;color:#829585}
.ag-note-preview{margin-top:18px;border:1px solid #a9cbbb;background:#f3f9f2;border-radius:12px;padding:17px 19px}
.ag-note-preview>strong{font-size:14px;color:#24543b}
.ag-note-preview>p{font-size:12px;margin-top:10px;color:#486752}
.ag-note-preview blockquote{background:white;border-left:3px solid #51a575;padding:10px 13px;margin:9px 0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.ag-note-muted{font-size:11px;color:#7c9182;line-height:1.6}
.ag-note-entry{margin-bottom:12px}
.ag-note-entry-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:13px}
.ag-note-entry-head time{font-size:11px;color:#799082}
.ag-note-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#21442e;line-height:1.7;margin-bottom:11px}
.ag-note-entry .ag-inline-actions{margin-top:13px}
.ag-note-details{font-size:11px;color:#718a78}
.ag-note-details summary{cursor:pointer;color:#347251;font-weight:700}
.ag-note-details li{padding:6px 0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.ag-note-edit-slot:not(:empty){border-top:1px solid #e4ebe5;margin-top:16px;padding-top:13px}


/* Pilot Bitácora: accessible mobile-first optional timestamp and search. */
.ag-note-datetime,.ag-note-search input{
  width:100%;box-sizing:border-box;min-height:44px;
  background:#fff;color:#1e392b;border:1px solid #bfcebf;
  border-radius:11px;font:inherit;font-size:14px;padding:10px 13px;
}
.ag-note-datetime:focus-visible,.ag-note-search input:focus-visible{
  outline:3px solid #d8f1df;outline-offset:1px;border-color:#448e64;
}
.ag-note-search{border:1px solid #dde9df;background:#f8fbf8;border-radius:13px;padding:12px 16px;margin-bottom:14px}
.ag-note-search .ag-note-label{margin:0 0 8px}
.ag-note-search .ag-note-muted{margin-top:8px}
.ag-note-compose .ag-note-datetime{max-width:380px}
@media(max-width:590px){
  .ag-note-compose .ag-note-datetime{max-width:100%}
  .ag-note-compose .ag-inline-actions,.ag-note-preview .ag-inline-actions{align-items:stretch;gap:8px}
  .ag-note-compose .ag-inline-actions .ag-button,.ag-note-preview .ag-inline-actions .ag-button{min-height:44px}
  .ag-note-search{padding:12px}
}
