:root{--bg:#0A0E15;--s1:#111826;--s2:#18212F;--line:#243044;--tx:#EAF0F8;--mut:#8C9AB0;--blue:#025095;--blue2:#2F8BFF;--ok:#3DD68C;--att:#FFC24B;--crit:#FF6B61;--tec:#7DB4FF;--acougue:#B33237;--padaria:#D99A00;--hortifruti:#1F9D5C}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:var(--bg);color:var(--tx);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.4}
body{min-height:100vh;background:radial-gradient(520px 260px at 85% -40px,rgba(47,139,255,.22),transparent 70%),radial-gradient(380px 220px at -10% 8%,rgba(179,50,55,.12),transparent 70%),var(--bg);background-repeat:no-repeat}
a{color:var(--tec);text-decoration:none}
.top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(10,14,21,.92);backdrop-filter:blur(8px);z-index:5}
.top img{height:24px;display:block}.top .who{font-size:12px;color:var(--mut)}
.wrap{max-width:760px;margin:0 auto;padding:16px}
h1{font-size:22px;letter-spacing:-.02em}h2{font-size:15px;margin:22px 0 10px}
.lab{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:600}
.card{background:linear-gradient(180deg,var(--s2),var(--s1));border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:10px}
.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.sub{font-size:12.5px;color:var(--mut)}
.pill{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap}
.p-ok{background:rgba(61,214,140,.14);color:var(--ok)}.p-atencao{background:rgba(255,194,75,.14);color:var(--att)}.p-critico{background:rgba(255,107,97,.14);color:var(--crit)}.p-na{background:rgba(125,180,255,.14);color:var(--tec)}
.btn{display:inline-block;border:0;border-radius:12px;padding:11px 16px;font-weight:700;font-size:14px;background:var(--blue2);color:#fff;cursor:pointer;font-family:inherit}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--tx)}.btn.sm{padding:8px 12px;font-size:13px}
.num{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;background:var(--s1);border:1px solid var(--line);flex:none}
.dias{font-weight:800;font-size:18px;text-align:right;line-height:1}.dias small{display:block;font-size:10px;color:var(--mut);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.d-ok{color:var(--ok)}.d-att{color:var(--att)}.d-crit{color:var(--crit)}
input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--s1);color:var(--tx);font-size:15px;font-family:inherit}
label{display:block;margin:14px 0 4px}
.alert{border:1px solid #6b2a2c;background:#2a1214;border-radius:12px;padding:10px 12px;margin:10px 0;font-size:13.5px}
.tabs{display:flex;gap:8px;overflow:auto}.tab{flex:1;text-align:center;padding:10px;border-radius:12px;border:1px solid var(--line);color:var(--mut);font-weight:700;background:var(--s1)}
.nav{position:fixed;bottom:0;left:0;right:0;display:flex;border-top:1px solid var(--line);background:rgba(10,14,21,.96);backdrop-filter:blur(8px);z-index:6}
.nav a{flex:1;text-align:center;padding:12px 4px 14px;color:var(--mut);font-size:11px;font-weight:600}.nav a.on{color:var(--tx)}.nav a b{display:block;font-size:19px;margin-bottom:2px}
.pad-nav{height:76px}
@media(min-width:900px){.wrap{max-width:900px;padding:28px}}

details.reg{margin-bottom:10px}
details.reg summary{list-style:none;cursor:pointer}details.reg summary::-webkit-details-marker{display:none}
details.reg[open] summary{border-radius:18px 18px 0 0;border-bottom-color:transparent}
.chev{font-size:24px;color:var(--mut);transition:transform .2s;line-height:1}details.reg[open] .chev{transform:rotate(90deg)}
.regbody{border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;padding:2px 12px 6px;background:var(--s1)}
.regbody .row:last-child{border-bottom:0!important}

.modo{display:flex;justify-content:space-between;align-items:center;padding:7px 16px;font-size:12px;font-weight:600;border-bottom:1px solid var(--line)}
.modo.admin{background:rgba(47,139,255,.12);color:var(--tec)}.modo.consultor{background:rgba(217,154,0,.16);color:#FFC24B}
.modo a{color:inherit;text-decoration:underline}

/* ===== Ajuste 2: legibilidade e toque (celular) + versão web ===== */
html,body{font-size:16px}
input,select,textarea{font-size:16px;min-height:48px}
textarea{min-height:96px}
.btn{padding:13px 20px;font-size:16px;min-height:48px;border-radius:14px}
.btn.sm{padding:10px 16px;font-size:15px;min-height:44px}
.sub{font-size:14px}.lab{font-size:11.5px}
h1{font-size:26px}h2{font-size:17px}
.pill{font-size:12px;padding:4px 11px}
.num{width:48px;height:48px;font-size:16px}
.dias{font-size:20px}.dias small{font-size:11px}
.card{padding:16px;border-radius:20px}
.top{padding:max(12px,env(safe-area-inset-top)) 16px 12px}.top img{height:28px}.top .who{font-size:14px}
.modo{font-size:13px;padding:9px 16px}
.nav{padding-bottom:env(safe-area-inset-bottom)}
.nav a{font-size:12px;padding:10px 2px 12px;min-height:60px}.nav a b{font-size:22px}
.pad-nav{height:calc(84px + env(safe-area-inset-bottom))}
.tab{padding:12px 6px;font-size:15px;min-height:52px}
.tabs{position:sticky;top:54px;z-index:4;background:rgba(10,14,21,.88);backdrop-filter:blur(8px);padding:8px 0;margin-left:-2px;margin-right:-2px}
.seg button{min-height:48px;font-size:14.5px}
.mic{width:46px;height:46px;font-size:20px}
.ft button{width:30px;height:30px}
.alert{font-size:15px;padding:12px 14px}

/* Web (computador): conteúdo mais largo, texto e botões maiores, menu lateral */
@media(min-width:900px){
  html,body{font-size:18px}
  .wrap{max-width:1040px;padding:32px 36px 48px;margin-left:max(240px,calc(50% - 520px + 120px))}
  h1{font-size:34px}h2{font-size:20px;margin:30px 0 14px}
  .btn{padding:15px 26px;font-size:18px;min-height:54px}
  .btn.sm{padding:12px 20px;font-size:17px;min-height:50px}
  .sub{font-size:16px}.lab{font-size:13px}.pill{font-size:14px;padding:5px 14px}
  .num{width:56px;height:56px;font-size:19px}.dias{font-size:24px}.dias small{font-size:12px}
  .card{padding:20px 22px;border-radius:22px}
  .top{box-sizing:border-box;height:68px;padding:0 36px}.top img{height:34px}.top .who{font-size:16px}
  .modo{font-size:15px;padding:0 36px}
  input,select,textarea{font-size:18px;min-height:54px;padding:14px}
  .seg button{min-height:54px;font-size:17px}
  .tab{font-size:18px;min-height:58px}.tabs{top:70px}
  .alert{font-size:17px}
  .fotos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important}
  .pad-nav{display:none}
  /* menu lateral fixo, abaixo do topo (a logo fica sempre visível) */
  .top{position:sticky;z-index:8}
  .modo{box-sizing:border-box;height:56px;padding-left:276px}   /* barra de visão e 1º item do menu: mesma linha e mesma altura */
  .nav{top:68px;bottom:0;right:auto;width:240px;flex-direction:column;justify-content:flex-start;padding:0;border-top:0;border-right:1px solid var(--line);background:#0b1019}
  .nav a{flex:none;display:flex;align-items:center;gap:14px;text-align:left;font-size:18px;box-sizing:border-box;height:56px;padding:0 26px;min-height:0;border-radius:0}
  .nav a b{display:inline;margin:0;font-size:22px}
  .nav a.on{background:rgba(47,139,255,.14);box-shadow:inset 3px 0 0 var(--blue2)}
}
@media(min-width:1280px){.wrap{max-width:1120px}}

/* Número da loja à direita, com a palavra "Loja" em cima do box */
.ln{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}
.ln small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);font-weight:700;line-height:1}
.ln.peq .num{width:36px;height:36px;font-size:13px}
@media(min-width:900px){.ln small{font-size:12px}}
/* Celular: card do roteiro em duas linhas (nome + Loja / dias + Iniciar) para o nome não quebrar */
@media(max-width:899px){
  .card.rota{display:grid;grid-template-columns:1fr auto;gap:10px 14px;align-items:center}
  .rota .grow{grid-column:1;grid-row:1}.rota .ln{grid-column:2;grid-row:1}
  .rota .dias{grid-column:1;grid-row:2;justify-self:start;display:flex;align-items:baseline;gap:6px}
  .rota .dias small{display:inline}
  .rota .btn{grid-column:2;grid-row:2;justify-self:stretch;text-align:center}
}

