:root{
  --bg:#e4e6e9; --bg2:#d7dade;
  --glass:rgba(255,255,255,.55); --glass-strong:rgba(255,255,255,.78);
  --line:rgba(20,24,28,.08); --ink:#15181c; --ink2:#5b636c; --ink3:#8a929b;
  --accent:#1f9d5c; --accent-ink:#fff; --accent-soft:rgba(31,157,92,.12);
  --red:#d6453d; --red-soft:rgba(214,69,61,.12);
  --orange:#e08a1e; --orange-soft:rgba(224,138,30,.14);
  --green:#1f9d5c; --green-soft:rgba(31,157,92,.12);
  --emerald:#0b7a5a;
  --r:22px; --r-sm:14px;
  --shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 10px 30px rgba(20,24,28,.06);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  font-family:"Manrope",system-ui,-apple-system,sans-serif; color:var(--ink);
  background:radial-gradient(1200px 700px at 70% -10%,#f4f5f6 0,transparent 60%),
             radial-gradient(900px 600px at -10% 110%,#cfd3d8 0,transparent 60%),var(--bg);
  background-attachment:fixed; -webkit-font-smoothing:antialiased; font-size:14px;
}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em}
h1{font-size:30px} h2{font-size:20px} h3{font-size:15px}
.muted{color:var(--ink2)} .faint{color:var(--ink3)} .small{font-size:12px}
.num{font-variant-numeric:tabular-nums}

/* ---------- glass ---------- */
.glass{
  background:var(--glass); border:1px solid rgba(255,255,255,.7);
  backdrop-filter:blur(22px) saturate(1.4); -webkit-backdrop-filter:blur(22px) saturate(1.4);
  border-radius:var(--r); box-shadow:var(--shadow);
}
.chip-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;min-width:44px;padding:0 14px;border-radius:14px;border:1px solid rgba(255,255,255,.8);
  background:var(--glass-strong);cursor:pointer;transition:transform .15s,background .15s;
}
.chip-btn:hover{background:#fff} .chip-btn:active{transform:scale(.97)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;
  border-radius:14px;border:0;cursor:pointer;font-weight:600;background:var(--accent);color:var(--accent-ink);
  transition:transform .15s,filter .15s;
}
.btn:hover{filter:brightness(1.05)} .btn:active{transform:scale(.97)}
.btn.ghost{background:var(--glass-strong);color:var(--ink);border:1px solid rgba(255,255,255,.8)}
.btn.danger{background:var(--red)}
.btn.sm{height:36px;padding:0 12px;font-size:13px;border-radius:12px}
.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- layout ---------- */
.app{display:grid;grid-template-columns:92px 1fr;min-height:100vh}
.rail{position:sticky;top:0;height:100vh;padding:22px 0;display:flex;flex-direction:column;align-items:center;gap:10px}
.logo{width:48px;height:48px;border-radius:16px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;margin-bottom:18px}
.rail a{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:var(--ink2);text-decoration:none;position:relative}
.rail a:hover{background:var(--glass)}
.rail a.on{background:var(--glass-strong);color:var(--ink);box-shadow:var(--shadow)}
.rail a .tip{position:absolute;left:62px;white-space:nowrap;background:var(--ink);color:#fff;font-size:12px;padding:5px 9px;border-radius:8px;opacity:0;pointer-events:none;transition:.15s}
.rail a:hover .tip{opacity:1}
.rail .sp{flex:1}
.main{padding:22px 28px 60px;min-width:0}
.top{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.top .seg{display:flex;gap:6px;padding:5px;border-radius:18px}
.seg button{height:38px;padding:0 16px;border-radius:13px;border:0;background:transparent;cursor:pointer;color:var(--ink2);font-weight:500}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.top .grow{flex:1}
.who{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:16px}
.who .av{width:34px;height:34px;border-radius:11px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700}
.search{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:14px;min-width:260px}
.search input{border:0;background:transparent;outline:0;flex:1}

.pagehead{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.pagehead .grow{flex:1}

.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(5,1fr)}
.kpi{padding:18px}
.kpi .lb{font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:6px}
.kpi .v{font-size:24px;font-weight:600;margin-top:8px;letter-spacing:-.02em}
.kpi .d{font-size:12px;margin-top:4px}
.two{grid-template-columns:1.4fr 1fr}
.card{padding:20px}
.card-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.card-h .grow{flex:1}
.sep{height:1px;background:var(--line);margin:14px 0}

/* ---------- list rows ---------- */
.rows{display:flex;flex-direction:column}
.row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.row:last-child{border-bottom:0}
.row:hover{background:rgba(255,255,255,.35);border-radius:12px}
.row .th{width:64px;height:44px;border-radius:10px;background:#d9dcdf center/cover;flex:none;display:grid;place-items:center;color:var(--ink3)}
.row .grow{flex:1;min-width:0}
.row .t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .s{font-size:12px;color:var(--ink2)}

/* ---------- pills ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.red{background:var(--red-soft);color:var(--red)}
.pill.orange{background:var(--orange-soft);color:#b86a0c}
.pill.green{background:var(--green-soft);color:var(--green)}
.pill.gray{background:rgba(0,0,0,.06);color:var(--ink2)}
.pill.blue{background:rgba(48,98,214,.1);color:#3062d6}
.pos{color:var(--green)} .neg{color:var(--red)}

/* ---------- inventory cards ---------- */
.inv{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.car{padding:18px;cursor:pointer;transition:transform .2s}
.car:hover{transform:translateY(-2px)}
.car .hd{display:flex;gap:10px;align-items:flex-start}
.car .hd .grow{flex:1;min-width:0}
.car .name{font-size:17px;font-weight:600;letter-spacing:-.01em}
.car .price{font-size:17px;font-weight:600;text-align:right}
.car .img{height:150px;margin:12px -6px;border-radius:16px;background:rgba(255,255,255,.4) center/contain no-repeat;display:grid;place-items:center}
.car .img.photo{background-size:cover}
.car .specs{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border-top:1px solid var(--line);padding-top:12px}
.car .specs div+div{border-left:1px solid var(--line)}
.car .specs b{display:block;font-size:16px}
.car .specs span{font-size:11px;color:var(--ink2)}
.filters{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- vehicle detail ---------- */
.vhero{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
.stage{padding:24px;position:relative;min-height:420px;overflow:hidden}
.stage .big{height:300px;margin-top:12px;border-radius:18px;background:center/contain no-repeat;display:grid;place-items:center}
.stage .big.photo{background-size:cover}
.thumbs{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:4px}
.thumbs button{width:72px;height:52px;border-radius:12px;border:2px solid transparent;background:#d9dcdf center/cover;cursor:pointer;flex:none}
.thumbs button.on{border-color:var(--accent)}
.side{display:flex;flex-direction:column;gap:16px}
.assistant{padding:18px}
.bal-line{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:13px}
.bal-line b{font-weight:600}
.bal-line.total{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;font-size:15px}
.bal-line.total b{font-size:20px}
.verdict{margin-top:12px;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.45}
.verdict.good{background:var(--green-soft)} .verdict.bad{background:var(--red-soft)} .verdict.mid{background:var(--orange-soft)}

.tabs{display:flex;gap:6px;padding:5px;border-radius:18px;margin:18px 0 16px;overflow-x:auto}
.tabs button{height:38px;padding:0 16px;border-radius:13px;border:0;background:transparent;cursor:pointer;color:var(--ink2);font-weight:500;white-space:nowrap}
.tabs button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}

.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fact{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.5)}
.fact span{font-size:11px;color:var(--ink2);display:block}
.fact b{font-size:14px;font-weight:600}

table.t{width:100%;border-collapse:collapse}
table.t th{text-align:left;font-size:11px;font-weight:600;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em;padding:8px 6px;border-bottom:1px solid var(--line)}
table.t td{padding:11px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
table.t tr:last-child td{border-bottom:0}
table.t td.r,table.t th.r{text-align:right}

.timeline{position:relative;padding-left:22px}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl{position:relative;padding:0 0 18px}
.tl::before{content:"";position:absolute;left:-21px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--accent)}
.tl.red::before{border-color:var(--red)} .tl.orange::before{border-color:var(--orange)} .tl.gray::before{border-color:var(--ink3)}
.tl .d{font-size:12px;color:var(--ink2)}
.tl .t{font-weight:600;margin-top:2px}
.tl .x{font-size:13px;color:var(--ink2);margin-top:2px}

.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.file{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.55);cursor:pointer;min-width:0}
.file .ic{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.file .ic.pdf{background:var(--red-soft);color:var(--red)}
.file .n{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file .k{font-size:11px;color:var(--ink2)}

.empty{padding:28px;text-align:center;color:var(--ink2)}
.warn{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--orange-soft);font-size:13px;margin-bottom:12px}

/* ---------- forms / modal ---------- */
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.form .full{grid-column:1/-1}
.field label{display:block;font-size:12px;color:var(--ink2);margin-bottom:6px;font-weight:500}
.field input,.field select,.field textarea{
  width:100%;height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.8);outline:0;
}
.field textarea{height:80px;padding:10px 12px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.drop{border:1.5px dashed rgba(0,0,0,.15);border-radius:14px;padding:14px;text-align:center;color:var(--ink2);cursor:pointer;background:rgba(255,255,255,.4);font-size:13px}
.drop:hover{border-color:var(--accent);color:var(--accent)}
.radio-row{display:flex;gap:8px;flex-wrap:wrap}
.radio-row label{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:12px;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.06);cursor:pointer;font-size:13px}
.radio-row input{accent-color:var(--accent)}
.radio-row label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}

.modal-bg{position:fixed;inset:0;background:rgba(20,24,28,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;z-index:50;padding:16px;animation:fade .15s}
.modal{width:min(720px,100%);max-height:92vh;overflow:auto;padding:24px;background:rgba(244,245,246,.92)}
.modal .mh{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.modal .mh .grow{flex:1}
.modal .mf{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}
.steps{display:flex;gap:6px;margin-bottom:16px}
.steps span{flex:1;height:4px;border-radius:4px;background:rgba(0,0,0,.08)}
.steps span.on{background:var(--accent)}
@keyframes fade{from{opacity:0}to{opacity:1}}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px;z-index:80;font-size:13px;animation:fade .2s}

.bar-chart{display:flex;align-items:flex-end;gap:8px;height:140px;padding-top:8px}
.bar-chart .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bar-chart .b i{display:block;width:100%;max-width:34px;border-radius:8px 8px 4px 4px;background:var(--accent)}
.bar-chart .b i.n{background:var(--red)}
.bar-chart .b span{font-size:10px;color:var(--ink2)}

.bottom{display:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){ .kpis{grid-template-columns:repeat(3,1fr)} .vhero{grid-template-columns:1fr} .facts{grid-template-columns:repeat(2,1fr)} }
@media (max-width:860px){ .two{grid-template-columns:1fr} }
@media (max-width:720px){
  .app{grid-template-columns:1fr}
  .rail{display:none}
  .main{padding:14px 16px 100px}
  .top .seg,.top .search{display:none}
  .who .nm{display:none}
  h1{font-size:24px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .kpi .v{font-size:19px}
  .form{grid-template-columns:1fr}
  .stage{min-height:0;padding:16px} .stage .big{height:200px}
  .inv{grid-template-columns:1fr}
  .tbl-wrap{overflow-x:auto}
  .bottom{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;justify-content:space-around;padding:8px;border-radius:22px}
  .bottom a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--ink2);text-decoration:none;padding:6px 8px;border-radius:12px;min-width:56px}
  .bottom a.on{color:var(--ink);background:#fff}
  .modal{padding:18px}
  .pagehead .btn{width:100%}
}

/* ---------- dossiê (impressão) ---------- */
#print{display:none}
@media print{
  body{background:#fff}
  .app,.bottom,.modal-bg,.toast{display:none!important}
  #print{display:block;color:#000;font-size:11px}
  #print h1{font-size:20px} #print h2{font-size:14px;margin:16px 0 6px;border-bottom:1px solid #000;padding-bottom:3px}
  #print table{width:100%;border-collapse:collapse} #print td,#print th{border:1px solid #bbb;padding:4px 6px;text-align:left}
  #print .ph{display:flex;flex-wrap:wrap;gap:6px} #print .ph img{width:23%;height:110px;object-fit:cover}
  @page{margin:14mm}
}

/* ajustes de largura (nada sai da tela no celular) */
.grid>*,.vhero>*,.side>*,.main{min-width:0}
@media (max-width:1180px){ .vhero{grid-template-columns:minmax(0,1fr)} }
@media (max-width:860px){ .two{grid-template-columns:minmax(0,1fr)} }
@media (max-width:720px){
  .bottom a{min-width:0;flex:1;padding:6px 2px}
  .stage .chip-btn span{display:none}
  .facts{grid-template-columns:1fr 1fr!important}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ================= Meu Lucro: online, equipe, arquivos, fotos guiadas, QR ================= */
[hidden]{display:none!important}
button.who{border:1px solid rgba(255,255,255,.7);cursor:pointer;text-align:left}
.sel{height:44px;padding:0 12px;border-radius:14px;border:1px solid rgba(255,255,255,.7);outline:0;max-width:220px}
.link{border:0;background:none;padding:0;color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline}
.drop-acoes{display:flex;gap:8px;flex-wrap:wrap}
.drop-acoes.col{flex-direction:column}.drop-acoes.col .btn{width:100%}
.escolhidos{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.esc{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;border-radius:12px;background:rgba(255,255,255,.65);font-size:13px;min-width:0}
.esc .n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.esc .x{width:32px;height:32px;border-radius:10px;border:0;background:rgba(0,0,0,.05);cursor:pointer;display:grid;place-items:center;flex:none}
.esc .x:hover{background:var(--red-soft);color:var(--red)}
.row .th.cod{background:var(--ink);color:#fff;font-weight:700;font-size:12px;width:44px}
.so-cel{display:none}

/* fotos guiadas */
.guia-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.guia-top b{font-size:17px}
.guia-foto{height:300px;border-radius:18px;background:rgba(255,255,255,.5);display:grid;gap:6px;overflow:hidden}
.guia-foto .gp{background:#111 center/contain no-repeat;border-radius:12px;min-height:0}
.guia-foto.multi{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-auto-rows:140px;overflow:auto;padding:6px}
.guia-foto.multi .gp{background-size:cover}
.guia-vazio{display:grid;place-items:center;align-content:center;gap:8px;color:var(--ink3);font-weight:600}
.guia-vazio svg{width:60%;max-width:300px;filter:none!important;opacity:.7}
.guia-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.guia-acoes .grow{flex:1}
.guia-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.guia-chips button{height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.6);font-size:12px;cursor:pointer;color:var(--ink2)}
.guia-chips button.ok{background:var(--green-soft);color:var(--green);border-color:transparent}
.guia-chips button.ok::before{content:"✓ "}
.guia-chips button.on{outline:2px solid var(--ink);color:var(--ink)}

/* QR */
.qr-box{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center}
.qr{background:#fff;border-radius:16px;padding:10px}
.qr svg{display:block;width:100%;height:auto}
.passos-qr{margin:0 0 10px;padding-left:18px;line-height:1.6}
.thumbs button svg{margin:auto}

/* login */
.login-bg{min-height:100vh;display:grid;place-items:center;padding:16px}
.login{width:min(400px,100%);padding:28px;display:flex;flex-direction:column;gap:14px}
.login .marca{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.login .marca .logo{margin:0}
.login .nome{font-size:22px;font-weight:700;letter-spacing:-.02em}
.login .erro:empty{display:none}

/* Windows: teclado primeiro, menu com nome, tabela densa */
.atalhos{display:none}
.pf-windows .app{grid-template-columns:200px 1fr}
.pf-windows .rail{align-items:stretch;padding:22px 12px}
.pf-windows .rail .logo{margin-left:6px}
.pf-windows .rail a{width:auto;height:44px;display:flex;align-items:center;gap:12px;padding:0 14px;justify-content:flex-start}
.pf-windows .rail a .tip{position:static;opacity:1;background:none;color:inherit;font-size:14px;padding:0;font-weight:500}
.pf-windows .main{padding:18px 24px 48px}
.pf-windows .atalhos{display:block;position:fixed;left:200px;right:0;bottom:0;padding:7px 24px;font-size:12px;color:var(--ink2);background:rgba(228,230,233,.92);border-top:1px solid var(--line);z-index:30}
.pf-windows .tab-est td{padding:8px 6px}
.pf-windows .tab-est tr[data-go]{cursor:pointer}
.pf-windows .tab-est tr[data-go]:hover,.pf-windows .tab-est tr[data-go]:focus{background:rgba(255,255,255,.6);outline:0}
.pf-windows .tab-est tr[data-go]:focus td:first-child{box-shadow:inset 3px 0 0 var(--ink)}
.pf-windows .kpi .v{font-size:21px}

/* iPhone: barra embaixo sempre, telas curtas, formulários em tela cheia */
.pf-iphone body{padding-top:env(safe-area-inset-top)}
.pf-iphone .app{grid-template-columns:1fr}
.pf-iphone .rail{display:none}
.pf-iphone .main{padding:12px 14px calc(96px + env(safe-area-inset-bottom))}
.pf-iphone .top .seg,.pf-iphone .top .search,.pf-iphone .who .nm{display:none}
.pf-iphone .top{margin-bottom:14px}
.pf-iphone .so-cel{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.pf-iphone .so-cel .search{min-width:0}
.pf-iphone .segcel{overflow-x:auto;padding:4px}
.pf-iphone .segcel button{flex:none;height:34px;padding:0 12px}
.pf-iphone h1{font-size:24px}
.pf-iphone .pagehead{align-items:center}
.pf-iphone .pagehead .btn{width:100%}
.pf-iphone .sel{max-width:none;width:100%}
.pf-iphone .kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pf-iphone .two,.pf-iphone .vhero{grid-template-columns:minmax(0,1fr)!important}
.pf-iphone .form{grid-template-columns:1fr}
.pf-iphone .stage{min-height:0;padding:14px}.pf-iphone .stage .big{height:210px}
.pf-iphone .stage .chip-btn span{display:none}
.pf-iphone .facts{grid-template-columns:1fr 1fr!important}
.pf-iphone .tbl-wrap{overflow-x:auto}
.pf-iphone .bottom{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;justify-content:space-around;padding:8px;border-radius:22px}
.pf-iphone .bottom a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--ink2);text-decoration:none;padding:6px 2px;border-radius:12px;flex:1;min-width:0}
.pf-iphone .bottom a.on{color:var(--ink);background:#fff}
.pf-iphone .modal-bg{padding:0;place-items:end stretch}
.pf-iphone .modal{width:100%;max-height:none;height:100%;border-radius:0;padding:calc(16px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom))}
.pf-iphone .modal .mf{position:sticky;bottom:0;background:rgba(244,245,246,.96);padding-top:10px}
.pf-iphone .modal .mf .btn{flex:1}
.pf-iphone .guia-foto{height:46vh}
.pf-iphone .qr-box{grid-template-columns:1fr}
.pf-iphone .toast{bottom:calc(100px + env(safe-area-inset-bottom))}

/* navegador estreito (celular sem app): mesmos atalhos da tela pequena */
@media (max-width:720px){
  .so-cel{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
  .so-cel .search{min-width:0}
  .segcel{overflow-x:auto;padding:4px}
  .segcel button{flex:none;height:34px;padding:0 12px}
  .sel{max-width:none;width:100%}
  .qr-box{grid-template-columns:1fr}
  .guia-foto{height:42vh}
  .pf-windows .app{grid-template-columns:1fr}
  .pf-windows .atalhos{display:none}
}
