:root{
  --bg: #292e3b;
  --panel: #343a4a;
  --panel2: #3b4256;
  --border: #4b5164;
  --text: #e7eaf0;
  --muted: #b8bfd0;
  --link: #9cc3ff;
  --danger-bg:#5a2b35;
  --danger-border:#b66374;
  --input-bg:#2a2f3c;
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  font-family: Arial, sans-serif;
  font-size: 13px;
  background: var(--bg);
  color: var(--text);
}

a{color:var(--link); text-decoration:none;}
a:hover{text-decoration:underline;}

.rv-header{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:16px 24px;
  background: rgba(0,0,0,0.10);
  border-bottom:1px solid var(--border);
}
.rv-header img{
  width:100%;
  max-width:468px;
  height:auto;
  object-fit:contain;
  display:block;
}
.rv-nav{
  margin-left:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding-top:6px;
}
.rv-nav a{
  display:inline-block;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background: rgba(255,255,255,0.03);
}
.rv-nav a:hover{background: rgba(255,255,255,0.07); text-decoration:none;}

.rv-container{
  max-width: 1240px;
  margin: 18px auto 28px auto;
  padding: 0 24px;
}

h1{font-size:18px; margin:0 0 12px 0;}
h2{font-size:14px; margin:16px 0 8px 0;}

.rv-card{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px;
}

.rv-row{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.rv-row .rv-card{min-width:320px;}
.rv-row .rv-grow{flex:1; min-width:360px;}

.rv-muted{color:var(--muted);}
.rv-right{text-align:right;}

.rv-table{
  width:100%;
  border-collapse:collapse;
  margin-top:12px;
}
.rv-table th, .rv-table td{
  border:1px solid var(--border);
  padding:7px;
  vertical-align:top;
}
.rv-table th{
  background: var(--panel2);
  text-align:left;
}
.rv-table tbody tr:nth-child(even){
  background: rgba(255,255,255,0.02);
}

label{display:block; margin:8px 0;}
input, select, textarea, button{
  font: inherit;
}
input[type="text"], input[type="date"], input[type="datetime-local"], select, textarea{
  background: var(--input-bg);
  border:1px solid var(--border);
  color: var(--text);
  border-radius:8px;
  padding:8px 9px;
}
textarea{width:100%; max-width:1000px;}
select{min-width:220px;}
input::placeholder, textarea::placeholder{color: rgba(231,234,240,0.55);}

button{
  background: rgba(255,255,255,0.06);
  border:1px solid var(--border);
  color: var(--text);
  padding:8px 12px;
  border-radius:10px;
  cursor:pointer;
}
button:hover{background: rgba(255,255,255,0.10);}

.rv-error{
  background: var(--danger-bg);
  border:1px solid var(--danger-border);
  padding:10px;
  border-radius:10px;
  margin: 12px 0;
}

.rv-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin: 10px 0 12px 0;
}

.rv-chip{
  display:inline-block;
  padding:4px 8px;
  border:1px solid var(--border);
  border-radius:999px;
  background: rgba(255,255,255,0.03);
}

.rv-footer{
  padding: 18px 24px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  text-align:center;
  background: rgba(0,0,0,0.06);
}

/* Print pages keep their own white design */


/* Badges */
.rv-badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px;}
.rv-badge{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  background:var(--panel2);
  border:1px solid var(--border);
  font-size:12px;
  color:var(--text);
}
.rv-badge strong{font-weight:700;}
.rv-badge-ok{
  background:#253f33;
  border-color:#3c7a57;
}
.rv-badge-warn{
  background:var(--danger-bg);
  border-color:var(--danger-border);
}


/* Responsive */
@media (max-width: 920px){
  .rv-header{
    flex-wrap:wrap;
    align-items:center;
    padding:14px 16px;
  }
  .rv-nav{
    margin-left:0;
    width:100%;
    padding-top:0;
    justify-content:flex-start;
  }
  .rv-container{
    padding:0 16px;
  }
  .rv-row .rv-card{min-width:280px;}
  .rv-row .rv-grow{min-width:280px;}
}

@media (max-width: 620px){
  body{font-size:14px;}
  .rv-header{
    gap:12px;
    padding:12px 14px;
  }
  .rv-nav{
    gap:8px;
  }
  .rv-nav a{
    flex:1 1 calc(50% - 8px);
    text-align:center;
    padding:10px 10px;
  }
  .rv-user{
    width:100%;
    margin:4px 0 0 0;
    order:99;
  }
  .rv-container{
    margin: 12px auto 20px auto;
    padding:0 14px;
  }
  .rv-row{
    gap:12px;
  }
  .rv-row .rv-card,
  .rv-row .rv-grow{
    min-width:100%;
  }
  input[type="text"],
  input[type="date"],
  input[type="datetime-local"],
  select,
  textarea{
    width:100%;
    max-width:100%;
  }
  select{min-width:0;}
  .rv-actions{gap:8px;}
  .rv-chip{padding:6px 10px;}

  /* Tables: allow horizontal scroll */
  .rv-table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .rv-table th, .rv-table td{
    white-space:nowrap;
  }
}

@media (max-width: 420px){
  .rv-nav a{
    flex:1 1 100%;
  }
}
