:root{--green: #1E5446;--green-dark: #143A30;--green-deep: #0E2A22;--gold: #C19037;--gold-l: #D8B05A;--ink: #23332E;--muted: #7C8C85;--cream: #FBF7EF;--cream-line: #ECE3D2;--bg: #f7f7f7;--white: #ffffff;--danger: #b3372f;--radius: 14px;--shadow: 0 6px 22px rgba(14, 42, 34, .12);--shadow-lg: 0 18px 50px rgba(14, 42, 34, .28)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.mono{font-variant-numeric:tabular-nums;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:relative;z-index:30;display:flex;align-items:center;gap:16px;padding:10px 18px;background:radial-gradient(120% 130% at 18% -30%,#2A6B59 0%,var(--green) 48%,var(--green-deep) 100%);color:#fcfaf4;box-shadow:0 2px 14px #0e2a2259}.brand{display:flex;align-items:center;gap:11px}.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:9px;background:#fff;padding:4px}.brand-txt{display:flex;flex-direction:column;line-height:1.15}.brand-txt strong{font-size:15px;letter-spacing:.06em}.brand-txt span{font-size:11px;color:#c9dcd4;letter-spacing:.04em}.nav{display:flex;gap:6px;margin-left:8px}.nav-btn{background:transparent;border:1px solid transparent;color:#dceae4;padding:8px 16px;border-radius:999px;font-size:13.5px;font-weight:600;transition:.15s}.nav-btn:hover{background:#ffffff1a}.nav-btn.active{background:var(--gold);color:#2a1c05;border-color:var(--gold-l)}.role-pill{margin-left:auto;font-size:12.5px;font-weight:700;background:#ffffff24;padding:7px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.18);white-space:nowrap}.catalogo{padding:16px 18px 80px;max-width:1280px;width:100%;margin:0 auto}.catalogo-head{position:sticky;top:0;z-index:20;background:var(--bg);padding:10px 0}.searchbar{display:flex;align-items:center;gap:10px;background:var(--white);border:1.5px solid var(--cream-line);border-radius:999px;padding:4px 14px;box-shadow:var(--shadow)}.searchbar:focus-within{border-color:var(--green)}.search-ico{font-size:15px;opacity:.7}.search-input{flex:1;border:0;outline:0;padding:11px 0;font-size:15px;background:transparent;color:var(--ink)}.search-clear{border:0;background:var(--cream-line);border-radius:999px;width:24px;height:24px;color:var(--ink)}.search-count{font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap}.labtabs{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:thin}.labtabs::-webkit-scrollbar{height:6px}.labtabs::-webkit-scrollbar-thumb{background:var(--cream-line);border-radius:999px}.lab-chip{flex:0 0 auto;border:1.5px solid var(--cream-line);background:var(--white);color:var(--ink);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px;transition:.15s}.lab-chip i{font-style:normal;font-size:11px;background:var(--cream);color:var(--muted);padding:1px 7px;border-radius:999px}.lab-chip:hover{border-color:var(--green)}.lab-chip.active{background:var(--green);color:#fff;border-color:var(--green)}.lab-chip.active i{background:#fff3;color:#fff}.grid{margin-top:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.tile{border:1px solid var(--cream-line);background:var(--white);border-radius:var(--radius);padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .14s,box-shadow .14s;min-height:0}.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.tile-img{--pad: 12px;aspect-ratio:1 / 1;position:relative;display:flex;align-items:center;justify-content:center;background:#fff;padding:var(--pad);border-bottom:1px solid var(--cream-line)}.tile-img img{position:absolute;inset:var(--pad);width:calc(100% - var(--pad) * 2);height:calc(100% - var(--pad) * 2);object-fit:contain}.tile-noimg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-size:20px;align-self:center;text-align:center}.tile-noimg span{font-size:10.5px;line-height:1.2;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.tile-info{padding:9px 11px 12px;display:flex;flex-direction:column;gap:3px}.tile-lab{font-size:10.5px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.05em}.tile-nome{font-size:11.5px;font-weight:600;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.empty{text-align:center;color:var(--muted);padding:60px 20px;font-size:15px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0e2a228c;display:flex;align-items:center;justify-content:center;padding:18px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card{background:var(--white);border-radius:20px;width:min(560px,100%);max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg);position:relative;animation:pop .18s ease}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.card-close{position:absolute;top:12px;right:12px;z-index:2;border:0;width:34px;height:34px;border-radius:999px;background:#0000000f;font-size:15px;color:var(--ink)}.card-img{background:#fff;padding:26px;display:flex;align-items:center;justify-content:center;min-height:240px;border-bottom:1px solid var(--cream-line);border-radius:20px 20px 0 0}.card-img img{max-width:100%;max-height:320px;object-fit:contain}.card-body{padding:20px 22px 24px}.card-lab{font-size:12px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}.card-nome{font-size:18px;margin:6px 0 16px;line-height:1.3;color:var(--green-dark)}.card-attrs{margin:0;display:grid;gap:12px}.card-attrs dt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.card-attrs dd{margin:3px 0 0;font-size:15px;font-weight:600}.card-soon{margin-top:18px;padding:12px 14px;background:var(--cream);border:1px dashed var(--cream-line);border-radius:12px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:9px}.soon-pill{background:var(--gold);color:#2a1c05;font-weight:800;font-size:10px;text-transform:uppercase;padding:3px 8px;border-radius:999px;letter-spacing:.04em}.admin{padding:18px;max-width:1180px;width:100%;margin:0 auto}.admin-note{background:#fff;border:1px solid var(--cream-line);border-left:4px solid var(--gold);border-radius:12px;padding:13px 16px;font-size:13.5px;color:var(--ink);box-shadow:var(--shadow)}.admin-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:18px}.admin-form,.admin-labs{background:#fff;border:1px solid var(--cream-line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.admin-form h3,.admin-labs h3,.admin-list h3{margin:0 0 14px;color:var(--green-dark);font-size:16px}.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:13px}.admin-form input{border:1.5px solid var(--cream-line);border-radius:10px;padding:11px 12px;font-size:14px;color:var(--ink);font-weight:500}.admin-form input:focus{outline:0;border-color:var(--green)}.admin-preview{max-height:130px;object-fit:contain;align-self:start;border:1px solid var(--cream-line);border-radius:10px;padding:6px;background:#fff;margin-bottom:12px}.btn-primary{background:var(--green);color:#fff;border:0;border-radius:10px;padding:12px 16px;font-weight:700;font-size:14px;transition:.15s}.btn-primary:hover{background:var(--green-dark)}.btn-danger{background:#fbeceb;color:var(--danger);border:1px solid #f1cdc9;border-radius:8px;padding:6px 12px;font-weight:700;font-size:12.5px}.btn-danger:hover{background:var(--danger);color:#fff}.lab-list{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}.lab-list li{display:flex;justify-content:space-between;align-items:center;padding:9px 4px;border-bottom:1px solid var(--cream-line);font-size:13.5px}.lab-list i{font-style:normal;background:var(--cream);color:var(--muted);padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700}.vend-list{list-style:none;margin:16px 0 0;padding:0}.vend-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--cream-line)}.vend-info{display:flex;flex-direction:column;line-height:1.25}.vend-info b{font-size:14px;color:var(--ink)}.vend-info i{font-style:normal;font-size:12px;color:var(--muted)}.vend-empty{color:var(--muted);font-size:13px;justify-content:flex-start!important}.admin-integra{display:flex;flex-direction:column}.integra-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px dashed var(--cream-line);border-radius:12px;background:var(--bg);text-align:center;align-items:center}.integra-ico{font-size:30px}.integra-card strong{color:var(--green-dark);font-size:14.5px}.integra-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5}.integra-fields{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:4px}.integra-fields input{border:1.5px solid var(--cream-line);border-radius:10px;padding:10px 12px;font-size:13px;background:#fff;color:var(--muted)}.integra-card .btn-primary{width:100%;opacity:.55;cursor:not-allowed}.integra-status{font-size:12px;font-weight:700;color:#b08900}.admin-list{background:#fff;border:1px solid var(--cream-line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-top:18px}.admin-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.admin-search{border:1.5px solid var(--cream-line);border-radius:999px;padding:9px 14px;font-size:13px;min-width:220px}.admin-search:focus{outline:0;border-color:var(--green)}.ptable{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.ptable th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:8px;border-bottom:2px solid var(--cream-line)}.ptable td{padding:8px;border-bottom:1px solid var(--cream-line);vertical-align:middle}.ptable-img{width:40px;height:40px;object-fit:contain;background:#fff}.ptable-nome{font-weight:600;max-width:320px}.ptable-noimg{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--cream);border:1px dashed var(--cream-line);border-radius:6px;font-size:16px}.row-inativo{opacity:.55}.admin-hint{color:var(--muted);font-size:12.5px;margin-top:12px}.badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;padding:3px 10px;border-radius:999px;text-transform:uppercase}.badge-ativo{background:#e3f1e8;color:#1e5446}.badge-inativo{background:#f3e4e2;color:#b3372f}.admin-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--white);border:1px solid var(--cream-line);color:var(--ink);border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:600;cursor:pointer}.chip i{font-style:normal;font-weight:800;font-size:11px;background:var(--cream);color:var(--muted);border-radius:999px;padding:1px 8px}.chip.active{background:var(--green);border-color:var(--green);color:#fff}.chip.active i{background:#ffffff38;color:#fff}.toggle{border:0;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;padding:5px 12px;cursor:pointer;text-transform:uppercase}.toggle-on{background:var(--green);color:#fff}.toggle-off{background:#f3e4e2;color:#b3372f}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.admin-stats .stat{background:var(--white);border:1px solid var(--cream-line);border-radius:12px;padding:12px 16px;text-align:left;font:inherit}.admin-stats .stat b{display:block;font-size:26px;line-height:1;color:var(--ink)}.admin-stats .stat span{font-size:12px;color:var(--muted)}.admin-stats .stat-ok b{color:var(--green)}.admin-stats .stat-alert{cursor:pointer;background:#fcf3e4;border-color:#e9c879}.admin-stats .stat-alert b{color:#9a6b12}.admin-stats .stat-alert:hover{background:#faebd1}.admin-import{background:var(--white);border:1px solid var(--cream-line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);margin-bottom:22px}.admin-import h3{margin:0 0 8px}.admin-import-hint{color:var(--muted);font-size:13px;margin:0 0 14px;max-width:780px}.import-drop{display:inline-flex;align-items:center;gap:10px;border:1.5px dashed var(--gold);background:var(--cream);color:#7a5a16;border-radius:12px;padding:14px 20px;font-weight:700;font-size:13.5px;cursor:pointer}.import-drop input{display:none}.import-erro{margin-top:12px;color:var(--danger);font-size:13px;font-weight:600}.import-preview{margin-top:16px;border-top:1px solid var(--cream-line);padding-top:14px}.import-resumo{display:flex;flex-wrap:wrap;gap:18px;font-size:14px}.import-resumo b{font-size:18px}.import-resumo .ip-novos b{color:var(--green)}.import-split{font-size:12.5px;color:var(--muted);margin:8px 0 6px}.import-lista{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.import-lista li{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:5px 8px;background:var(--cream);border-radius:8px}.import-lista .dot{width:8px;height:8px;border-radius:50%;flex:none}.import-lista .dot.on{background:var(--green)}.import-lista .dot.off{background:#cbb6b3}.import-lista .il-nome{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-lista i{color:var(--muted);font-style:normal}.import-lista em{color:var(--gold);font-style:normal;font-weight:700;font-size:11.5px}.import-lista .il-mais{justify-content:center;color:var(--muted);background:none}.import-acoes{display:flex;gap:10px;margin-top:14px}.btn-ghost{background:none;border:1px solid var(--cream-line);color:var(--muted);border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer}@media (max-width: 720px){.admin-stats{grid-template-columns:repeat(2,1fr)}}.ai-fab{position:fixed;right:18px;bottom:18px;z-index:40;background:var(--gold);color:#2a1c05;border:0;border-radius:999px;padding:13px 20px;font-weight:800;font-size:14px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px}.ai-fab:hover{background:var(--gold-l)}.ai-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0e2a2266;display:flex;justify-content:flex-end}.ai-panel{background:var(--bg);width:min(440px,100%);height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slidein .2s ease}@keyframes slidein{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.ai-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--green);color:#fff}.ai-head strong{font-size:15px}.ai-badge{display:block;font-size:10.5px;color:#c9dcd4;font-weight:700;letter-spacing:.05em;margin-top:2px}.ai-head .card-close{position:static;background:#ffffff2e;color:#fff}.ai-body{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.ai-msg{display:flex;flex-direction:column;gap:8px;max-width:92%}.ai-msg.user{align-self:flex-end;align-items:flex-end}.ai-msg.bot{align-self:flex-start}.ai-bubble{padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.45;box-shadow:var(--shadow)}.ai-msg.bot .ai-bubble{background:#fff;color:var(--ink);border-bottom-left-radius:4px}.ai-msg.user .ai-bubble{background:var(--green);color:#fff;border-bottom-right-radius:4px}.ai-results{display:flex;flex-direction:column;gap:8px;width:100%}.ai-result{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--cream-line);border-radius:12px;padding:9px;text-align:left;box-shadow:var(--shadow);transition:.14s}.ai-result:hover{border-color:var(--gold);transform:translate(2px)}.ai-result img{width:46px;height:46px;object-fit:contain;background:#fff;flex:0 0 auto}.ai-result span{display:flex;flex-direction:column;gap:3px;min-width:0}.ai-result b{font-size:12.5px;line-height:1.25;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-result i{font-style:normal;font-size:11px;color:var(--muted)}.ai-suggest{display:flex;flex-wrap:wrap;gap:8px}.ai-suggest button{background:#fff;border:1px solid var(--cream-line);border-radius:999px;padding:8px 13px;font-size:12.5px;color:var(--green-dark);font-weight:600}.ai-suggest button:hover{border-color:var(--gold)}.ai-disclaimer{padding:9px 16px;font-size:11.5px;color:var(--muted);background:#fff;border-top:1px solid var(--cream-line)}.ai-input{display:flex;gap:8px;padding:12px 14px;background:#fff;border-top:1px solid var(--cream-line)}.ai-input input{flex:1;border:1.5px solid var(--cream-line);border-radius:999px;padding:11px 15px;font-size:14px}.ai-input input:focus{outline:0;border-color:var(--green)}.ai-input .btn-primary{border-radius:999px;padding:11px 18px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(120% 130% at 18% -30%,#2A6B59 0%,var(--green) 48%,var(--green-deep) 100%)}.login-card{background:var(--white);border-radius:20px;box-shadow:var(--shadow-lg);padding:32px 28px;width:min(400px,100%);display:flex;flex-direction:column}.login-logo{width:72px;height:72px;object-fit:contain;align-self:center;background:#fff;border-radius:16px;padding:6px;border:1px solid var(--cream-line)}.login-card h1{text-align:center;color:var(--green-dark);font-size:20px;margin:14px 0 2px}.login-sub{text-align:center;color:var(--muted);font-size:13px;margin:0 0 22px}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:14px}.login-card input{border:1.5px solid var(--cream-line);border-radius:10px;padding:13px 14px;font-size:16px;color:var(--ink)}.login-card input:focus{outline:0;border-color:var(--green)}.login-erro{color:var(--danger);font-size:13px;font-weight:600;margin-bottom:12px}.login-btn{padding:14px;font-size:15px}.login-btn:disabled{opacity:.6;cursor:wait}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px}.offline-banner{background:#4a3d13;color:#f4e3b8;font-size:13px;font-weight:600;text-align:center;padding:9px 14px}.top-user{margin-left:auto;display:flex;align-items:center;gap:8px}.top-user .role-pill{margin-left:0}.btn-sair{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#dceae4;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700}.btn-sair:hover{background:#ffffff38}.btn-mais{display:block;margin:20px auto 0;background:var(--white);border:1.5px solid var(--cream-line);color:var(--green-dark);border-radius:999px;padding:12px 24px;font-weight:700;font-size:14px;box-shadow:var(--shadow)}.btn-mais:hover{border-color:var(--green)}.admin-erro{background:#fbeceb;border:1px solid #f1cdc9;color:var(--danger);border-radius:12px;padding:12px 16px;font-size:13.5px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:12px;justify-content:space-between}.admin-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;font-size:13px;color:var(--muted)}.admin-form-hint{font-size:12px;color:var(--muted);margin:0 0 14px}.import-busy{opacity:.65;cursor:wait}.fotos-box{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px;border-top:1px solid var(--cream-line);padding-top:14px}.fotos-txt{flex:1 1 320px}.fotos-txt strong{color:var(--green-dark);font-size:14px}.fotos-txt p{margin:4px 0 0;font-size:12.5px;color:var(--muted)}.fotos-progresso{display:flex;flex-direction:column;gap:6px;min-width:240px;font-size:12.5px;color:var(--muted)}.fotos-progresso progress{width:100%;accent-color:var(--green)}.fotos-resultado{font-size:12.5px;color:var(--green-dark);font-weight:600;margin:8px 0 0}.tile-cod{font-size:10px;color:var(--muted)}.admin-stats .stat{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.admin-stats .stat:hover{border-color:var(--green)}.admin-stats .stat:active{transform:scale(.97)}.admin-stats .stat-active{border-color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green),var(--shadow)}.ptable-acoes{white-space:nowrap}.btn-editar{padding:6px 12px;font-size:12.5px;margin-right:6px;color:var(--green-dark);border-color:#cfdcd5}.btn-editar:hover{border-color:var(--green)}.edit-card{display:flex;flex-direction:column}.edit-foto{background:#fff;border-bottom:1px solid var(--cream-line);border-radius:20px 20px 0 0;padding:22px;display:flex;flex-direction:column;align-items:center;gap:12px}.edit-foto img{max-height:200px;max-width:100%;object-fit:contain}.edit-foto-acoes{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.edit-btn-foto{cursor:pointer;color:var(--green-dark);border-color:#cfdcd5;display:inline-flex;align-items:center}.edit-btn-foto:hover{border-color:var(--green)}.edit-body{padding:18px 22px 22px;display:flex;flex-direction:column}.edit-body label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:13px}.edit-body input{border:1.5px solid var(--cream-line);border-radius:10px;padding:12px;font-size:15px;color:var(--ink)}.edit-body input:focus{outline:0;border-color:var(--green)}.edit-body input:disabled{background:var(--cream);color:var(--muted)}.edit-acoes{display:flex;gap:10px;margin-top:4px}.edit-acoes .btn-primary{flex:1}.footer{margin-top:auto;padding:18px;text-align:center;font-size:11.5px;color:var(--muted)}.btn-atualizar{display:inline-flex;align-items:center;gap:7px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#dceae4;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700;white-space:nowrap}.btn-atualizar:disabled{opacity:.75;cursor:default}.atualizar-ico{display:inline-block;font-size:15px;line-height:1}.btn-atualizar.girando .atualizar-ico{animation:girar .9s linear infinite}@keyframes girar{to{transform:rotate(360deg)}}.install-banner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:44;display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--cream-line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow-lg);animation:sheet .25s ease}.install-ico{font-size:26px}.install-txt{flex:1;min-width:0}.install-txt strong{display:block;font-size:13.5px;color:var(--green-dark)}.install-txt p{margin:3px 0 0;font-size:12px;color:var(--muted);line-height:1.45}.install-share{vertical-align:-2px;color:var(--green)}.install-acoes{display:flex;flex-direction:column;gap:6px}.install-btn{padding:9px 16px;font-size:13px}.install-later{font-size:12px;color:var(--muted);padding:5px 8px}.app:has(.nav) .install-banner{bottom:calc(80px + env(safe-area-inset-bottom))}@media (min-width: 1101px){.install-banner{display:none}}@media (max-width: 1100px){#root input,#root select,#root textarea{font-size:16px}html{touch-action:manipulation}html,body{overflow-x:hidden;overflow-x:clip}.admin-list{overflow-x:auto}}@media (max-width: 760px){.atualizar-txt{display:none}.btn-atualizar{padding:8px 12px}}button,.tile,.lab-chip,.chip,.stat{-webkit-tap-highlight-color:transparent}.tile:active{transform:scale(.97);box-shadow:var(--shadow)}.lab-chip:active,.chip:active,.btn-primary:active,.btn-mais:active{transform:scale(.96)}@media (max-width: 760px){.topbar{padding:8px 14px;padding-top:max(8px,env(safe-area-inset-top));gap:10px}.brand-logo{width:34px;height:34px;border-radius:8px}.brand-txt strong{font-size:13.5px}.brand-txt span,.role-pill{display:none}.btn-sair{padding:8px 14px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:45;margin:0;display:flex;gap:0;justify-content:stretch;background:#0e2a22f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.12);padding:6px 10px calc(6px + env(safe-area-inset-bottom))}.nav-btn{flex:1;padding:12px 8px;font-size:13.5px;border-radius:12px}.app:has(.nav) .catalogo,.app:has(.nav) .admin{padding-bottom:92px}.app:has(.nav) .footer{padding-bottom:76px}.catalogo{padding:10px 12px 60px}.catalogo-head{top:0;padding:8px 0 2px}.search-input{font-size:16px}.search-count{display:none}.labtabs{padding:10px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:none}.labtabs::-webkit-scrollbar{display:none}.lab-chip{padding:11px 16px;scroll-snap-align:start}.grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.tile{border-radius:12px}.tile-img{--pad: 10px}.tile-info{padding:8px 10px 11px}.tile-nome{font-size:12px}.btn-mais{width:100%;padding:14px}.modal-overlay{align-items:flex-end;padding:0}.card{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;animation:sheet .22s ease}.card-img,.edit-foto{border-radius:22px 22px 0 0;min-height:0;padding:20px}.card-img img{max-height:220px}.card-body{padding:16px 18px calc(20px + env(safe-area-inset-bottom))}.admin{padding:12px 12px 60px}.admin-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.admin-stats{gap:8px;margin-bottom:12px}.admin-stats .stat b{font-size:22px}.toggle{padding:10px 16px;font-size:12px}.btn-danger,.btn-editar{padding:10px 14px}.ptable-img{width:32px;height:32px}.ptable th:first-child,.ptable td:first-child{display:none}}@keyframes sheet{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@media (min-width: 761px) and (max-width: 1100px){.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}@media (max-width: 600px){.ptable thead{display:none}.ptable,.ptable tbody{display:block;width:100%}.ptable tr{display:grid;grid-template-columns:52px 1fr;grid-auto-rows:min-content;column-gap:12px;align-items:start;border:1px solid var(--cream-line);border-radius:14px;margin-bottom:10px;padding:12px 14px;background:#fff;box-shadow:var(--shadow)}.ptable td{display:block;border:0;padding:2px 0;grid-column:2}.ptable td:first-child{display:flex;grid-column:1;grid-row:1 / span 4;align-items:flex-start}.ptable-img,.ptable-noimg{width:52px;height:52px;border-radius:10px;border:1px solid var(--cream-line)}.ptable-nome{max-width:none;font-size:13.5px;line-height:1.3}.ptable td.mono{font-size:11.5px;color:var(--muted)}.ptable td:nth-last-child(2){margin-top:6px}.ptable td.ptable-acoes{display:flex;gap:8px;margin-top:8px}.ptable td.ptable-acoes .btn-editar{margin-right:0;flex:1;text-align:center}.admin-list-head{flex-direction:column;align-items:stretch}.admin-search{min-width:0;width:100%;padding:12px 16px}.admin-stats{grid-template-columns:repeat(2,1fr)}.edit-acoes{flex-direction:column}.fotos-box{flex-direction:column;align-items:stretch}.fotos-box .btn-primary{width:100%;padding:14px}}
