*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#060b12;color:#f5f7fb}
:root{--navy:#0b1d35;--navy2:#102b4e;--gold:#d4af37;--gold2:#f1d477;--card:#0c1521;--line:#20334b;--muted:#91a1b7;--ok:#36c98f;--danger:#ef6464}
a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.top{position:sticky;top:0;z-index:10;background:rgba(6,11,18,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:1px;font-size:21px}.brand span{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer;background:var(--gold);color:#101010}
.btn.secondary{background:#14243a;color:#fff;border:1px solid #294461}.btn.danger{background:#4b1d25;color:#ffd6dc}.btn.small{padding:8px 11px;border-radius:9px;font-size:13px}
.hero{padding:58px 0 28px;background:radial-gradient(circle at 70% 0,#12335c 0,transparent 35%)}.hero h1{font-size:clamp(34px,5vw,62px);margin:0 0 12px;line-height:1.02}.hero h1 span{color:var(--gold)}.hero p{color:var(--muted);max-width:720px;font-size:18px}
.card{background:linear-gradient(145deg,#0d1724,#09111b);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}
.kpi strong{display:block;font-size:28px;color:var(--gold2);margin-top:8px}.muted{color:var(--muted)}h2,h3{margin-top:0}
input,select,textarea{width:100%;background:#07101a;border:1px solid #28415e;color:#fff;padding:12px;border-radius:10px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}
label{display:block;font-size:13px;color:#b9c5d5;margin:0 0 7px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.field{min-width:0}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.alert{padding:12px 15px;border-radius:10px;margin:15px 0;background:#102c23;border:1px solid #24694f;color:#c9ffe9}.alert.error{background:#32181c;border-color:#72323b;color:#ffd8dc}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 50px}.slot{border:1px solid var(--line);background:#0b1624;border-radius:15px;padding:16px}.slot .time{font-size:24px;font-weight:900;color:var(--gold2)}.slot.busy{opacity:.48}.slot .status{font-size:12px;color:var(--ok);font-weight:800;margin:4px 0 12px}.slot.busy .status{color:#ef9b9b}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #1b2c41;font-size:14px}th{color:var(--gold2);font-size:12px;text-transform:uppercase}.table-wrap{overflow:auto}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.tabs a{padding:10px 14px;border-radius:10px;background:#0d1b2c;border:1px solid var(--line)}.tabs a.active{background:var(--gold);color:#111;border-color:var(--gold)}
.checks{display:flex;gap:14px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:6px;color:#fff;margin:0}.checks input{width:auto}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#12365e,transparent 34%),#060b12}.login-card{width:min(420px,100%)}.login-card h1{text-align:center}.login-card .brand{text-align:center;margin-bottom:25px}
.section{padding:24px 0 48px}.footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);text-align:center}
@media(max-width:900px){.grid-4,.slots{grid-template-columns:repeat(2,1fr)}.grid-2,.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid-4,.grid-2,.slots,.form-grid{grid-template-columns:1fr}.hero{padding-top:35px}.nav{height:64px}.slot{display:flex;align-items:center;justify-content:space-between;gap:10px}.slot .status{margin:2px 0}.slot .btn{padding:10px 12px}.hide-mobile{display:none}}

/* v3 - menu administrativo sempre alinhado */
.admin-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
  margin:22px 0;
}
.admin-tabs::-webkit-scrollbar{display:none}
.admin-tabs a{
  flex:0 0 auto;
  white-space:nowrap;
  padding:10px 14px;
  border-radius:10px;
  background:#0d1b2c;
  border:1px solid var(--line);
}
.admin-tabs a.active{
  background:var(--gold);
  color:#111;
  border-color:var(--gold);
}
.client-search-wrap{position:relative}
.client-results{
  display:none;
  position:absolute;
  left:0;right:0;top:calc(100% + 6px);
  z-index:30;
  max-height:230px;
  overflow-y:auto;
  background:#09131f;
  border:1px solid #294461;
  border-radius:11px;
  box-shadow:0 16px 35px rgba(0,0,0,.45);
}
.client-results.show{display:block}
.client-option{
  width:100%;
  display:block;
  text-align:left;
  padding:11px 12px;
  color:#fff;
  background:transparent;
  border:0;
  border-bottom:1px solid #182b40;
  cursor:pointer;
}
.client-option:last-child{border-bottom:0}
.client-option:hover{background:#10243a}
.client-option small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:600px){
  .admin-tabs{gap:6px}
  .admin-tabs a{padding:9px 10px;font-size:13px}
}


/* =========================================================
   V4 - CORREÇÕES RESPONSIVAS MOBILE / iPHONE
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.container{max-width:100%}
.card{min-width:0;max-width:100%;overflow:visible}
form,.field,.form-grid,.actions{min-width:0;max-width:100%}

/* iOS/Safari: impede inputs date/select de usarem largura intrínseca maior que o card */
input,select,textarea{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select{
  -webkit-appearance:none;
  appearance:none;
  min-height:46px;
}
input[type="date"]{
  text-align:left;
}
input[type="date"]::-webkit-date-and-time-value{
  text-align:left;
}

/* Grid nunca pode empurrar controles para fora */
.form-grid > *,.grid > *{min-width:0}

@media(max-width:700px){
  .container{width:94%;padding-left:0;padding-right:0}
  .card{padding:18px}
  .form-grid,
  .grid-2,
  .grid-4{
    grid-template-columns:minmax(0,1fr) !important;
  }

  /* Data + horário do agendamento ficam empilhados no iPhone */
  .form-grid[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .field,input,select,textarea{width:100%;max-width:100%}
  .actions{width:100%;align-items:stretch}
  .actions .btn,form > .btn{max-width:100%}

  /* Cards de filtros: datas sempre dentro do quadrado */
  input[type="date"]{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* menu permanece em uma única linha e cabe melhor no celular */
  .admin-tabs{
    width:100%;
    max-width:100%;
    gap:6px;
    overflow-x:auto;
    padding-bottom:2px;
  }
  .admin-tabs a{
    padding:9px 10px;
    font-size:12px;
  }
}

/* iPhones grandes continuam com formulário confortável sem sobreposição */
@media(min-width:701px) and (max-width:900px){
  .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .form-grid > *{min-width:0}
  input,select{min-width:0;max-width:100%}
}
