:root{--bg:#F2F6FB;--card:#fff;--ink:#14233B;--mut:#5B6B85;--line:#DCE4F0;--azul:#1E3F73;--azul2:#2F6BC4;--ouro:#F2A93B;--verde:#1F9D74;--verdeb:#DDF5EC;--ourob:#FFF0D6;--red:#C93D3D;--btn2t:#fff;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0E1626;--card:#16223A;--ink:#EAF0FA;--mut:#9FB0C9;--line:#26365A;--azul:#7FB0F5;--azul2:#5B97EE;--verdeb:#12382E;--ourob:#3A2D12;--btn2t:#0E1626;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0E1626;--card:#16223A;--ink:#EAF0FA;--mut:#9FB0C9;--line:#26365A;--azul:#7FB0F5;--azul2:#5B97EE;--verdeb:#12382E;--ourob:#3A2D12;--btn2t:#0E1626;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Nunito,system-ui,sans-serif}
h1,h2,h3{font-family:Sora,system-ui,sans-serif;margin:0}
.hero{background:linear-gradient(135deg,#17315E,#2F6BC4);color:#fff;padding:28px 20px 70px}
.wrap{max-width:1040px;margin:0 auto}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font:800 18px Sora,sans-serif}
.logo i{width:34px;height:34px;border-radius:10px;background:var(--ouro);display:grid;place-items:center;color:#17315E;font-style:normal}
.hero h1{font-size:clamp(26px,5vw,40px);line-height:1.15;margin:26px 0 8px;max-width:680px}
.hero p{margin:0;opacity:.88;max-width:560px}
button{font:700 15px Nunito,sans-serif;cursor:pointer;border:0;border-radius:12px;padding:11px 18px;transition:transform .15s}
button:active{transform:scale(.97)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ouro);outline-offset:2px}
.b1{background:var(--ouro);color:#17315E}.b2{background:var(--azul);color:var(--btn2t)}
.b3{background:transparent;border:2px solid var(--line);color:var(--ink)}
.ghost{background:rgba(255,255,255,.16);color:#fff}
.bd{background:#fff0f0;color:var(--red)}
main{margin:-46px auto 40px;padding:0 16px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.st{background:var(--card);border-radius:16px;padding:14px 16px;border:1px solid var(--line);box-shadow:0 6px 18px rgba(20,35,59,.08)}
.st b{display:block;font:800 26px Sora,sans-serif;color:var(--azul)}.st span{color:var(--mut);font-size:14px}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:18px}
input,select,textarea{width:100%;font:16px Nunito,sans-serif;padding:11px 13px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink)}
textarea{min-height:70px;resize:vertical}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px;border-top:5px solid var(--ouro)}
.card h3{font-size:19px;color:var(--azul)}
.meta{color:var(--mut);font-size:14px}
.pill{display:inline-block;background:var(--verdeb);color:var(--verde);border-radius:99px;padding:3px 11px;font-size:13px;font-weight:700;margin:0 6px 6px 0}
.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.row.s{gap:14px;font-size:14px;color:var(--mut)}.row.s b{color:var(--ink)}
.empty{grid-column:1/-1;text-align:center;padding:40px 16px;color:var(--mut);background:var(--card);border-radius:20px;border:2px dashed var(--line)}
dialog{border:0;border-radius:22px;padding:0;width:min(600px,94vw);max-height:92vh;background:var(--card);color:var(--ink)}
dialog::backdrop{background:rgba(10,18,34,.6)}
.dh{padding:20px 22px 0;display:flex;justify-content:space-between;align-items:center}
.db{padding:16px 22px 22px;overflow:auto}
.f{display:grid;grid-template-columns:1fr 1fr;gap:12px}.f .w{grid-column:1/-1}
label{font-weight:700;font-size:14px;display:block;margin-bottom:4px}
.adm{background:var(--ourob);color:#B97308;border-radius:14px;padding:10px 14px;margin-bottom:14px;display:none;font-weight:700;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.admin .adm{display:flex}.only{display:none}body.admin .only{display:inline-block}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--azul);color:var(--btn2t);padding:11px 20px;border-radius:99px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .25s}
.toast.on{opacity:1}
@media(max-width:640px){.filters,.f{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.rota{display:inline-block;background:var(--verdeb);color:var(--verde);padding:3px 12px;border-radius:99px;font-weight:700;text-decoration:none}
.rota:hover{text-decoration:underline}
.card{padding:0;overflow:hidden;border-top:0}
.cb{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.ph{aspect-ratio:16/9;background:linear-gradient(135deg,#17315E,#2F6BC4);display:grid;place-items:center;border-bottom:5px solid var(--ouro)}
.ph span{font-size:44px;color:rgba(255,255,255,.55)}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ct{display:inline-flex;align-items:center;padding:11px 16px;border-radius:12px;font:700 15px Nunito,sans-serif;text-decoration:none;color:#fff}
.ct.wa{background:#1F9D55}.ct.mail{background:var(--azul2)}.ct.go{background:var(--azul)}.ct.waze{background:#2AA6D6}
:root[data-theme="dark"] .ct.go{color:#0E1626}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ct.go{color:#0E1626}}
#det{width:min(720px,94vw)}
.dfoto{width:100%;border-radius:14px;margin-bottom:12px;max-height:280px;object-fit:cover}
.mapa{width:100%;height:300px;border:0;border-radius:14px;background:var(--line)}
.sec{grid-column:1/-1;font:700 15px Sora,sans-serif;color:var(--azul);margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}
.hint{font-size:13px;color:var(--mut);margin-top:4px;min-height:18px}
.hint.ok{color:var(--verde)}.hint.bad{color:var(--red)}
.fprev{display:block;max-width:100%;max-height:180px;border-radius:12px;margin:10px 0}
input[type=file]{padding:9px}
