:root{--deep:#10272b;--deep2:#17383b;--green:#12a981;--mint:#e5f8f1;--bg:#f5f7f7;--border:#dde7e5;--ink:#213238;--muted:#708084;--red:#be574e;--yellow:#b98424}*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#16886f}h1{font-size:27px;letter-spacing:-.7px;margin:4px 0}h2{font-size:17px;letter-spacing:-.3px;margin:0 0 16px}h3{font-size:14px;margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:12px}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:29px 16px 18px;background:var(--deep);color:#c4d8d5}.brand{font-size:23px;font-weight:900;letter-spacing:-1.2px;color:white}.brand em{font-style:normal;color:#3ed1a3}.side .caption{letter-spacing:2px;font-size:9px;color:#6b9a92;font-weight:700;margin-top:2px}.side nav{display:grid;gap:5px;margin-top:40px}.side nav button{padding:13px;border-radius:9px;border:0;text-align:left;background:transparent;color:#bad0cd;font-weight:600;font-size:13px}.side nav button:hover,.side nav button.active{color:white;background:var(--deep2)}.side nav button span{margin-right:11px}.side footer{margin-top:auto;font-size:12px;overflow-wrap:anywhere}.side footer strong{color:white}.side footer button{background:none;border:0;color:#58ddbc;padding:12px 0}.workspace{padding:30px clamp(18px,3.4vw,55px);width:100%;max-width:1600px;margin:auto;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;color:#0b9675}.subtitle{margin:5px 0;color:var(--muted);font-size:13px}.top-actions,.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{border-radius:9px;padding:10px 15px;font-size:12px;font-weight:700;border:1px solid transparent;display:inline-flex;gap:7px;align-items:center;justify-content:center}.btn.primary{background:#119b79;color:#fff}.btn.primary:hover{background:#0c8064}.btn.secondary{background:#fff;border-color:var(--border);color:#28504a}.btn.secondary:hover{background:#f4faf8}.btn.danger{background:#fff;color:var(--red);border-color:#edd8d4}.btn:disabled{opacity:.5;cursor:not-allowed}.box{background:white;border:1px solid var(--border);border-radius:13px;padding:21px;margin-bottom:18px;box-shadow:0 3px 24px #17352a06}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{padding:21px;background:#fff;border:1px solid var(--border);border-radius:13px;min-width:0}.kpi span{display:block;color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:28px;margin:8px 0;letter-spacing:-.8px}.kpi small{color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:17px}.line{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:10px;border-bottom:1px solid #edf1f1}.line:last-child{border:0}.line span{color:#617478}.line strong{font-variant-numeric:tabular-nums}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#556b6d;font-weight:700;min-width:0}.field input,.field select,.field textarea,.filterbar select,.filterbar input{background:#fff;border:1px solid #d1dedb;border-radius:8px;padding:10px 11px;color:#233d3d;min-height:40px;width:100%;outline:none;font-size:13px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#0ab68b;box-shadow:0 0 0 3px #10b88e1e}.field textarea{resize:vertical;min-height:95px}.field .required{color:var(--red)}.full{grid-column:1/-1}.actions{margin-top:17px}.notice{padding:12px 14px;border-radius:9px;background:#eaf8f4;color:#276d5b;font-size:12px;margin-bottom:16px}.warning{background:#fff5de;color:#856227}.error{color:#b33d31}.table-scroll{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:9px}table{border-collapse:collapse;width:100%;min-width:670px;text-align:left}th,td{padding:12px 13px;white-space:nowrap;border-bottom:1px solid #edf2f1;font-size:12px}th{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#718282;background:#f7faf9}tr:last-child td{border:0}tbody tr:hover{background:#fcfefd}.linkbutton{border:0;background:none;color:#138c6e;font-weight:700;padding:3px}.status{display:inline-flex;align-items:center;border-radius:5px;padding:5px 8px;background:#e1f7ed;color:#137654;font-size:11px;font-weight:700}.status.incomplete{background:#fff0dc;color:#9b681d}.filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.filterbar label{font-size:12px;color:var(--muted);font-weight:700}.filterbar input{width:200px}.filterbar select{width:auto;max-width:230px}.rowtools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.empty{color:var(--muted);text-align:center;padding:38px}.toast{position:fixed;bottom:25px;right:24px;z-index:100;background:#1b453a;color:white;padding:14px 20px;border-radius:9px;box-shadow:0 12px 30px #18372f44;max-width:380px}.toast.bad{background:#ad4a42}.authwrap{background:radial-gradient(circle at 90% 5%,#bcefd9,transparent 43%),#f4f7f6;min-height:100vh;display:grid;place-items:center;padding:20px}.authcard{width:min(430px,100%);border-radius:18px;background:#fff;border:1px solid var(--border);padding:34px;box-shadow:0 22px 70px #12322c20}.authcard .field{margin-top:14px}.authcard h1{margin:20px 0 7px}.authcard .btn{width:100%;margin-top:20px}.callout{display:flex;gap:12px;align-items:flex-start;border-radius:10px;padding:13px;background:#f5f9f8;color:#4b6665;font-size:12px}.filelist{display:grid;gap:8px}.file{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:13px;border-radius:9px;border:1px solid var(--border)}.file strong{font-size:12px}.file small{font-size:11px;color:var(--muted);display:block}.fileactions{display:flex;gap:6px;align-items:center}.map{height:485px;position:relative;overflow:hidden;border:1px solid #d6e2de;border-radius:12px;background:#e8f0e8}.tile{position:absolute;width:256px;height:256px;object-fit:cover}.map-route{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.map-pin{position:absolute;z-index:2;transform:translate(-50%,-100%);border:2px solid #fff;background:#07966c;color:#fff;border-radius:50% 50% 50% 0;rotate:-45deg;width:26px;height:26px;box-shadow:0 2px 9px #0c413960;display:grid;place-items:center}.map-pin span{rotate:45deg;font-size:12px}.map-controls{position:absolute;right:12px;top:12px;display:grid;gap:5px;z-index:4}.map-controls button{background:#fff;border:1px solid #d5dedd;border-radius:6px;font-size:19px;width:35px;height:35px}.map-credit{position:absolute;right:5px;bottom:4px;background:#fffd;font-size:10px;padding:2px 5px;z-index:4}.details{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.details .line{padding:9px 0}.configrow{display:grid;grid-template-columns:minmax(120px,1fr) 130px 85px 85px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.configrow input[type="text"],.configrow select{width:100%;min-width:0;border:1px solid var(--border);border-radius:7px;padding:9px;font-size:12px}.configrow .center{text-align:center}.configrow .center input{width:17px;height:17px}.loading{padding:35px;color:var(--muted)}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{grid-template-columns:190px minmax(0,1fr)}}@media(max-width:730px){.shell{display:block}.side{height:auto;position:static;padding:14px;gap:5px}.side nav{display:flex;overflow-x:auto;margin-top:10px}.side nav button{white-space:nowrap;padding:10px}.side footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 2px 0;font-size:11px}.side footer>div{display:none}.side footer button{white-space:nowrap;padding:6px;color:#8df1ce}.workspace{padding:20px 13px}.top{align-items:flex-start;flex-direction:column}.grid2,.formgrid,.cards,.details{grid-template-columns:1fr}.configrow{grid-template-columns:1fr 100px 60px 60px;gap:6px}.map{height:390px}.filterbar input{width:100%}.authcard{padding:25px}}@media print{body{background:white}.side,.top-actions,.actions,.btn,.filterbar{display:none!important}.shell{display:block}.workspace{padding:0}.box,.kpi{box-shadow:none;break-inside:avoid}table{min-width:0}th,td{font-size:10px}}
.map-route-dot{position:absolute;transform:translate(-50%,-50%);width:10px;height:10px;background:#2679c9;border:2px solid white;border-radius:50%;z-index:3;pointer-events:none;box-shadow:0 2px 6px #16417c77}

/* Módulo comercial - Lancelar */
.com-projectbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fff;padding:15px;border:1px solid #dce8e4;border-radius:12px;margin-bottom:18px}
.com-projectbar label{font-weight:700;color:#456862;font-size:12px}.com-projectbar select,.com-manager select,.com-stone-row select,.com-stone-row input,.com-projectbar input,#com-type{background:white;border:1px solid #d4e2df;border-radius:8px;padding:9px;min-height:39px;max-width:100%}
.com-projectbar select{display:block;min-width:240px;margin-top:6px}.com-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px}
.com-map-box{background:#f2f6f6;border:1px solid #e0e7e7;border-radius:12px;padding:12px;min-width:0}
.com-legend{display:flex;gap:9px;flex-wrap:wrap;padding:9px 0 13px}
.com-legend span{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#597077;font-weight:650}
.com-legend i,.com-lotrow i{width:10px;height:10px;display:inline-block;border-radius:50%;flex:0 0 10px}
.com-map-image{position:relative;width:100%;overflow:hidden;border:1px solid #d0dcdb;border-radius:9px;background:#fafafa;line-height:0}
.com-map-image img{display:block;width:100%;height:auto;user-select:none;pointer-events:none}
.com-map-image .com-pin{position:absolute;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;min-width:24px;height:24px;font-size:10px;font-weight:800;color:white;line-height:1;z-index:1;box-shadow:0 2px 8px #123e3b55;padding:3px}
.com-map-image .com-pin:hover{z-index:3;transform:translate(-50%,-50%) scale(1.35)}
.com-empty-map{min-height:310px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px;color:#6c8585;border:2px dashed #bfcece;border-radius:9px;background:linear-gradient(135deg,#f7faf8,#e9f4f0)}
.com-empty-map strong{font-size:20px;color:#305858}.com-empty-map p{max-width:430px;line-height:1.6}
.com-side{min-width:0}.com-selected{padding:14px;background:#f7faf8;border:1px solid #dfe9e6;border-radius:10px;margin-bottom:13px}
.com-lotlist{max-height:440px;overflow-y:auto;border:1px solid #dce9e7;border-radius:10px}
.com-lotrow{display:flex;width:100%;border:0;border-bottom:1px solid #edf1f1;background:white;align-items:center;justify-content:space-between;text-align:left;gap:10px;padding:12px 10px;color:#32474b;font-size:12px}
.com-lotrow span{display:inline-flex;align-items:center;gap:6px}.com-lotrow small{color:#6b8486}.com-lotrow em{font-size:10px;color:#408e7b;font-style:normal}
.com-lotrow:hover,.com-lotrow.chosen{background:#e8f8f0}
.com-help{padding:10px;color:#647778;font-size:11px;line-height:1.6}
.com-textarea{width:100%;padding:12px;border:1px solid #d2e3df;border-radius:9px;font-family:ui-monospace,monospace;font-size:12px;min-height:105px}
.com-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;max-height:315px;overflow:auto;margin:12px 0;padding:10px;background:#f7faf9;border-radius:9px}
.com-choices label{font-size:12px;display:flex;align-items:center;gap:9px;background:white;border:1px solid #ecf2f0;padding:9px;border-radius:7px}
.com-choices input{width:16px;height:16px}.com-choices small{color:#849596}
.com-stone-row{display:grid;grid-template-columns:110px minmax(150px,1fr) 140px auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid #edf3f1}
.com-stone-row label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#52666a;font-weight:700}
.com-sim{padding:18px;border:1px solid #d4e8dc;background:#f7fdf9;border-radius:10px;margin-top:16px}
.com-manager{display:grid;grid-template-columns:1fr 52px minmax(140px,1.2fr) auto;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #eef2f2}
.com-manager strong{font-size:12px}.com-manager span{font-weight:800;color:#128b6d}
.com-perm{padding:14px;margin:10px 0;border:1px solid #e2eae8;border-radius:10px}
.com-perm summary{cursor:pointer;font-weight:700;color:#366c61}
@media(max-width:1050px){.com-layout{grid-template-columns:1fr}.com-stone-row{grid-template-columns:100px 1fr 110px auto}}
@media(max-width:650px){.com-projectbar select{min-width:0;width:100%}.com-projectbar label{flex:1 1 100%}.com-stone-row{grid-template-columns:1fr 1fr}.com-manager{grid-template-columns:1fr 48px}.com-manager select{grid-column:1}.com-manager button{grid-column:2}.com-lotrow em{display:none}}

.com-progress{height:10px;background:#e3efec;border-radius:99px;overflow:hidden;margin-top:15px}.com-progress span{display:block;background:#159d77;height:100%;transition:width .3s ease}

/* Controles do mapa do loteamento (inventário importado da planta técnica). */
.com-map-tools{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin:-2px 0 9px;position:sticky;top:5px;z-index:4}
.com-map-tools span{font-size:11px;color:#536b70;font-weight:700;padding:6px}
.com-map-tools .btn{padding:5px 9px;min-width:30px}
.com-map-scroll{overflow:auto;max-height:72vh;border-radius:10px;overscroll-behavior:contain;scrollbar-width:thin;background:#f9fbfa}
.com-map-scroll .com-map-image{width:100%;min-width:100%;margin:0}
.com-map-scroll .com-pin{min-width:19px;width:19px;height:19px;padding:0;font-size:8px;font-weight:800;border-width:1px;cursor:pointer}
.com-map-scroll .com-pin:hover,.com-map-scroll .com-pin:focus-visible{z-index:8;min-width:25px;width:25px;height:25px;outline:2px solid #111;outline-offset:2px}
#com-area-min,#com-area-max,#com-price-min,#com-price-max{width:125px;min-width:100px}
@media(max-width:720px){.com-map-scroll{max-height:60vh}.com-map-scroll .com-pin{width:14px;min-width:14px;height:14px;font-size:6px}.com-map-tools .btn{min-height:32px;padding:6px 10px}}

/* Escolha de lotes pré-venda (ficha e fechamento) */
.pre-section{margin-top:15px}.pre-wishes{margin:16px 0 5px;padding:15px;background:#f3f8f6;border:1px solid #d5e6e0;border-radius:10px}
.pre-controls{display:flex;gap:12px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:10px 0}
.pre-controls>label,.pre-list-wrap>label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#53686b}
.pre-controls select,.pre-list-wrap input{padding:9px 11px;border:1px solid #d1dfde;border-radius:8px;min-width:210px;background:#fff}
.pre-toggle{display:inline-flex;background:#e6eeeb;border:1px solid #d0dbd8;padding:3px;border-radius:10px;gap:3px}
.pre-toggle button{border:0;padding:9px 13px;background:transparent;color:#52686a;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700}
.pre-toggle button.active{background:#fff;color:#14664c;box-shadow:0 1px 4px #14292916}
.pre-key{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0;font-size:12px;color:#596f70}
.pre-key span{display:flex;align-items:center;gap:6px}.pre-key i,.pre-dot{display:inline-block;height:13px;width:13px;border-radius:4px;flex-shrink:0}
.pre-work{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(225px,.85fr);gap:12px}
.pre-map-scroll{max-height:680px;overflow:auto;padding:4px;border:1px solid #d2e2df;border-radius:10px;background:#fff}
.pre-map-layer{position:relative;min-width:550px}
.pre-map-layer img{display:block;width:100%;height:auto;pointer-events:none;user-select:none}
.pre-map-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pre-map-overlay polygon,.pre-map-overlay circle{cursor:pointer;transition:filter .1s}
.pre-map-overlay polygon:hover,.pre-map-overlay circle:hover{filter:brightness(.78) drop-shadow(0 1px 2px #34343477);stroke:#101c1d;stroke-width:3}
.pre-map-scroll .subtitle{font-size:11px;padding:9px;line-height:1.5}
.pre-list-wrap{min-width:0;display:flex;flex-direction:column;gap:9px}
.pre-list-wrap input{min-width:0;width:100%}
.pre-lotlist{height:620px;overflow:auto;border:1px solid #dce8e4;border-radius:10px;background:#fff}
.pre-lot{display:flex;align-items:center;gap:8px;padding:10px;width:100%;border:0;border-bottom:1px solid #eef2f1;text-align:left;background:#fff;cursor:pointer;font-size:12px}
.pre-lot:hover{background:#f0f7f5}.pre-lot.picked{background:#e4f8ec;border-left:3px solid #0fa16f}
.pre-lot>span:nth-child(2){display:flex;flex-direction:column;flex:1;gap:4px}
.pre-lot small{font-size:10px;color:#6a8084}.pre-count{display:flex;flex-direction:column;text-align:center;color:#35665b}
.pre-count b{font-size:14px}.pre-check{font-size:16px;font-weight:900;color:#0d8266}
.pre-bottom{display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;padding:13px;border-radius:9px;background:#e9f5f1;font-size:12px;margin-top:10px}
.pre-bottom span{color:#586e69}
@media(max-width:1000px){.pre-work{grid-template-columns:1fr}.pre-lotlist{height:230px}.pre-map-scroll{max-height:550px}}
@media(max-width:600px){.pre-controls>label{flex:1 1 100%}.pre-toggle{width:100%;justify-content:space-between}.pre-toggle button{flex:1}.pre-map-layer{min-width:450px}.pre-map-scroll{max-height:470px}.pre-controls select{width:100%}}

/* Menu compacto por seções + contexto de loteamento */
.side header{padding:0 2px 13px}
.side-project{padding:12px 3px 14px;border-bottom:1px solid #365450;display:grid;gap:8px}
.side-project>label{font-size:10px;font-weight:800;letter-spacing:1.1px;color:#84aea7}
.side-project select{width:100%;min-height:39px;border-radius:9px;border:1px solid #54706b;background:#173a38;color:white;font-size:12px;font-weight:700;padding:9px;outline:none;max-width:100%}
.side-project select option{color:#243b3a;background:#fff}
.side-project .side-add-project{width:100%;text-align:left;border:1px dashed #59877f;background:#193f3b;color:#94e6d0;border-radius:8px;padding:9px 11px;font-size:11px;font-weight:800}
.side-project .side-add-project:hover{background:#24534b}
.side-project p,.side-project-loading{font-size:11px;color:#b7d2cd;margin:0}
.side nav{display:flex;flex-direction:column;gap:6px;margin-top:19px;overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#466c65 transparent}
.side .nav-section{border:1px solid transparent;border-radius:10px}
.side .nav-parent{display:flex;align-items:center;gap:8px;width:100%;padding:13px 10px;border-radius:9px;font-size:12px;font-weight:800;letter-spacing:.15px;color:#d4e3e0}
.side .nav-parent:hover,.side .nav-parent.current{background:#1d4141;color:#fff}
.side .nav-symbol{font-size:15px;width:20px;display:inline-flex;justify-content:center;color:#6dd9bd}
.side .nav-chevron{margin-left:auto;transition:transform .18s;display:inline-block;font-size:18px;line-height:1}
.side .nav-section[data-expanded="1"] .nav-chevron{transform:rotate(180deg)}
.side .nav-children{display:none;padding:3px 0 5px 13px;border-left:1px solid #3b6159;margin-left:19px}
.side .nav-section[data-expanded="1"] .nav-children{display:flex;flex-direction:column;gap:2px}
.side .nav-children button{width:100%;font-size:11px;font-weight:600;padding:10px 10px;border-radius:7px}
.side .nav-children button span{margin-right:9px;color:#6ea59a}
.side footer{flex-shrink:0;border-top:1px solid #3a5954;padding-top:10px;margin-top:8px}
.com-classify-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:11px 13px;margin:0 0 13px;border-radius:9px;border:1px solid #dce5e2;background:#f7faf9}
.com-classify-bar label{font-size:12px;font-weight:700;color:#596e70;display:flex;flex-direction:column;gap:4px}
.com-classify-bar select{border:1px solid #d0e2de;border-radius:7px;padding:8px}
.com-types{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:12px}
.com-types strong{font-size:11px;color:#566e71}
@media(max-width:800px){.side{height:auto;max-height:none;position:relative}.side nav{overflow:visible;flex:initial;margin-top:10px}.side-project{padding:9px 2px}.side .nav-children{margin-left:10px}.side .nav-parent{padding:10px}}

/* Editor de contornos, exclusivo da gestão */
.com-vertices .com-vertex{cursor:grab;pointer-events:all;vector-effect:non-scaling-stroke}
.com-vertices .com-vertex:hover{fill:#eeffba;stroke:#055a45}
.com-vertices .com-vertex:active{cursor:grabbing;fill:#ffd778}
.com-shape-actions{width:100%;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px;border:1px dashed #95cabc;border-radius:9px;background:#f0faf6;margin:10px 0}
.com-shape-actions p{width:100%;margin:0 0 6px;font-size:12px;color:#376e60}
.com-shape-actions label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#375950}
.com-shape-actions input{width:15px;height:15px}
.com-map-image .pre-map-overlay{touch-action:none}

/* Navegação da planta com margens generosas e liberdade de pan, inclusive ao reduzir zoom */
.map-viewport{position:relative;display:block;overflow:auto !important;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;cursor:grab;background:#f0f4f3;scrollbar-width:auto}
.map-viewport:active{cursor:grabbing}
.map-pan-stage{box-sizing:border-box;width:max-content;min-width:100%;min-height:100%;padding:clamp(58px,11vw,168px);display:flex;justify-content:center;align-items:center}
.map-pan-canvas{display:block;flex:0 0 auto;position:relative;min-width:0 !important;max-width:none !important;width:var(--map-canvas-width,650px) !important;line-height:0}
.map-pan-canvas>img{display:block;width:100%;height:auto;pointer-events:none;user-select:none}
.map-pan-canvas .pre-map-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.com-map-scroll.map-viewport{height:min(68vh,710px);min-height:400px;max-height:72vh;border-radius:10px}
.pre-map-scroll.map-viewport{height:min(65vh,660px);min-height:360px;max-height:none;border:1px solid #d1dede;border-radius:11px}
.com-map-scroll .map-pan-canvas,.pre-map-scroll .map-pan-canvas{min-width:0 !important;max-width:none !important}
.com-map-tools{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:7px}
.com-map-tools [data-map-value],.pre-map-tools [data-map-value]{min-width:44px;text-align:center;font-size:12px;color:#4c6868;font-weight:800}
.pre-map-tools{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:flex-end;margin:11px 0;background:#f6faf9;padding:10px;border-radius:9px}
.pre-map-tools>span{font-size:11px;color:#536d6d;margin-right:auto}
.pre-map-tools button{min-width:32px;padding:7px 10px;font-weight:750}
.map-pan-canvas polygon,.map-pan-canvas circle[data-pre-pick],.map-pan-canvas polygon[data-pre-pick]{cursor:pointer}
@media(max-width:650px){
 .map-pan-stage{padding:clamp(42px,13vw,68px)}
 .com-map-scroll.map-viewport{min-height:300px;height:57vh;max-height:65vh}
 .pre-map-scroll.map-viewport{min-height:300px;height:55vh}
 .pre-map-tools>span{flex-basis:100%;text-align:center}
 .com-map-tools .btn,.pre-map-tools .btn{min-height:35px}
}

/* VISOR 2.0: mapa de lotes independente da imagem original e do scroll.
   A câmera move o stage; as dimensões dos polígonos ficam estáveis em todas as escalas. */
.map-viewport.map-clean-viewport{
 position:relative;isolation:isolate;overflow:hidden !important;touch-action:none !important;
 background:#f8fafb;cursor:grab;user-select:none;-webkit-user-select:none;
 border:1px solid #dae6e8;border-radius:14px;
}
.map-viewport.map-clean-viewport:active{cursor:grabbing}
.map-viewport.map-clean-viewport .map-pan-stage{
 position:absolute !important;top:50%;left:50%;
 width:1000px !important;height:840px !important;
 min-width:0 !important;min-height:0 !important;max-width:none !important;
 padding:0 !important;margin:0 !important;display:block !important;
 transform:translate(-50%,-50%) scale(.65);transform-origin:center center;
 will-change:transform;
}
.map-viewport.map-clean-viewport .map-pan-canvas{
 display:block;position:relative;
 width:1000px !important;height:840px !important;min-width:0 !important;
 max-width:none !important;max-height:none !important;aspect-ratio:1000 / 840;
 background:#fff;border:1px solid #e4ecee;border-radius:4px;
 box-shadow:0 3px 18px rgba(24,62,70,.045);overflow:visible !important;line-height:0;
}
.map-viewport.map-clean-viewport .map-clean-svg{
 display:block;position:absolute;inset:0;width:100%;height:100%;
 background:#fff;overflow:visible;pointer-events:auto;
}
.map-viewport.map-clean-viewport .map-clean-svg polygon{
 stroke:#617680;stroke-width:1.3;stroke-linejoin:round;
 vector-effect:non-scaling-stroke;transition:fill .13s,stroke .13s;
 cursor:pointer;
}
.map-viewport.map-clean-viewport .map-clean-svg polygon:hover{
 stroke:#185c68;stroke-width:2.5;filter:brightness(.97);
}
.map-viewport.map-clean-viewport .map-clean-svg text{
 pointer-events:none;user-select:none;
}
.map-clean-viewport .com-vertex{pointer-events:all;touch-action:none}
.com-map-tools,.pre-map-tools{position:relative;z-index:2}
@media(max-width:700px){
 .map-viewport.map-clean-viewport{min-height:315px}
 .map-viewport.map-clean-viewport .map-pan-stage{will-change:transform}
}

/* Área de usuários e segurança: formulários com duas colunas e senhas protegidas */
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:17px}
.security-panel{display:flex;flex-direction:column;gap:13px;min-width:0;padding:18px;border:1px solid #dce8e5;background:#fbfdfc;border-radius:13px}
.security-panel h3{margin:0;color:#254a45;font-size:16px}
.security-panel .field{display:flex;flex-direction:column;gap:7px}
.security-panel .field input,.security-panel .field select{width:100%;border:1px solid #cfddda;border-radius:9px;padding:10px 12px;min-height:42px;background:#fff;color:#21383a}
.security-panel .field input:focus-visible,.security-panel .field select:focus-visible{outline:2px solid #18a682;outline-offset:1px}
.password-wrapper{display:flex;align-items:stretch;gap:6px;min-width:0}
.password-wrapper input{flex:1;min-width:0}
.password-wrapper .btn{flex-shrink:0;font-size:11px;padding:8px 10px}
.security-toggle{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #d8e8e1;border-radius:9px;background:#f5faf7;font-weight:700;font-size:12px}
.security-toggle input{width:18px;height:18px;accent-color:#169b78}
.security-panel .btn.primary{align-self:start;margin-top:auto}
.user-status{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}
.user-status.active{background:#e2f6eb;color:#197750}
.user-status.blocked{background:#ffe9e4;color:#b54136}
.footer-account{display:block;width:100%;text-align:left;margin-top:8px}
#usuario-editar{scroll-margin-top:24px}
@media(max-width:950px){.security-grid{grid-template-columns:1fr}}
@media(max-width:520px){.security-panel{padding:12px}.password-wrapper .btn{padding:7px 9px}}

/* Auditoria de legibilidade do mapa: quadras destacadas sem bloquear os lotes. */
.map-clean-svg .map-quadra-labels{pointer-events:none}
.map-clean-svg .map-quadra-symbol{pointer-events:none}
.map-clean-svg .map-quadra-symbol circle{filter:drop-shadow(0 1px 2px rgba(22,50,60,.25));stroke-linejoin:round}
.map-clean-svg .map-quadra-symbol text{pointer-events:none;stroke:none;paint-order:normal;letter-spacing:.15px}
.map-clean-svg polygon{vector-effect:non-scaling-stroke}
.com-map-box .com-map-tools,.pre-map-tools{gap:8px;align-items:center}
.com-map-box .com-map-tools .btn,.pre-map-tools .btn{white-space:nowrap}
@media (max-width:650px){.com-map-box .com-map-tools,.pre-map-tools{justify-content:center}.map-clean-svg .map-quadra-symbol circle{stroke-width:2}}

/* Mapa uniforme: visor, retângulo interno e fundo com branco idêntico */
.com-map-box,.map-viewport.map-clean-viewport,.map-viewport.map-clean-viewport .map-pan-canvas,
.map-viewport.map-clean-viewport .map-clean-svg,.pre-map-scroll.map-clean-viewport,
.com-map-scroll.map-clean-viewport{background:#fff !important}
.map-viewport.map-clean-viewport .map-pan-canvas{border:none !important;box-shadow:none !important;border-radius:0 !important}
.map-viewport.map-clean-viewport{border:1px solid #e3ebeb}
.map-viewport.map-clean-viewport .map-clean-svg polygon.map-lot-shape.is-picked,
.map-viewport.map-clean-viewport .map-clean-svg circle.map-lot-shape.is-picked{
 stroke:#087954 !important;stroke-width:4px !important;
 fill-opacity:1 !important;filter:drop-shadow(0 0 3px rgba(5,112,81,.65));
}
.map-viewport.map-clean-viewport .map-clean-svg .map-selected-check{
 pointer-events:none;paint-order:stroke;fill:#087954;
}
.multi-selection-panel,.pre-picked-summary{
 display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0;
 background:#f1faf6;border:1px solid #bedfd2;border-radius:11px;padding:12px 14px;
 font-size:12px;color:#315950;
}
.multi-selection-panel strong,.pre-picked-summary strong{color:#166448}
.multi-selection-panel span{color:#587368}
.multi-selection-panel label{display:flex;align-items:center;gap:8px;font-weight:700}
.multi-selection-panel select{background:#fff;border:1px solid #c9ddd4;border-radius:8px;padding:9px;font-size:12px}
.pre-picked-summary{margin:11px 0 2px}
.pre-chosen-items{display:flex;gap:6px;flex-wrap:wrap}
.pre-chosen-items span{padding:6px 9px;border-radius:7px;border:1px solid #a6d9c6;background:#fff;color:#11604a;font-weight:800}
.pre-chosen-empty{color:#69847d}
.pre-lot.picked{background:#dbf8e9 !important;border-left:5px solid #0a855b !important;box-shadow:inset 0 0 0 1px #7bcdaa}
.pre-lot.picked .pre-check{color:#04764b;font-size:19px}
.com-lotrow.chosen{background:#e0f9eb !important;outline:2px solid #10a272;outline-offset:-2px}
.pre-controls [data-pre-multi][aria-pressed="true"],.com-map-tools [data-com="toggle-multi"][aria-pressed="true"]{
 background:#147e5c;color:#fff;border-color:#147e5c
}
@media(max-width:700px){.multi-selection-panel,.pre-picked-summary{padding:10px}.multi-selection-panel label{flex-wrap:wrap}}

/* FormaCerta — identidade preto/verde, maior contraste e navegação responsiva */
:root{--deep:#14211b;--deep2:#26472c;--green:#2ca41d;--mint:#eaf8e7;--bg:#f4f8f3;--border:#dbe8d9;--ink:#172821;--muted:#627667;--red:#c84949;--yellow:#bb8915}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink)}
.side{background:linear-gradient(165deg,#111d17 0%,#182f21 72%,#214b2c 100%);border-right:1px solid #284b32}
.side header{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.brand-card{width:100%;max-width:220px;padding:10px 11px 8px;background:#fff;border:1px solid #dcf0df;border-radius:13px;box-shadow:0 5px 24px #00000015}
.brand-logo{width:100%;height:auto;display:block;aspect-ratio:650/148}
.brand-card-login{max-width:270px;margin-bottom:11px;border:1px solid #dceadf;padding:13px 14px 10px;box-shadow:none}
.side .caption{font-size:10px;letter-spacing:2.2px;color:#97cda3;margin-top:3px}
.side .nav-parent{border-radius:11px;color:#d6eadb;transition:background .15s ease,transform .15s ease}
.side .nav-parent:hover,.side .nav-parent.current{background:#2b6b36;color:#fff}
.side .nav-section[data-expanded="1"]{background:#ffffff08;border-color:#ffffff17}
.side .nav-children{border-left:1px solid #5c9c66}
.side .nav-children button{font-size:12px;border-radius:9px}
.side .nav-children button.active{background:linear-gradient(90deg,#2daf3d,#168b36);color:#fff;box-shadow:0 2px 10px #0b5b2430}
.side .nav-symbol,.side .nav-children button span{color:#87e399}
.side .nav-children button.active span{color:#fff}
.side .side-project select{border-color:#437652;background:#203e2a;color:#f7fff8}
.side .side-add-project{color:#aff3bd;border-color:#5f9e6c}
.workspace{max-width:1600px}
.top{padding:5px 0 11px;border-bottom:1px solid #dbe9db}
.top h1{letter-spacing:-.035em}
.eyebrow{color:#228b27}
.btn{border-radius:10px;min-height:40px;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}
.btn.primary{background:linear-gradient(135deg,#28b33a,#168d34);border-color:#168d34;box-shadow:0 3px 10px #158a3429}
.btn.primary:hover{background:linear-gradient(135deg,#239e30,#0b782a);box-shadow:0 6px 16px #148d3633;transform:translateY(-1px)}
.btn.secondary{color:#226b37;border-color:#c7dfca;background:#fff}
.btn.secondary:hover{color:#115422;border-color:#92cda0;background:#eaf8ed}
.btn:focus-visible,.side button:focus-visible,.mobile-menu-toggle:focus-visible{outline:3px solid #a6e8b2;outline-offset:3px}
.box,.kpi{border-color:#dae7db;border-radius:16px;box-shadow:0 3px 18px #173a1a09}
.kpi{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fafffa 100%)}
.kpi::before{content:"";height:4px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,#2ab33b,#94e69b)}
.kpi strong{color:#143820}
.status{font-weight:800}
table th{background:#f3faf4;color:#336442}
table tr:hover td{background:#fafffb}
input:focus,textarea:focus,select:focus{outline-color:#3cba50}
.com-pill{display:inline-flex;align-items:center;padding:6px 9px;background:#e8f7e8;color:#208531;border:1px solid #c4eac6;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.2px}
.com-finance-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:stretch}
.com-earnings-panel{min-width:0;overflow-x:auto}
.com-earnings-panel .rowtools{gap:10px}
.com-earnings-panel h2{color:#163f23}
.com-sim{background:#f0faef;border:1px solid #c9e9cb;border-radius:14px;padding:16px;margin:15px 0}
.com-stone-row{background:#f9fcf9;border:1px solid #d3e7d5;border-radius:11px;padding:11px}
.multi-selection-panel{background:#eaf9ed;border-color:#b4e7bd}
.mobile-menu-toggle,.mobile-menu-backdrop{display:none}
@media(max-width:1080px){.com-finance-overview{grid-template-columns:1fr}}
@media(max-width:730px){
 .shell{display:block;min-height:100vh}
 .side{position:sticky;top:0;z-index:70;width:100%;height:auto;max-height:none;padding:10px 14px;display:flex;flex-direction:column;gap:0;box-shadow:0 4px 20px #152b1938}
 .side header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:13px;width:100%}
 .side .brand-card{width:190px;max-width:min(64vw,220px);padding:8px 9px 6px}
 .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:45px;width:45px;height:44px;border:1px solid #548260;border-radius:11px;background:#2b5834;color:#fff;cursor:pointer}
 .mobile-menu-toggle span{font-size:27px;font-weight:700;line-height:1}
 .shell .side>.caption,.shell .side>.side-project,.shell .side>nav,.shell .side>footer{display:none}
 .side nav{overflow-x:visible;overflow-y:auto;flex:1;flex-direction:column;gap:6px;margin:12px 0 0}
 .side nav button{white-space:normal;text-align:left}
 .side .nav-children{margin-left:14px;padding-left:8px}
 .shell.mobile-nav-open .side{position:fixed;inset:0 auto 0 0;width:min(350px,88vw);height:100dvh;max-height:100dvh;overflow:auto;padding:14px;box-shadow:5px 0 30px #0005;z-index:110}
 .shell.mobile-nav-open .side>.caption{display:block}
 .shell.mobile-nav-open .side>.side-project{display:block;padding:12px 0 8px}
 .shell.mobile-nav-open .side>nav{display:flex;flex-direction:column;min-height:180px;overflow-y:auto;flex:1}
 .shell.mobile-nav-open .side>footer{display:block;padding:13px 0 8px}
 .shell.mobile-nav-open .mobile-menu-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;z-index:100;border:0;background:rgba(10,27,17,.56);cursor:pointer}
 body:has(.shell.mobile-nav-open){overflow:hidden}
 .workspace{padding:20px 12px 28px}
 .top{gap:11px;margin-bottom:16px}
 .top-actions{width:100%;display:flex;flex-wrap:wrap}
 .top-actions>.btn{flex:1;min-width:130px}
 .box{padding:16px}
 .cards{gap:11px}
 .kpi{padding:17px}
 .kpi strong{font-size:24px}
 .grid2,.com-finance-overview{grid-template-columns:1fr}
 .com-finance-overview table{font-size:12px}
 .com-stone-row{display:flex;flex-wrap:wrap;gap:8px}
 .com-stone-row label{min-width:calc(50% - 6px);flex:1}
 .com-stone-row select,.com-stone-row input{width:100%}
 .com-map-box .com-map-tools{gap:6px}
 .com-map-box .com-map-tools .btn{min-height:36px}
}
@media print{.mobile-menu-toggle,.mobile-menu-backdrop{display:none!important}}

/* Logotipo oficial branco e verde sobre fundo escuro */
.side .brand-card{max-width:225px;width:100%;padding:5px 0;background:transparent;border:0;border-radius:0;box-shadow:none}
.brand-card-login{width:100%;max-width:345px;min-height:78px;padding:20px 17px;background:#182c21;border:1px solid #285e43;border-radius:14px;margin:0 auto 22px;display:flex;align-items:center}
.brand-logo{display:block;width:100%;height:auto;aspect-ratio:1903/251;object-fit:contain}
.side .caption{margin-top:4px}
@media(max-width:730px){.side .brand-card{max-width:min(66vw,245px);width:230px;padding:3px 0}}

/* Fotos de vendedores e perfis */
.seller-avatar{height:34px;width:34px;min-width:34px;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#c6f3db,#80d8a4);border:2px solid #e0f3e5;color:#186744;font-weight:900;overflow:hidden;vertical-align:middle}
.seller-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#e7f7eb}
.seller-avatar-lg{width:94px;height:94px;min-width:94px;font-size:27px;border:4px solid #c9edd0}
.seller-tag{display:inline-flex;align-items:center;gap:8px;text-align:left;font-size:13px;font-weight:700;min-width:0}
.seller-tag>span:last-child{overflow-wrap:anywhere}
.profile-photo-section{display:flex;align-items:center;gap:16px;margin-bottom:20px;background:#f3fbf4;border:1px solid #d6e8d9;padding:18px;border-radius:14px}
.profile-photo-section>div:last-child{min-width:0;flex:1}
.profile-photo-section form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.profile-photo-section input[type=file]{max-width:100%;flex:1;font-size:12px}
@media(max-width:730px){.profile-photo-section{align-items:flex-start}.profile-photo-section .seller-avatar-lg{width:68px;height:68px;min-width:68px}.seller-tag{font-size:12px}}

/* Balanço financeiro */
.balance-page{display:grid;gap:16px}
.balance-intro{background:linear-gradient(120deg,#173921,#23783a);color:#f3fff5;border-radius:17px;padding:23px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.balance-intro h2{color:#fff;font-size:24px;margin:0 0 6px;letter-spacing:-.6px}
.balance-intro p{font-size:13px;line-height:1.45;color:#dcf8e4;margin:0;max-width:650px}
.balance-kicker{background:#ffffff21;border:1px solid #ffffff3d;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900;white-space:nowrap}
.balance-page .cards{margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.balance-stat{background:#fff;border:1px solid #d6e5d9;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:7px}
.balance-stat span{color:#54715d;font-size:12px}
.balance-stat strong{font-size:24px;color:#174b29;letter-spacing:-.5px}
.balance-stat small{font-size:11px;color:#668171}
.balance-person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.balance-person{background:#fff;border:1px solid #d7e6d9;border-radius:15px;padding:18px;min-width:0;box-shadow:0 3px 15px #163b1710}
.balance-person-title{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.balance-person-title strong{font-size:15px;color:#183b22}
.balance-person-title span{color:#237436;background:#ebf9ec;padding:5px 7px;border-radius:20px;font-size:10px;font-weight:800}
.balance-person-metrics{display:flex;justify-content:space-between;gap:15px;margin:15px 0}
.balance-person-metrics div{font-size:11px;color:#637b69;display:flex;flex-direction:column;gap:4px}
.balance-person-metrics strong{font-size:15px;color:#26382a}
.balance-net{border-top:1px solid #e5eee6;padding-top:12px;display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:800}
.balance-net strong{font-size:15px}
.balance-net.positive{color:#1d8a43}.balance-net.negative{color:#c05d22}.balance-net.neutral{color:#6d7f72}
.balance-page .grid2{align-items:start}
.balance-page .field{margin-bottom:9px}
.balance-page .field textarea{width:100%;min-height:80px}
.balance-suggestion{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 5px;border-bottom:1px solid #e5f0e8;font-size:13px}
.balance-suggestion:last-child{border-bottom:0}
.balance-suggestion>strong{color:#107a33;white-space:nowrap}
.balance-entry{padding:16px 0;border-bottom:1px solid #e1ebe2}
.balance-entry:last-child{border-bottom:0}
.balance-entry-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.balance-entry-top h3{font-size:15px;color:#233d2b;margin:0 0 4px}
.balance-entry-top p{font-size:12px;color:#698072;margin:0;line-height:1.5;overflow-wrap:anywhere}
.balance-amount{text-align:right;min-width:115px;font-size:16px;font-weight:900;color:#193f25;display:flex;flex-direction:column;align-items:end;gap:7px}
.balance-status{font-size:10px;font-weight:800;border-radius:99px;padding:5px 8px;background:#eaf1eb;color:#5b7060;white-space:nowrap;display:inline-flex}
.balance-status.is-aprovada,.balance-status.is-aprovado,.balance-status.is-confirmado{color:#126b32;background:#ddf5e1}
.balance-status.is-rejeitada,.balance-status.is-rejeitado{color:#a62f2f;background:#ffebeb}
.balance-status.is-pendente{color:#986321;background:#fff3d8}
.balance-entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;color:#668074;margin:10px 0}
.balance-entry-meta a{font-size:11px;min-height:32px;padding:6px 9px}
.balance-approvals{display:flex;gap:8px;flex-wrap:wrap;margin:11px 0 6px}
.balance-approval{font-size:12px;border:1px solid #dae6dc;border-radius:9px;padding:7px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.balance-approval small{font-size:11px;color:#9e4438}
.balance-entry .actions{margin-top:12px}
@media(max-width:1050px){.balance-person-grid{grid-template-columns:1fr}.balance-page .cards{grid-template-columns:1fr 1fr}}
@media(max-width:730px){.balance-intro{padding:18px}.balance-intro h2{font-size:20px}.balance-page .cards{grid-template-columns:1fr}.balance-entry-top{flex-wrap:wrap}.balance-amount{align-items:start;text-align:left}.balance-person-metrics{flex-wrap:wrap}.balance-approval{width:100%}.balance-entry .actions .btn{flex:1}.balance-intro p{font-size:12px}}

/* Regras financeiras independentes por loteamento */
.finrule-panel{border:1px solid #b8e2c3;background:linear-gradient(180deg,#fff,#fbfffc);margin-bottom:18px}
.finrule-panel>div:first-child{align-items:center}
.finrule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}
.finrule-manager{border:1px solid #d1e8d5;background:#fafffa;border-radius:14px;padding:15px;min-width:0}
.finrule-manager-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #dcebdd;margin-bottom:12px}
.finrule-manager-header strong{font-size:13px;color:#22422b}
.finrule-manager .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.finrule-manager .field{font-size:12px;color:#486a54;min-width:0}
.finrule-manager .field input,.finrule-manager .field select{width:100%}
.finrule-summary{display:flex;flex-wrap:wrap;gap:9px;padding:14px;border-radius:12px;background:#eff9f1;border:1px solid #c6e6ce;margin:10px 0 15px}
.finrule-summary>*{font-size:12px;padding:6px 10px;background:#fff;border-radius:20px;color:#246338}
@media(max-width:1050px){.finrule-list{grid-template-columns:1fr}}
@media(max-width:730px){.finrule-manager{padding:12px}.finrule-manager .formgrid{grid-template-columns:1fr}.finrule-summary{flex-direction:column}.finrule-manager-header{flex-wrap:wrap}}
