/* X-Route unified button system */
:root{
  --xr-btn-gold:#e2ad3f;
  --xr-btn-gold-top:#f0c35c;
  --xr-btn-gold-border:#c99021;
  --xr-btn-bg:#151b1d;
  --xr-btn-border:#455156;
  --xr-btn-text:#e8edef;
  --xr-btn-muted:#aab5ba;
  --xr-btn-danger:#ff7c82;
  --xr-btn-danger-bg:#351a1d;
  --xr-btn-danger-border:#7f373c;
  --xr-btn-success:#62dc88;
  --xr-btn-success-bg:#143522;
  --xr-btn-success-border:#276c40;
}
:is(.btn,.smallbtn,button[type="submit"],.xroute-save-btn,.xroute-concept-btn,.xr-add-location,.xr-more,.icon-btn,.trip-action,.xr-route-delete){
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:0 15px;
  border:1px solid var(--xr-btn-border);
  border-radius:8px;
  background:var(--xr-btn-bg);
  color:var(--xr-btn-text);
  box-shadow:none;
  font-family:Inter,system-ui,sans-serif;
  font-size:12px;
  font-weight:650;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;
}
:is(.btn,.smallbtn,button[type="submit"],.xroute-save-btn,.xroute-concept-btn,.xr-add-location,.xr-more,.icon-btn,.trip-action,.xr-route-delete):hover{
  transform:translateY(-1px);
  border-color:#68777d;
  background:#1d2528;
  color:#fff;
}
:is(.btn,.smallbtn,button[type="submit"],.xroute-save-btn,.xroute-concept-btn,.xr-add-location,.xr-more,.icon-btn,.trip-action,.xr-route-delete):focus-visible{
  outline:2px solid rgba(226,173,63,.6);
  outline-offset:2px;
}
:is(.btn,.smallbtn,button[type="submit"],.xroute-save-btn,.xroute-concept-btn,.xr-add-location,.xr-more,.icon-btn,.trip-action,.xr-route-delete):active{
  transform:translateY(0);
}
:is(.btn,.smallbtn,button[type="submit"],.xroute-save-btn,.xroute-concept-btn,.xr-add-location,.xr-more,.icon-btn,.trip-action,.xr-route-delete):disabled,
:is(.btn,.smallbtn,button[type="submit"],.xroute-save-btn,.xroute-concept-btn,.xr-add-location,.xr-more,.icon-btn,.trip-action,.xr-route-delete)[aria-disabled="true"]{
  opacity:.44;
  cursor:not-allowed;
  transform:none;
  filter:saturate(.55);
}
/* Primary actions */
:is(.btn,button[type="submit"],.xroute-save-btn).primary,
.btn:not(.secondary):not(.ghost):not(.danger):not(.smallbtn),
button[type="submit"]:not(.secondary):not(.ghost):not(.danger),
.xroute-save-btn{
  border-color:var(--xr-btn-gold-border);
  background:linear-gradient(180deg,var(--xr-btn-gold-top),var(--xr-btn-gold));
  color:#17130a;
  box-shadow:0 4px 12px rgba(215,157,37,.16);
}
:is(.btn:not(.secondary):not(.ghost):not(.danger):not(.smallbtn),button[type="submit"]:not(.secondary):not(.ghost):not(.danger),.xroute-save-btn):hover{
  border-color:#d9a72f;
  background:linear-gradient(180deg,#f5cd70,#e6b54d);
  color:#17130a;
}
/* Compact controls used in cards and tables */
.smallbtn,.icon-btn,.trip-action,.xr-route-delete{
  min-height:32px;
  height:32px;
  padding:0 11px;
  border-radius:7px;
  font-size:11px;
}
.icon-btn,.trip-action,.xr-route-delete{
  flex:0 0 32px;
  width:32px;
  padding:0;
}
.smallbtn{
  border-color:var(--xr-btn-border);
  background:var(--xr-btn-bg);
  color:var(--xr-btn-text);
}
/* Quiet actions */
:is(.ghost,.btn-ghost,.cancel,.back,[data-action="cancel"]){
  border-color:transparent!important;
  background:transparent!important;
  color:var(--xr-btn-muted)!important;
  box-shadow:none!important;
}
/* Destructive actions */
:is(.danger,.delete,.trip-delete,.xr-route-delete,[data-action="delete"],[data-action="unlink"]){
  border-color:var(--xr-btn-danger-border)!important;
  background:var(--xr-btn-danger-bg)!important;
  color:var(--xr-btn-danger)!important;
  box-shadow:none!important;
}
:is(.danger,.delete,.trip-delete,.xr-route-delete,[data-action="delete"],[data-action="unlink"]):hover{
  border-color:#a5484e!important;
  background:#462126!important;
  color:#ff9ca1!important;
}
/* Confirm/success actions */
:is(.success,.confirm,[data-action="assign"]){
  border-color:var(--xr-btn-success-border)!important;
  background:var(--xr-btn-success-bg)!important;
  color:var(--xr-btn-success)!important;
}
/* Keep special shell controls visually compact */
:is(.sidebar-menu,.theme-toggle,.language-toggle,.header-icons button,.header-icons a){
  transform:none!important;
}
html[data-theme="light"]{
  --xr-btn-bg:#fff;
  --xr-btn-border:#b9c4c9;
  --xr-btn-text:#26343a;
  --xr-btn-muted:#5d6b72;
  --xr-btn-danger:#b4232b;
  --xr-btn-danger-bg:#fff1f1;
  --xr-btn-danger-border:#e1a1a4;
  --xr-btn-success:#16723a;
  --xr-btn-success-bg:#eefaf2;
  --xr-btn-success-border:#9dd5af;
}
html[data-theme="light"] :is(.btn,.smallbtn,button[type="submit"],.xroute-save-btn,.xroute-concept-btn,.xr-add-location,.xr-more,.icon-btn,.trip-action):hover{
  background:#f1f4f5;
  border-color:#89979d;
  color:#172126;
}
@media(max-width:650px){
  :is(.btn,.smallbtn,button[type="submit"],.xroute-save-btn,.xroute-concept-btn,.xr-add-location,.xr-more){min-height:44px}
  .icon-btn,.trip-action,.xr-route-delete{width:40px;height:40px;min-height:40px;flex-basis:40px}
}


/* One compact action-button style throughout the modern trip editor */
body.xroute-new-trip :is(.xroute-new-intro,.xroute-exact-form) :is(button,.btn,.smallbtn){
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:32px!important;
  height:32px!important;
  padding:0 11px!important;
  border-radius:7px!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.xroute-new-trip :is(.xroute-new-intro,.xroute-exact-form) :is(button,.btn,.smallbtn)>i{
  width:12px!important;
  font-size:11px!important;
  line-height:1!important;
  text-align:center!important;
}
body.xroute-new-trip :is(.xroute-new-intro,.xroute-exact-form) :is(.icon-btn,.trip-action,.xr-route-delete){
  padding:0!important;
}
