:root{
  --bg:#f6f7f9;
  --card:#ffffff;
  --accent:#2b7a78;
  --muted:#6b7280;
  --danger:#e11d48;
  --shadow: 0 6px 20px rgba(14,30,37,0.08);
  --radius:12px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color-scheme: light;
}
*{box-sizing:border-box}
html,body,#app{height:100%}
body{
  margin:0;
  background:linear-gradient(180deg, #f7fbfb 0%, var(--bg) 100%);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
main#app{
  width:100%;
  max-width:980px;
  display:grid;
  grid-template-columns:1fr 380px;
  gap:18px;
  align-items:start;
  min-height:560px;
}

/* Mobile single-column */
@media (max-width:720px){
  main#app{grid-template-columns:1fr}
}

.card{
  background:var(--card);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:var(--shadow);
}

#creator h1{margin:0 0 10px 0;font-size:18px;color:var(--accent)}
label{display:block;margin-bottom:10px;font-size:13px;color:var(--muted)}
input[type="text"], textarea{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #e6e9ee;
  background:#fbfdff;
  font-size:14px;
  outline:none;
}
textarea{resize:none}

.file input[type="file"]{display:block;margin-top:8px}

.logoPreview{
  margin-top:8px;
  width:88px;
  height:88px;
  border-radius:10px;
  background:linear-gradient(180deg,#f2f5f6,#ffffff);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px dashed #e6eef0;
}

.members{margin-top:6px}
.members-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.small{
  background:transparent;border:1px solid #e6eef0;padding:6px 8px;border-radius:8px;font-size:13px;color:var(--accent);
}
.membersList{list-style:none;padding:0;margin:0;max-height:160px;overflow:auto}
.membersList li{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:8px;background:#fbfdff;margin-bottom:6px;border:1px solid #f0f4f5;font-size:14px}

.memberName{flex:1;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.actions{display:flex;gap:8px;margin-top:12px}
.primary{background:var(--accent);color:white;border:none;padding:10px 14px;border-radius:10px;font-weight:600}
button{cursor:pointer}
#resetBtn{background:transparent;border:1px solid #e6eef0;padding:10px 12px;border-radius:10px}

#previewCard h2{margin:0 0 10px 0;font-size:16px;color:var(--accent)}
.previewEmpty{color:var(--muted);padding:18px;border-radius:10px;background:#fbfdff;border:1px dashed #e6eef0;min-height:160px;display:flex;align-items:center;justify-content:center}
.preview{
  display:flex;gap:12px;align-items:center;
}
.preview .logo{width:92px;height:92px;border-radius:12px;background:#fff;border:1px solid #e6eef0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.preview .info{flex:1}
.preview .info h3{margin:0 0 6px 0;font-size:16px}
.preview .info p{margin:0;color:var(--muted);font-size:13px}
.savedList{margin-top:12px}
.rules{margin-top:12px;padding:10px;border-radius:10px;background:#fbfdff;border:1px solid #e6eef0}
.rules h3{margin:0 0 6px 0;font-size:14px;color:var(--accent)}
.rules p{margin:0;color:var(--muted);font-size:13px}
.savedList ul{list-style:none;padding:0;margin:0;max-height:200px;overflow:auto}
.savedList li{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:10px;background:#fbfdff;margin-bottom:8px;border:1px solid #f0f4f5}
.saved-meta{display:flex;gap:10px;align-items:center}
.saved-meta .dot{width:36px;height:36px;border-radius:8px;background:#f4f7f8;display:flex;align-items:center;justify-content:center;overflow:hidden}
.smallAction{background:transparent;border:none;color:var(--accent);padding:6px 8px}
.delete{color:var(--danger)}
.footerNote{font-size:12px;color:var(--muted);margin-top:8px;text-align:center}