#btnCpflCroqui{position:relative}
.cpfl-dimension-hit{display:block;width:52px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
#btnCpflCroqui .cpfl-croqui-menu-icon{display:grid;place-items:center;width:23px;height:23px;border:2px solid #215887;border-radius:5px;color:#215887;font-size:9px;font-weight:900;line-height:1}
.cpfl-croqui-panel{position:fixed;z-index:12050;left:78px;right:16px;bottom:10px;display:none;max-height:min(78dvh,760px);overflow:hidden;border:1px solid #b9c9d8;border-radius:16px;background:#f5f8fb;box-shadow:0 16px 50px #102d4655;color:#263f54}
.cpfl-croqui-panel.open{display:grid;grid-template-rows:auto auto minmax(0,1fr)}
.cpfl-croqui-panel.minimized{right:auto;width:min(690px,calc(100vw - 96px));max-height:none}
.cpfl-croqui-panel.minimized .cpfl-croqui-project,.cpfl-croqui-panel.minimized .cpfl-croqui-workspace{display:none}
.cpfl-croqui-head{display:flex;align-items:center;gap:9px;padding:10px 14px;background:linear-gradient(135deg,#123f6d,#2077ad);color:#fff}
.cpfl-croqui-head-copy{min-width:0;flex:1}.cpfl-croqui-head h3,.cpfl-croqui-head p{margin:0}.cpfl-croqui-head h3{font-size:16px;font-weight:800}.cpfl-croqui-head p{margin-top:2px;font-size:9px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpfl-croqui-head button{min-width:38px;height:36px;padding:0 12px;border:0;border-radius:9px;background:#ffffff24;color:#fff;font-size:11px;font-weight:900;cursor:pointer}.cpfl-croqui-head .save{background:#10a466}.cpfl-croqui-head .danger{background:#b53232;font-size:22px}
.cpfl-croqui-project{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) minmax(110px,.8fr) auto;gap:8px;padding:9px 12px;border-bottom:1px solid #d3dfe9;background:#fff}
.cpfl-croqui-project input,.cpfl-croqui-project textarea{box-sizing:border-box;width:100%;min-height:38px;padding:8px 10px;border:1px solid #becdda;border-radius:8px;font:inherit;font-size:11px}.cpfl-croqui-project textarea{height:38px;resize:none}.cpfl-croqui-project button{padding:8px 14px;border:0;border-radius:8px;background:#e5edf4;color:#28577f;font-size:11px;font-weight:900;cursor:pointer}.cpfl-croqui-project .primary{background:#1c6da3;color:#fff}
.cpfl-croqui-workspace{display:grid;grid-template-columns:160px minmax(0,1fr);min-height:0;overflow:hidden}
.cpfl-croqui-groups{display:grid;align-content:start;gap:6px;padding:9px;border-right:1px solid #d4e0e9;background:#eaf0f5;overflow:auto}.cpfl-croqui-groups button{display:flex;align-items:center;gap:8px;padding:10px 9px;border:0;border-radius:9px;background:#fff;color:#365c79;text-align:left;font-size:10px;font-weight:900;cursor:pointer}.cpfl-croqui-groups button.active{background:#1f6d9f;color:#fff;box-shadow:0 3px 10px #1f6d9f33}
.cpfl-croqui-palette-area{min-width:0;overflow:auto;padding:10px}.cpfl-croqui-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:7px}.cpfl-croqui-tool{display:grid;place-items:center;gap:4px;min-height:76px;padding:7px 5px;border:1px solid #cbd8e2;border-radius:10px;background:#fff;color:#294f6d;font-size:9px;font-weight:800;line-height:1.1;text-align:center;cursor:pointer}.cpfl-croqui-tool:hover{border-color:#3683b6;background:#f1f9ff}.cpfl-croqui-tool.active{border-color:#176fa8;background:#edf7fd;color:#125b8b;box-shadow:0 0 0 2px #176fa833}.cpfl-croqui-tool svg{width:36px;height:36px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cpfl-croqui-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;border:1px solid #d2dee7;border-radius:11px;background:#fff}.cpfl-croqui-controls label{display:flex;align-items:center;gap:5px;color:#456176;font-size:10px;font-weight:800}.cpfl-croqui-controls input[type=color]{width:34px;height:32px;padding:2px;border:1px solid #bdccd8;border-radius:7px}.cpfl-croqui-controls select,.cpfl-croqui-controls textarea{box-sizing:border-box;padding:6px 9px;border:1px solid #bdccd8;border-radius:7px;font:inherit;font-size:10px}.cpfl-croqui-controls select{height:32px}.cpfl-croqui-controls textarea{width:180px;height:44px;resize:vertical;white-space:pre-wrap}.cpfl-croqui-controls button{height:32px;padding:6px 12px;border:0;border-radius:8px;background:#e5edf3;color:#315b7b;font-size:10px;font-weight:900;cursor:pointer}.cpfl-croqui-controls .primary{background:#176fa8;color:#fff}.cpfl-croqui-controls .danger{background:#ffeded;color:#a72c2c}.cpfl-croqui-status{flex:1 1 240px;padding:7px 10px;border-radius:8px;background:#edf5fb;color:#315d7c;font-size:10px;line-height:1.35}.cpfl-croqui-status.error{background:#fee8e8;color:#9d2929}.cpfl-croqui-status.success{background:#e2f4e7;color:#23723d}
.cpfl-croqui-floatbar{position:fixed;z-index:12040;right:14px;top:80px;display:none;gap:12px;flex-direction:column;max-height:calc(100dvh - 90px);pointer-events:none}.cpfl-croqui-floatbar.show{display:flex}.cpfl-float-tools,.cpfl-float-actions{display:flex;gap:7px;flex-direction:column;padding:0;border:0;background:transparent;box-shadow:none;pointer-events:auto}.cpfl-croqui-floatbar button{display:grid;place-items:center;width:46px;height:44px;padding:3px;border:1px solid #b9cad7;border-radius:11px;background:#fffffff6;box-shadow:0 5px 16px #1a3c5445;color:#176fa8;font-size:11px;font-weight:900;cursor:pointer;backdrop-filter:blur(5px)}.cpfl-croqui-floatbar button span{font-size:13px}.cpfl-croqui-floatbar button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cpfl-croqui-floatbar button.active{background:#176fa8;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px #176fa866,0 6px 16px #123f6d55}.cpfl-croqui-floatbar button.danger{color:#a52d2d}.cpfl-tool-toast{position:fixed;z-index:12220;left:50%;top:72px;display:grid;grid-template-columns:36px auto;align-items:center;column-gap:10px;min-width:200px;max-width:min(380px,calc(100vw - 24px));padding:11px 16px;border:1px solid #9fc2dc;border-radius:13px;background:#f8fcffff;color:#174f78;box-shadow:0 8px 30px #102d4655;opacity:0;transform:translate(-50%,-14px);pointer-events:none;transition:opacity .2s,transform .2s}.cpfl-tool-toast.show{opacity:1;transform:translate(-50%,0)}.cpfl-tool-toast svg{grid-row:1/3;width:34px;height:34px;fill:none;stroke:#176fa8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cpfl-tool-toast strong{font-size:13px}.cpfl-tool-toast span{font-size:9px;color:#617b8e}
.cpfl-croqui-manager{position:fixed;z-index:12100;inset:5vh 5vw;display:none;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border-radius:16px;background:#f3f6f9;box-shadow:0 20px 70px #0b243866}.cpfl-croqui-manager.open{display:grid}.cpfl-croqui-manager-head{display:flex;align-items:center;gap:9px;padding:14px 16px;background:linear-gradient(135deg,#123f6d,#2077ad);color:#fff}.cpfl-croqui-manager-head div{flex:1}.cpfl-croqui-manager-head h3,.cpfl-croqui-manager-head p{margin:0}.cpfl-croqui-manager-head p{margin-top:3px;font-size:9px;opacity:.84}.cpfl-croqui-manager-head button{width:36px;height:36px;border:0;border-radius:9px;background:#ffffff22;color:#fff;font-size:20px;cursor:pointer}.cpfl-croqui-search{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:7px;padding:10px;background:#fff;border-bottom:1px solid #d5e0e9}.cpfl-croqui-search input{padding:10px;border:1px solid #bdccd8;border-radius:8px}.cpfl-croqui-search button{padding:9px 13px;border:0;border-radius:8px;background:#1e70a8;color:#fff;font-weight:900}.cpfl-croqui-list{display:grid;align-content:start;gap:8px;padding:10px;overflow:auto}.cpfl-project-card{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;padding:11px;border:1px solid #d4e0e9;border-radius:11px;background:#fff}.cpfl-project-card.expired{border-left:5px solid #c23d35}.cpfl-project-card h4,.cpfl-project-card p{margin:0}.cpfl-project-card h4{color:#244d6c}.cpfl-project-card p{margin-top:5px;color:#647b8d;font-size:9px;white-space:pre-wrap}.cpfl-project-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.cpfl-project-meta span{padding:3px 6px;border-radius:999px;background:#eaf2f7;color:#44677f;font-size:8px}.cpfl-project-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.cpfl-project-actions button{padding:8px;border:0;border-radius:7px;background:#e7eef4;color:#2c5a7d;font-size:8px;font-weight:900;cursor:pointer}.cpfl-project-actions .primary{background:#1d70a7;color:#fff}.cpfl-project-actions .danger{background:#fee8e8;color:#a52c2c}.cpfl-croqui-empty{padding:30px;text-align:center;color:#6f8392}
.cpfl-map-symbol{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:transparent;color:#176fa8;filter:drop-shadow(0 1px 1px #fff) drop-shadow(0 1px 2px #0005);cursor:pointer}.cpfl-map-symbol svg{width:28px;height:28px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cpfl-map-symbol.selected{filter:drop-shadow(0 0 4px #1b82cf)}.cpfl-map-label{display:block;width:max-content;max-width:180px;padding:2px 4px;border:0;background:transparent;color:#176fa8;font:800 9px/1.2 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;filter:drop-shadow(0 1px 1px #fff) drop-shadow(0 1px 2px #0005);cursor:pointer}.cpfl-map-label.boxed{padding:5px 7px;border:1px solid currentColor;border-radius:4px;background:#ffffffeb;box-shadow:0 2px 5px #0003;filter:none}.cpfl-project-chip{position:fixed;z-index:1105;left:82px;top:9px;display:none;align-items:center;gap:7px;max-width:min(520px,calc(100vw - 160px));padding:7px 10px;border:1px solid #bfd0dd;border-radius:10px;background:#fffffff0;box-shadow:0 3px 12px #183a5130;color:#294f6c;font-size:9px}.cpfl-project-chip.show{display:flex}.cpfl-project-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpfl-project-chip button{border:0;background:#e9f0f5;color:#315d7b;border-radius:6px;cursor:pointer}
.cpfl-map-label.style-yellow{border-color:#b78500;background:#fff3a8;color:#5c4300}.cpfl-map-label.style-blue{border-color:#0d4e79;background:#176fa8;color:#fff}.cpfl-text-dialog{position:fixed;inset:0;z-index:12050;display:grid;place-items:center;padding:14px;background:#102b4070;backdrop-filter:blur(3px)}.cpfl-text-dialog[hidden]{display:none}.cpfl-text-dialog-card{width:min(520px,calc(100vw - 24px));overflow:hidden;border:1px solid #bdd0df;border-radius:16px;background:#fff;box-shadow:0 22px 70px #071b2d70;color:#294f6d}.cpfl-text-dialog-card header{display:flex;align-items:center;gap:10px;padding:13px 15px;background:linear-gradient(135deg,#123f6d,#2077ad);color:#fff}.cpfl-text-dialog-card h4{flex:1;margin:0;font-size:15px}.cpfl-text-dialog-card header button{width:34px;height:34px;border:0;border-radius:8px;background:#ffffff22;color:#fff;font-size:22px}.cpfl-text-dialog-body{display:grid;gap:12px;padding:15px}.cpfl-text-dialog-body label{display:grid;gap:5px;font-size:11px;font-weight:800}.cpfl-text-dialog-body small{font-weight:500;color:#718696}.cpfl-text-dialog-body textarea,.cpfl-text-dialog-body select,.cpfl-text-dialog-body input{box-sizing:border-box;width:100%;padding:9px;border:1px solid #bdcedb;border-radius:8px;background:#fff;color:#294f6d;font:inherit}.cpfl-text-dialog-body textarea{resize:vertical;white-space:pre-wrap}.cpfl-text-dialog-grid{display:grid;grid-template-columns:1fr 1.3fr 70px;gap:9px}.cpfl-text-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:11px 15px;border-top:1px solid #dbe5ec;background:#f5f8fa}.cpfl-text-dialog-actions button{min-height:38px;padding:8px 13px;border:0;border-radius:8px;background:#e3ebf1;color:#315d7b;font-weight:900}.cpfl-text-dialog-actions .primary{background:#176fa8;color:#fff}
.cpfl-vertex{box-sizing:border-box;width:16px;height:16px;border:3px solid #176fa8;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0006;cursor:move}

/* CROQUI CPFL 1.5 — paleta de produção */
.cpfl-croqui-workspace{grid-template-columns:minmax(0,1fr) 72px}
.cpfl-croqui-groups{order:2;border-right:0;border-left:1px solid #d4e0e9;padding:8px 7px}
.cpfl-croqui-groups button{display:grid;place-items:center;gap:3px;min-height:56px;padding:6px 3px;text-align:center}
.cpfl-croqui-groups button span{font-size:20px}.cpfl-croqui-groups button b{font-size:8px;line-height:1.1}
.cpfl-croqui-palette-area{order:1}
.cpfl-tool-search{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px;margin-bottom:7px}
.cpfl-tool-search input{box-sizing:border-box;width:100%;height:38px;padding:8px 12px;border:1px solid #b8cbd9;border-radius:9px;background:#fff;color:#294f6d;font:inherit;font-size:11px;outline:none}
.cpfl-tool-search input:focus{border-color:#176fa8;box-shadow:0 0 0 3px #176fa822}.cpfl-tool-search button{border:0;border-radius:9px;background:#e7eef4;color:#315b7b;font-size:20px;cursor:pointer}
.cpfl-edit-toolbar{display:flex;gap:6px;overflow-x:auto;margin-bottom:8px;padding:6px;border:1px solid #d1dee7;border-radius:10px;background:#fff}
.cpfl-edit-toolbar button{flex:0 0 auto;height:34px;padding:6px 11px;border:0;border-radius:8px;background:#e7eef4;color:#315b7b;font-size:10px;font-weight:900;cursor:pointer}.cpfl-edit-toolbar .danger{background:#ffeded;color:#a72c2c}
.cpfl-croqui-tools{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
.cpfl-croqui-tool{grid-template-columns:42px minmax(0,1fr);place-items:center start;min-height:58px;padding:6px 10px;text-align:left}.cpfl-croqui-tool svg{width:34px;height:34px}.cpfl-croqui-tool span{font-size:11px;line-height:1.2;font-weight:800}
.cpfl-tools-empty{grid-column:1/-1;padding:24px;border:1px dashed #b9cbd8;border-radius:10px;background:#fff;color:#698091;text-align:center;font-size:11px}
.cpfl-croqui-controls{margin-top:7px}

.cpfl-croqui-floatbar{right:max(12px,env(safe-area-inset-right));top:76px;bottom:max(10px,env(safe-area-inset-bottom));gap:7px;align-items:flex-end;max-height:none;min-height:0;overflow:visible}
.cpfl-float-edit{display:grid;grid-template-columns:repeat(4,44px);gap:5px;pointer-events:auto}
.cpfl-float-setting{box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;border:1px solid #c1d1dd;border-radius:11px;background:#fffffff2;box-shadow:0 3px 12px #173a5260;pointer-events:auto;cursor:pointer}.cpfl-float-color input{width:27px;height:27px;padding:0;border:0;border-radius:50%;background:transparent;overflow:hidden;cursor:pointer}.cpfl-float-color input::-webkit-color-swatch-wrapper{padding:0}.cpfl-float-color input::-webkit-color-swatch{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #7891a4}.cpfl-float-size select{width:100%;height:100%;padding:0 2px;border:0;background:transparent;color:#245778;font-size:10px;font-weight:900;text-align:center;appearance:none;cursor:pointer}
.cpfl-float-body{position:relative;display:flex;align-items:stretch;gap:8px;min-height:0;max-height:calc(100dvh - 188px - env(safe-area-inset-bottom));pointer-events:none}
.cpfl-float-tools{display:grid;grid-template-columns:repeat(2,46px);align-content:start;gap:8px;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 4px 2px 2px;pointer-events:auto}
.cpfl-float-categories{display:flex;flex-direction:column;gap:8px;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 4px 2px 2px;pointer-events:auto}
.cpfl-float-categories button{width:44px;height:44px}.cpfl-float-categories button span{font-size:20px}
.cpfl-float-drawer{position:absolute;top:0;right:60px;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(320px,calc(100vw - 160px));height:min(100%,560px);max-height:100%;overflow:hidden;border:1px solid #b6cad9;border-radius:14px;background:#f7fbfeee;box-shadow:0 14px 40px #102d4660;backdrop-filter:blur(8px);pointer-events:auto}
.cpfl-float-drawer[hidden]{display:none}.cpfl-float-drawer header{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#176fa8;color:#fff}.cpfl-float-drawer header strong{flex:1;font-size:11px}.cpfl-float-drawer header button{width:29px;height:29px;border-color:#ffffff55;background:#ffffff22;color:#fff;font-size:18px;box-shadow:none}
.cpfl-float-drawer>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:6px;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:8px}
.cpfl-float-drawer>div button{grid-template-columns:32px minmax(0,1fr);place-items:center start;width:auto;min-width:0;height:48px;padding:5px 8px;text-align:left}.cpfl-float-drawer>div button svg{width:30px;height:30px}.cpfl-float-drawer>div button span{min-width:0;font-size:8px;line-height:1.1}
.cpfl-croqui-floatbar.tools-hidden .cpfl-float-body,.cpfl-croqui-floatbar.tools-hidden .cpfl-float-edit button:not(#btnCpflFloatEye),.cpfl-croqui-floatbar.tools-hidden .cpfl-float-setting{display:none}.cpfl-croqui-floatbar.tools-hidden .cpfl-float-edit{grid-template-columns:46px}.cpfl-croqui-floatbar.tools-hidden #btnCpflFloatEye{width:46px;height:46px;background:#176fa8;color:#fff}

/* Rolagem com o dedo: impede o mapa de capturar o gesto dentro das paletas. */
.cpfl-float-tools,.cpfl-float-categories,.cpfl-float-drawer>div{
 touch-action:pan-y;
 -webkit-overflow-scrolling:touch;
 overscroll-behavior:contain;
}

@media(max-width:760px){
 .cpfl-text-dialog-grid{grid-template-columns:1fr 1fr}.cpfl-text-dialog-grid label:last-child{grid-column:1/-1}.cpfl-text-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.cpfl-text-dialog-actions .primary{grid-column:1/-1;grid-row:1}
 .cpfl-croqui-panel{left:4px;right:4px;bottom:calc(4px + env(safe-area-inset-bottom));max-height:72dvh;border-radius:13px}.cpfl-croqui-panel.minimized{left:4px;right:4px;width:auto}.cpfl-croqui-head{gap:4px;padding:6px}.cpfl-croqui-head-copy{flex:1 1 auto}.cpfl-croqui-head h3{font-size:10px}.cpfl-croqui-head p{display:none}.cpfl-croqui-head button{min-width:30px;width:30px;height:30px;padding:0 4px}.cpfl-croqui-head #btnCpflNew,.cpfl-croqui-head #btnCpflManage,.cpfl-croqui-head #btnCpflSave{font-size:0}.cpfl-croqui-head #btnCpflNew::after{content:'＋';font-size:16px}.cpfl-croqui-head #btnCpflManage::after{content:'☷';font-size:16px}.cpfl-croqui-head #btnCpflSave::after{content:'💾';font-size:14px}.cpfl-croqui-project{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:6px}.cpfl-croqui-project textarea{grid-column:1/-1}.cpfl-croqui-workspace{grid-template-columns:minmax(0,1fr) 49px}.cpfl-croqui-groups{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:4px}.cpfl-croqui-groups button{flex:0 0 43px;width:40px;min-height:43px;padding:2px}.cpfl-croqui-groups button b{display:none}.cpfl-croqui-groups button span{font-size:16px}
 .cpfl-croqui-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.cpfl-croqui-tool{grid-template-columns:28px minmax(0,1fr);min-height:45px;padding:4px}.cpfl-croqui-tool svg{width:25px;height:25px}.cpfl-croqui-tool span{font-size:7px}
 .cpfl-tool-search input{height:32px;font-size:9px}.cpfl-edit-toolbar{padding:4px}.cpfl-edit-toolbar button{height:28px;padding:4px 7px;font-size:7px}
 .cpfl-croqui-floatbar{left:auto;right:max(5px,env(safe-area-inset-right));top:72px;bottom:max(6px,env(safe-area-inset-bottom));gap:5px}.cpfl-float-edit{grid-template-columns:repeat(4,38px);gap:4px}.cpfl-float-edit button,.cpfl-float-setting{width:38px;height:38px;font-size:10px}.cpfl-float-body{gap:5px;max-height:calc(100dvh - 166px - env(safe-area-inset-bottom))}.cpfl-float-tools{grid-template-columns:repeat(2,38px);gap:5px;padding-right:2px}.cpfl-float-tools button{width:38px;height:38px}.cpfl-float-categories{gap:5px;padding-right:2px}.cpfl-float-categories button{width:38px;height:38px}.cpfl-float-drawer{right:45px;width:min(260px,calc(100vw - 96px));max-height:100%}.cpfl-float-drawer>div{grid-template-columns:repeat(2,minmax(0,1fr))}.cpfl-float-drawer>div button{height:43px}
}

/* Mantém os comandos de campo acima da paleta inferior e dentro da tela. */
.cpfl-croqui-floatbar{z-index:12070}
.cpfl-float-edit .danger{background:#fff4f4;color:#a52d2d}

@media(max-width:420px){
 .cpfl-croqui-floatbar{top:max(60px,env(safe-area-inset-top));bottom:max(5px,env(safe-area-inset-bottom))}
 .cpfl-float-body{max-height:calc(100dvh - 198px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .cpfl-float-drawer{height:min(62dvh,430px);max-height:min(62dvh,430px)}
}

/* Paleta horizontal: três fileiras logo abaixo da pesquisa do mapa. */
.cpfl-croqui-floatbar{left:20px;right:auto;top:82px;bottom:auto;width:min(760px,calc(100vw - 40px));gap:5px;align-items:stretch}
.cpfl-float-edit{display:flex;width:100%;gap:5px;overflow-x:auto;overflow-y:hidden;padding:2px;scrollbar-width:thin;touch-action:pan-x;overscroll-behavior-inline:contain}
.cpfl-float-body{display:flex;flex-direction:column;align-items:stretch;width:100%;max-height:none;gap:5px;overflow:visible}
.cpfl-float-tools,.cpfl-float-categories{display:flex;flex-direction:row;width:100%;max-height:none;gap:5px;overflow-x:auto;overflow-y:hidden;padding:2px;scrollbar-width:thin;touch-action:pan-x;overscroll-behavior-inline:contain}
.cpfl-float-edit>*,.cpfl-float-tools button,.cpfl-float-categories button{flex:0 0 44px;width:44px;height:42px}
.cpfl-float-drawer{top:calc(100% + 6px);left:0;right:auto;width:min(360px,calc(100vw - 24px));height:min(48dvh,430px);max-height:min(48dvh,430px)}
.cpfl-croqui-floatbar.tools-hidden{width:46px}
.cpfl-croqui-floatbar.tools-hidden .cpfl-float-edit{overflow:visible;padding:0}

@media(max-width:760px){
 .cpfl-croqui-floatbar{left:10px;right:auto;top:74px;bottom:auto;width:calc(100vw - 20px)}
 .cpfl-float-edit>*,.cpfl-float-tools button,.cpfl-float-categories button{flex-basis:38px;width:38px;height:38px}
 .cpfl-float-drawer{top:calc(100% + 5px);left:0;right:auto;width:min(300px,calc(100vw - 20px));height:min(52dvh,390px);max-height:min(52dvh,390px)}
}
