:root{
  --bg:#020711;
  --panel:rgba(4,18,34,.82);
  --panel2:rgba(5,26,44,.68);
  --cyan:#48eaff;
  --green:#56ffb2;
  --yellow:#ffd75a;
  --red:#ff4f8b;
  --blue:#7fb0ff;
  --text:#effcff;
  --muted:#b9dce8;
  --line:rgba(72,234,255,.42);
}

*{box-sizing:border-box}

html,body{
  margin:0;
  min-height:100%;
  background:#020711;
  color:var(--text);
  font-family:"Share Tech Mono", Consolas, monospace;
  font-size:16px;
  line-height:1.45;
}

.recon-bg{
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 24%, rgba(89,151,255,.22), transparent 24%),
    radial-gradient(circle at 78% 70%, rgba(255,73,138,.10), transparent 30%),
    linear-gradient(rgba(72,234,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(72,234,255,.025) 1px, transparent 1px),
    #020711;
  background-size:auto, auto, 32px 32px, 32px 32px, auto;
}

.side{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:235px;
  padding:18px 14px;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg, rgba(3,14,28,.94), rgba(3,8,18,.90));
  overflow:auto;
}

.side-title{
  color:var(--cyan);
  font-size:13px;
  letter-spacing:.14em;
  margin-bottom:16px;
}

.side a{
  display:block;
  text-decoration:none;
  color:var(--text);
  border:1px solid rgba(72,234,255,.35);
  background:rgba(8,36,56,.42);
  border-radius:10px;
  padding:11px 12px;
  margin-bottom:9px;
  font-size:13px;
  text-align:center;
}

.side a.active{
  background:linear-gradient(180deg, rgba(86,255,178,.90), rgba(72,234,255,.88));
  color:#001018;
  font-weight:800;
}

.side-block{
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(72,234,255,.22);
}

.side-label,
.eyebrow,
.card-label,
.k{
  color:var(--cyan);
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.10em;
  font-weight:800;
}

.side-big{
  color:var(--red);
  font-size:30px;
  font-weight:900;
  margin-top:8px;
}

.side p,
.side li{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.main{
  margin-left:235px;
  padding:24px;
  max-width:1800px;
}

.hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:22px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(5,24,44,.84), rgba(2,10,22,.74));
  box-shadow:0 0 26px rgba(72,234,255,.12);
}

h1{
  font-size:clamp(42px, 4vw, 72px);
  line-height:1.03;
  margin:10px 0 12px;
  letter-spacing:-.035em;
}

h2{
  font-size:clamp(24px, 1.5vw, 34px);
  margin:8px 0 10px;
}

p,li{
  color:var(--muted);
  font-size:16px;
}

.hero-card{
  border:1px solid rgba(86,255,178,.45);
  border-radius:16px;
  padding:20px;
  background:rgba(0,72,54,.16);
}

.card-value{
  margin:12px 0;
  font-size:28px;
  font-weight:900;
}

.notice{
  margin:18px 0;
  border:1px solid rgba(255,215,90,.48);
  background:rgba(255,215,90,.11);
  color:#fff6d7;
  border-radius:14px;
  padding:16px 18px;
}

.kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}

.kpi{
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  background:var(--panel);
}

.v{
  margin-top:10px;
  font-size:32px;
  font-weight:900;
}

.green{color:var(--green)}
.yellow{color:var(--yellow)}
.blue{color:var(--blue)}

.panel{
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  background:var(--panel);
  margin-bottom:18px;
  box-shadow:0 0 20px rgba(72,234,255,.08);
}

.panel-head{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.upload-grid{
  display:grid;
  grid-template-columns:minmax(280px,1fr) 180px 200px 180px;
  gap:12px;
  align-items:end;
}

.upload-box{
  display:grid;
  gap:8px;
  color:var(--cyan);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

input,
select,
textarea{
  width:100%;
  min-height:40px;
  border-radius:10px;
  border:1px solid rgba(72,234,255,.38);
  color:var(--text);
  background:rgba(0,0,0,.28);
  padding:8px 10px;
  font-family:inherit;
}

button{
  min-height:42px;
  border:1px solid rgba(72,234,255,.55);
  color:var(--text);
  background:linear-gradient(180deg, rgba(24,82,116,.72), rgba(7,26,48,.88));
  border-radius:12px;
  padding:10px 14px;
  font-family:inherit;
  font-size:14px;
  cursor:pointer;
}

button:hover{
  box-shadow:0 0 18px rgba(72,234,255,.24);
}

button.danger{
  border-color:rgba(255,79,139,.65);
  background:rgba(100,0,38,.34);
}

.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.status{
  margin-top:14px;
  color:var(--green);
  font-size:14px;
}

.table-wrap{
  overflow:auto;
  border:1px solid rgba(72,234,255,.25);
  border-radius:14px;
  max-height:620px;
}

table{
  width:100%;
  min-width:1700px;
  border-collapse:collapse;
}

th,td{
  border-bottom:1px solid rgba(72,234,255,.14);
  padding:9px;
  text-align:left;
  font-size:14px;
  vertical-align:top;
}

th{
  position:sticky;
  top:0;
  z-index:2;
  background:#041628;
  color:var(--cyan);
  text-transform:uppercase;
  letter-spacing:.05em;
}

td input,
td select{
  min-width:110px;
  font-size:13px;
}

td.notes input{
  min-width:220px;
}

.refund{
  color:var(--green);
  font-weight:900;
}

.row-danger{
  background:rgba(255,79,139,.07);
}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

@media(max-width:1200px){
  .side{
    position:relative;
    width:auto;
    height:auto;
  }

  .main{
    margin-left:0;
    padding:14px;
  }

  .hero,
  .split,
  .kpi-grid,
  .upload-grid{
    grid-template-columns:1fr;
  }
}
