/* Memoré Pets · coluna única estilo app, marrom/dourado/creme da marca */
:root{
  --bg:#F5ECDF;--surface:#FFFAF3;--ink:#3A2313;--muted:#7A5D46;--line:#E6D5BE;
  --gold:#A8792A;--gold-soft:#EFDDB4;--gold-ink:#3A2313;--on-gold:#FFFAF3;
  --alert:#B3261E;--alert-soft:#FBE3DF;--ok:#2D7A4C;--ok-soft:#DDF0E3;--wa:#1E8A50;
  --display:"Playfair Display",Georgia,serif;
  --script:"Dancing Script","Brush Script MT",cursive;
  --body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#1C130C;--surface:#291C12;--ink:#F3E6D3;--muted:#C4AA8C;--line:#3F2E20;
  --gold:#D8AC58;--gold-soft:#4A3519;--gold-ink:#FCEFD6;--on-gold:#1C130C;
  --alert:#F19388;--alert-soft:#4A1F1A;--ok:#86CDA0;--ok-soft:#1D3A28;--wa:#1E8A50;color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;
  padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left))}
img{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:460px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.wide{max-width:960px}
a{color:var(--gold)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand img{width:48px;height:48px;border-radius:12px;border:1px solid var(--line)}
.brand b{font-family:var(--display);font-size:21px;display:block;line-height:1.1}
.brand span{font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}
h1,h2{font-family:var(--display);margin:0;text-wrap:balance;line-height:1.2}
h1{font-size:26px}h2{font-size:21px}
.sub{color:var(--muted);font-size:14.5px;margin:0}
.lbl{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:14px;padding:14px;
  font:700 16px var(--body);cursor:pointer;text-decoration:none;line-height:1.2}
.btn:disabled{opacity:.6;cursor:wait}
.btn-wa{background:var(--wa);color:#fff}
.btn-gold{background:var(--gold);color:var(--on-gold)}
.btn-line{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-sm{width:auto;padding:8px 12px;font-size:14px;border-radius:10px}
.btn svg{width:20px;height:20px;flex:none}
.link{background:none;border:0;color:var(--gold);font:600 14px var(--body);cursor:pointer;padding:4px;text-decoration:underline}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.msg{border-radius:12px;padding:10px 12px;font-size:14.5px}
.msg.ok{background:var(--ok-soft);color:var(--ok)}
.msg.err{background:var(--alert-soft);color:var(--alert)}
.msg.info{background:var(--gold-soft);color:var(--gold-ink)}
/* formulários */
form{display:flex;flex-direction:column;gap:14px}
.f{display:flex;flex-direction:column;gap:6px}
.f>label{font-weight:700;font-size:14px}
.f small,.hint{color:var(--muted);font-size:12.5px}
input,textarea,select{width:100%;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:12px;font:16px var(--body)}
textarea{min-height:90px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.photo{display:flex;align-items:center;gap:12px}
.avatar{width:64px;height:64px;border-radius:50%;background:var(--gold-soft) center/cover;flex:none;display:grid;place-items:center;
  font:700 28px var(--script);color:var(--gold-ink)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--gold);flex:none}
fieldset{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin:0}
legend{font-weight:700;font-size:14px;padding:0 6px}
.codebox{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--gold-soft);color:var(--gold-ink);border-radius:12px;padding:10px 12px;font-size:14px}
code,.mono{font-family:ui-monospace,Menlo,Consolas,monospace}
.codebox code{font-weight:700;font-size:18px;letter-spacing:.12em}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border-radius:12px;padding:4px;gap:4px}
.tabs button{border:0;background:none;padding:9px;border-radius:9px;font:700 14px var(--body);color:var(--muted);cursor:pointer}
.tabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
/* perfil público */
.lost{background:var(--alert-soft);color:var(--alert);border-radius:14px;padding:12px 14px;font-weight:700;font-size:15px;display:flex;gap:10px;align-items:center}
.lost i{width:10px;height:10px;border-radius:50%;background:var(--alert);flex:none;animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.lost i{animation:none}}
.hero{text-align:center;align-items:center;gap:6px}
.medal{width:156px;height:156px;border-radius:50%;padding:6px;background:linear-gradient(145deg,#F3D891,#B8862F 55%,#E8C670);box-shadow:0 8px 24px rgba(90,60,20,.25)}
.medal .avatar{width:100%;height:100%;font-size:64px}
.petname{font:700 52px/1.05 var(--script);margin-top:8px;overflow-wrap:anywhere}
.phone{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);border-radius:12px;padding:10px 12px}
.phone strong{font-size:19px;font-variant-numeric:tabular-nums;user-select:all}
.notes{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
.notes li{display:flex;gap:10px;font-size:15px}
.notes li::before{content:"";width:8px;height:8px;margin-top:8px;border-radius:2px;transform:rotate(45deg);background:var(--gold);flex:none}
.foot{text-align:center;font-size:12.5px;color:var(--muted)}
.foot b{font-family:var(--display)}
/* área do tutor / painel */
.petrow{display:flex;align-items:center;gap:12px}
.petrow .grow{flex:1;min-width:0}
.petrow b{display:block;font-size:17px}
.pill{font-size:11.5px;font-weight:700;border-radius:99px;padding:3px 9px;white-space:nowrap}
.pill.ok{background:var(--ok-soft);color:var(--ok)}
.pill.wait{background:var(--gold-soft);color:var(--gold-ink)}
.pill.bad{background:var(--alert-soft);color:var(--alert)}
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px}
.report{border-top:1px solid var(--line);padding-top:10px;font-size:14.5px;display:flex;flex-direction:column;gap:4px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stat{background:var(--bg);border-radius:12px;padding:10px;text-align:center}
.stat b{display:block;font:700 24px var(--display);font-variant-numeric:tabular-nums}
.stat span{font-size:12px;color:var(--muted)}
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.toolbar{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;align-items:end}
.toolbar .f{flex:1;min-width:120px}
@media (max-width:420px){.stats{grid-template-columns:repeat(2,1fr)}}
/* cartões de ativação para imprimir */
#print{display:none}
@media print{
  @page{size:A4;margin:8mm}
  body{background:#fff;color:#000;padding:0}
  body>*:not(#print){display:none!important}
  #print{display:grid;grid-template-columns:repeat(3,63mm);grid-auto-rows:88mm;gap:3mm;justify-content:center}
  .pcard{border:1px dashed #bbb;border-radius:3mm;padding:4mm;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.8mm;
    font-family:var(--body);color:#3A2313;break-inside:avoid;overflow:hidden}
  .pcard img{width:13mm;height:13mm;border-radius:2mm}
  .pcard .t{font:700 12pt var(--display)}
  .pcard .s{font-size:8pt;line-height:1.35}
  .pcard .kv{display:flex;gap:3mm}
  .pcard .k{font:700 10.5pt ui-monospace,Menlo,monospace;letter-spacing:.08em;border:1px solid #d9c4a0;border-radius:2mm;padding:1mm 2mm;background:#fbf3e3}
  .pcard .qr{width:20mm;height:20mm}
  .pcard .qr svg{width:100%;height:100%}
}
