@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--green:#087f5b;--ink:#10231d;--orange:#f26b38;--cream:#f7f7f2;--muted:#71877e;--line:#dce8e1}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:rgba(247,247,242,.95);border-bottom:1px solid #edf2ee;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:18px}.brand strong span{color:var(--orange)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--green);color:white;font-size:12px;font-weight:800;box-shadow:0 10px 24px #087f5b33}.nav nav{display:flex;align-items:center;gap:26px}.nav a{color:var(--muted);text-decoration:none}.nav-button{background:var(--ink);color:#fff!important;padding:12px 18px;border-radius:14px}.hero{max-width:1280px;margin:auto;min-height:700px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:70px 4%}.hero-copy h1,.dashboard h1{font:700 clamp(52px,7vw,96px)/.94 'Space Grotesk',sans-serif;letter-spacing:-.07em;margin:20px 0}.hero-copy h1 span{color:var(--green)}.hero-copy h1 em{color:var(--orange);font-style:normal}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--green)}.orange-text{color:var(--orange)}.lead{max-width:560px;color:var(--muted);font-size:18px;line-height:1.7}.actions{display:flex;gap:14px;margin-top:35px}.button{display:inline-flex;justify-content:center;align-items:center;border:0;text-decoration:none;cursor:pointer;font:600 14px 'DM Sans';padding:15px 21px;border-radius:16px;transition:transform .16s ease,filter .16s ease}.button:hover{filter:brightness(.96);transform:translateY(-1px)}.orange{background:var(--orange);color:white}.green-button{background:var(--green);color:white}.outline{border:1px solid #cbded3;color:var(--green);background:transparent}.full{width:100%}.proofs{display:flex;gap:28px;color:var(--green);margin-top:48px;font-size:13px}.hero-art{min-height:500px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border-radius:50%}.green{width:430px;height:430px;right:5%;top:10%;background:var(--green)}.orange-orbit{width:360px;height:360px;left:10%;bottom:5%;background:var(--orange)}.arena-widget{position:relative;width:min(490px,92%);padding:30px;background:#10231dec;color:white;border-radius:32px;box-shadow:0 30px 70px #10231d38}.arena-widget h2{font:600 30px 'Space Grotesk';margin:8px 0 20px}.arena-widget small{color:#a5cbbb;letter-spacing:.15em}.arena-row{display:flex;align-items:center;gap:14px;background:#ffffff12;border-radius:18px;padding:18px;margin:10px 0}.arena-row>span{color:#f6a17e;font-size:22px}.arena-row strong{flex:1}.arena-row strong small{display:block;letter-spacing:0;color:#a5cbbb;margin-top:5px}.arena-widget p{border-top:1px solid #ffffff33;padding-top:18px;color:#a5cbbb}.search-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 5%;display:flex;align-items:center;gap:25px;justify-content:space-between}.search-section h2{font:600 24px 'Space Grotesk';margin:0}.search-section p{color:var(--muted);margin:5px 0}.search-section form{display:flex;gap:10px;flex:1;max-width:760px}.search-section input,.form input,.mini-form input{width:100%;border:1px solid var(--line);border-radius:14px;background:white;padding:14px 15px;font:inherit;color:var(--ink)}.role-grid{max-width:1280px;margin:50px auto;padding:0 5%;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.role-grid a{padding:28px;border-radius:24px;background:#fff;text-decoration:none;color:var(--ink);border:1px solid var(--line)}.role-grid strong,.role-grid span{display:block}.role-grid span{margin-top:12px;color:var(--muted);line-height:1.6}.access{max-width:1100px;margin:60px auto;display:grid;grid-template-columns:1fr 1fr;min-height:560px;border-radius:34px;overflow:hidden;box-shadow:0 25px 70px #10231d1a}.access-panel{padding:64px}.access-panel.dark{background:var(--ink);color:white;position:relative}.access-panel.dark h1{font:700 56px/.96 'Space Grotesk';letter-spacing:-.06em;max-width:430px;margin:35px 0 25px}.access-panel.dark p:not(.eyebrow){color:#cde1d6;line-height:1.7;max-width:390px}.access-panel.light{background:white}.access-panel h2{font:600 34px 'Space Grotesk';margin-top:35px}.muted{color:var(--muted);line-height:1.7}.form{display:grid;gap:14px;margin-top:28px}.form label{display:grid;gap:7px;color:var(--ink);font-weight:600}.form input{margin-top:0}.form .button{margin-top:8px}.form hr{border:0;border-top:1px solid var(--line);width:100%}footer{text-align:center;color:var(--muted);padding:45px 20px;border-top:1px solid var(--line)}.dashboard{max-width:1180px;margin:0 auto;padding:60px 5%}.dashboard h1{font-size:64px;max-width:800px}.dash-head{margin-bottom:40px}.panel{background:white;border-radius:28px;padding:30px;margin:24px 0;box-shadow:0 16px 40px #10231d0a}.panel h2{font:600 26px 'Space Grotesk';margin-top:0}.dark-panel{background:var(--ink);color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:20px;padding:20px}.card h3{font:600 24px 'Space Grotesk';margin:15px 0 8px}.card p{color:var(--muted)}.tag{background:#dff4e8;color:var(--green);padding:7px 10px;border-radius:10px;font-size:12px;font-weight:700}.mini-form{display:grid;gap:8px;margin-top:18px}.list-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf2ee;padding:15px 0}.list-row span{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin:35px 0}.metric{background:white;border-radius:22px;padding:24px}.metric span{display:block;color:var(--muted)}.metric strong{display:block;font:700 44px 'Space Grotesk';margin-top:20px}.flash{max-width:1180px;margin:18px auto 0;padding:15px 20px;border-radius:14px;background:#dff4e8;color:var(--green)}.empty{text-align:center;padding:100px 20px}.empty h1{font:700 80px 'Space Grotesk'}
@media(max-width:800px){.nav{padding:0 20px}.nav nav>a:first-child{display:none}.hero,.access,.split{grid-template-columns:1fr}.hero{padding:55px 20px}.hero-art{min-height:360px}.green{width:270px;height:270px}.orange-orbit{width:210px;height:210px}.search-section{display:block;padding:28px 20px}.search-section form{margin-top:20px;display:grid}.role-grid,.cards,.metric-grid{grid-template-columns:1fr}.role-grid{padding:0 20px}.access{margin:20px;border-radius:24px}.access-panel{padding:32px}.access-panel.dark h1{font-size:46px}.dashboard{padding:40px 20px}.dashboard h1{font-size:48px}.flash{margin:15px 20px}}

