*{box-sizing:border-box}
:root{--bg:#f8fafc;--surface:#ffffff;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--primary:#7c3aed;--primary-2:#5b21b6;--accent:#22c55e;--danger:#ef4444;--warning:#f59e0b;--shadow:rgba(2,6,23,.08)}
html[data-theme="dark"]{--bg:#0f172a;--surface:#0b1222;--border:#1f2937;--text:#e5e7eb;--muted:#93a4b8;--primary:#7c3aed;--primary-2:#4c1d95;--accent:#22c55e;--danger:#ef4444;--warning:#f59e0b;--shadow:rgba(2,6,23,.35)}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;background:radial-gradient(1000px 1000px at 0% 0%, rgba(124,58,237,.12), transparent 40%), radial-gradient(800px 800px at 100% 0%, rgba(34,197,94,.10), transparent 35%), linear-gradient(180deg, rgba(2,6,23,.04), rgba(2,6,23,.08)), var(--bg);color:var(--text)}
html, body, main{overflow-x:auto}
body{-webkit-overflow-scrolling:touch;overscroll-behavior:auto}
*{scrollbar-width:thin;scrollbar-color:var(--primary) transparent}
::-webkit-scrollbar{height:12px;width:12px}
::-webkit-scrollbar-thumb{background:rgba(124,58,237,.5);border-radius:999px}
::-webkit-scrollbar-track{background:rgba(2,6,23,.08)}
html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:rgba(124,58,237,.6)}
html[data-theme="dark"] ::-webkit-scrollbar-track{background:rgba(2,6,23,.3)}
h2{margin:8px 0 0}
.icon{width:18px;height:18px;vertical-align:-3px;margin-right:6px}
nav{background:var(--surface);border-bottom:1px solid var(--border);color:var(--text)}
nav{position:sticky;top:0;z-index:3000}
nav .container{max-width:1100px;margin:0 auto;padding:12px 20px;display:flex;gap:12px;align-items:center;justify-content:space-between}
nav .links{display:flex;gap:8px}
nav a{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:8px}
nav a.active{background:var(--primary);color:#fff;box-shadow:0 6px 14px var(--shadow)}
nav a:hover{background:var(--border);transform:translateY(-1px);transition:.2s}
main{max-width:1100px;margin:0 auto;padding:20px}
.card{background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.80)), var(--surface);border:1px solid rgba(226,232,240,.8);border-radius:16px;padding:18px;box-shadow:0 10px 28px var(--shadow);transition:.25s}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 28px var(--shadow)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:900px){.grid{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:12px;overflow:hidden}
th,td{border-bottom:1px solid var(--border);padding:12px;text-align:left}
tbody tr:nth-child(odd){background:rgba(2,6,23,.03)}
table.table-hover tbody tr:hover{background:rgba(37,99,235,.08)}
th{background:rgba(37,99,235,.1);color:var(--text)}
h1{margin:0 0 12px}
label{display:block;margin-top:10px;color:var(--muted);font-weight:600}
.field{position:relative}
input,select{width:100%;padding:14px;margin-top:5px;background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.8)), var(--surface);border:1px solid rgba(226,232,240,.85);color:var(--text);border-radius:16px;transition:.25s;box-shadow:0 2px 12px rgba(2,6,23,.05)}
input:hover,select:hover{border-color:var(--primary);box-shadow:0 6px 16px rgba(124,58,237,.14)}
input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(124,58,237,.25), 0 10px 22px rgba(124,58,237,.2)}
select{appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path fill=%22%2364748b%22 d=%22M7 10l5 5 5-5Z%22/></svg>');background-repeat:no-repeat;background-position:right 14px center;padding-right:48px;border-radius:18px}
select option{background:var(--surface);color:var(--text)}
html[data-theme="dark"] select option{background:#0b1222;color:#e5e7eb}

input[type="date"], input[type="time"]{border-radius:18px;padding-right:52px}
input[type="date"]::-webkit-calendar-picker-indicator, input[type="time"]::-webkit-calendar-picker-indicator{cursor:pointer;padding:8px;border-radius:12px;filter:brightness(1.15) drop-shadow(0 3px 8px rgba(124,58,237,.25))}
html[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator, html[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator{filter:invert(.1) brightness(1.2) drop-shadow(0 3px 8px rgba(124,58,237,.35))}
input[type="time"]::-webkit-clear-button{display:none}
input::placeholder{color:var(--muted)}
/* Modern look for date/time */
input[type="date"], input[type="time"]{
  background-repeat:no-repeat;
  background-position: left 14px center, right 14px center;
  padding-left:54px;
}
input[type="date"]{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 24 24%22><path fill=%229ca3af%22 d=%22M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 15H5V10h14Zm0-11H5V6h14Z"/></svg>'), none;
}
input[type="time"]{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 24 24%22><path fill=%229ca3af%22 d=%22M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm1 11h5v-2h-4V7h-2v6Z"/></svg>'), none;
}
input[type="date"]:focus, input[type="time"]:focus{
  border:1px solid transparent;
  background: linear-gradient(var(--surface),var(--surface)) padding-box, linear-gradient(135deg,var(--primary),var(--primary-2)) border-box;
}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.btn{padding:12px 18px;border:0;border-radius:14px;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;gap:8px;text-decoration:none;line-height:1;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;transition:.2s;box-shadow:0 8px 18px rgba(124,58,237,.28)}
.btn-primary:hover{filter:saturate(1.08);transform:translateY(-2px);box-shadow:0 10px 22px rgba(124,58,237,.35)}
.btn-accent{background:var(--accent);color:#041}
.btn-secondary{background:var(--accent);color:#041}
.btn-danger{background:var(--danger);color:#fff}
.btn:hover{filter:saturate(1.05);transform:translateY(-1px)}
.btn:active{transform:scale(.98)}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text);transition:.2s}
.btn-ghost:hover{background:rgba(124,58,237,.08);border-color:var(--primary)}
.btn .icon{margin-right:6px}
.muted{color:var(--muted)}
.msg{margin-bottom:12px;padding:10px;border-radius:8px;border:1px solid var(--border);background:rgba(37,99,235,.08)}
.alert-success{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3)}
.alert-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3)}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.85rem}
.badge-info{background:rgba(37,99,235,.12);color:var(--primary)}
.badge-success{background:rgba(34,197,94,.12);color:var(--accent)}
.badge-danger{background:rgba(239,68,68,.12);color:var(--danger)}
.badge-secondary{background:rgba(124,58,237,.12);color:var(--primary)}
.empty{padding:24px;text-align:center;color:var(--muted)}
.fade-in{animation:fadeInUp .35s ease-out}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
.pulse{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 rgba(124,58,237,0)}50%{transform:scale(1.02);box-shadow:0 0 18px rgba(124,58,237,.25)}}
.badge svg{margin-right:4px}
@media print{
  nav, footer, .actions, .msg, #calendar{display:none !important}
  body{background:#fff;color:#000}
  .card{border:0;box-shadow:none;padding:0}
  table{border:1px solid #000}
  th,td{border:1px solid #000}
}

/* Mobile responsiveness */
@media (max-width:768px){
  nav .container{padding:12px}
  nav .links{display:none;flex-direction:column;background:var(--surface);color:var(--text);position:fixed;top:0;left:0;right:0;bottom:0;padding:18px;gap:12px;overflow:auto;z-index:3000;box-shadow:0 20px 60px rgba(0,0,0,.35)}
  nav .links.open{display:flex}
  #menuToggle{display:inline-flex}
  #menuToggle{align-items:center;gap:6px}
  .row{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .card{padding:12px;overflow-x:auto}
  input,select{padding:12px}
  .btn{padding:12px 16px}
}

/* Accessibility and touch targets */
.btn, input, select{min-height:44px}

/* Tables overflow for mobile */
.card table{min-width:600px}

/* Hero login */
.hero{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.hero .badge{background:rgba(124,58,237,.12);color:var(--primary)}
.input-inline{display:flex;align-items:center;gap:8px;background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.8)), var(--surface);border:1px solid rgba(226,232,240,.85);border-radius:14px;padding:8px 12px;box-shadow:0 2px 12px rgba(2,6,23,.05)}
.input-inline svg{color:var(--muted)}
.input-inline select,.input-inline input{flex:1;border:0;background:transparent;padding:10px 8px;border-radius:10px}
.input-inline select:focus,.input-inline input:focus{outline:none}
.input-inline:hover{border-color:var(--primary);box-shadow:0 6px 16px rgba(124,58,237,.14)}
.input-inline:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(124,58,237,.25), 0 10px 22px rgba(124,58,237,.2)}

/* Mobile menu overlay */
.menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:none;z-index:2500}
body.menu-open .menu-overlay{display:block}

/* Support floating button */
.support-fab{position:fixed;left:16px;bottom:16px;z-index:1000;background:linear-gradient(135deg,var(--accent),#16a34a);color:#041;padding:10px 12px;border-radius:999px;display:flex;align-items:center;gap:8px;text-decoration:none;border:1px solid rgba(22,163,74,.3);box-shadow:0 8px 24px rgba(22,163,74,.25)}
.support-fab:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,163,74,.35)}
.support-fab .icon{margin:0}

/* Valores (serviços) pills */
.pill-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;transition:.2s;box-shadow:0 2px 10px rgba(2,6,23,.04)}
.pill:hover{border-color:var(--primary);box-shadow:0 4px 14px rgba(124,58,237,.12)}
.pill .price{font-weight:700;color:var(--primary)}
html[data-theme="dark"] body{background:radial-gradient(900px 900px at 0% 0%, rgba(124,58,237,.08), transparent 40%), radial-gradient(700px 700px at 100% 0%, rgba(34,197,94,.08), transparent 35%), linear-gradient(180deg, rgba(2,6,23,.5), rgba(2,6,23,.6)), var(--bg)}
html[data-theme="dark"] nav{background:linear-gradient(180deg, rgba(76,29,149,.22), rgba(76,29,149,.12)), var(--surface);border-bottom:1px solid #263143;color:var(--text)}
html[data-theme="dark"] .card{background:linear-gradient(180deg, rgba(11,18,34,.88), rgba(11,18,34,.84)), var(--surface);border:1px solid #263143;border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.45)}
html[data-theme="dark"] input, html[data-theme="dark"] select{background:linear-gradient(180deg, rgba(11,18,34,.92), rgba(11,18,34,.88)), var(--surface);border:1px solid #263143;color:var(--text)}
html[data-theme="dark"] .input-inline{background:linear-gradient(180deg, rgba(11,18,34,.92), rgba(11,18,34,.88)), var(--surface);border:1px solid #263143;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.35)}

/* Responsive helpers */
.desktop-only{display:block}
.mobile-only{display:none}
@media (max-width:768px){
  .desktop-only{display:none}
  .mobile-only{display:block}
}
