:root{
    --violet:#EC1E8C;
    --violet-dark:#B90F69;
    --violet-tint:#FDE3F1;
    --teal:#1F8CF9;
    --teal-dark:#0F62C4;
    --teal-tint:#DEEEFF;
    --coral:#FF9F1C;
    --coral-dark:#D97D00;
    --coral-tint:#FFECD1;
    --ink:#141414;
    --ink-soft:#5A574F;
    --line:#141414;
    --bg:#F2F0E9;
    --card:#FFFFFF;
    --danger:#D6293A;
    --shadow: 6px 6px 0 rgba(20,20,20,0.9);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    font-family:'Inter', sans-serif;
    background-color:var(--bg);
    background-image:
      radial-gradient(circle at 8% 12%, rgba(236,30,140,0.10) 0, transparent 45%),
      radial-gradient(circle at 92% 8%, rgba(255,159,28,0.14) 0, transparent 40%),
      radial-gradient(circle at 85% 90%, rgba(31,140,249,0.10) 0, transparent 42%),
      repeating-linear-gradient(0deg, rgba(20,20,20,0.035) 0px, rgba(20,20,20,0.035) 1px, transparent 1px, transparent 28px),
      repeating-linear-gradient(90deg, rgba(20,20,20,0.035) 0px, rgba(20,20,20,0.035) 1px, transparent 1px, transparent 56px);
    color:var(--ink);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:600px; margin:0 auto; padding:36px 20px 90px; position:relative; overflow:hidden;}
  .two-col{display:block;}
  header{margin-bottom:28px; position:relative; z-index:1;}
  .logo-watermark{
    position:absolute;
    top:0;
    right:0;
    width:340px;
    height:auto;
    opacity:0.07;
    z-index:0;
    pointer-events:none;
    user-select:none;
  }
  @media (max-width:480px){
    .logo-watermark{width:200px; top:0; right:0;}
  }
  .badge-eyebrow{
    text-transform:uppercase;
    letter-spacing:0.06em;
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:700;
    color:#FFFFFF;
    background:var(--ink);
    padding:7px 14px;
    border-radius:3px;
    margin-bottom:16px;
    transform:rotate(-1.5deg);
  }
  h1{
    text-transform:uppercase;
    font-family:'Anton', sans-serif;
    font-weight:400;
    font-size:40px;
    letter-spacing:0.01em;
    line-height:0.95;
    margin:0 0 10px;
    color:var(--ink);
    text-shadow:3px 3px 0 var(--violet-tint);
  }
  .lede{
    text-transform:uppercase;
    letter-spacing:0.02em;
    font-size:14.5px;
    font-weight:600;
    color:var(--ink-soft);
    margin:0;
    max-width:48ch;
  }
  nav.tabs{
    display:flex;
    gap:4px;
    margin:26px 0 0;
    background:var(--ink);
    padding:4px;
    border-radius:4px;
  }
  nav.tabs button{
    text-transform:uppercase;
    letter-spacing:0.04em;
    flex:1;
    font-family:'Inter', sans-serif;
    font-size:13px;
    font-weight:700;
    background:transparent;
    border:none;
    border-radius:2px;
    color:#B9B6AC;
    padding:11px 4px;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
  }
  nav.tabs button.active{
    color:var(--ink);
    background:var(--coral);
  }
  .card{
    background:var(--card);
    border:2.5px solid var(--ink);
    border-radius:10px;
    padding:28px 24px;
    margin-top:24px;
    box-shadow:var(--shadow);
  }
  fieldset{
    border:none;
    padding:0;
    margin:0 0 28px;
  }
  fieldset legend{
    text-transform:uppercase;
    letter-spacing:0.02em;
    font-family:'Anton', sans-serif;
    font-weight:400;
    font-size:18px;
    color:var(--ink);
    padding:0 0 14px;
    width:100%;
    border-bottom:2.5px solid var(--ink);
    margin-bottom:16px;
  }
  .field{margin-bottom:14px;}
  .field label{
    text-transform:uppercase;
    letter-spacing:0.03em;
    display:block;
    font-size:12.5px;
    font-weight:700;
    color:var(--ink-soft);
    margin-bottom:6px;
  }
  .field input[type=text],
  .field input[type=tel],
  .field input[type=number],
  .field select,
  .field textarea{
    text-transform:uppercase;
    width:100%;
    font-family:'Inter', sans-serif;
    font-size:15px;
    font-weight:600;
    padding:11px 14px;
    border:2px solid var(--ink);
    border-radius:6px;
    background:#FFFDF7;
    color:var(--ink);
    transition:box-shadow .15s ease;
  }
  .field textarea{resize:vertical; min-height:70px;}
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none;
    border-color:var(--violet);
    box-shadow:3px 3px 0 var(--ink);
  }
  .radio-row{
    display:flex;
    gap:10px;
    margin-top:4px;
  }
  .radio-row label{
    text-transform:uppercase;
    letter-spacing:0.03em;
    display:flex; align-items:center; gap:7px;
    font-size:13.5px;
    font-weight:700;
    color:var(--ink);
    border:2px solid var(--ink);
    border-radius:6px;
    padding:9px 16px;
    cursor:pointer;
    background:#FFFDF7;
  }
  .radio-row input{accent-color:var(--violet);}
  .service-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  .service-opt{
    display:flex;
    align-items:center;
    gap:14px;
    border:2.5px solid var(--ink);
    border-radius:10px;
    padding:14px 16px;
    cursor:pointer;
    background:#FFFDF7;
    position:relative;
    transition:transform .1s ease, box-shadow .1s ease, background .1s ease, border-color .1s ease;
  }
  .service-opt.selected{
    border-color:#1E8E3E;
    background:#E4F5E4;
    box-shadow:4px 4px 0 var(--ink);
    transform:translate(-2px,-2px);
  }
  .service-opt.selected::after{
    content:"\2713";
    position:absolute;
    top:8px;
    right:10px;
    width:22px;
    height:22px;
    background:#1E8E3E;
    color:#FFFFFF;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:800;
    border:2px solid var(--ink);
  }
  .service-opt input{display:none;}
  .service-icon{
    width:44px; height:44px;
    border-radius:8px;
    border:2px solid var(--ink);
    display:flex; align-items:center; justify-content:center;
    font-size:20px;
    flex-shrink:0;
  }
  .service-opt[data-value="psicologia"] .service-icon{background:var(--violet-tint); color:var(--violet-dark);}
  .service-opt[data-value="saude_bucal"] .service-icon{background:var(--teal-tint); color:var(--teal-dark);}
  .service-opt[data-value="juridico"] .service-icon{background:var(--coral-tint); color:var(--coral-dark);}
  .service-opt[data-value="outro"] .service-icon{background:#E4F5E4; color:#1E8E3E;}
  .service-opt .name{text-transform:uppercase; letter-spacing:0.02em; font-family:'Anton', sans-serif; font-weight:400; font-size:17px; display:block; color:var(--ink);}
  .service-opt .desc{font-size:12.5px; color:var(--ink-soft); display:block; margin-top:1px;}
  .error-msg{
    font-size:12px; color:var(--danger); margin-top:6px; font-weight:700;
    text-transform:uppercase;
    display:none;
  }
  .field.invalid input, .field.invalid select, .field.invalid textarea{border-color:var(--danger);}
  .field.invalid .error-msg{display:block;}
  button.submit{
    text-transform:uppercase;
    letter-spacing:0.03em;
    width:100%;
    font-family:'Anton', sans-serif;
    font-weight:400;
    font-size:18px;
    background:var(--violet);
    color:#FFFFFF;
    border:2.5px solid var(--ink);
    border-radius:8px;
    padding:15px;
    cursor:pointer;
    margin-top:8px;
    box-shadow:4px 4px 0 var(--ink);
    transition:transform .08s ease, box-shadow .08s ease;
  }
  button.submit:hover{background:var(--violet-dark);}
  button.submit:active{transform:translate(3px,3px); box-shadow:1px 1px 0 var(--ink);}
  .success{
    text-align:center;
    padding:48px 24px;
  }
  .success-icon{
    width:66px; height:66px;
    border-radius:50%;
    background:var(--coral);
    border:2.5px solid var(--ink);
    color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    font-size:30px;
    font-weight:900;
    margin:0 auto 18px;
  }
  .success h2{text-transform:uppercase; font-family:'Anton', sans-serif; font-weight:400; font-size:26px; margin:0 0 8px;}
  .success p{color:var(--ink-soft); font-size:14px; margin:0; font-weight:500;}
  .success button{
    text-transform:uppercase;
    letter-spacing:0.03em;
    margin-top:22px;
    font-family:'Inter', sans-serif;
    font-weight:700;
    font-size:13.5px;
    background:#FFFDF7;
    border:2px solid var(--ink);
    padding:11px 20px;
    border-radius:8px;
    cursor:pointer;
    color:var(--ink);
  }

  /* admin */
  .admin-toolbar{
    display:flex;
    gap:8px;
    align-items:center;
    margin-bottom:16px;
    flex-wrap:wrap;
  }
  .admin-toolbar select, .admin-toolbar input{
    text-transform:uppercase;
    letter-spacing:0.02em;
    font-family:'Inter', sans-serif;
    font-size:12.5px;
    font-weight:700;
    padding:9px 12px;
    border:2px solid var(--ink);
    border-radius:8px;
    background:#FFFDF7;
  }
  .count-pill{
    text-transform:uppercase;
    letter-spacing:0.02em;
    font-family:'Inter', sans-serif;
    font-size:11.5px;
    font-weight:800;
    color:#FFFFFF;
    background:var(--ink);
    padding:7px 13px;
    border-radius:20px;
    margin-left:auto;
  }
  .resp-card{
    background:var(--card);
    border:2px solid var(--ink);
    border-radius:12px;
    padding:18px 20px;
    margin-bottom:14px;
    box-shadow:4px 4px 0 rgba(20,20,20,0.9);
  }
  .resp-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:4px;
  }
  .resp-name{text-transform:uppercase; font-family:'Anton', sans-serif; font-weight:400; font-size:18px; color:var(--ink);}
  .resp-tag{
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:10.5px;
    font-weight:800;
    padding:5px 11px;
    border-radius:20px;
    border:1.5px solid var(--ink);
  }
  .resp-tag.psicologia{color:var(--violet-dark); background:var(--violet-tint);}
  .resp-tag.saude_bucal{color:var(--teal-dark); background:var(--teal-tint);}
  .resp-tag.juridico{color:var(--coral-dark); background:var(--coral-tint);}
  .resp-tag.outro{color:#1E8E3E; background:#E4F5E4;}
  .resp-date{font-size:11px; color:var(--ink-soft); margin-bottom:12px; font-weight:600;}
  .resp-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 20px;
    font-size:13px;
  }
  .resp-grid .k{color:var(--ink-soft); font-weight:700; text-transform:uppercase; letter-spacing:0.02em; font-size:11px;}
  .resp-grid .v{color:var(--ink); font-weight:600;}
  .resp-actions{margin-top:12px; text-align:right;}
  .resp-actions button{
    text-transform:uppercase;
    letter-spacing:0.02em;
    font-family:'Inter', sans-serif;
    font-size:11.5px;
    font-weight:700;
    background:#FFFDF7;
    border:2px solid var(--danger);
    padding:6px 12px;
    border-radius:8px;
    cursor:pointer;
    color:var(--danger);
  }
  .empty{
    text-align:center;
    padding:56px 10px;
    color:var(--ink-soft);
    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
  }
  @media (max-width:480px){
    .resp-grid{grid-template-columns:1fr;}
    h1{font-size:32px;}
  }

