/* CrowdCrafting — lighter styles */
:root{
  --bg:#0f1320;
  --panel:#161b2a;
  --ink:#f0f3f9;
  --muted:#a9b3c7;
  --accent:#7bd88f;
  --stroke:rgba(255,255,255,.08);
  --glass:rgba(255,255,255,.04);
  --radius:14px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: radial-gradient(800px 600px at 80% -20%, #1d2240 0%, transparent 60%),
              radial-gradient(700px 500px at -10% 110%, #162338 0%, transparent 60%),
              var(--bg);
  color:var(--ink);
  font: 15px/1.45 Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial;
}

.topbar{
  position:sticky; top:0; z-index:5;
  display:flex; align-items:center; gap:12px;
  padding:14px 18px;
  border-bottom:1px solid var(--stroke);
  background:linear-gradient(0deg, rgba(0,0,0,.2), rgba(0,0,0,.0));
  backdrop-filter: blur(6px);
}
.topbar h1{font-weight:800; font-size:18px; margin:0}
.steps{margin-left:auto; display:flex; gap:8px; flex-wrap:wrap}
.step{
  border:1px solid var(--stroke); border-radius:999px; background:var(--glass);
  padding:8px 12px; cursor:pointer; font-weight:700; font-size:12px; color:var(--ink);
  transition: border-color .2s ease, transform .06s ease;
}
.step.current, .step:hover{border-color:var(--accent)}
.step:active{transform:translateY(1px)}

.container{max-width:980px; margin:24px auto; padding:0 16px}
.panel{
  display:none;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.0));
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  padding:16px;
  animation:fade .25s ease;
}
.panel.active{display:block}
@keyframes fade{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}

h2{margin:0 0 10px; font-size:18px}
.small{font-size:.92rem}.muted{color:var(--muted)}

.grid{display:grid; gap:12px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.grid-2,.grid-3{grid-template-columns:1fr}}

.field{display:flex; flex-direction:column; gap:6px; background:var(--glass); padding:10px; border-radius:12px; border:1px solid var(--stroke)}
.field--full{grid-column:1/-1}
.field>span{font-weight:600; font-size:12px; color:var(--muted)}
input,select,textarea{
  width:100%; background:#0d1221; color:var(--ink);
  border:1px solid #0d1b2a; outline:none; border-radius:10px; padding:10px 12px;
  transition: border-color .18s ease, box-shadow .18s ease;
  font: 15px/1.2 Inter, system-ui;
}
textarea{resize:vertical; min-height:90px}
input:focus,select:focus,textarea:focus{border-color:var(--accent); box-shadow:0 0 0 3px rgba(123,216,143,.15)}
.with-unit{display:grid; grid-template-columns:1fr 110px; gap:8px}

.contrib-list{display:grid; gap:12px}
.contrib{border:1px solid var(--stroke); border-radius:12px; overflow:hidden; background:rgba(255,255,255,.03)}
.contrib header{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid var(--stroke)}
.contrib .grid{padding:12px}
.contrib-foot{display:flex; align-items:center; gap:8px; padding:10px 12px; border-top:1px dashed var(--stroke); color:var(--muted)}

.icon{all:unset; cursor:pointer; font-size:16px; padding:4px 8px; border-radius:8px; border:1px solid transparent}
.icon:hover{border-color:#ff8080;}

.board{border:1px solid var(--stroke); border-radius:12px; padding:12px; background:var(--glass)}
.table-responsive{overflow:auto; border-radius:10px; border:1px solid var(--stroke)}
table{width:100%; border-collapse:collapse}
th,td{padding:10px 12px; border-bottom:1px solid var(--stroke); text-align:left}
thead th{background:rgba(255,255,255,.04); font-size:12px; color:var(--muted)}
tfoot td{background:rgba(255,255,255,.04); font-weight:800}
td.right{text-align:right}
td.strong{font-weight:800}

.actions{display:flex; gap:10px; justify-content:flex-end; margin-top:12px}
.actions.left{justify-content:flex-start}
.btn{
  appearance:none; border:1px solid var(--stroke); background:var(--panel); color:var(--ink);
  padding:10px 14px; border-radius:12px; cursor:pointer; font-weight:700;
  transition: transform .06s ease, border-color .2s ease;
}
.btn:hover{border-color:var(--accent)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(180deg,var(--accent),#61c97b); color:#06200f; border-color:transparent}
.btn.ghost{background:transparent}

.summary{background:var(--glass); border:1px solid var(--stroke); border-radius:12px; padding:12px}

.agree{display:flex; gap:10px; align-items:flex-start; margin-top:10px; color:var(--muted)}

.statusbar{
  position:sticky; bottom:0; z-index:5;
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap;
  padding:10px 12px; border-top:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.35));
  backdrop-filter: blur(6px);
}
.stat{display:flex; gap:8px; background:var(--glass); padding:8px 12px; border:1px solid var(--stroke); border-radius:999px; font-weight:700; font-size:12px; color:var(--muted)}
.stat strong{color:var(--ink)}
