html{
  box-sizing:border-box;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

*,*::before,*::after{
  box-sizing:inherit;
}

html,body{
  margin:0;
  padding:0;
  min-height:100%;
}

body{
  font-family:var(--owge-font);
  background:linear-gradient(180deg,var(--owge-bg),var(--owge-bg-elev));
  color:var(--owge-text);
}

img{
  max-width:100%;
  display:block;
}

a{
  color:inherit;
}

button,
input,
select,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

h1,h2,h3{
  margin:0 0 var(--owge-space-3);
  color:#fff;
  line-height:1.15;
}

p{
  margin:0 0 var(--owge-space-3);
  color:var(--owge-text-soft);
}

label{
  display:block;
}

.fac-input,
input,
select,
textarea{
  width:100%;
  border:1px solid var(--owge-border);
  background:rgba(10,18,34,.88);
  color:var(--owge-text);
  border-radius:12px;
  padding:10px 12px;
  outline:none;
}

.fac-input:focus,
input:focus,
select:focus,
textarea:focus{
  border-color:rgba(77,163,255,.55);
  box-shadow:0 0 0 3px rgba(77,163,255,.14);
}

textarea{
  resize:vertical;
  min-height:110px;
}

button,
.nav-btn,
a.nav-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(121,184,255,.28);
  background:linear-gradient(180deg,#3559aa,#223c7a);
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

button.secondary,
.nav-btn.secondary,
a.nav-btn.secondary{
  background:linear-gradient(180deg,#284772,#1b3152);
}

button.warn,
.nav-btn.warn,
a.nav-btn.warn{
  background:linear-gradient(180deg,#8b3f46,#6f2f35);
}

button.good,
.nav-btn.good,
a.nav-btn.good{
  background:linear-gradient(180deg,#2f9e5f,#237447);
}

button:hover,
.nav-btn:hover,
a.nav-btn:hover{
  filter:brightness(1.05);
}

.panel{
  background:linear-gradient(180deg,var(--owge-panel),var(--owge-panel-2));
  border:1px solid var(--owge-border);
  border-radius:var(--owge-radius-lg);
  box-shadow:var(--owge-shadow);
  padding:var(--owge-space-5);
  min-width:0;
}

.fac-muted,
.small{
  color:var(--owge-text-muted);
}

.ops-container{
  width:100%;
  max-width:var(--owge-content-max);
  margin:0;
}

.row,
.fac-inline-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.grid2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

@media (max-width: 900px){
  .grid2{
    grid-template-columns:1fr;
  }
}
