/* JustFun 7.8.3 — coherent, high-contrast visual system. */
:root{
  --jf-emerald-950:#041813;
  --jf-emerald-900:#082c23;
  --jf-emerald-800:#0b4937;
  --jf-emerald-700:#0d684d;
  --jf-gold-500:#d5aa54;
  --jf-gold-300:#efd28c;
  --jf-canvas:#edf4f0;
  --jf-surface:#ffffff;
  --jf-surface-soft:#f5f9f7;
  --jf-ink:#10241d;
  --jf-muted:#5c7067;
  --jf-line:#d5e2dc;
  --jf-danger:#b72b38;
  color-scheme:light;
}

html,body{min-height:100%;background:var(--jf-canvas);color:var(--jf-ink)}
body{
  background:
    radial-gradient(circle at 6% 0,rgba(13,104,77,.11),transparent 34rem),
    linear-gradient(180deg,#f7faf8 0,var(--jf-canvas) 100%);
}
::selection{background:rgba(213,170,84,.34);color:#112019}
:focus-visible{outline:3px solid rgba(213,170,84,.78)!important;outline-offset:2px}

.jf-desktop-strip{
  background:linear-gradient(100deg,var(--jf-emerald-950),var(--jf-emerald-800))!important;
  background-color:var(--jf-emerald-950)!important;
  border-bottom:1px solid rgba(239,210,140,.28)!important;
  color:#fff!important;
}
.topbar{
  background:linear-gradient(102deg,var(--jf-emerald-950),#0b3d30 70%,#103d31)!important;
  background-color:var(--jf-emerald-950)!important;
  border:1px solid rgba(213,170,84,.28)!important;
  box-shadow:0 18px 42px rgba(4,24,19,.18)!important;
}
.brand,.company-brand{min-width:0}
.brand .logo,.company-brand .logo{
  flex:0 0 78px!important;
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  min-height:78px!important;
  border-radius:50%!important;
  background:transparent url("../justfun-official.png") center/contain no-repeat!important;
  border:1px solid rgba(239,210,140,.72)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.3),0 0 0 4px rgba(213,170,84,.09)!important;
}
.brand-title{color:#fff!important;font-size:22px!important;letter-spacing:-.01em}
.brand-sub{color:#bdd3ca!important;font-weight:650!important}
.topbar .actions button{min-height:46px}
.tabs{
  background:#f8fbf9!important;
  border:1px solid var(--jf-line)!important;
  box-shadow:0 8px 24px rgba(8,44,35,.06)!important;
}
.tab{color:#4b6057!important}
.tab:hover{background:#e8f3ed!important;color:#0b5c43!important}
.tab.active{background:linear-gradient(135deg,#159765,#0d7652)!important;color:#fff!important}
.tab.active{background-color:#0d7652!important}

.card{
  background:rgba(255,255,255,.94)!important;
  color:var(--jf-ink)!important;
  border:1px solid var(--jf-line)!important;
  box-shadow:0 22px 55px rgba(8,44,35,.1)!important;
}
:where(.panel,.section,.route-card,.warehouse-card,.settings-card,.settings-box,.sheet,
.toolbar,.route-map-wrap,.jf-profile-card,.jf-choice,.jf-integration-card,.detail-section,
.product-card,.driver-card,.orders-kpi,.stat){
  color:var(--jf-ink);
}
:where(.panel,.section,.route-card,.warehouse-card,.settings-card,.settings-box,.sheet,
.toolbar,.route-map-wrap,.jf-profile-card,.jf-choice,.jf-integration-card,.detail-section,
.product-card,.driver-card){
  background:var(--jf-surface)!important;
  border-color:var(--jf-line)!important;
}
:where(.muted,small,.brand-sub,.view-copy p,.orders-view-copy p,.route-hero-copy p,
.jf-integration-lead,.jf-integration-head span,.jf-settings-help){color:var(--jf-muted)!important}
:where(h1,h2,h3,h4,h5,h6,.view-title,.detail-section-title,.route-card-title,
.jf-integration-head b){color:var(--jf-ink)!important}

button,.btn,[role="button"],.tab,.nav-item{
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
button:active,.btn:active,[role="button"]:active{transform:translateY(1px)}
.btn-primary,.primary,.jf-primary,.jf-auth-submit,.jf-choice-primary{
  color:#fff!important;
  background:linear-gradient(135deg,#0e8159,#085b43)!important;
  background-color:#085b43!important;
  border-color:#0d7652!important;
  box-shadow:0 8px 20px rgba(8,91,67,.18)!important;
}
.btn-primary:hover,.primary:hover,.jf-primary:hover,.jf-auth-submit:hover{
  background:linear-gradient(135deg,#15976a,#0a694c)!important;
}
.btn-warn,.pickup-nav-btn{
  color:#2b230e!important;
  background:linear-gradient(135deg,#efd28c,#d5aa54)!important;
  border-color:#d5aa54!important;
}
.btn-soft,.btn-gray{color:#315047!important;background:#eef4f1!important;border-color:#d6e3dd!important}
.btn-soft:hover,.btn-gray:hover{background:#e2eee8!important;border-color:#b9d1c5!important}

input,select,textarea{
  color:var(--jf-ink)!important;
  background:#fff!important;
  border-color:#c9d9d1!important;
  caret-color:#0d684d;
}
input::placeholder,textarea::placeholder{color:#778b82!important;opacity:1}
input:focus,select:focus,textarea:focus{
  border-color:#0d8159!important;
  box-shadow:0 0 0 4px rgba(13,129,89,.12)!important;
}
label,.field>label,.filter-control>span{color:#3b554a!important}

.modal,.dialog-overlay,.modal-overlay,.overlay{
  background:rgba(3,20,15,.68)!important;
  backdrop-filter:blur(8px);
}
.modal-box,.dialog-box,.jf-dialog{
  color:var(--jf-ink)!important;
  background:#fff!important;
  border:1px solid rgba(213,170,84,.58)!important;
  box-shadow:0 32px 90px rgba(0,0,0,.34)!important;
}
.modal-box :where(h1,h2,h3,h4),.dialog-box :where(h1,h2,h3,h4),.jf-dialog :where(h1,h2,h3,h4){color:var(--jf-ink)!important}
.modal-head,.modal-foot,.dialog-head,.dialog-foot{border-color:var(--jf-line)!important}

/* Sign-in is intentionally explicit: dark brand rail, light readable form. */
.jf-auth-shell,#jfAuthRoot{
  background:
    radial-gradient(circle at 12% 5%,rgba(27,112,83,.35),transparent 34rem),
    linear-gradient(132deg,var(--jf-emerald-950) 0 36%,#edf5f1 36% 100%)!important;
}
.jf-auth-card{
  color:var(--jf-ink)!important;
  background:#fff!important;
  border:1px solid rgba(213,170,84,.64)!important;
  box-shadow:0 34px 95px rgba(2,25,19,.32)!important;
}
.jf-auth-brand{
  background:linear-gradient(155deg,#041914,#0b4937)!important;
  background-color:#073a2d!important;
  color:#fff!important;
}
.jf-auth-brand h1{color:#fff!important}
.jf-auth-brand p{color:#bfd5cc!important}
.jf-auth-logo{
  border-radius:50%!important;
  background:transparent url("../justfun-official.png") center/contain no-repeat!important;
  border:1px solid rgba(239,210,140,.78)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.32)!important;
}
.jf-auth-meta{color:#c0d5cc!important;border-top:1px solid rgba(213,170,84,.28)!important}
.jf-auth-meta b{color:#f2d98f!important}
.jf-auth-main{background:#fff!important;color:var(--jf-ink)!important}
.jf-auth-main h2{color:#10241d!important;line-height:1.15}
.jf-auth-main>.muted{color:#60756b!important;line-height:1.55}
.jf-auth-field label{color:#263f35!important}
.jf-auth-field input,.jf-auth-field select{color:#13271f!important;background:#fff!important}
.jf-auth-choice{
  color:#10241d!important;
  background:#f6faf8!important;
  border-color:#cedfd6!important;
}
.jf-auth-choice:hover{background:#edf7f2!important;border-color:#0d8159!important}
.jf-auth-choice b{color:#123428!important}
.jf-auth-choice span{color:#60766c!important}

.jf-help-modal{background:rgba(3,20,15,.68)!important;backdrop-filter:blur(8px)}
.jf-instruction-tools{display:flex;justify-content:flex-end;margin:0 0 12px}
.settings-box>.jf-instruction-btn{position:static!important;right:auto!important;top:auto!important;margin:0!important}
.jf-instruction-btn{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  min-height:42px;
  color:#075d43!important;
  background:#eef8f3!important;
  border:1px solid #c5dfd2!important;
}
.jf-instruction-btn::before{
  content:"i";
  display:grid;
  place-items:center;
  width:20px;height:20px;border-radius:50%;
  background:#0d7652;color:#fff;font:800 13px/1 "Segoe UI",sans-serif;
}

.jf-telegram-progress{color:#23463a!important;background:#edf8f3!important;border-color:#b9ddcb!important}
.jf-telegram-progress-head{color:#587068!important}.jf-telegram-progress-head b{color:#086945!important}
.jf-telegram-progress-track{background:#d8e7df!important}
.jf-route-telegram{
  display:grid;gap:10px;margin-top:14px;padding:14px;
  border:1px solid #cfe0d8;border-radius:15px;background:#f4f9f6;
}
.jf-route-telegram-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.jf-route-telegram-head b{color:#173d30}
.jf-route-telegram-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jf-route-telegram-target{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.jf-route-telegram-target button{min-width:0;white-space:normal}
.jf-telegram-state{
  display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;
  color:#526a60;background:#e6eeea;font-size:11px;font-weight:800;white-space:nowrap;
}
.jf-telegram-state.sent,.jf-telegram-state.accepted,.jf-telegram-state.collecting,
.jf-telegram-state.departed,.jf-telegram-state.ready,.jf-telegram-state.loaded,
.jf-telegram-state.completed{color:#086342;background:#dcf4e8}
.jf-telegram-state.error,.jf-telegram-state.problem{color:#a52d36;background:#fff0f1}

.leaflet-container,.map-shell{border:1px solid #cbdcd3!important;background:#e7efeb!important}
.leaflet-control-attribution{display:none!important}
.jf-map-credit{
  margin:7px 4px 0;
  color:#52675e!important;
  font-size:11px;
  line-height:1.35;
  text-align:right;
}
.route-map-heading>span{color:#52675e!important}
.jf-map-credit a{color:#426c5d!important;text-decoration:none;border-bottom:1px solid #a8c2b7}
.jf-map-credit a:hover,.jf-map-credit a:focus{color:#086747!important;border-bottom-color:#086747}
.status-ok,.success{color:#087246!important}
.status-error,.error,.danger{color:var(--jf-danger)!important}
#ordersArea .orders-table td:first-child .payment-pill{
  display:flex;
  width:100%;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.3;
  border-radius:10px;
}

@media(max-width:760px){
  .brand .logo,.company-brand .logo{flex-basis:58px!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important}
  .jf-route-telegram-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