/* Cadastro de arena: destaque laranja da identidade SuarArenaAqui */
.dark-panel {
  background: var(--orange);
  color: var(--ink);
}
.dark-panel h2,
.dark-panel .form label {
  color: var(--ink);
}
.dark-panel .form input,
.dark-panel .form select,
.dark-panel .form textarea {
  background: #fffaf5;
  border-color: rgba(16, 35, 29, .18);
  color: var(--ink);
}
.dark-panel .form input:focus,
.dark-panel .form select:focus,
.dark-panel textarea:focus {
  outline: 3px solid rgba(16, 35, 29, .2);
  border-color: var(--ink);
}

/* Painel de cadastro de arena: laranja energético */
.owner-create-panel {
  background: var(--orange) !important;
  color: var(--ink);
}
.owner-create-panel h2,
.owner-create-panel .form label {
  color: var(--ink);
}
.owner-create-panel .form input,
.owner-create-panel .form select,
.owner-create-panel .form textarea {
  background: #fffaf5;
  border-color: rgba(16, 35, 29, .2);
  color: var(--ink);
}
.owner-create-panel .button.orange {
  background: var(--ink);
  color: #fff;
}

.location-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  padding: 4px;
  border: 1px solid rgba(8, 127, 91, .12);
  border-radius: 20px;
  background: linear-gradient(135deg, #f7fbf8, #eef7f2);
}
.location-field {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(8, 127, 91, .12);
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  color: var(--ink);
  font-weight: 600;
}
.location-label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--green);
  font-size: 12px;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.location-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: #dff4e8;
  color: var(--green);
  font-size: 16px;
  line-height: 1;
}
.location-fields select {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 11px;
  background: #f7faf8;
  padding: 11px 36px 11px 12px;
  font: 500 15px 'DM Sans', Arial, sans-serif;
  color: var(--ink);
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--green) 50%), linear-gradient(135deg, var(--green) 50%, transparent 50%);
  background-position: calc(100% - 16px) 21px, calc(100% - 11px) 21px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.location-fields select:focus {
  outline: 3px solid rgba(8, 127, 91, .18);
  background-color: #fff;
}
.location-fields select:disabled {
  color: #9aa9a2;
  background-color: #eef2ef;
  cursor: not-allowed;
}
.owner-create-panel .location-fields {
  border-color: rgba(16, 35, 29, .14);
  background: rgba(255, 250, 245, .7);
}
.owner-create-panel .location-field {
  border-color: rgba(16, 35, 29, .14);
  background: rgba(255, 250, 245, .95);
}
.owner-create-panel .location-label { color: var(--ink); }
.owner-create-panel .location-icon { background: rgba(16, 35, 29, .1); color: var(--ink); }
.owner-create-panel .location-fields select { background-color: #fffaf5; }
@media(max-width:800px) {
  .location-fields { grid-template-columns: 1fr; }
}

.login-choices {
  display: grid;
  gap: 14px;
  margin-top: 28px;
}
.search-page h1 {
  margin-bottom: 8px;
}
.search-panel {
  margin-top: 30px;
}
.search-panel .form {
  grid-template-columns: 1.4fr .7fr 1fr auto;
  align-items: end;
}
.search-results {
  margin-top: 28px;
}
.empty-result {
  grid-column: 1 / -1;
}
@media(max-width:800px) {
  .search-panel .form { grid-template-columns: 1fr; }
}

.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:12px; }
.section-heading h2 { margin-bottom:6px; }
.small-button { padding:9px 12px; border-radius:11px; font-size:12px; white-space:nowrap; }
.list-row > div { min-width:0; }
.list-row > div > span { display:block; margin-top:5px; color:var(--muted); }
@media(max-width:800px) { .section-heading { display:block; } .section-heading .button { margin-top:10px; } .small-button { padding:8px 10px; } }
.profile-section-title { margin:20px 0 2px; padding-top:16px; border-top:1px solid var(--line); color:var(--green); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.client-arena-list { display:grid; gap:20px; }
.client-arena-card { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr); gap:24px; padding:24px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(135deg,#fff,#f5fbf7); }
.arena-info h3 { margin:14px 0 7px; font:600 30px 'Space Grotesk'; }
.arena-info p { margin:8px 0; }
.booking-box { border:1px solid #d9e9df; border-radius:20px; padding:18px; background:#fff; }
.booking-box label { display:grid; gap:7px; margin-bottom:12px; color:var(--ink); font-weight:700; font-size:13px; }
.booking-box select,.booking-box input[type=date] { width:100%; min-height:46px; border:1px solid var(--line); border-radius:12px; padding:11px 13px; background:#fbfdfb; font:inherit; color:var(--ink); }
.booking-box select:focus,.booking-box input[type=date]:focus { outline:3px solid rgba(8,127,91,.16); border-color:var(--green); }
.slot-status { margin:14px 0 10px; color:var(--muted); font-size:13px; line-height:1.5; }
.slot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:8px; max-height:220px; overflow:auto; padding:2px; }
.time-slot { border:1px solid #cfe3d8; border-radius:11px; padding:10px 7px; background:#f4fbf7; color:var(--green); cursor:pointer; font:600 12px 'DM Sans'; }
.time-slot:hover,.time-slot.selected { background:var(--green); color:#fff; border-color:var(--green); }
.booking-summary { display:flex; justify-content:space-between; gap:14px; margin:16px 0; padding:14px; border-radius:14px; background:#fff4ee; color:var(--ink); }
.booking-summary strong { color:var(--orange); }
.booking-box .button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
@media(max-width:800px) { .client-arena-card { grid-template-columns:1fr; padding:18px; } .arena-info h3 { font-size:26px; } .booking-summary { display:grid; } }

.reservation-row { gap:18px; align-items:center; }
.reservation-actions { display:flex; align-items:center; gap:8px; }
.reservation-actions form { margin:0; }
.cancel-button { background:#fff0eb; color:#bd4c2c; border:1px solid #f3c5b7; }
@media(max-width:800px) { .reservation-row { display:grid; } .reservation-actions { justify-content:flex-start; flex-wrap:wrap; } }


/* Reservas recebidas: leitura em blocos, sem linha corrida */
.reservation-received-row { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(12,39,31,.10); }
.reservation-main { min-width:0; flex:1; }
.reservation-client { display:block; color:#0c271f; font-size:1.02rem; margin-bottom:.25rem; }
.reservation-place { display:block; color:#557168; font-size:.9rem; margin-bottom:.7rem; }
.reservation-meta { display:flex; flex-wrap:wrap; gap:.55rem; }
.reservation-meta span { display:flex; flex-direction:column; gap:.18rem; min-width:7rem; padding:.45rem .65rem; border-radius:.7rem; background:#f4f7f3; color:#26473d; font-size:.86rem; }
.reservation-meta small { color:#779087; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.reservation-status { flex:none; margin-top:.1rem; }
@media (max-width: 700px) { .reservation-received-row { align-items:stretch; flex-direction:column; } .reservation-status { align-self:flex-start; } .reservation-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .reservation-meta span { min-width:0; } }

/* Painel do proprietário: composição compacta e melhor leitura */
.owner-dashboard { padding-top: 34px; padding-bottom: 46px; }
.owner-dashboard > h1 { max-width: 700px; margin: 8px 0 28px; font-size: clamp(44px, 5.2vw, 58px); line-height: .98; }
.owner-dashboard > .eyebrow { margin-bottom: 8px; }
.owner-dashboard .split { gap: 18px; }
.owner-dashboard .panel { margin: 0 0 18px; padding: 22px 24px; border-radius: 22px; }
.owner-dashboard .panel h2 { font-size: 22px; margin-bottom: 14px; }
.owner-dashboard .owner-create-panel .form { gap: 10px; margin-top: 16px; }
.owner-dashboard .owner-create-panel .form label { gap: 5px; font-size: 13px; }
.owner-dashboard .owner-create-panel .form input,
.owner-dashboard .owner-create-panel .form select,
.owner-dashboard .owner-create-panel .form textarea { padding: 11px 12px; min-height: 42px; border-radius: 11px; }
.owner-dashboard .owner-create-panel .location-fields { gap: 10px; margin: 0; }
.owner-dashboard .owner-create-panel .location-field { padding: 8px 10px; border-radius: 11px; }
.owner-dashboard .owner-create-panel .location-field select { min-height: 38px; padding: 7px 8px; }
.owner-dashboard .owner-create-panel .button { margin-top: 4px; }
.owner-dashboard .list-row { padding: 12px 0; }
.owner-dashboard .mini-form { gap: 7px; margin-top: 12px; }
.owner-dashboard .mini-form input,
.owner-dashboard .panel > form > select { padding: 10px 12px; min-height: 42px; border-radius: 11px; }
.owner-dashboard .reservation-received-row { padding: 12px 0; }
.owner-dashboard .reservation-place { margin-bottom: 8px; }
.owner-dashboard .reservation-meta { gap: 7px; }
.owner-dashboard .reservation-meta span { padding: 7px 9px; min-width: 6.4rem; }
@media (max-width: 800px) {
  .owner-dashboard { padding-top: 28px; }
  .owner-dashboard > h1 { font-size: 43px; margin-bottom: 22px; }
  .owner-dashboard .panel { padding: 18px; border-radius: 18px; }
}
