@import url('https://fonts.googleapis.com/css2?family=Poller+One&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,500;1,600&display=swap');

:root {
  --cream: #FBF3E4;
  --green-deep: #123D26;
  --green: #1B743D;
  --orange: #E98330;
  --gold: #F4C430;
  --ink: #2A2118;
  --font-heading: 'Poller One', cursive;
  --font-body: 'Cormorant Garamond', serif;
}

* { box-sizing: border-box; }

body {
  font-family: var(--font-body);
  font-size: 17px;
  background: var(--cream);
  margin: 0;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

a { color: var(--green); }
a:hover { color: var(--orange); }

.brand-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 960px;
  margin: 0 auto;
  padding: 24px 20px 0;
}
.brand-header img { height: 42px; width: auto; display: block; }
.brand-header a.back {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
  color: var(--green-deep);
}
.brand-header a.back:hover { color: var(--orange); }

.container {
  max-width: 640px;
  margin: 24px auto 60px;
  background: #fff;
  padding: 36px;
  border-radius: 20px;
  box-shadow: 0 4px 30px rgba(27, 116, 61, .1);
}
.container.narrow { max-width: 380px; }
.container.wide { max-width: 980px; }

h1 {
  margin-top: 0;
  font-family: var(--font-heading);
  letter-spacing: .01em;
  font-size: 26px;
  color: var(--green-deep);
  line-height: 1.3;
}
.desc { color: var(--ink); opacity: .75; margin-top: -6px; font-size: 17px; line-height: 1.5; }
.desc-talent { display: flex; align-items: center; gap: 8px; color: var(--ink); opacity: .75; margin: -6px 0 2px; font-size: 17px; line-height: 1.5; }
.desc-talent a { display: inline-flex; color: var(--orange); }
.desc-talent a:hover { color: var(--green); }

form label { display: block; margin-bottom: 18px; font-size: 15px; font-weight: 600; color: var(--green-deep); }
input, textarea, select {
  display: block;
  width: 100%;
  margin-top: 7px;
  padding: 11px 14px;
  border: 1.5px solid rgba(27, 116, 61, .25);
  border-radius: 10px;
  font-size: 16px;
  font-weight: normal;
  font-family: var(--font-body);
  background: #fff;
  color: var(--ink);
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--orange);
}

button {
  background: var(--orange);
  color: var(--cream);
  border: none;
  padding: 14px 28px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 400;
  font-family: var(--font-heading);
  cursor: pointer;
}
button:hover { opacity: .88; }

.alert { padding: 13px 18px; border-radius: 12px; margin-bottom: 18px; font-size: 15px; }
.alert.success { background: #e3f2e6; color: var(--green-deep); }
.alert.error { background: #fdece2; color: #b3401e; }
.alert.error ul { margin: 0; padding-left: 18px; }

table { width: 100%; border-collapse: collapse; font-size: 15px; }
th, td { text-align: left; padding: 11px 14px; border-bottom: 1px solid rgba(27, 116, 61, .12); }
th { color: var(--green-deep); font-weight: 700; background: rgba(27, 116, 61, .06); }
tr:hover td { background: rgba(244, 196, 48, .07); }

.topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; flex-wrap: wrap; gap: 10px; }
.topbar a { color: var(--green); text-decoration: none; font-weight: 400; font-family: var(--font-heading); font-size: 14px; }
.topbar a:hover { color: var(--orange); }

.dash-wrap { max-width: none; margin: 32px auto 60px; padding: 0 32px; }

.evt-card { background: #fff; border-radius: 18px; box-shadow: 0 4px 30px rgba(27, 116, 61, .1); overflow: hidden; margin-bottom: 14px; }
.evt-card summary { list-style: none; cursor: pointer; }
.evt-card summary::-webkit-details-marker { display: none; }
.evt-summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 26px; transition: background .12s ease; }
.evt-summary:hover { background: rgba(244, 196, 48, .08); }
.evt-title-group { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.evt-title { font-family: var(--font-heading); font-weight: 600; font-size: 18px; color: var(--green-deep); }
.evt-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.evt-badge { font-family: var(--font-heading); font-weight: 700; font-size: 11px; padding: 4px 12px; border-radius: 999px; }
.evt-badge.free { background: rgba(27, 116, 61, .12); color: var(--green-deep); }
.evt-badge.paid { background: rgba(233, 131, 48, .16); color: #b3611c; }
.evt-count { font-size: 15px; color: var(--ink); opacity: .65; }
.evt-chevron { flex: none; transition: transform .18s ease; }
.evt-card[open] .evt-chevron { transform: rotate(180deg); }
.evt-body { padding: 0 26px 26px; border-top: 1px solid rgba(27, 116, 61, .1); }
.evt-toolbar { display: flex; justify-content: flex-end; padding: 14px 2px 8px; }
.evt-toolbar a { font-family: var(--font-heading); font-weight: 600; font-size: 13px; }
.evt-empty { padding: 20px 2px 4px; color: var(--ink); opacity: .6; font-size: 15px; margin: 0; }
.nowrap { white-space: nowrap; }

.status-badge { font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.status-badge.pending { background: rgba(244, 196, 48, .3); color: #8a5a00; }
.status-badge.paid { background: rgba(27, 116, 61, .15); color: var(--green-deep); }
.status-badge.failed, .status-badge.expired { background: rgba(211, 47, 47, .12); color: #a02525; }

.mark-paid-form { display: inline-block; margin-left: 8px; }
.mark-paid-btn { padding: 3px 10px; font-size: 11px; border-radius: 999px; }
.delete-btn { background: #a02525; }