/* ===== Layout amplo para desktop (mobile continua igual ao de cima) ===== */
@media (min-width:760px){
  body{
    background-image:
      radial-gradient(circle at 6% 10%, rgba(236,30,140,0.10) 0, transparent 40%),
      radial-gradient(circle at 94% 6%, rgba(255,159,28,0.14) 0, transparent 36%),
      radial-gradient(circle at 92% 92%, rgba(31,140,249,0.10) 0, transparent 38%),
      repeating-linear-gradient(0deg, rgba(20,20,20,0.035) 0px, rgba(20,20,20,0.035) 1px, transparent 1px, transparent 28px),
      repeating-linear-gradient(90deg, rgba(20,20,20,0.035) 0px, rgba(20,20,20,0.035) 1px, transparent 1px, transparent 56px);
  }
  .wrap{
    max-width:1080px;
    padding:56px 48px 110px;
  }
  header{margin-bottom:36px;}
  h1{font-size:52px;}
  .lede{font-size:16px; max-width:60ch;}
  .logo-watermark{width:420px;}
  .card{
    padding:44px 52px;
    border-radius:14px;
  }
  fieldset legend{font-size:20px;}
  .two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .service-grid{
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
  }
  .service-opt{
    flex-direction:column;
    text-align:center;
    gap:10px;
    padding:22px 14px;
  }
  .service-icon{width:52px; height:52px; font-size:24px;}
  button.submit{font-size:19px; padding:17px;}
  nav.tabs{max-width:340px;}
}

