:root{--bg:#0d0d0d;--surface:#ffffff;--surface2:#f5f5f5;--surface3:#ececec;--accent:#f6af0f;--accent-h:#ffca3a;--accent-dim:rgba(246,175,15,0.12);--text:#1a1a1a;--muted:#888;--border:rgba(0,0,0,0.09);--ba:rgba(246,175,15,0.4)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:#e8e8e8;color:var(--text);height:100vh;overflow:hidden;display:flex;flex-direction:column}
header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:58px;background:#fff;border-bottom:1px solid rgba(0,0,0,.1);z-index:100;flex-shrink:0}
.logo-wrap{display:flex;align-items:center;gap:10px}
.logo-svg{height:38px;width:auto}
.logo-symbol{display:none;height:36px;width:auto}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pu 2s infinite}
@keyframes pu{0%,100%{box-shadow:0 0 0 0 rgba(246,175,15,.5)}50%{box-shadow:0 0 0 6px rgba(246,175,15,0)}}
.mt{display:flex;background:#f0f0f0;border-radius:10px;padding:3px;border:1px solid rgba(0,0,0,.1);gap:2px}
.mb{padding:6px 18px;border-radius:8px;border:none;background:transparent;color:#888;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}
.mb.active{background:var(--accent);color:#000;font-weight:700}
.hr{display:flex;align-items:center;gap:10px}
.bo{padding:7px 16px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:transparent;color:#666;font-family:'DM Sans',sans-serif;font-size:13px;cursor:pointer;transition:all .2s}
.bo:hover{border-color:var(--accent);color:var(--accent)}
.bs{padding:7px 16px;border-radius:8px;border:none;background:var(--accent);color:#000;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}
.bs:hover{background:var(--accent-h)}
.main{display:flex;flex:1;overflow:hidden}
.sb{width:330px;background:#fff;border-right:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:width .3s ease,min-width .3s ease,opacity .3s ease}
.sb.collapsed{width:0;min-width:0;border-right:none;opacity:0;pointer-events:none}
.sb-toggle{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:200;width:22px;height:48px;background:#fff;border:1px solid rgba(0,0,0,.12);border-left:none;border-radius:0 8px 8px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#888;transition:left .3s ease,box-shadow .2s;box-shadow:2px 0 6px rgba(0,0,0,.08)}
.sb-toggle:hover{background:var(--accent);color:#000}
.sbh{padding:16px 16px 12px;border-bottom:1px solid rgba(0,0,0,.08)}
.sbt{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px;color:#1a1a1a}
.ad{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.sx{position:relative}
.sx input{width:100%;padding:9px 12px 9px 36px;background:#f0f0f0;border:1px solid rgba(0,0,0,.09);border-radius:9px;color:#1a1a1a;font-family:'DM Sans',sans-serif;font-size:13px;outline:none;transition:border-color .2s}
.sx input:focus{border-color:var(--accent)}
.sx input::placeholder{color:var(--muted)}
.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:0 0 10px 10px;box-shadow:0 4px 16px rgba(0,0,0,.12);z-index:9000;overflow:hidden;display:none}
.search-dropdown.vis{display:block}
.search-dd-item{display:block;width:100%;padding:9px 14px;text-align:left;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:13px;color:#1a1a1a}
.search-dd-item:hover{background:var(--accent-dim);color:var(--accent)}
.search-dd-item:last-child{border-bottom:none}
.search-dd-item .dd-sub{font-size:11px;color:#888;display:block}
.si{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#aaa;font-size:13px}
.fi{padding:10px 16px;border-bottom:1px solid rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:5px}
.fc{padding:4px 11px;border-radius:20px;border:1px solid rgba(0,0,0,.1);background:#fff;color:#888;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s}
.fc:hover,.fc.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}
.rl{flex:1;overflow-y:auto;padding:10px;background:#f8f8f8}
.rl::-webkit-scrollbar{width:3px}
.rl::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}
.rc{font-size:11px;color:#999;padding:4px 6px 10px}
.rc strong{color:var(--accent)}
.card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:11px;padding:12px;margin-bottom:7px;cursor:pointer;transition:all .18s;position:relative;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:3px 0 0 3px;opacity:0;transition:opacity .18s}
.cc::before{background:#fff}
.card:hover{border-color:rgba(246,175,15,.35);transform:translateX(2px)}
.card:hover::before{opacity:1}
.card.sel{border-color:var(--accent);background:rgba(246,175,15,.08)}
.card.sel::before{opacity:1}
.cc.sel{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.04)}
.ct{display:flex;align-items:flex-start;margin-bottom:8px}
.cl{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:13px;flex-shrink:0}
.lj{background:var(--accent);color:#000}
.lc{background:#2a2a2a;color:#fff;border:1px solid rgba(0,0,0,.1)}
.ci{flex:1;padding-left:9px}
.ctl{font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;font-weight:700;line-height:1.3;margin-bottom:2px;color:#1a1a1a}
.cs{font-size:11px;color:#999}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.tag{display:inline-flex;align-items:center;min-height:26px;min-width:32px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap;line-height:1;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.ty{background:rgba(246,175,15,.12);color:var(--accent)}
.td{background:#f0f0f0;color:#666}
.cf{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding-top:8px;border-top:1px solid rgba(0,0,0,.07)}
.cloc{font-size:10px;color:#aaa}
.cdist{font-size:10px;color:var(--accent);font-weight:600}
.ma{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}
.mb2{width:100%;height:100%;background:#f0ede8;position:relative}

svg.roads{position:absolute;inset:0;pointer-events:none;opacity:1}
.mc,.mcs{position:absolute;top:64px;right:14px;display:flex;flex-direction:column;gap:4px;z-index:20}
.mcb{width:34px;height:34px;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:7px;box-shadow:0 1px 4px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;font-size:16px;transition:all .2s;user-select:none}
.mcb:hover{color:var(--accent);border-color:rgba(246,175,15,.5)}
.mk{position:absolute;cursor:pointer;transform:translate(-50%,-100%);transition:transform .18s;z-index:10}
.mk:hover{transform:translate(-50%,-100%) scale(1.15);z-index:20}
.mk.sel{z-index:30}
.mp{width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.35);position:relative}
.mp::after{content:'';position:absolute;width:7px;height:7px;background:rgba(255,255,255,.2);border-radius:50%;top:5px;left:5px}
.mi{transform:rotate(45deg);font-size:14px;line-height:1}
.jm .mp{background:var(--accent)}
.cm .mp{background:#555}
.mlb{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;font-weight:600;color:var(--text);background:rgba(0,0,0,.75);padding:2px 5px;border-radius:4px;opacity:0;transition:opacity .15s;pointer-events:none}
.mk:hover .mlb{opacity:1}
.pp{position:absolute;z-index:50;width:320px;max-height:500px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:15px;box-shadow:0 4px 20px rgba(0,0,0,.2);display:none;flex-direction:column}
.pp.vis{display:block}
@keyframes pI{from{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
/* Animações de entrada */
.pp.vis{animation:fadeSlideIn 200ms ease-out}
.epm-box{animation:fadeSlideIn 200ms ease-out}
#outrosModal > div{animation:fadeSlideIn 200ms ease-out}
#profileMenu{animation:fadeIn 150ms ease-out}
.card{animation:fadeIn 150ms ease-out}
/* Respeitar preferência do usuário */
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
.pph{padding:14px;border-bottom:1px solid rgba(0,0,0,.08);position:relative}
.ppc{position:absolute;top:10px;right:10px;width:22px;height:22px;background:#f0f0f0;border:none;border-radius:5px;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px}
.ppl{width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:16px;margin-bottom:9px}
.plj{background:var(--accent);color:#000}
.plc{background:var(--surface3);color:#fff;border:1px solid rgba(255,255,255,.12)}
.ppt{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;line-height:1.3;color:#1a1a1a}
.pps{font-size:11px;color:#888;margin-top:2px}
.ppb{padding:12px 14px}
.ppd{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-size:11.5px;color:#888}
.ppd strong{color:var(--text);font-weight:500}
.ppa{display:flex;gap:7px;padding:10px 14px;border-top:1px solid rgba(0,0,0,.08)}
.pabp{flex:1;padding:9px;border-radius:8px;border:none;background:var(--accent);color:#000;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s}
.pabp:hover{background:var(--accent-h)}
.pabs{padding:9px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:transparent;color:#888;font-size:12px;cursor:pointer;transition:all .2s}
.pabs:hover{border-color:var(--ba);color:var(--accent)}
.mo{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.mo.vis{display:flex}
.md{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;max-width:460px;max-height:85vh;overflow-y:auto;animation:pI .22s cubic-bezier(.34,1.56,.64,1)}
.md::-webkit-scrollbar{width:0}
.mdh{padding:22px 22px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.mdt{font-family:'Plus Jakarta Sans',sans-serif;font-size:17px;font-weight:800}
.mdt span{color:var(--accent)}
.mdc{width:30px;height:30px;background:var(--surface2);border:none;border-radius:7px;color:var(--muted);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
.mdb{padding:18px 22px}
.fg{margin-bottom:14px}
.fl{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}
.fi2,.fse,.fta{width:100%;padding:9px 13px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:13px;outline:none;transition:border-color .2s}
.fi2:focus,.fse:focus,.fta:focus{border-color:var(--accent)}
.fi2::placeholder,.fta::placeholder{color:var(--muted)}
.fse{cursor:pointer;appearance:none}
.fse option{background:var(--surface2)}
.fta{resize:vertical;min-height:75px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* Endereço 3-colunas: Bairro 25% / Cidade auto / Estado fixo */
.fg-row.addr3{display:grid;grid-template-columns:25% 1fr 80px;gap:10px}
/* Meu Cadastro — linha Bairro+Cidade+Estado */
.mc-addr-row{display:flex;gap:8px;align-items:flex-start}
.mc-addr-row .mc-bairro{flex:2;min-width:0}
.mc-addr-row .mc-cidade{flex:3;min-width:0}
.mc-addr-row .mc-estado{flex:0 0 54px;max-width:54px;min-width:0}
/* Alinhar alturas: inputs e selects explícitos */
input.fi2,.fse{height:42px;box-sizing:border-box}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator{cursor:pointer}
.cg{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ci2{display:flex;align-items:center;gap:7px;padding:7px 9px;background:var(--surface2);border:1px solid var(--border);border-radius:7px;cursor:pointer;font-size:11.5px;color:var(--muted)}
.ci2:hover{border-color:var(--ba);color:var(--text)}
.ci2 input{accent-color:var(--accent)}
.mdf{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:9px}
.bf{flex:1;padding:11px;border-radius:9px;border:none;background:var(--accent);color:#000;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}
.bf:hover{background:var(--accent-h);transform:translateY(-1px)}
.tg{display:flex;background:var(--surface2);border-radius:9px;padding:3px;border:1px solid var(--border);margin-bottom:14px}
.tb{flex:1;padding:7px;border-radius:6px;border:none;background:transparent;color:var(--muted);font-family:'DM Sans',sans-serif;font-size:13px;cursor:pointer;transition:all .2s}
.tb.active{background:var(--surface3);color:var(--text);font-weight:600;border:1px solid var(--border)}
.ua{width:36px;height:36px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:800;color:#000;cursor:pointer;box-shadow:0 2px 8px rgba(245,166,35,.4);transition:transform .2s}.ua:hover{transform:scale(1.08)}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(80px);background:#fff;border:1px solid rgba(246,175,15,.4);border-radius:11px;padding:11px 18px;display:flex;align-items:center;gap:9px;font-size:13px;color:#1a1a1a;z-index:300;transition:transform .3s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;box-shadow:0 8px 30px rgba(0,0,0,.15)}
.toast.sh{transform:translateX(-50%) translateY(0)}
.udw{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.udr{width:56px;height:56px;border-radius:50%;background:rgba(66,133,244,.08);border:1.5px dashed rgba(66,133,244,.3);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:rp 2.5s ease-in-out infinite}
@keyframes rp{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:800px 100%;animation:shimmer 1.4s infinite;border-radius:6px}
.skeleton-card{pointer-events:none;cursor:default}
.udc{width:13px;height:13px;border-radius:50%;background:#4285f4;border:2px solid #fff;box-shadow:0 0 0 3px rgba(66,133,244,.3);position:relative;z-index:5}
