html, body {margin: 0;padding: 0;height: 100%;background-color:#000;}
:root {
    --uk-font-size: 14px;
    --uk-global-primary: #165a21;
    --uk-global-primary-hover: #1d8b2f;
    --black:#000;
    --light-grey:#d5d4d4;
    --medium-grey:#313131;
    --dark-grey:#403e3e;
    --white:#fff;
    --error:#c75454;
    --purple:#a653f4;
    --orange:#d6714f;
    --grazing-break:#002702;
    --blue:#1e87f0;
    --brown: #855981;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes slideUp {
    from {
        opacity: 1;
        transform: translateY(0);
        max-height: 1000px;
    }
    to {
        opacity: 0;
        transform: translateY(-20px);
        max-height: 0;
    }
}

.spinner-loading {
    font-size: 24px;
    display: inline-block;
    animation: spin 1s linear infinite;
}

#user-settings-gear:hover {
    animation: spin 1s linear 1;
}

.slide-up {
    animation: slideUp 0.3s ease-out forwards;
    overflow: hidden;
}

.no-background {
    background:none !important; /* removes all applied styles */
}
.black-background {
    background:black !important; /* removes all applied styles */
}

#main-wrapper {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Map area grows to fill remaining space */
#map-wrapper {
    flex: 1 1 auto;
    min-height: 0; /* IMPORTANT for Mapbox */
    position: relative;
}

#pasture-chart-wrapper {
    height: 320px; 
    width: 100%;
    position: relative;
}

#show-hide-panel{position:fixed;top:9px;left:13px;z-index:20000;width:32px;height:32px;cursor:pointer;color: white;stroke: white;background-color: #000;padding:4px;border-radius: 3px;}
@media (max-width: 640px){#show-hide-panel{width:40px;height:40px;padding:6px;top:6px;left:6px;}}
#grid-point-toggle{position:fixed;bottom:0px;left:50%;transform:translateX(-50%);z-index:20000;background-color:rgba(0,0,0,0.75);padding:6px 10px calc(20px + env(safe-area-inset-bottom, 0px)) 10px;border-radius:3px;}
@media (max-width: 640px){#grid-point-toggle > div { max-width: calc(100vw - 40px); } #grid-point-toggle .toggle-switch-label { flex-shrink: 1; min-width: 0; } #close-grid-points { flex-shrink: 0; }}
#close-report{right:10px;}
.uk-offcanvas-bar {
   scrollbar-color: #222 #222!important;
}
.uk-offcanvas-bar h3:first-of-type {margin-top:15px;}

form#main {
    position: relative;
}

#summary-farm-name{font-size:12px; font-weight:600;}
#summary-paddock-name{font-size:20px;color:#fff;}
#summary-season-crop{font-size:12px; white-space:nowrap; color:#fff;}
#summary-property-detail{font-size:12px;}

#main-selection-group,
#context-summary-bar {
    margin-top: 30px;
}

#user-profile-bar {
    position: absolute;
    top: -19px;
    right: 0px;
    display: flex;
    align-items: center;
    gap: 7px;
    cursor: default;
}

#user-initials-badge {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: var(--uk-global-primary, #1e87f0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    flex-shrink: 0;
}

#user-info {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#allusers-wrapper {margin-top:20px!important;}
#sector {
    font-size: 14px;
    color: rgba(255,255,255,0.75);
    white-space: nowrap;
    overflow: hidden;
    max-width: 140px;
    text-overflow: ellipsis;
    font-weight: bold;
}

#sector.superuser-name {
    cursor: pointer;
}

#sector.superuser-name:hover {
    color: #fff;
}

#tabula-contractor-dropdown {
  min-width: 100% !important;
  box-sizing: border-box;
}

#self-spread-controls{
    position:relative;
    z-index: 1000;
    width: max-content;
    margin: 0 auto;
}
#self-spread-controls label, #self-spread-controls h4, #self-spread-controls p{color:#fff;}

.flash-pulse {
    animation: flashPulse 1s infinite;
}

@keyframes flashPulse {
    0% { opacity: 1; }
    50% { opacity: 0.4; }
    100% { opacity: 1; }
}


.withholding-wrapper{background-color: var(--orange);}
.uk-offcanvas-bar .uk-button-secondary,.uk-offcanvas-bar .uk-button-primary,
.uk-button-secondary, .uk-button-primary
{
    background-color: var(--uk-global-primary-hover);
    border-color: var(--uk-global-primary-hover);
    color: var(--white);
}
.uk-offcanvas-bar .uk-button-secondary:hover,.uk-offcanvas-bar .uk-button-primary:hover,.uk-offcanvas-bar .uk-button-default:hover,
.uk-button-secondary:hover, .uk-button-primary:hover, .uk-button-default:hover
{
  border-color: var(--white);
  box-shadow: 0 2px 6px var(--uk-global-primary-hover);
  color:#fff;
}
.uk-offcanvas-bar .uk-button-default, .uk-button-default{
  border-color: var(--uk-global-primary-hover);
}
.uk-offcanvas-bar .uk-button-link:hover, .uk-button-link:hover{
  color: var(--white);
  text-decoration: underline;
}
body.uk-offcanvas-page {
    transform: none !important;
  }
