OPENENV_RL_01 / app /web /styles.css
Siddharaj Shirke
deploy: fresh snapshot to Hugging Face Space
3eae4cc
:root {
--bg: #050505;
--panel: #0f0f0f;
--panel-2: #141414;
--line: #2b2b2b;
--text: #f4f4f4;
--muted: #b6b6b6;
--accent: #ffffff;
}
* {
box-sizing: border-box;
}
html,
body {
margin: 0;
min-height: 100%;
background: radial-gradient(circle at 0% 0%, #1b1b1b 0%, #070707 40%, #000 100%);
color: var(--text);
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.app-root {
min-height: 100vh;
}
.boot {
width: min(1000px, 92vw);
margin: 32px auto;
padding: 16px;
border: 1px solid var(--line);
border-radius: 12px;
background: var(--panel);
}
.boot-error h2 {
margin-top: 0;
}
.shell {
width: min(1300px, 94vw);
margin: 0 auto;
padding: 20px;
display: grid;
gap: 14px;
}
.hero {
padding: 18px;
border-radius: 14px;
color: #000;
background: linear-gradient(130deg, #fff 0%, #d0d0d0 40%, #7b7b7b 100%);
}
.hero h1 {
margin: 0;
font-size: 28px;
}
.hero p {
margin: 8px 0 0;
font-weight: 600;
}
.grid {
display: grid;
gap: 12px;
}
.cols-3 {
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.cols-2 {
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.panel {
border: 1px solid var(--line);
border-radius: 12px;
background: var(--panel);
padding: 14px;
}
.panel h2 {
margin: 0 0 10px;
font-size: 18px;
}
.panel h3 {
margin: 0 0 8px;
font-size: 15px;
}
.form-row {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
gap: 10px;
}
label {
display: grid;
gap: 6px;
font-size: 12px;
color: var(--muted);
}
input,
select,
textarea,
button {
width: 100%;
border-radius: 8px;
border: 1px solid #3a3a3a;
background: var(--panel-2);
color: var(--text);
padding: 8px 10px;
font-size: 13px;
}
textarea {
min-height: 95px;
resize: vertical;
}
button {
cursor: pointer;
border: none;
background: var(--accent);
color: #000;
font-weight: 700;
}
button.secondary {
background: transparent;
border: 1px solid #505050;
color: var(--text);
}
button:disabled {
opacity: 0.55;
cursor: wait;
}
.btn-row {
display: flex;
gap: 8px;
flex-wrap: wrap;
}
.btn-row button {
width: auto;
}
.kpis {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 10px;
}
.kpi {
border: 1px solid var(--line);
border-radius: 10px;
background: #0a0a0a;
padding: 10px;
}
.kpi .k {
color: var(--muted);
font-size: 12px;
}
.kpi .v {
margin-top: 5px;
font-size: 19px;
font-weight: 700;
}
.table-wrap {
overflow: auto;
border: 1px solid #222;
border-radius: 8px;
}
.table-wrap table {
border-collapse: collapse;
width: 100%;
font-size: 12px;
}
.table-wrap th,
.table-wrap td {
border-bottom: 1px solid #202020;
text-align: left;
padding: 8px;
white-space: nowrap;
}
.table-wrap thead th {
background: #0c0c0c;
position: sticky;
top: 0;
}
canvas {
width: 100%;
border: 1px solid #292929;
border-radius: 8px;
background: #050505;
}
.status {
padding: 10px;
border-radius: 8px;
border: 1px solid #303030;
background: #0b0b0b;
color: var(--muted);
font-size: 12px;
}
.small {
font-size: 12px;
color: var(--muted);
}
pre {
margin: 0;
border: 1px solid #232323;
border-radius: 8px;
background: #080808;
padding: 10px;
max-height: 240px;
overflow: auto;
font-size: 12px;
}
.badge {
display: inline-block;
border: 1px solid #515151;
border-radius: 999px;
padding: 2px 8px;
font-size: 11px;
color: #dcdcdc;
}
.badge.ok {
border-color: #bdbdbd;
color: #ffffff;
}
@media (max-width: 680px) {
.hero h1 {
font-size: 23px;
}
}