/* Login */
.lg{width:100%;max-width:380px;margin:8vh auto 0}
body.login .wrap{max-width:none;margin:0;padding:24px 20px;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center}.lg{margin:0}
.nl{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* Sair como botão; no computador: nome, botão Sair e logo Xayra no rodapé do menu lateral */
.top .who{display:flex;align-items:center;gap:12px;color:var(--mut)}.top .who .btn.sm{padding:7px 14px;font-size:13px;min-height:0}
.sidebox{display:none}
@media(min-width:900px){
  .top .who{display:none}
  .sidebox{display:block;margin-top:auto;padding:22px 22px 26px;border-top:1px solid var(--line);text-align:center}
  .sidebox .nm{font-size:16px;color:var(--mut);margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sidebox .btn{display:block;box-sizing:border-box;width:100%;text-align:center;font-size:16px;min-height:46px;padding:10px 16px;height:auto}
  .sidebox .uc{margin-top:22px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
  .sidebox img{display:block;height:54px;margin:8px auto 0}
}
@media(min-width:900px){.nav .sidebox a.btn{display:block;height:auto;min-height:46px;border-radius:12px;padding:11px 16px;font-size:16px;gap:0;text-align:center;background:rgba(47,139,255,.10);border:1px solid var(--line)}}

/* Contatos das lojas: Preencher / Editar / Apagar */
.ctt{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.ctt .row{align-items:flex-start;flex-wrap:wrap}
.ctt details.ed{flex:none}.ctt details.ed>summary{list-style:none;cursor:pointer}.ctt details.ed>summary::-webkit-details-marker{display:none}
.ctt details.ed[open]{flex-basis:100%;order:5}.ctt details.ed[open]>summary{display:none}
.ctt details.ed form{margin-top:8px}.ctt details.ed input{margin-bottom:6px}
.btn.apagar{background:rgba(255,107,97,.12);border:1px solid rgba(255,107,97,.45);color:var(--crit)}
.btn.voltar{margin-bottom:8px}

/* Celular: "Uma consultoria + Xayra" no fim de cada tela (no computador fica no menu lateral) */
.xfoot{display:flex;align-items:center;justify-content:center;gap:10px;margin:26px 0 6px;padding-top:16px;border-top:1px solid var(--line)}
.xfoot span{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}.xfoot img{height:30px;display:block}
@media(min-width:900px){.xfoot{display:none}}