#site-logo{text-align: center;}
#map {width: 100%;height: 100%;position: relative;z-index: 1;}
.uk-form-width-xsmall{
    width: 80px!important;
}
#menu-icon{background-color: var(--white);opacity:1; padding: 5px; border-radius: 3px; margin: 5px; cursor:pointer;}
.uk-section-muted{background-color:#000;}
.uk-button,.uk-select,.dropdown-menu,#farm-info {border-radius: 3px;}
.uk-offcanvas-bar .uk-button-primary, .uk-button-primary{background-color: var(--uk-global-primary); border-color: var(--uk-global-primary);}
.uk-offcanvas-bar .uk-button-primary:hover, .uk-button-primary:hover{background-color: var(--uk-global-primary-hover); border-color: var(--uk-global-primary-hover);}
.uk-offcanvas-bar .uk-link-primary, .uk-offcanvas-bar .uk-link-primary:hover, .uk-link-primary, .uk-link-primary:hover {color: var(--uk-global-primary);}

.uk-container-expand {width: 100%;height: 100vh;padding: 0;}
.uk-navbar-container {position: absolute;top: 0;width: 100%; z-index: 2;}

#site-overlay {top: 0;left: 0;right: 0;bottom: 0;background-color: rgba(0, 0, 0, 0.5);z-index: 9999;cursor: not-allowed;pointer-events: none;}

@keyframes pulse {
    0% { border-color: var(--light-grey); transform: scale(1); }
    50% { border-color: var(--white); transform: scale(1.1); }
    100% { border-color: var(--light-grey); transform: scale(1); }
  }
.uk-select:hover { border: 1px solid white !important; }
.uk-divider-vertical.slide-panel{position: absolute; right: 6px; top: 42%; border: 4px solid var(--light-grey); border-radius: 2px; cursor: grab;}
.uk-divider-vertical.slide-panel:hover { animation: pulse 2s infinite; }
.xuk-open>.uk-offcanvas-bar.uk-offcanvas-bar-collapsed { left: -330px; }
.uk-open>.uk-offcanvas-bar.uk-offcanvas-bar-collapsed { left: -320px; }
.multi-select-dropdown { position: relative;}
.multi-select-dropdown .dropdown-menu { display: none; position: absolute; background: rgba(187, 188, 187, 1); z-index: 1000; width: 100%;}
.multi-select-dropdown .dropdown-menu label { display: block; margin: 6px; padding:2px; cursor: pointer; color:#000; border-radius: 5px;}
.multi-select-dropdown .dropdown-menu label:hover { background-color: rgba(35, 104, 215,1); color:#fff;}
.multi-select-dropdown .dropdown-menu input[type="checkbox"] { margin-right: 8px;}
.multi-select-dropdown .selected-items { background-color: rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .7); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, .2); padding: 8px; cursor: pointer;}

#loading-bar { width: 100%; height: 5px; background-color: transparent; overflow: hidden; position: absolute; z-index: 10001;}
.loading-bar-animation { width: 20%; height: 100%; background-color: var(--uk-global-primary-hover); position: absolute; top: 0; left: 0; animation: knight-rider 2s linear infinite;}
@keyframes knight-rider { 0% { left: -0%; }  50% { left: 100%; }  100% { right: -0%; }}

.xuk-offcanvas-bar{background-color: var(--black);opacity:0.85; overflow: -moz-scrollbars-none; -ms-overflow-style: none; scrollbar-width: none;}
.xuk-offcanvas-bar::-webkit-scrollbar {width: 0; height: 0;}
.uk-offcanvas-bar.scrollbars-visible::-webkit-scrollbar {width: 10px; height: 10px;}
.uk-offcanvas-bar.scrollbars-visible::-webkit-scrollbar-track {background: #2a2a2a;}
.uk-offcanvas-bar.scrollbars-visible::-webkit-scrollbar-thumb { background-color: #888;border-radius: 10px; border: 2px solid #333;}
.uk-offcanvas-bar.scrollbars-visible::-webkit-scrollbar-thumb:hover {background-color: #555;}
.uk-offcanvas-bar.scrollbars-visible {overflow: auto !important;scrollbar-color: #888 #2a2a2a;scrollbar-width: thin;}

.uk-offcanvas-bar::-webkit-scrollbar {width: 10px; height: 10px;}
.uk-offcanvas-bar::-webkit-scrollbar-track {background: #2a2a2a;}
.uk-offcanvas-bar::-webkit-scrollbar-thumb { background-color: #888;border-radius: 10px; border: 2px solid #333;}
.uk-offcanvas-bar::-webkit-scrollbar-thumb:hover {background-color: #555;}
.uk-offcanvas-bar {overflow: auto !important;scrollbar-color: #888 #2a2a2a;scrollbar-width: thin;padding: 30px 15px;}
.uk-card{border-radius: 3px;}
.uk-card.subscription-option{background-color: var(--dark-grey);padding: 20px;}
.uk-card.subscription-option h3{margin-bottom: 0px;}
.uk-card.subscription-option h3 span{font-size: 15px;font-weight: 200;}
.uk-card.subscription-option hr,.uk-card.subscription-option p{margin: 0px;}

#show-menu-icon{position:absolute;top:50%;left:0px;z-index:3;background-color:#fff;padding:20px 0 20px 350px;border-radius:0 7px 7px 0;cursor:pointer;transition: left 0.2s linear;}

#farm-info-icon{margin-left:5px;cursor:pointer;}
#farm-info .uk-table caption{color:var(--black);}
.uk-input { border-radius: 4px; transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;}
.uk-input:focus, .uk-select:focus { border-color: var(--white);  box-shadow: 0 0 5px var(--uk-global-primary);}
.uk-input.error,.uk-input.error:focus,
.uk-select.error,.uk-select.error:focus{color:var(--error);border: 1px solid;border-color:var(--error);}
#addcrop-paddock-error{color:var(--error);}

.uk-select:disabled { border: none; appearance: none; background-color: #222; color: var(--white);background-image: none!important;}
.uk-input.file{ border: none; background: transparent;}

.trash-td{width:20px;}
.trash-td span, .hover-icon span{cursor:pointer;}

.recommendation-paddock-selection-detail li{display: flex;justify-content: space-between;}
.recommendation-paddock-selection-detail li span:first-child {
  flex: 0 0 70%;
  box-sizing: border-box;
}

.recommendation-paddock-selection-detail li span:last-child {
  flex: 0 0 30%;
  box-sizing: border-box;
  text-align: right; /* optional: right-align values */
}
#create-recommendation-total-area::after,
#create-recommendation-total-exclusion-area::after,
#create-recommendation-total-usable-area::after {
  content: " ha";
}
#create-recommendation-tonnage span:nth-child(2)::after {
  content: " t";
}

.styled-box.full-width {
  width: 100%;
  table-layout: fixed; /* force cells to share width */
}
 
 .styled-box.narrow{width: 95px;
    margin: 0 5px;} 

.styled-box.full-width td,
.styled-box.full-width th {
  width: 50%;   /* since you always have 2 columns */
}

.signal-bars {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

    display: grid;
    grid-template-columns: repeat(6, 1fr);
    height: 10px;
    gap: 2px; /* optional spacing between bars */
}

.signal-bars .bar {
    background: #ccc; /* default placeholder color */
}

.signal-bars .bar.accuracy {
    background: var(--uk-global-primary-hover); /* default placeholder color */
}

.nutrient-breakdown .uk-card{padding: 0;
    width: 40px;
    margin-right: 6px;
    background-color: transparent;
    border: 1px solid #565656;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 8px;}
.nutrient-breakdown .uk-card>div:nth-child(1){border-bottom: 1px solid #565656;}
.nutrient-breakdown .uk-card>div:nth-child(2){background-color:#2e3f33;}
.nutrient-breakdown .uk-card.uk-first-column{margin-left:45px;}
.product-name{margin-left:45px;text-align:left;}
.product-rate>div>div:nth-child(2),.product-rate>div>div:nth-child(3){padding-left:0px;}
.product-rate>div:nth-child(1)>div.uk-first-column{padding-left:45px;}

input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {-webkit-appearance: none;margin: 0;}
input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
input.uk-form-width-xsmall {width: 60px;}
.padding-top-9{padding-top:9px;}
#nutrient-depth-wrapper>span{display:block;}
.uk-range {appearance: none; -webkit-appearance: none; width: 100%; height: 8px; background-color: #ddd; border-radius: 5px; outline: none; transition: background 0.3s ease;}
.uk-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background-color: #1e87f0; cursor: pointer; transition: background-color 0.3s ease;}
.uk-range::-webkit-slider-thumb:hover { background-color: #0f7ae5;}
.uk-range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background-color: #1e87f0; cursor: pointer; transition: background-color 0.3s ease;}
.uk-range::-moz-range-thumb:hover { background-color: #0f7ae5;}
.uk-range::-ms-thumb { width: 20px; height: 20px; border-radius: 50%; background-color: #1e87f0; cursor: pointer; transition: background-color 0.3s ease;}
.uk-range:focus {border: none; background-color: #ccc;}
.uk-legend{font-size: 1rem;}
.field.product-rate{background-color: #3e3e3e; border: 1px solid; border-color: #565656;}

.uk-overlay-primary{z-index:1002;background-color:var(--dark-grey);}

#report-canvas { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; height: 100vh;  overflow: hidden; }
#report-canvas h3{margin-bottom:0;}
#report-canvas table{margin-top:0;}
#report-body { max-height: 90vh;  overflow-y: auto;  width: 100%; box-sizing: border-box;  padding: 20px; }
#report-totals-loading{position: relative; transform: translate(-50%, -50%); z-index: 2000; background-color: transparent; border-radius: 15px;}

.render-recommendation-from-report,.render-application-from-report{cursor:pointer;}
.uk-offcanvas-bar{background:linear-gradient(to right, black, rgba(0, 0, 0, 0.8));}

/* Allow map clicks even when offcanvas is open */
.uk-offcanvas {
  pointer-events: none;
}
.uk-offcanvas-bar {
  pointer-events: auto;
}
#maplibregl-canvas, #map {
  pointer-events: auto !important;
}

.maplibregl-ctrl-top-right{margin-top:46px;}

#reset-zoom,#measure,#screenshot,#pasture-cover-icon,#opacity-toggle{position:absolute;right:0px;margin:10px;z-index:2;cursor:pointer;background-color:#fff;border-radius:3px;padding:6px;border:1px solid #fff;border-left:0;}
button#measure,button#opacity-toggle{font:inherit;line-height:0;display:flex;align-items:center;justify-content:center;}
button#measure svg,button#opacity-toggle svg{width:20px;height:20px;}
#reset-zoom{top:0px;}
#measure{top:242px;}
#screenshot{top:289px;}
#opacity-toggle{top:336px;}
.lucide-icon{width: 33px; height: 33px;}
.lucide-icon-large{width: 45px; height: 45px;}
#pasture-cover-icon{top:383px;}

#layer-blend-control{position: absolute; right: 45px; top: 345px; z-index: 2; background: rgba(0,0,0,0.75); padding: 10px 10px 9px 10px; border-radius: 3px; display: flex; align-items: center; gap: 8px; color: #fff; font-size: 11px; transition: transform 0.3s ease, opacity 0.3s ease; opacity: 0; pointer-events: none;}
#layer-blend-control.layer-blend-slideout.is-visible{transform: translateX(0); opacity: 1; pointer-events: auto;}
#layer-blend-control.layer-blend-slideout:not(.is-visible){transform: translateX(120%);}

#layer-blend-slider{width: 120px; margin: 0 6px;}
.layer-blend-label{white-space: nowrap;}

#pasture-cover-quick-input-wrapper,#grazing-break-info-wrapper{position: absolute; bottom: 5px; right: 50%; z-index: 1000; background-color: var(--dark-grey); padding: 10px; border-radius: 3px;}
#pasture-cover-quick-input-wrapper label{color:#fff;}
#pasture-cover-quick-input{margin:0 10px;}
#pasture-cover-quick-input-close{top: 3px; right: -55px;  background-color: #ccc;  border-radius: 30px;}

.custom-accordion { list-style: none; padding: 0; margin: 0;}
.custom-accordion .accordion-title { cursor: pointer; padding: 10px; background-color: transparent; }
.custom-accordion .accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.1s ease-out; padding: 0 10px; background-color: transparent; border-bottom: 1px solid #ccc;}

.thumbnail{width:100px;padding:2px;border:2px solid var(--light-grey);}

.accordion-content li{cursor:pointer;padding-left:10px;}
.note-content{background-color: var(--medium-grey);}

.uk-width-1-7 { width: calc(100% / 7); }
.uk-width-1-8 { width: calc(100% / 8); }
.uk-width-1-10 { width: calc(100% / 10); }

.flatpickr-calendar.inline{left:-19px;}

.modal { display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 1000; justify-content: center; align-items: center; overflow: auto; }
.modal-content { background-color: #fff; padding: 20px; border-radius: 8px; width: 80%; max-width: 500px; position: relative; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); margin: auto;}
.modal-close { position: absolute; top: 10px; right: 10px; font-size: 24px; cursor: pointer; color: #333;}

.uk-offcanvas-close:hover{cursor: pointer;}

#measure.drawing-active {
  background-color: var(--uk-global-primary);
  color: white;
  border-radius: 4px;
  padding: 4px;
  border: 1px solid #FFF;
}
#measure-details{position:absolute;z-index:3000;left:50%;bottom:10%;width:25%;}
#draw-exclusion-wrapper, #draw-instruction,#draw-instruction2{position:absolute;z-index:3000;left:50%;bottom:10%;width:15%;padding: 10px;}
#draw-instruction,#draw-instruction2{bottom:0%;color:#fff;}
#draw-exclusion-save{margin-top: 15px;color:#fff;}
#measure-message{text-align:center;}
#close-measure{ position: absolute; right: 14px;}
@keyframes pulse { 0% {transform: scale(1);} 50% {transform: scale(1.1);} 100% {transform: scale(1);}}
.icon-pulse { animation: pulse 1s ease-out infinite; }

#copyright{font-size: 0.7rem;}

#create-transect-group-recommendation-rates>li,
#create-grid-group-recommendation-rates>li{padding: 20px; border:1px solid var(--light-grey);}
.floating-list {list-style: none;padding: 0;margin: 10px 0 0 0;}
.floating-list li {float: left;margin-right: 10px;margin-bottom: 18px;}
.floating-list li span{border: 1px solid var(--light-grey);padding: 5px;border-radius: 6px;}
.floating-list::after {content: "";display: table;clear: both;}
/* Zone multi-rate recommendation — full-width vertical list with visible drop zone */
#create-zone-multi-rate-recommendation-rates .floating-list {min-height: 44px;border: 2px dashed rgba(255,255,255,0.2);border-radius: 6px;padding: 6px;width: 100%;box-sizing: border-box;margin: 6px 0 4px 0;}
#create-zone-multi-rate-recommendation-rates .floating-list::after {display: none;}
#create-zone-multi-rate-recommendation-rates .floating-list li {float: none;display: block;margin-right: 0;margin-bottom: 4px;}
#create-zone-multi-rate-recommendation-rates .floating-list li:last-child {margin-bottom: 0;}
#create-zone-multi-rate-recommendation-rates .floating-list li span {position: relative;display: block;width: 100%;box-sizing: border-box;cursor: grab;padding-right: 18px;}
.zone-multi-rate-remove {width: 20px!important;
    right: 0 !important;
    top:3px;
    position: absolute !important;
    border: none!important;cursor: pointer;opacity: 0.5;font-size: 14px;line-height: 1;}
.zone-multi-rate-remove:hover {opacity: 1;}
ul#create-transect-group-recommendation-rates>li:focus-within,
ul#create-grid-group-recommendation-rates>li:focus-within,
ul#create-transect-group-recommendation-rates>li:has(input[type="radio"]:checked),
ul#create-grid-group-recommendation-rates>li:has(input[type="radio"]:checked) {background-color: var(--dark-grey);}
.uk-sortable-empty{border: 1px dashed var(--light-grey);}

#soil-results-loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1000; background-color: #fff; border-radius: 15px;}
.delete-grid-group-recommendation-rate{cursor:pointer;float:right;}
.edituserform,#form-settings-invite{padding: 20px;border: 1px solid var(--dark-grey);}
#settings-users-list li {
    position: relative;
}

#settings-users-list>li>a>span,
#form-settings-invite>fieldset>legend>span{margin-right: 5px;}

#settings-users-list li:hover .trash-icon {
    display: inline-block; /* Make the icon visible on hover */
}
.analysis-table td{white-space: nowrap;}
.more-info-required{display:none;}
#revive-user{width:89px;right:10px;top:10px;}
#revive-logo{margin-top:20px;}
#print-logo {display: none;}

#edit-pregrazing-target{cursor: pointer; vertical-align: middle; margin-left: 5px;}
.disabled{pointer-events: none; color: gray!important;cursor: not-allowed;}

.highlight {
    background-color: #ffd90048;
}
#exclusion-zone-table tbody tr:hover{cursor: pointer;}

.nav-accordion-content #analyse-wrapper hr{display:none;}

.toggle-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    position: relative;
}

.toggle-checkbox {
    display: none;
}

.toggle-slider {
    width: 40px;
    height: 20px;
    background: var(--uk-global-primary);
    border-radius: 20px;
    position: relative;
    transition: background 0.25s;
}

.toggle-slider::before {
    content: "";
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 50%;
    position: absolute;
    top: 2px;
    left: 2px;
    transition: transform 0.25s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.toggle-checkbox:checked + .toggle-slider {
    background: var(--uk-global-primary); /* UIkit primary color */
}

.toggle-checkbox:checked + .toggle-slider::before {
    transform: translateX(20px);
}

.tab-buttons a{
  padding: 6px;
  font-size: 0.875rem;
}

.tab-buttons a.active, .tab-buttons a:hover{
  text-decoration: underline;
  text-decoration-thickness: 4px;  /* thickness */
    text-underline-offset: 4px;
}

.tab-panel {
    display: none;
}

.tab-panel.active {
    display: block;
}

#edit-boundary-name,#save-boundary-name,#save-thirdpartyid-name{cursor: pointer; vertical-align: middle; margin-left: 5px;}

/* Match UIkit table hover background */
.uk-table-hover tbody tr.accordion-open,
.uk-table-hover tbody tr.accordion-open:hover {
  background-color: #524f4f;
}

.uk-table-hover tbody tr.details-row.accordion-open,
.uk-table-hover tbody tr.details-row.accordion-open:hover {
  background-color: #524f4f;
}

.clickable-icon {
  display: inline-flex;     /* make it occupy the SVG size */
  width: 24px;              /* or auto */
  height: 24px;
  cursor: pointer;
}

.clickable-icon svg {
  pointer-events: none;     /* let clicks hit the span */
}

.styled-box{
    padding: 10px;
    background: linear-gradient(to right, #3d3c3c, rgb(4 4 4 / 60%));
    display: inline-block;
    width: 93%;
    border-radius: 4px;
    border: 1px solid #565656;}


.custom-color {
    height: 40px;
    padding: 0;
    border: 2px solid #666666;
    border-radius: 4px;
    cursor: pointer;
  }
  .custom-color::-webkit-color-swatch-wrapper {
    padding: 0;
  }
  .custom-color::-webkit-color-swatch {
    border: none;
  }
  .range-btn,.delete-range-btn{border:0px;}
  .range-btn{margin-left: -17px;}
  .custom-range-row{padding: 20px; background: var(--medium-grey);margin-bottom: 10px;}

  #pasture-cover-quick-input-history-wrapper{width: auto;
    display: block;
    margin-bottom: 10px;}
  
@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(5deg);
    }
    50% {
        transform: rotate(0deg);
    }
    75% {
        transform: rotate(-5deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.table-rotate {
    animation: rotate 0.5s ease-in-out;
}

.uk-tab>.uk-active>a{border-width: 3px;}
.uk-child-width-expand.uk-tab{margin-bottom:0!important;margin-top: 4px;}

.uk-switcher>div {
    border-left: 1px solid rgba(255, 255, 255, .2);
    border-right: 1px solid rgba(255, 255, 255, .2);
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    background-color: rgba(255, 255, 255, 0.05);
    padding-top: 10px;
    padding-bottom: 5px;
    border-radius: 0px 0px 4px 4px;
}

.uk-notification-message {
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8);
    padding: 20px;
    text-align: center;
}
.uk-notification{z-index:20015;}

#comparison-overlay{z-index: 111; width: 100%; height: 100%;}

.toggle-switch {
    appearance: none;
    width: 40px;
    height: 20px;
    background: #ccc;
    border-radius: 20px;
    position: relative;
    cursor: pointer;
    transition: background 0.3s;
}

.toggle-switch:checked {
    background: var(--uk-global-primary);
}

.toggle-switch::after {
    content: '';
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 50%;
    position: absolute;
    top: 2px;
    left: 2px;
    transition: transform 0.3s;
}

.toggle-switch:checked::after {
    transform: translateX(20px);
}

.toggle-switch-label{ vertical-align: 7px; padding-left: 5px;}

.tidybox,
.hoverbox{border: 1px solid rgba(1, 53, 151, 0.2); padding: 15px 20px;margin-left: 0px;border-radius:3px;}
.hoverbox:hover{background-color: #3e3e3e;cursor: pointer;}

.fade-toggle {
    transition: opacity 0.3s ease;
    opacity: 1;
  }
  
  .fade-hidden {
    opacity: 0;
  }

ul.nav-accordion{
    border: 1px solid rgba(255, 255, 255, .2);
    background-color: rgba(255, 255, 255, 0.05);
    padding: 0px;
    border-radius: 4px;
}

  ul.nav-accordion li {
    list-style: none;
  }

  .nav-accordion-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-10px);
    padding: 0px 15px;
    transition: max-height 0.3s ease, opacity 1s ease, transform 0.3s ease;
  }
  
  .nav-accordion-content.open {
    opacity: 1;
    transform: translateY(0);
    padding-top:10px;
  }
  
  ul.nav-accordion input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  ul.nav-accordion label:hover{cursor: pointer;}
  
  .transition, ul.nav-accordion li i:before, ul.nav-accordion li i:after, p {
    transition: all 0.25s ease-in-out;
  }
  
  .flipIn, ul.nav-accordion li, h1 {
    animation: flipdown 0.5s ease both;
  }

  ul.nav-accordion li i {
    position: absolute;
    right: 0px;
    margin-top: 16px;
    transform: translate(-20px, 2px);
    transition: transform 0.25s ease-in-out;
  }
  ul.nav-accordion li i:before, ul li i:after {
    content: "";
    position: absolute;
    background-color: #fff;
    width: 3px;
    height: 9px;
  }
  ul.nav-accordion li i:before {
    transform: translate(-2px, 0) rotate(-45deg);
  }
  ul.nav-accordion li i:after {
    transform: translate(2px, 0) rotate(45deg);
  }

  ul.nav-accordion li.open i:before {
    transform: translate(-2px, 0) rotate(45deg);
  }
  ul.nav-accordion li.open i:after {
    transform: translate(2px, 0) rotate(-45deg);
  }

  ul.nav-accordion h5{border-bottom: 1px solid rgba(255, 255, 255, .2);padding: 11px;margin-bottom:0;}
  ul.nav-accordion li:last-of-type h5{border:none;}
  ul.nav-accordion .nav-link-item{text-decoration:none;color:inherit;display:block;}
  ul.nav-accordion .nav-link-item:hover{color:inherit;}

  ul.nav-accordion input[type="radio"]:checked ~ label > h5 {
    background-color: #3e3e3e;
  }

  .nav-tools-container{    
    border-left: 2px solid #606060;
    padding: 10px 0 0 15px;
  }

.highlight-background{background-color: #606060;}
.pasture-cover-row:hover,.delete-silage:hover{cursor: pointer;}
.pasture-cover-row.pasture-grazed{opacity:0.6;}
.pasture-cover-row .graze-slide-outer{position:relative;overflow:hidden;}
.pasture-cover-row .graze-slide-btn{position:absolute;left:0;top:0;height:100%;display:flex;align-items:center;padding:0 8px;font-size:11px;white-space:nowrap;background:var(--medium-grey,#444);color:#fff;cursor:pointer;transform:translateX(-100%);transition:transform 0.2s ease;z-index:1;border:none;border-radius:2px;}
.pasture-cover-row:hover .graze-slide-btn{transform:translateX(0);}
.pasture-cover-row .graze-slide-content{transition:transform 0.2s ease;}
.pasture-cover-row:hover .graze-slide-content{transform:translateX(80px);}
#recommendation-application-detail tr:hover{cursor: pointer;}
.edit-custom-block{margin:0!important;padding:10px 0;}
.edit-custom-block:hover {background-color: var(--medium-grey); cursor: pointer;}
.edit-block-icon{display:none;float:right;}
.edit-custom-block:hover .edit-block-icon {display: inline-block;}

/* Environmental Explorer */
.env-explorer-overlay{position:absolute;top:12px;left:12px;z-index:20005;background:rgba(30,30,30,0.92);border-radius:8px;padding:10px 12px;color:#fff;font-size:13px;display:flex;flex-direction:column;gap:0;box-shadow:0 2px 12px rgba(0,0,0,0.35);width:300px;max-height:calc(100vh - 80px);overflow:hidden;}
.env-explorer-heading{font-size:14px;font-weight:600;}
.env-explorer-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid #555;}
.env-info-icon{color:#aaa;margin-left:4px;text-decoration:none;display:inline-flex;vertical-align:text-top;}
.env-info-icon:hover{color:#fff;}
#env-info-modal{z-index:20010;}
.env-explorer-overlay select{background:#333;color:#fff;border:1px solid #555;border-radius:4px;padding:4px 8px;font-size:13px;width:100%;}
.env-explorer-overlay select option{background:#333;color:#fff;}
.env-explorer-overlay .env-btn{background:none;border:1px solid #555;border-radius:4px;color:#aaa;padding:4px 10px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:4px;white-space:nowrap;}
.env-explorer-overlay .env-btn:hover{color:#fff;border-color:#888;}
.env-explorer-overlay .env-btn.active{color:#1e87f0;border-color:#1e87f0;}
.env-explorer-close{background:none;border:none;color:#aaa;font-size:18px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;}
.env-explorer-close:hover{color:#fff;}
/* Add-layer row */
.env-add-layer-row{padding-bottom:6px;margin-bottom:2px;}
/* Layer stack list */
.env-layer-stack{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;}
/* Stack item */
.env-stack-item{padding:8px 0;border-bottom:1px solid #3a3a3a;user-select:none;}
.env-stack-item:last-child{border-bottom:none;}
.env-stack-item.dragging{opacity:0.4;}
.env-stack-item.drag-over{border-top:2px solid #1e87f0;}
.env-stack-row-top{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
.env-drag-handle{color:#555;cursor:grab;font-size:16px;flex-shrink:0;line-height:1;padding:0 2px;}
.env-drag-handle:active{cursor:grabbing;}
.env-stack-vis{flex-shrink:0;cursor:pointer;accent-color:#1e87f0;}
.env-stack-name{flex:1;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.env-stack-right{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.env-opacity-pct{font-size:11px;color:#999;min-width:32px;text-align:right;}
.env-stack-remove{background:none;border:none;color:#666;cursor:pointer;padding:0 2px;font-size:14px;line-height:1;flex-shrink:0;}
.env-stack-remove:hover{color:#e74c3c;}
/* Opacity slider */
.env-opacity-slider{width:100%;height:4px;border-radius:2px;appearance:none;-webkit-appearance:none;background:#444;cursor:pointer;margin-bottom:5px;}
.env-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;}
.env-opacity-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none;}
/* Legend bar inside each stack item */
.env-legend-bar{margin-bottom:4px;}
/* Description toggle */
.env-stack-desc-toggle{color:#666;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:2px;margin-top:2px;}
.env-stack-desc-toggle:hover{color:#aaa;}
.env-desc{font-size:11px;color:#bbb;line-height:1.4;padding-top:4px;overflow-wrap:break-word;word-break:break-word;}
/* Stack footer */
.env-stack-footer{padding-top:8px;margin-top:4px;border-top:1px solid #3a3a3a;display:flex;gap:6px;}
/* Compare panel */
.env-compare-panel{padding-top:8px;margin-top:4px;border-top:1px solid #3a3a3a;}
.env-compare-row{display:flex;align-items:center;gap:6px;}
.env-compare-side{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.env-compare-side label{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:0.4px;}
.env-compare-divider{color:#555;font-size:16px;flex-shrink:0;}
.env-compare-layer-name{font-size:12px;color:#ccc;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Swipe handle */
.env-swipe-handle{position:absolute;top:0;bottom:0;width:4px;background:#fff;cursor:ew-resize;z-index:20002;box-shadow:0 0 8px rgba(0,0,0,0.5);}
.env-swipe-handle::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:40px;background:rgba(255,255,255,0.95);border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,0.3);}
.env-swipe-handle::before{content:'⇔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;font-size:14px;color:#333;}
/* Layer name labels on map */
.env-layer-label{position:absolute;bottom:24px;z-index:20001;background:rgba(30,30,30,0.85);color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;pointer-events:none;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.env-layer-label-left{left:12px;}
.env-layer-label-right{right:12px;}
/* Hover popup must not intercept mouse events — prevents cursor/popup flickering */
.env-hover-popup{pointer-events:none;}
/* Raster hover tooltip — lives in #map-wrapper above the compare overlay */
.env-raster-tooltip{display:none;position:absolute;z-index:20010;pointer-events:none;background:rgba(30,30,30,0.92);color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;max-width:220px;box-shadow:0 2px 8px rgba(0,0,0,0.4);}

/* Soil Comparison Explorer */
.soil-compare-overlay{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:20005;background:rgba(30,30,30,0.92);border-radius:8px;padding:10px 12px;color:#fff;font-size:13px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 12px rgba(0,0,0,0.35);}
.soil-compare-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid #555;}
.soil-compare-heading{font-size:14px;font-weight:600;flex:1;}
.soil-compare-back{background:none;border:none;color:#aaa;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;display:flex;align-items:center;}
.soil-compare-back:hover{color:#fff;}
.soil-compare-controls{display:flex;align-items:flex-start;gap:12px;}
.soil-compare-col{display:flex;flex-direction:column;gap:4px;}
.soil-compare-label{font-size:11px;color:#aaa;text-transform:uppercase;letter-spacing:0.5px;}
.soil-compare-overlay select{background:#333;color:#fff;border:1px solid #555;border-radius:4px;padding:4px 8px;font-size:13px;min-width:180px;}
.soil-compare-overlay select option{background:#333;color:#fff;}

@media(max-width:600px){
  .env-explorer-overlay{top:8px;left:8px;width:calc(100% - 16px);padding:8px 10px;font-size:12px;}
  .env-explorer-controls{flex-wrap:wrap;}
  .env-explorer-col{flex:1 1 100%;}
  .env-explorer-overlay select{font-size:12px;padding:3px 6px;min-width:0;width:100%;}
  .env-legend{min-width:0;}
  .env-layer-label{font-size:11px;bottom:16px;padding:3px 8px;}
  .soil-compare-overlay{top:8px;left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 16px);padding:8px 10px;gap:6px;font-size:12px;}
  .soil-compare-controls{flex-wrap:wrap;}
  .soil-compare-col{flex:1 1 100%;}
  .soil-compare-overlay select{font-size:12px;padding:3px 6px;min-width:0;width:100%;}
}

  @keyframes flipdown {
    0% {
      opacity: 0;
      transform-origin: top center;
      transform: rotateX(-90deg);
    }
    5% {
      opacity: 1;
    }
    80% {
      transform: rotateX(8deg);
    }
    83% {
      transform: rotateX(6deg);
    }
    92% {
      transform: rotateX(-3deg);
    }
    100% {
      transform-origin: top center;
      transform: rotateX(0deg);
    }
  }

  #analyse-wrapper h5{display:none;}
.nav-accordion-content .uk-padding-small{padding:0;}

@media (min-width: 640px) {
    .uk-offcanvas-close { right: 14px; }
}

@media (max-width: 640px){
    #show-menu-icon{padding:20px 0 20px 270px;}
    #pasture-cover-quick-input-label{margin-left:12px;}
    #pasture-cover-quick-input-submit{margin:10px 0 0 11px;}
}

@media print {
    #print-logo {display: block;position: absolute;top: 25px;right: 25px;width: 100px;}
    #print-report,#annual-report-product-type-dropdown-wrapper{display: none;}
    #map { display: none; }
    #report-body,#report-canvas { height: auto !important; overflow: visible !important;}
    h2{font-size: 16px;font-weight:bold;}
    h3{font-size: 13px;padding-bottom:3px;}
    table{font-size: 10px;}
    .uk-table{border-top: 1px solid #ccc;}
    .uk-table caption{border-bottom: 1px solid #ccc;}
    .uk-table th{font-size: 10px; font-weight: bold;}
    .uk-table-small td, .uk-table-small th{padding: 3px 12px;}
    .uk-text-lead{font-size:14px;}
    .uk-margin-medium-bottom {margin-bottom: 30px !important;}
    #annual-report-plan-dropdown-wrapper{margin:0!important;}
    #plan-dropdown-report,#annual-report-plan-message{display:none;}
    #annual-report-plan-totals-wrapper .uk-table tbody tr:last-child {font-weight: bold;}
    .uk-offcanvas.uk-open,#measure,#screenshot,#reset-zoom,#show-menu-icon,#close-report,#pasture-cover-icon { display:none !important;}
    #annual-report-plan-totals-wrapper{margin-top: 0 !important;}
    .disclaimer{font-size: 10px;}
}

/* ── Environmental Spider Chart ───────────────────────────────────── */
.env-spider-panel {
  position: absolute;
  bottom: 24px;
  right: 16px;
  width: 420px;
  background: rgba(30,30,30,0.92);
  border-radius: 10px;
  padding: 14px 16px;
  z-index: 20006;
  box-shadow: 0 4px 20px rgba(0,0,0,0.4);
  color: #eee;
}
.env-spider-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.env-spider-title {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}
.env-spider-hint {
  text-align: center;
  font-size: 11px;
  color: #999;
  margin: 8px 0 0;
}
#env-spider-canvas {
  min-height: 300px;
  max-height: 600px;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@media (max-width: 600px) {
  .env-spider-panel {
    width: calc(100% - 32px);
    left: 16px;
    right: 16px;
    bottom: 12px;
  }
}

/* ── Attribute Panel for Polygon Click ────────────────────────── */
.env-attr-panel {
  position: absolute;
  height: 420px;
  background: rgba(30,30,30,0.92);
  border-radius: 10px;
  z-index: 20007;
  color: #eee;
  font-size: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.4);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.env-attr-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.env-attr-content {
  flex: 1;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.2) transparent;
}
.env-attr-content::-webkit-scrollbar {
  width: 6px;
}
.env-attr-content::-webkit-scrollbar-track {
  background: transparent;
}
.env-attr-content::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.2);
  border-radius: 3px;
}
.env-attr-content::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,0.3);
}
.env-attr-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 16px;
}
.env-attr-row {
  display: flex;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  min-height: auto;
  align-items: flex-start;
}
.env-attr-row:last-child {
  border-bottom: none;
}
.env-attr-key {
  color: #aaa;
  flex: 0 0 40%;
  word-wrap: break-word;
  white-space: normal;
  font-weight: 500;
  overflow-wrap: break-word;
}
.env-attr-val {
  color: #fff;
  flex: 1;
  word-wrap: break-word;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.4;
}

/* ── Long-text description rows (expandable) ──────────────────── */
.env-attr-desc-divider {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  padding: 10px 0 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  margin-top: 4px;
}
.env-attr-desc-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  padding: 0;
}
.env-attr-desc-row:last-child {
  border-bottom: none;
}
.env-attr-desc-summary {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 6px 0;
  cursor: pointer;
  list-style: none;
  outline: none;
}
.env-attr-desc-summary::-webkit-details-marker {
  display: none;
}
.env-attr-desc-summary::after {
  content: "›";
  color: rgba(255, 255, 255, 0.35);
  font-size: 14px;
  margin-left: auto;
  flex-shrink: 0;
  transition: transform 0.15s ease;
}
.env-attr-desc-row[open] .env-attr-desc-summary::after {
  transform: rotate(90deg);
}
.env-attr-desc-summary .env-attr-key {
  flex-shrink: 0;
}
.env-attr-desc-preview {
  color: rgba(255, 255, 255, 0.45);
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.env-attr-desc-row[open] .env-attr-desc-preview {
  display: none;
}
.env-attr-desc-body {
  color: #ddd;
  font-size: 12px;
  line-height: 1.55;
  margin: 0 0 8px 0;
  padding: 0 0 0 2px;
  white-space: normal;
}

/* ── AI Assistant Messages ───────────────────────────────────── */
.assistant-message {
  margin-bottom: 10px;
  padding: 12px 16px;
  border-radius: 10px;
  line-height: 1.5;
  font-size: 13px;
}

.assistant-message-user {
  background-color: rgba(30, 75, 35, 0.55);
  color: #e8f5e9;
  text-align: center;
}

.assistant-message-user p {
  margin: 0;
}

.assistant-message-assistant {
  background-color: rgba(20, 52, 25, 0.4);
  color: #ffffff;
  text-align: left;
}

.assistant-message-assistant p {
  margin: 0;
}

.assistant-message ul {
  margin: 8px 0 0 20px;
  padding: 0;
  list-style-position: inside;
}

.assistant-message li {
  display: list-item;
  margin: 4px 0;
}
