:root{
  --forest:#2D3E1F;
  --olive:#6B8C21;
  --amber:#F5A800;
  --slate:#4E7290;
  --cream:#F4F0E6;
  --text:#1C2B1A;
  --muted:#4A5C42;
  --sub:#6E7E66;
  --ok:#2E7D32;
  --warn:#C45200;
  --ko:#B71C1C;
  --ink:var(--text);
  --line:rgba(45,62,31,.16);
  --paper:#fff;
  --soft:var(--cream);
  --green:var(--olive);
  --green-dark:var(--forest);
  --red:var(--ko);
  --red2:var(--olive);
  --pale:rgba(107,140,33,.11);
  --gold:var(--amber);
  --shadow:0 14px 34px rgba(45,62,31,.1);
}

body{
  background:var(--cream)!important;
  color:var(--text)!important;
  font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  padding-top:68px;
}

.site-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:500;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 36px;
  background:rgba(244,240,230,.94)!important;
  border-bottom:1px solid rgba(45,62,31,.14)!important;
  backdrop-filter:blur(18px);
  box-shadow:0 2px 24px rgba(45,62,31,.07);
}

.site-nav .logo{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  filter:none!important;
  width:auto!important;
  height:auto!important;
  object-fit:initial!important;
}

.site-nav .logo-badge{
  width:40px;
  height:40px;
  background:var(--forest);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.site-nav .logo-name{
  display:block;
  font-family:"Fraunces",Georgia,serif;
  font-size:16px;
  font-weight:700;
  color:var(--forest);
  line-height:1.1;
}

.site-nav .logo-sub{
  display:block;
  font-size:9px;
  color:var(--sub);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.site-nav .nav-tabs{
  display:flex;
  gap:2px;
  background:rgba(45,62,31,.07);
  border-radius:10px;
  padding:3px;
}

.site-nav .nav-tab{
  display:inline-flex;
  align-items:center;
  border:0;
  border-radius:8px;
  padding:7px 15px;
  background:transparent;
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  text-decoration:none;
  transition:all .2s cubic-bezier(.22,1,.36,1);
}

.site-nav .nav-tab:hover,
.site-nav .nav-tab.on{
  background:var(--forest);
  color:var(--cream);
}

.site-nav .nav-r{
  display:flex;
  gap:8px;
  align-items:center;
}

.site-nav .btn{
  min-height:auto;
  padding:8px 17px;
  font-size:12.5px;
}

.site-nav .btn-p{
  background:var(--forest)!important;
  color:var(--cream)!important;
  border-color:var(--forest)!important;
}

.site-nav .btn-o{
  background:transparent!important;
  color:var(--forest)!important;
}

h1,h2,h3,.brand strong,.month-title,.sett,.places-title{
  font-family:"Fraunces",Georgia,serif!important;
  color:var(--forest)!important;
  letter-spacing:0!important;
}

.header,header{
  background:rgba(244,240,230,.94)!important;
  border-bottom:1px solid rgba(45,62,31,.14)!important;
  backdrop-filter:blur(18px);
}

.brand{
  color:var(--forest)!important;
}

.brand span span,.muted,.hint,.desc,.loc,.meta,.preview-meta,.comment-date{
  color:var(--muted)!important;
}

.logo{
  filter:none!important;
}

.btn,.menu-toggle,.tab-btn,.mini-btn{
  border-radius:8px!important;
  border:1.5px solid rgba(45,62,31,.18)!important;
  background:#fff!important;
  color:var(--forest)!important;
  font-weight:700!important;
  box-shadow:none!important;
  transition:transform .22s cubic-bezier(.22,1,.36,1),background .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1)!important;
}

.btn:hover,.menu-toggle:hover,.tab-btn:hover,.mini-btn:hover{
  border-color:var(--olive)!important;
  background:rgba(107,140,33,.08)!important;
  transform:translateY(-1px);
}

.btn.primary,.tab-btn.active{
  background:var(--forest)!important;
  border-color:var(--forest)!important;
  color:var(--cream)!important;
}

.btn.danger,.mini-btn.danger{
  color:var(--ko)!important;
  border-color:rgba(183,28,28,.3)!important;
}

.panel,.card,.form-section,.event-card,.empty,.login,.stat,.template-card,.option-group,.field-card,.custom-cell,.comment,.published-item,.live-preview,.import-tools,.settings-note{
  background:#fff!important;
  border:1.5px solid rgba(45,62,31,.14)!important;
  border-radius:14px!important;
  box-shadow:0 8px 26px rgba(45,62,31,.07)!important;
}

.hero{
  background:transparent!important;
}

.field,.select,.textarea,input,textarea,select{
  border-radius:8px!important;
  border:1.5px solid rgba(45,62,31,.16)!important;
  background:#fff!important;
  color:var(--text)!important;
}

.field:focus,.select:focus,.textarea:focus,input:focus,textarea:focus,select:focus{
  border-color:var(--olive)!important;
  box-shadow:0 0 0 3px rgba(107,140,33,.13)!important;
  outline:none!important;
}

.eyebrow,.pill,.preview-pill,.status,.check,.legend-item,.meta,.event-pill{
  background:rgba(107,140,33,.1)!important;
  border:1px solid rgba(107,140,33,.22)!important;
  color:var(--forest)!important;
  border-radius:999px!important;
}

.team-heart{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 14px 8px;
  padding:7px 11px;
  border:1px solid rgba(183,28,28,.22);
  border-radius:999px;
  background:rgba(183,28,28,.08);
  color:#B71C1C;
  font-size:.82rem;
  font-weight:700;
}

.team-favorite-control{
  border-color:rgba(183,28,28,.24)!important;
  background:rgba(183,28,28,.06)!important;
  color:#B71C1C!important;
  font-weight:700;
}

.pill.pending,.warn,.type-festival{
  background:rgba(245,168,0,.15)!important;
  border-color:rgba(245,168,0,.35)!important;
  color:#6b4700!important;
}

.pill.rejected,.type-concert{
  background:rgba(183,28,28,.1)!important;
  border-color:rgba(183,28,28,.25)!important;
  color:var(--ko)!important;
}

.type-marche,.good{
  background:rgba(46,125,50,.1)!important;
  border-color:rgba(46,125,50,.25)!important;
}

.type-atelier{
  background:rgba(78,114,144,.12)!important;
  border-color:rgba(78,114,144,.28)!important;
}

.type-exposition{
  background:rgba(78,114,144,.12)!important;
  border-color:rgba(78,114,144,.28)!important;
}

.type-sport{
  background:rgba(107,140,33,.12)!important;
  border-color:rgba(107,140,33,.28)!important;
}

.border-concert{border-left-color:var(--ko)!important}
.border-festival{border-left-color:var(--amber)!important}
.border-marche{border-left-color:var(--olive)!important}
.border-atelier{border-left-color:var(--slate)!important}
.border-exposition{border-left-color:var(--slate)!important}
.border-sport{border-left-color:var(--forest)!important}

.stat strong,.wcag,.success{
  color:var(--olive)!important;
}

.success{
  background:rgba(107,140,33,.1)!important;
  border-left-color:var(--olive)!important;
}

.error{
  color:var(--ko)!important;
}

.day.today{
  border-color:var(--amber)!important;
  box-shadow:inset 0 0 0 1px var(--amber)!important;
}

.detail-map,.leaflet-container{
  border-radius:14px!important;
}
