.ss-wrap{max-width:840px;margin:20px 0;padding:16px;border:1px solid #ddd;border-radius:8px;background:#fff}
.ss-tabs{display:flex;gap:10px;margin-bottom:14px}
.ss-tab{display:inline-block;padding:8px 12px;border:1px solid #ccc;border-radius:999px;text-decoration:none}
.ss-tab.is-active{background:#f1f1f1}
.ss-section{margin:18px 0}
.ss-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ss-grid label{display:block}
.ss-grid input[type="text"], .ss-grid input[type="email"], .ss-grid input[type="password"], .ss-grid select{width:100%}
.ss-waiver{grid-column:1 / -1}
.ss-req{color:#b00;margin-left:4px}
.ss-box{padding:14px;border:1px solid #ddd;border-radius:8px;background:#fafafa;margin:12px 0}
.ss-success{border-color:#6fbf73;background:#f1fbf2}
.ss-error{border-color:#d66;background:#fff2f2}
.ss-full{border-color:#d66;background:#fff2f2;text-align:center;font-size:18px}
.ss-member{margin:12px 0;padding:12px;border:1px dashed #bbb;border-radius:8px;background:#fcfcfc}
.ss-member-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ss-table{width:100%;border-collapse:collapse}
.ss-table th,.ss-table td{border:1px solid #ddd;padding:8px;text-align:left}
.ss-errors{margin:10px 0;padding-left:18px}

.ss-manage .ss-grid{grid-template-columns:1fr 1fr;align-items:start}
.ss-manage .ss-grid label{margin-bottom:10px}


/* Team dashboard: clean label/input alignment */
.ss-manage .ss-grid{grid-template-columns:1fr 1fr;align-items:start}
.ss-manage .ss-grid label{margin:0 0 12px 0}
.ss-manage .ss-grid input[type="text"],
.ss-manage .ss-grid input[type="email"],
.ss-manage .ss-grid input[type="password"],
.ss-manage .ss-grid input[type="number"],
.ss-manage .ss-grid select{width:100%;box-sizing:border-box}

.ss-manage .ss-grid label.ss-waiver,
.ss-manage .ss-grid label.ss-full{grid-column:1 / -1}

.ss-manage .ss-grid label.ss-waiver{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:6px;
}
.ss-manage .ss-grid label.ss-waiver input[type="checkbox"]{width:auto;flex:0 0 auto;margin:0}
.ss-manage .ss-grid label.ss-waiver .ss-req{margin-left:2px}

/* Make long description lines wrap nicely */
.ss-manage .description{display:block;margin-top:4px;opacity:.8}


/* Dashboard and forms: consistent grid alignment */
.ss-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 18px;
  align-items:start;
}
.ss-grid label{margin:0 0 12px 0; display:block}
.ss-grid input[type="text"],
.ss-grid input[type="email"],
.ss-grid input[type="password"],
.ss-grid input[type="number"],
.ss-grid select{
  width:100%;
  box-sizing:border-box;
}

.ss-grid label.ss-waiver,
.ss-grid label.ss-full{grid-column:1 / -1}

.ss-grid label.ss-waiver{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:6px;
}
.ss-grid label.ss-waiver input[type="checkbox"]{width:auto;flex:0 0 auto;margin:0}
.ss-grid label.ss-waiver a{margin-left:6px}


/* Fix label/input alignment in grid forms (team leader dashboard, etc.) */
.ss-grid label:not(.ss-waiver){
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  line-height:1.2;
}
.ss-grid label:not(.ss-waiver) br{display:none}
.ss-grid .ss-req{display:inline-block;margin-left:2px}