/* ===== Cartões de estatística por período (painel admin) ===== */
.stats-row{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
  margin-bottom:18px;
}
.stat-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:10px;
  padding:14px 8px;
  text-decoration:none;
  transition:background .12s ease, transform .1s ease;
}
.stat-card:hover{ transform:translateY(-2px); }
.stat-card.active{
  background:#1E8E3E;
  border-color:var(--ink);
}
.stat-card.active .stat-num, .stat-card.active .stat-label{ color:#FFFFFF; }
.stat-num{
  font-family:'Anton', sans-serif;
  font-size:26px;
  color:var(--ink);
  line-height:1;
}
.stat-label{
  font-family:'Inter', sans-serif;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.03em;
  color:var(--ink-soft);
  margin-top:4px;
}
@media (max-width:480px){
  .stats-row{grid-template-columns:repeat(2, 1fr); gap:8px;}
}

/* ===== Botão de exportar planilha ===== */
.export-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-transform:uppercase;
  letter-spacing:0.03em;
  font-family:'Inter', sans-serif;
  font-weight:700;
  font-size:13px;
  color:#FFFFFF;
  background:#1E8E3E;
  border:2px solid var(--ink);
  border-radius:10px;
  padding:11px 18px;
  text-decoration:none;
  margin-bottom:18px;
  box-shadow:3px 3px 0 var(--ink);
  transition:transform .08s ease, box-shadow .08s ease;
}
.export-btn:hover{ background:#187A34; }
.export-btn:active{ transform:translate(2px,2px); box-shadow:1px 1px 0 var(--ink); }
