:root{--bg:#f4f6f8;--panel:#fff;--text:#18222d;--muted:#6a7682;--line:#dde3e8;--accent:#1f5d52;--accent2:#153f38;--warn:#8a6116;--danger:#9b3030;--shadow:0 16px 44px rgba(17,29,39,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;padding:22px 18px;background:#101820;color:#e9eff2;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:4px 6px 22px}.brand img{width:42px;height:42px;object-fit:contain}.brand strong,.brand span{display:block}.brand span{font-size:12px;letter-spacing:.16em;color:#94a3ad;margin-top:2px}.usercard{padding:14px;border:1px solid #263540;border-radius:14px;background:#17232d;margin-bottom:18px}.usercard strong,.usercard span{display:block}.usercard span{font-size:12px;color:#9fb0ba;margin-top:3px}.sidebar nav{overflow:auto;padding-right:4px}.navlabel{display:block;font-size:10px;letter-spacing:.15em;color:#7f929e;margin:18px 10px 8px}.navitem{display:flex;gap:10px;align-items:center;text-decoration:none;padding:11px 12px;border-radius:10px;color:#cad5db;margin:3px 0}.navitem:hover,.navitem.active{background:#20303b;color:#fff}.sidebottom{margin-top:auto;padding-top:18px}.sidebottom form{margin:0}.sidebottom button{border:0;background:transparent;color:#cad5db;padding:10px 0;cursor:pointer;font-size:14px}.sidebottom small{display:block;color:#758691;margin-top:10px}.workspace{margin-left:280px;width:calc(100% - 280px);padding:0 28px 48px}.topbar{height:78px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);margin-bottom:30px}.topbar span,.topbar strong{display:block}.topbar span{font-size:10px;letter-spacing:.14em;color:var(--muted)}.topbar strong{font-size:17px;margin-top:2px}.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px}.hero,.pagehead{display:flex;justify-content:space-between;align-items:flex-start;margin:12px 0 26px}.hero{padding:26px 28px;background:linear-gradient(135deg,#fff,#eef4f2);border:1px solid var(--line);border-radius:18px}.hero h1,.pagehead h1{margin:4px 0 8px;font-size:30px;letter-spacing:-.03em}.hero p,.pagehead p,.card p{color:var(--muted);max-width:760px;line-height:1.55}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--accent);font-weight:800}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid.modules{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 2px 8px rgba(16,24,32,.02)}.card h2{margin:0 0 9px;font-size:19px}.module-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.badge{display:inline-flex;font-size:9px;letter-spacing:.13em;font-weight:800;padding:5px 8px;border-radius:999px;background:#eef2f4;color:#52626d;margin-bottom:9px}.badge.protected{background:#eaf4f1;color:var(--accent)}.status{font-size:11px;background:#e8f3ef;color:#1b6659;border-radius:999px;padding:6px 9px;font-weight:700}.status.off{background:#f0f1f2;color:#6f7780}.meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:14px 0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:10px 14px;font-weight:700;font-size:13px;cursor:pointer}.btn:hover{border-color:#b9c4ca}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.small{padding:7px 10px;font-size:12px}.btn.wide{width:100%;padding:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.note{display:block;color:var(--muted);line-height:1.45;margin-top:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{display:block;font-size:30px;margin:7px 0 2px}.notice{padding:13px 15px;border-radius:11px;margin:0 0 16px;border:1px solid var(--line);background:#fff}.notice.success{border-color:#bcd9d1;background:#f0f8f5}.notice.error,.alert{border:1px solid #e4c2c2;background:#fff3f3;color:#7c2525}.notice.warning{border-color:#ead6ad;background:#fff9ed}.formgrid{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:14px;align-items:end}.formgrid label,.access-box label,.authcard label{font-size:12px;color:var(--muted);display:block}.formgrid input,.formgrid select,.access-box input,.authcard input{width:100%;margin-top:6px;border:1px solid #cfd8de;border-radius:9px;padding:10px 11px;background:#fff;color:var(--text)}.tablecard{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.access-user{margin-bottom:16px}.access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:14px}.access-box{border:1px solid var(--line);border-radius:12px;padding:14px}.access-box strong{display:block;margin-bottom:9px}.access-box label{margin-top:9px}.access-box .check{display:flex;gap:8px;align-items:center;color:var(--text)}.access-box .check input{width:auto;margin:0}.authbody{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#edf4f2,#f5f6f7 55%)}.authwrap{width:min(440px,calc(100% - 32px))}.authbrand{text-align:center;margin-bottom:18px}.authbrand img{max-width:210px;max-height:58px;object-fit:contain}.authbrand span{display:block;font-size:11px;letter-spacing:.17em;color:var(--muted);margin-top:5px}.authcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.authcard h1{margin:0 0 6px}.authcard p{color:var(--muted);margin:0 0 20px;line-height:1.5}.authcard label{margin:14px 0}.authcard small{display:block;color:var(--muted);margin-top:15px;line-height:1.4}.alert{padding:11px 12px;border-radius:9px;margin:12px 0}@media(max-width:880px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0;width:100%;padding:0 18px 36px}.menu{display:block}.grid,.stats{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.hero h1,.pagehead h1{font-size:25px}}

/* Modo local/XAMPP */
.local-banner{margin:16px 0;padding:12px 14px;border:1px solid rgba(127,127,127,.28);border-radius:12px;font-size:.92rem;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.local-banner strong{font-weight:700}.local-note{opacity:.78}.btn.disabled{pointer-events:none;opacity:.55}.mode-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid rgba(127,127,127,.3)}


/* Menu responsivo NFP — comportamento equivalente ao MATR */
.menu-close,.sidebar-overlay{display:none}
@media(max-width:880px){
  body.menu-open{overflow:hidden}
  .sidebar{width:min(86vw,320px);max-width:320px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
  .sidebar .brand{padding-right:48px}
  .menu-close{position:absolute;top:16px;right:14px;width:40px;height:40px;border:1px solid #33444f;border-radius:10px;background:#17232d;color:#fff;font-size:29px;line-height:1;align-items:center;justify-content:center;cursor:pointer;z-index:3}
  .sidebar.open .menu-close{display:flex}
  .sidebar-overlay{display:block;position:fixed;inset:0;border:0;padding:0;margin:0;background:rgba(9,16,22,.46);opacity:0;visibility:hidden;pointer-events:none;z-index:19;transition:opacity .2s ease,visibility .2s ease}
  .sidebar-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
  .menu{min-width:42px;min-height:40px;font-size:23px;line-height:1;align-items:center;justify-content:center;cursor:pointer}
  .topbar .menu{display:inline-flex}
}

/* NFP v0.1.0-r4-local — cadastro de perfil profissional no padrão progressivo do MATR */
.signup-copy{margin:15px 0 0;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}.signup-copy a{color:var(--accent);font-weight:800;text-decoration:none}.signup-copy a:hover{text-decoration:underline}.auth-success{display:grid;gap:3px;margin-top:14px}.auth-success span{font-size:12px;color:#48665d}
.registerbody{min-height:100vh;background:radial-gradient(circle at top,#edf4f2,#f5f6f7 55%);padding:28px 16px 44px}.registerwrap{width:min(900px,100%);margin:0 auto}.registerbrand{margin-bottom:12px}.register-back{display:inline-flex;margin:4px 0 14px;color:var(--accent);font-size:13px;font-weight:800;text-decoration:none}.register-back:hover{text-decoration:underline}.registercard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow)}.registercard h1{margin:5px 0 7px;font-size:34px;letter-spacing:-.03em}.registerintro{margin:0 0 20px;color:var(--muted);line-height:1.55;max-width:720px}.local-banner.compact{margin:14px 0 20px}.step-indicator{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}.step-indicator span{display:flex;min-height:42px;align-items:center;justify-content:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#f7f9fa;color:#89949b;font-size:11px;font-weight:800;text-align:center}.step-indicator span.active{border-color:#bdd4cc;background:#edf7f3;color:var(--accent)}.register-form{margin:0}.form-step{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-step.active{display:grid}.field{display:block;color:#4f606a;font-size:12px;font-weight:700}.field.full,.full{grid-column:1/-1}.field input,.field select{width:100%;min-height:46px;margin-top:7px;padding:11px 12px;border:1px solid #cfd8de;border-radius:10px;background:#fff;color:var(--text);font:inherit;font-size:14px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.field input:focus,.field select:focus{border-color:#7ba99b;box-shadow:0 0 0 3px rgba(31,93,82,.10)}.field small{display:block;margin-top:6px;color:#849098;font-size:10px;font-weight:500;line-height:1.45}.step-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}.professional-note{display:grid;gap:4px;padding:13px 14px;border:1px solid #d7e4df;border-left:3px solid var(--accent);border-radius:10px;background:#f7fbf9;color:#5d6c65;font-size:11px;line-height:1.5}.professional-note strong{color:var(--accent);font-size:11px}.password-input-wrap{display:flex;align-items:stretch;margin-top:7px}.password-input-wrap input{margin-top:0;border-radius:10px 0 0 10px}.password-toggle-button{min-width:80px;border:1px solid #cfd8de;border-left:0;border-radius:0 10px 10px 0;background:#f8faf9;color:var(--accent);font-size:11px;font-weight:800;cursor:pointer}.password-toggle-button:hover{background:#eef5f2}.password-strength{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcfc}.password-strength>span{color:var(--muted);font-size:11px}.password-strength>strong{display:block;margin-top:6px;font-size:12px}.strength-bar{height:7px;margin-top:8px;border-radius:999px;background:#e8edef;overflow:hidden}.strength-bar i{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.password-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin:12px 0 0;padding:0;list-style:none}.password-rules li{display:flex;align-items:center;gap:7px;color:#879198;font-size:11px}.password-rules li span{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1px solid #d4dcdf;border-radius:50%;background:#fff;color:transparent;font-size:10px;font-weight:900}.password-rules li.is-valid{color:#176b58;font-weight:800}.password-rules li.is-valid span{border-color:#9ccdbc;background:#e4f5ef;color:#176b58}.legal-box{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.check-row{display:flex;align-items:flex-start;gap:9px;color:#53636c;font-size:11px;line-height:1.5}.check-row input{flex:0 0 auto;width:16px;height:16px;margin:1px 0 0;accent-color:var(--accent)}#createProfileButton:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:680px){.registerbody{padding:18px 10px 30px}.registercard{padding:23px 17px;border-radius:17px}.registercard h1{font-size:28px}.step-indicator{grid-template-columns:1fr}.step-indicator span{min-height:36px;justify-content:flex-start;text-align:left}.form-step,.form-step.active{grid-template-columns:1fr}.field.full,.full{grid-column:auto}.step-actions{display:grid;grid-template-columns:1fr}.step-actions .btn{width:100%}.password-rules{grid-template-columns:1fr}.registerbrand img{max-width:190px}.professional-note{grid-column:auto}}

/* NFP v0.1.0-r5-local — certidão profissional e gerenciamento administrativo de usuários */
.status.ok{background:#e8f3ef;color:#1b6659}.status.pending{background:#fff4dc;color:#805b12}.status.danger{background:#fdeaea;color:#8b2929}.btn.danger{background:#fff;border-color:#e1b3b3;color:#8b2929}.btn.danger:hover{background:#fff1f1;border-color:#cf8d8d}.muted{color:var(--muted)}
.admin-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.detail-list{display:grid;gap:0;margin:14px 0 0}.detail-list div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.detail-list dd{margin:0;overflow-wrap:anywhere}.document-list{display:grid;gap:10px;margin-top:14px}.document-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcfc}.document-row div{min-width:0}.document-row strong,.document-row span,.document-row small{display:block}.document-row span{margin-top:4px;color:var(--muted);font-size:12px}.document-row small{margin-top:5px;color:#8a949a;font-size:9px;overflow-wrap:anywhere}.inline-settings{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-settings label,.delete-form label{font-size:12px;color:var(--muted);font-weight:700}.inline-settings select,.delete-form input{display:block;min-width:240px;margin-top:7px;padding:10px 11px;border:1px solid #cfd8de;border-radius:9px;background:#fff;color:var(--text)}.danger-zone{margin-top:18px;border-color:#e5bcbc;background:#fffafa}.danger-zone .eyebrow{color:#9b3030}.danger-zone h2{color:#7e2828}.delete-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:14px}.field input[type=file]{padding:9px;background:#fafcfc}.field input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 10px;margin-right:10px;color:var(--accent);font-weight:800;cursor:pointer}
@media(max-width:880px){.admin-user-grid{grid-template-columns:1fr}.document-row{align-items:flex-start;flex-direction:column}.inline-settings,.delete-form{display:grid;grid-template-columns:1fr;width:100%}.inline-settings label,.inline-settings select,.delete-form label,.delete-form input{width:100%;min-width:0}.detail-list div{grid-template-columns:1fr;gap:4px}}
.block-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.block-form input{min-width:220px;padding:9px 10px;border:1px solid #cfd8de;border-radius:9px;background:#fff;color:var(--text)}
@media(max-width:680px){.block-form{display:grid;grid-template-columns:1fr;width:100%}.block-form input,.block-form .btn{width:100%;min-width:0}}

/* NFP v0.1.0-r6-local — validação automática da certidão e política de ativação */
.activation-policy{margin-bottom:18px}.activation-policy>p{margin-bottom:16px}.policy-grid{display:grid;gap:12px;margin:12px 0 16px}.policy-grid .check-row{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafcfc}.policy-grid .check-row strong{color:var(--text)}
.validation-document{align-items:flex-start}.document-main{display:grid;gap:5px;flex:1}.document-main .status{width:max-content;margin-top:4px}.document-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.document-actions form{margin:0}.validation-summary{margin:5px 0!important;color:var(--muted);font-size:12px;line-height:1.45}.validation-checks{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0}.validation-checks span{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;border:1px solid var(--line)}.validation-checks span.pass{background:#eef8f4;border-color:#bfddd2;color:#176553}.validation-checks span.pass::before{content:'✓ ';}.validation-checks span.fail{background:#fff1f1;border-color:#e6c1c1;color:#8a3030}.validation-checks span.fail::before{content:'× ';}
@media(max-width:680px){.document-actions{width:100%;display:grid;grid-template-columns:1fr}.document-actions .btn{width:100%}.policy-grid .check-row{font-size:11px}}

/* NFP v0.1.0-r10-local — filtros, histórico de acesso, conta e notificações */
.topbar-title{min-width:0;flex:1}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.notification-wrap{position:relative}.notification-button{position:relative;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:19px;cursor:pointer}.notification-button:hover{border-color:#b9c4ca}.notification-badge,.nav-badge{display:inline-grid;place-items:center;border-radius:999px;background:#c83232;color:#fff;font-size:8px;font-weight:900}.notification-badge{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--bg)}.nav-badge{min-width:18px;height:18px;padding:0 5px;margin-left:4px}.notification-menu{position:absolute;right:0;top:48px;width:min(390px,calc(100vw - 24px));max-height:min(72vh,620px);display:none;overflow:hidden;border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 18px 46px rgba(17,29,39,.18);z-index:90;color:var(--text)}.notification-menu.open{display:block}.notification-menu>header{display:flex;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.notification-menu>header span{font-size:10px;letter-spacing:0;color:var(--muted)}.notification-menu>footer{padding:10px 12px;border-top:1px solid var(--line);text-align:right}.notification-menu>footer a{font-size:11px;color:var(--accent);font-weight:800;text-decoration:none}.notification-group{border-bottom:1px solid #eef2f0;background:#fff}.notification-group:last-of-type{border-bottom:0}.notification-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;cursor:pointer}.notification-group>summary::-webkit-details-marker{display:none}.notification-group>summary>span{display:flex;min-width:0;flex-direction:column;gap:2px}.notification-group>summary b{font-size:12px}.notification-group>summary small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.notification-group>summary>strong{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#edf4f0;color:#315c4e;font-size:9px}.notification-list{max-height:290px;overflow:auto;padding:0 8px 8px}.notification-item{position:relative;margin:0 0 7px;padding:10px;border:1px solid #e4ebe7;border-left:3px solid #3b82f6;border-radius:8px;background:#fff}.notification-item.unread{background:#f4faf7}.notification-item.unread::after{content:"";position:absolute;right:8px;top:8px;width:6px;height:6px;border-radius:50%;background:#15805b}.notification-item.success{border-left-color:#15805b}.notification-item.info{border-left-color:#3b82f6}.notification-item.warning{border-left-color:#d97706}.notification-item.error{border-left-color:#dc2626}.notification-item-head{display:flex;justify-content:space-between;gap:12px;padding-right:8px}.notification-item-head strong{font-size:11px}.notification-item-head time{flex:0 0 auto;color:var(--muted);font-size:8px}.notification-item p{margin:5px 0 0;color:var(--text);font-size:10px;line-height:1.5}.notification-empty{padding:12px;color:var(--muted);font-size:10px;line-height:1.5}.notification-page-grid,.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.notification-page-list{display:grid;gap:8px;margin-top:14px}.notification-page-list .notification-item{margin:0}.notification-page-list .notification-item p{font-size:12px}.notification-page-list .notification-item-head strong{font-size:13px}.notification-page-list .notification-item-head time{font-size:10px}.notification-compose{display:grid;grid-template-columns:2fr 1fr;gap:14px}.notification-compose label,.filters-grid label{display:block;font-size:11px;color:var(--muted);font-weight:700}.notification-compose input,.notification-compose select,.notification-compose textarea,.filters-grid input,.filters-grid select{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #cfd8de;border-radius:9px;background:#fff;color:var(--text);font:inherit}.notification-compose textarea{resize:vertical}.notification-compose .full{grid-column:1/-1}
.user-filters{margin-bottom:18px}.filters-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(120px,1fr));gap:12px;align-items:end;margin-top:14px}.filters-grid .filter-wide{grid-column:span 2}.filter-actions{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-actions span{margin-left:auto;color:var(--muted);font-size:11px}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.user-table td small{color:var(--muted);line-height:1.45}.access-history{margin:0 0 18px}.access-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.access-history-grid>div{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fafcfc}.access-history-grid span,.access-history-grid strong{display:block}.access-history-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.access-history-grid strong{margin-top:5px;font-size:13px}.account-grid .actions{margin-top:16px}
@media(max-width:1050px){.filters-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filters-grid .filter-wide{grid-column:span 2}.access-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){.notification-menu{position:fixed;right:10px;left:10px;top:66px;width:auto}.notification-page-grid,.account-grid{grid-template-columns:1fr}.topbar{gap:10px}.topbar-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-grid .filter-wide{grid-column:1/-1}}
@media(max-width:620px){.filters-grid{grid-template-columns:1fr}.filters-grid .filter-wide{grid-column:auto}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-actions span{grid-column:1/-1;margin:0}.access-history-grid{grid-template-columns:1fr}.notification-compose{grid-template-columns:1fr}.notification-compose .full{grid-column:auto}.topbar-title span{max-width:45vw}.notification-group>summary small{max-width:190px}}

/* NFP v0.1.0-r11-local — nome lateral abreviado, atalhos de módulos e prévia PECA */
.usercard strong{font-size:14px;line-height:1.38;overflow-wrap:anywhere}.module-nav-button span{display:flex;min-width:0;flex-direction:column;gap:1px}.module-nav-button span small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#89a59c}.module-launch-actions .mode-chip{margin-left:2px;background:#f1f7f5;color:#285e50;border-color:#cfe1da}
.peca-preview-body{margin:0;min-height:100vh;background:#edf1f3;color:#15212b}.peca-titlebar{min-height:78px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.15fr) minmax(240px,1fr);align-items:center;gap:18px;padding:10px 22px;background:#101820;color:#eef4f6;border-bottom:1px solid #293943}.peca-brand{display:flex;align-items:center;gap:11px;min-width:0}.peca-brand img{width:43px;height:43px;object-fit:contain}.peca-brand strong,.peca-brand span{display:block}.peca-brand strong{font-size:17px}.peca-brand span{font-size:10px;color:#9eb0ba;letter-spacing:.05em;margin-top:2px}.peca-module-identity{text-align:center;min-width:0}.peca-module-identity>strong,.peca-module-identity>small,.peca-preview-label{display:block}.peca-module-identity>strong{font-size:19px;letter-spacing:.06em}.peca-module-identity>small{margin-top:2px;color:#aab8c0;font-size:10px}.peca-preview-label{margin-bottom:4px;color:#75c5ac;font-size:8px;letter-spacing:.18em;font-weight:900}.peca-user-area{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.peca-user-area>span{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#bac8ce}.peca-user-area a{flex:0 0 auto;text-decoration:none;border:1px solid #3a4a54;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800;color:#f4f7f8}.peca-user-area a:hover{background:#1b2933}.peca-preview-shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 78px)}.peca-toolrail{padding:22px 14px;background:#16212a;border-right:1px solid #273740;color:#d8e2e7}.peca-toolrail-title{padding:0 10px 17px;color:#7fb8a7;font-size:10px;font-weight:900;letter-spacing:.18em}.peca-toolrail a,.peca-toolrail button{width:100%;display:flex;align-items:center;gap:10px;border:0;border-radius:9px;padding:11px 12px;margin:3px 0;background:transparent;color:#c4d0d6;text-decoration:none;text-align:left;font:inherit;font-size:12px}.peca-toolrail a.active{background:#21343f;color:#fff}.peca-toolrail button:disabled{opacity:.45}.peca-preview-workspace{padding:28px;min-width:0}.peca-central-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;padding:26px 28px;border:1px solid #d8e0e4;border-radius:16px;background:linear-gradient(135deg,#fff,#edf5f2)}.peca-central-head h1{margin:4px 0 8px;font-size:32px;letter-spacing:-.03em}.peca-central-head p{max-width:760px;margin:0;color:#67757f;line-height:1.6}.peca-preview-chips{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:360px}.peca-preview-chips span{border:1px solid #cfdcd7;border-radius:999px;background:#f7fbf9;color:#315f51;padding:6px 9px;font-size:9px;font-weight:800;white-space:nowrap}.peca-central-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.peca-central-card{min-height:196px;display:flex;flex-direction:column;padding:21px;border:1px solid #d8e0e4;border-radius:14px;background:#fff}.peca-central-card.primary{border-color:#c7ddd5;background:linear-gradient(145deg,#fff,#f4faf7)}.peca-central-card h2{margin:5px 0 8px;font-size:18px}.peca-central-card p{margin:0;color:#6d7982;line-height:1.55}.peca-card-state{margin-top:auto;padding-top:15px;border-top:1px solid #e6ebee}.peca-card-state strong,.peca-card-state span{display:block}.peca-card-state strong{font-size:11px;color:#2a5e50}.peca-card-state span{margin-top:2px;color:#7a858d;font-size:9px}.peca-empty-stage{display:flex;align-items:center;gap:20px;margin-top:18px;padding:24px;border:1px dashed #c4ced3;border-radius:14px;background:#f8fafb}.peca-stage-icon{flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#e8f2ee;color:#245e4f;font-size:25px}.peca-empty-stage h2{margin:4px 0 6px;font-size:18px}.peca-empty-stage p{margin:0;max-width:850px;color:#69767f;line-height:1.55}
@media(max-width:980px){.peca-titlebar{grid-template-columns:1fr auto}.peca-module-identity{grid-column:1/-1;grid-row:2;text-align:left;padding-top:6px;border-top:1px solid #273740}.peca-preview-shell{grid-template-columns:1fr}.peca-toolrail{display:flex;gap:5px;overflow:auto;border-right:0;border-bottom:1px solid #273740;padding:10px}.peca-toolrail-title{display:none}.peca-toolrail a,.peca-toolrail button{width:auto;flex:0 0 auto;margin:0;padding:9px 11px}.peca-central-grid{grid-template-columns:1fr}}
@media(max-width:680px){.peca-titlebar{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}.peca-user-area{justify-content:space-between}.peca-user-area>span{max-width:58vw}.peca-preview-workspace{padding:14px}.peca-central-head{display:block;padding:20px}.peca-preview-chips{justify-content:flex-start;margin-top:16px}.peca-central-head h1{font-size:27px}.peca-empty-stage{align-items:flex-start;padding:18px}.peca-stage-icon{width:44px;height:44px;flex-basis:44px}}
.account-modules-card{margin-top:18px}.account-module-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.account-module-button{min-width:190px;display:flex;flex-direction:column;gap:3px;text-decoration:none;border:1px solid #cfdcd7;border-radius:12px;background:#f7fbf9;padding:12px 14px}.account-module-button:hover{border-color:#8db8aa;background:#eef7f3}.account-module-button strong{font-size:13px;color:#214f43}.account-module-button span{font-size:9px;color:#708079;text-transform:uppercase;letter-spacing:.06em}@media(max-width:620px){.account-module-buttons{display:grid;grid-template-columns:1fr}.account-module-button{min-width:0;width:100%}}

/* NFP v0.1.0-r12-local — controle de acesso temporário PECA */
.module-policy-box{margin-top:18px;padding:17px;border:1px solid #cfded8;border-radius:13px;background:#f8fbfa}.module-policy-box h3{margin:5px 0 8px;font-size:16px}.module-policy-box p{margin:0 0 14px}.inline-settings{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-settings label{display:block;font-size:11px;color:var(--muted);font-weight:700}.inline-settings label:not(.check){min-width:160px}.inline-settings input[type=number]{width:140px;margin-top:6px;padding:9px 10px;border:1px solid #cfd8de;border-radius:9px;background:#fff}.inline-settings .check{display:flex;align-items:center;gap:8px;color:var(--text);min-height:39px}.inline-settings .check input{width:auto}.access-history-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0}.audit-details{white-space:pre-wrap;overflow-wrap:anywhere;max-width:520px;margin:8px 0 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafb;font-size:10px;line-height:1.45}.filterbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filterbar label{min-width:min(420px,100%);font-size:11px;color:var(--muted);font-weight:700}.filterbar input{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #cfd8de;border-radius:9px;background:#fff;color:var(--text)}
@media(max-width:720px){.inline-settings{display:grid;grid-template-columns:1fr}.inline-settings label:not(.check),.inline-settings input[type=number]{width:100%;min-width:0}.access-history-grid.compact{grid-template-columns:1fr}}


/* NFP v0.1.0-r13-local — card de atualizações em Minha conta */
.account-updates-card{margin-top:18px}.account-updates-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.account-updates-head h2{margin:4px 0 6px}.account-updates-head p{margin:0}.system-version-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}.system-version-summary span,.system-version-summary strong{display:block}.system-version-summary span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}.system-version-summary strong{margin-top:5px;font-size:12px;overflow-wrap:anywhere}.system-update-list{display:grid;gap:0}.system-update-item{position:relative;display:grid;grid-template-columns:16px 1fr;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.system-update-item:first-child{border-top:0}.system-update-marker{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #e7f1ed}.system-update-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.system-update-title strong{font-size:12px}.system-update-title span{font-size:8px;letter-spacing:.1em;font-weight:800;border-radius:999px;padding:3px 6px;background:#e7f1ed;color:var(--accent)}.system-update-item p{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}@media(max-width:720px){.account-updates-head{display:block}.account-updates-head>.status{margin-top:10px}.system-version-summary{grid-template-columns:1fr}}

/* NFP v0.1.0-r14-local — entrada visual de novo projeto no card Trabalhos do PECA */
.peca-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0 4px}.peca-card-actions .btn{font-size:11px;padding:9px 12px}.peca-new-project-stage{margin-top:18px;padding:22px;border:1px solid #c7ddd5;border-radius:14px;background:linear-gradient(145deg,#fff,#f4faf7);scroll-margin-top:18px}.peca-new-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.peca-new-project-head h2{margin:5px 0 7px;font-size:20px}.peca-new-project-head p{margin:0;max-width:850px;color:#69767f;line-height:1.55}.peca-new-project-placeholder{margin-top:18px;padding:16px;border:1px dashed #bfd0ca;border-radius:11px;background:#fbfdfc}.peca-new-project-placeholder strong,.peca-new-project-placeholder span{display:block}.peca-new-project-placeholder strong{font-size:12px;color:#285d4f}.peca-new-project-placeholder span{margin-top:4px;color:#75818a;font-size:10px;line-height:1.5}@media(max-width:680px){.peca-new-project-head{display:block}.peca-new-project-head .btn{margin-top:14px}}

/* NFP v0.1.0-r15-local — configuração cartográfica inicial de projeto PECA */
.peca-project-config{margin-top:18px}.peca-project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.peca-field{display:flex;flex-direction:column;gap:6px}.peca-field.wide{grid-column:1/-1}.peca-field>span,.peca-project-mode>legend{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#5d6c75}.peca-field input,.peca-field select{width:100%;padding:11px 12px;border:1px solid #cad5da;border-radius:9px;background:#fff;color:#17232d;font:inherit;font-size:12px}.peca-field small{font-size:9px;line-height:1.45;color:#7b878e}.peca-project-mode{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}.peca-project-mode>legend{grid-column:1/-1;margin-bottom:2px}.peca-mode-option{display:grid;grid-template-columns:auto 1fr;column-gap:9px;row-gap:2px;padding:13px;border:1px solid #d5dde1;border-radius:11px;background:#fff;cursor:pointer}.peca-mode-option.active{border-color:#6da18f;background:#f1f8f5;box-shadow:0 0 0 2px rgba(31,93,82,.06)}.peca-mode-option input{grid-row:1/3;align-self:start;margin-top:3px}.peca-mode-option strong{font-size:12px}.peca-mode-option span{font-size:9px;line-height:1.45;color:#6e7b83}.peca-reference-result{padding:11px 12px;border:1px solid #cad5da;border-radius:9px;background:#f8fafb}.peca-reference-result strong{font-size:12px;color:#234e43}.peca-reference-model{display:flex;justify-content:space-between;gap:18px;margin-top:16px;padding:17px;border:1px solid #bdd5cc;border-radius:12px;background:linear-gradient(135deg,#f9fcfb,#eef7f3)}.peca-reference-model h3{margin:4px 0 6px;font-size:16px}.peca-reference-model p{margin:0;max-width:760px;color:#66767e;font-size:11px;line-height:1.55}.peca-reference-badges{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:220px}.peca-reference-badges span{display:inline-flex;border:1px solid #c7d8d2;border-radius:999px;background:#fff;padding:6px 9px;color:#285b4e;font-size:9px;font-weight:850;text-align:right}.peca-reference-warning{margin-top:12px;padding:11px 13px;border:1px solid #e0c789;border-radius:10px;background:#fff9e9;color:#75561b;font-size:10px;line-height:1.5}.peca-crs-catalog{margin-top:16px;border:1px solid #d6dfe3;border-radius:11px;background:#fff;overflow:hidden}.peca-crs-catalog summary{cursor:pointer;padding:13px 15px;font-size:11px;font-weight:850;color:#334850;background:#f8fafb}.peca-crs-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.peca-crs-catalog article{padding:13px;border:1px solid #e0e6e9;border-radius:10px;background:#fff}.peca-crs-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.peca-crs-title strong{font-size:12px}.peca-crs-title span{font-size:7px;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:4px 6px}.peca-crs-title .official{background:#e7f3ee;color:#25614f}.peca-crs-title .legacy{background:#fff3db;color:#7d5a16}.peca-crs-title .interop{background:#eef2f5;color:#4e616b}.peca-crs-catalog article>p{margin:8px 0 10px;color:#75828a;font-size:9px;line-height:1.45}.peca-crs-catalog dl{margin:0;display:grid;gap:6px}.peca-crs-catalog dl>div{display:grid;grid-template-columns:92px 1fr;gap:8px;padding-top:6px;border-top:1px solid #edf1f3}.peca-crs-catalog dt{font-size:8px;font-weight:850;color:#69777f}.peca-crs-catalog dd{margin:0;display:flex;gap:5px;flex-wrap:wrap;font-size:8px;color:#334b54}.peca-crs-catalog dd span{padding:2px 5px;border-radius:5px;background:#f3f6f7}.peca-project-next{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:14px;border-top:1px solid #dce4e7}.peca-project-next strong,.peca-project-next span{display:block}.peca-project-next strong{font-size:11px}.peca-project-next span{margin-top:3px;color:#76828a;font-size:9px}.peca-project-next .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.peca-project-form-grid{grid-template-columns:1fr}.peca-field.wide,.peca-project-mode{grid-column:auto}.peca-project-mode{grid-template-columns:1fr}.peca-reference-model{display:block}.peca-reference-badges{align-items:flex-start;margin-top:12px;min-width:0}.peca-crs-catalog-grid{grid-template-columns:1fr}.peca-project-next{align-items:flex-start;flex-direction:column}}

/* NFP v0.1.0-r16-local — projetos persistentes do PECA e abertura em tela própria */
.peca-projects-card{min-height:300px}.peca-card-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.peca-card-heading-row h2{margin-bottom:0}.peca-project-list{display:grid;gap:7px;margin:15px 0 3px;max-height:330px;overflow:auto;padding-right:3px}.peca-project-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 11px;border:1px solid #dde5e8;border-radius:10px;background:#fbfcfc;text-decoration:none;color:#17232d;transition:.15s ease}.peca-project-row:hover{border-color:#9fbdB2;background:#f3f9f6;transform:translateY(-1px)}.peca-project-row-main,.peca-project-row-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.peca-project-row-main strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peca-project-row-main small,.peca-project-row-meta small{font-size:8px;color:#748088}.peca-project-row-meta{align-items:flex-end}.peca-project-row-meta b{font-size:9px;color:#285d4f}.peca-project-open{font-size:9px;font-weight:850;color:#245f50;white-space:nowrap}.peca-project-empty{margin:15px 0 3px;padding:14px;border:1px dashed #c8d4d8;border-radius:10px;background:#fafcfc}.peca-project-empty strong,.peca-project-empty span{display:block}.peca-project-empty strong{font-size:11px;color:#334b54}.peca-project-empty span{margin-top:3px;font-size:9px;color:#78848b}
.peca-project-workspace{min-width:0}.peca-project-process-head{display:flex;justify-content:space-between;gap:20px;padding:23px;border:1px solid #d8e0e4;border-radius:14px;background:linear-gradient(145deg,#fff,#f5f9f7)}.peca-project-process-head h1{margin:4px 0 6px;font-size:28px}.peca-project-process-head p{margin:0;color:#67757e;font-size:11px}.peca-project-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.peca-project-tabs a{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #d8e0e4;border-radius:10px;background:#fff;text-decoration:none;color:#495961}.peca-project-tabs a strong{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eef3f1;color:#2c5c4f;font-size:8px}.peca-project-tabs a span{font-size:10px;font-weight:800}.peca-project-tabs a.active{border-color:#7da99a;background:#eef7f3;color:#204f42}.peca-project-tabs a.active strong{background:#246754;color:#fff}.peca-project-panel{margin-top:14px;padding:21px;border:1px solid #d9e1e4;border-radius:14px;background:#fff}.peca-project-panel.muted{background:#f8faf9}.peca-project-panel h2{margin:4px 0 8px;font-size:19px}.peca-project-panel>p{margin:0;color:#69767e;font-size:11px;line-height:1.55}.peca-project-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.peca-project-info-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.peca-project-info-grid article{padding:11px;border:1px solid #e0e6e9;border-radius:9px;background:#fafcfc;min-width:0}.peca-project-info-grid article span,.peca-project-info-grid article strong{display:block}.peca-project-info-grid article span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#758188;font-weight:850}.peca-project-info-grid article strong{margin-top:4px;font-size:10px;color:#263e47;overflow-wrap:anywhere}.peca-project-lead{margin-bottom:15px!important}.peca-model-preview-table{border:1px solid #d8e0e4;border-radius:10px;overflow:auto;background:#fff}.peca-model-preview-table .head{min-width:760px;display:grid;grid-template-columns:1.05fr 1fr .8fr 1fr .8fr .9fr .8fr;background:#eef3f1;border-bottom:1px solid #d8e0e4}.peca-model-preview-table .head span{padding:10px;border-right:1px solid #d8e0e4;font-size:8px;text-transform:uppercase;font-weight:850;color:#52656d}.peca-model-preview-table .head span:last-child{border-right:0}.peca-model-preview-table .empty{padding:32px 14px;text-align:center;color:#77838a;font-size:10px}.peca-project-format{margin-top:12px;padding:11px 12px;border-radius:9px;background:#f5f8f7;font-size:9px;color:#52636b}.peca-project-format code{margin-left:6px;color:#245c4e}.peca-viewer-placeholder{position:relative;min-height:360px;margin-top:14px;overflow:hidden;border:1px solid #d5dfe3;border-radius:12px;background:linear-gradient(#f7faf9 1px,transparent 1px),linear-gradient(90deg,#f7faf9 1px,transparent 1px),#fff;background-size:28px 28px}.viewer-point{position:absolute;width:34px;height:34px;display:grid;place-items:center;border:2px solid #2a6c59;border-radius:50%;background:#fff;color:#255949;font-size:8px;font-weight:900;box-shadow:0 2px 7px rgba(31,66,57,.12)}.viewer-point.p1{left:18%;top:58%}.viewer-point.p2{left:35%;top:24%}.viewer-point.p3{right:28%;top:30%}.viewer-point.p4{right:20%;bottom:18%}.viewer-message{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);min-width:280px;padding:11px 15px;border:1px solid #d4dfda;border-radius:10px;background:rgba(255,255,255,.94);text-align:center}.viewer-message strong,.viewer-message span{display:block}.viewer-message strong{font-size:10px;color:#2b5549}.viewer-message span{margin-top:3px;font-size:8px;color:#78848a}
@media(max-width:1100px){.peca-project-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.peca-card-heading-row,.peca-project-process-head,.peca-project-panel-head{display:block}.peca-card-heading-row .btn,.peca-project-panel-head .btn{margin-top:10px}.peca-project-row{grid-template-columns:1fr auto}.peca-project-open{grid-column:1/-1}.peca-project-row-meta{align-items:flex-end}.peca-project-tabs{grid-template-columns:1fr}.peca-project-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-project-process-head .peca-preview-chips{margin-top:13px}.peca-viewer-placeholder{min-height:300px}}
@media(max-width:480px){.peca-project-info-grid{grid-template-columns:1fr}.peca-project-row{grid-template-columns:1fr}.peca-project-row-meta{align-items:flex-start}.viewer-message{min-width:0;width:calc(100% - 30px)}}

/* ==========================================================
   PECA r19 — interfaces validadas (Resumo / Modelo / Desenho /
   Confrontantes / Resultados). Escopo isolado em .peca-studio-*
   ========================================================== */
.peca-studio-body{margin:0;background:#f5f8f9;color:#10243c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.peca-studio-app{min-height:100vh;background:#f8fafb}.peca-studio-header{display:grid;grid-template-columns:310px minmax(420px,1fr) minmax(430px,560px);align-items:stretch;background:#fff;border-bottom:1px solid #dce6ea;min-height:92px}.peca-studio-brandline,.peca-studio-project-title,.peca-studio-project-meta{padding:20px 24px}.peca-studio-brandline{border-right:1px solid #e2e9ec}.peca-studio-brandline strong{display:block;font-size:24px;letter-spacing:-.02em;color:#0d1f4e}.peca-studio-brandline strong span{color:#0a8d6d}.peca-studio-brandline small{display:block;margin-top:6px;color:#465a70;font-size:13px}.peca-studio-project-title span{display:block;color:#078a68;font-size:12px;font-weight:800;letter-spacing:.03em}.peca-studio-project-title h1{margin:7px 0 0;font-size:28px;line-height:1.1;color:#0e1f48}.peca-inline-icon{border:0;background:transparent;color:#587085;font-size:20px;cursor:pointer}.peca-studio-project-meta{align-self:center;margin:12px 18px 12px 0;padding:14px 18px;border:1px solid #d9e4e8;border-radius:12px;background:#fbfcfd;color:#10243c;font-size:13px;line-height:1.85}.peca-studio-project-meta i{display:inline-block;width:1px;height:14px;margin:0 12px;background:#cdd8dc;vertical-align:middle}.peca-meta-settings{float:right;color:#10243c;text-decoration:none;border:1px solid #d8e3e8;border-radius:7px;padding:6px 10px;background:#fff;line-height:1.2}.peca-studio-tabs{display:flex;gap:22px;align-items:flex-end;padding:0 28px;background:#fff;border-bottom:1px solid #dbe5e9;overflow-x:auto}.peca-studio-tabs a{display:block;padding:17px 24px 13px;color:#263b5c;text-decoration:none;border-bottom:3px solid transparent;font-size:14px;white-space:nowrap}.peca-studio-tabs a.active{color:#078b69;border-bottom-color:#07916e;font-weight:800}.peca-studio-main{padding:18px 16px 10px;max-width:1920px;margin:0 auto}.peca-studio-footer{display:flex;gap:42px;align-items:center;padding:12px 26px;border-top:1px solid #dbe5e9;background:#fff;color:#445a70;font-size:12px;position:sticky;bottom:0;z-index:15}.peca-studio-footer .footer-saved{margin-left:auto;color:#078b69;background:#eaf8f3;padding:9px 14px;border-radius:8px;font-weight:800}.peca-card{background:#fff;border:1px solid #dbe5e9;border-radius:10px;box-shadow:0 1px 1px rgba(11,28,45,.015)}.peca-card h2,.peca-card h3,.peca-card h4{margin:0;color:#10233d}.peca-card h2{font-size:14px}.peca-card h3{font-size:12px}.peca-card h4{font-size:11px}.peca-card-title-row{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid #e0e8eb}.peca-ribbon{display:flex;gap:10px;margin-bottom:12px;overflow-x:auto}.peca-ribbon-group{padding:7px 8px;border:1px solid #dce6ea;border-radius:10px;background:#fff;flex:0 0 auto}.peca-ribbon-group>small{display:block;margin:0 0 6px 5px;font-size:9px;font-weight:900;color:#233b59}.peca-ribbon-group>div{display:flex;gap:6px}.peca-studio-tool{min-width:76px;height:59px;border:1px solid #dbe4e8;background:#fff;border-radius:8px;padding:7px 10px;color:#17304e;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px}.peca-studio-tool:hover{background:#f0faf7;border-color:#88c7b4}.peca-studio-tool-icon{font-size:20px;line-height:1}.peca-ribbon-model .peca-ribbon-group:nth-child(2){flex:1}.peca-ribbon-drawing .peca-ribbon-group:first-child{flex:1}.peca-ribbon-results .peca-ribbon-group:last-child{flex:1}.control-inline{display:flex;align-items:center;gap:10px}.control-inline label{font-size:11px}.control-inline select,.peca-filter-row select,.peca-filter-row input,.peca-grid-table select,.peca-grid-table input,.peca-confront-detail-grid input,.peca-confront-detail-grid select,.peca-confront-detail-grid textarea{border:1px solid #d6e1e6;border-radius:6px;background:#fff;padding:7px 9px;color:#1d334e;font:inherit;font-size:11px}.check-inline{display:flex;align-items:center;gap:6px}.checkbox{display:inline-grid;width:15px;height:15px;place-items:center;border:1px solid #b8c7ce;border-radius:3px;font-size:10px;color:#fff}.checkbox.checked{background:#078b69;border-color:#078b69}.peca-table-wrap{overflow:auto}.peca-grid-table{width:100%;border-collapse:collapse;min-width:1040px;font-size:11px;color:#17304e}.peca-grid-table th,.peca-grid-table td{padding:11px 10px;border-bottom:1px solid #e1e8eb;border-right:1px solid #e7edef;text-align:center;white-space:nowrap}.peca-grid-table th{background:#fbfcfd;font-weight:700;color:#26405e}.peca-grid-table tr.selected td{background:#e6f5f0}.peca-grid-table tbody tr:hover td{background:#f6fbf9}.peca-grid-table input,.peca-grid-table select{width:100%;min-width:110px}.peca-table-summary{display:flex;align-items:center;gap:28px;padding:14px 16px;color:#586d80;font-size:11px}.peca-table-summary b{color:#078b69}.peca-table-summary em{color:#f0a000;font-style:normal}.peca-table-summary span:last-child{margin-left:auto}.ok{color:#058f68!important}.pending{color:#c77a00!important}.status-pill{display:inline-block;padding:5px 9px;border-radius:6px;font-size:10px}.status-pill.ok{background:#e9f7ef}.status-pill.pending{background:#fff1d7}.small-copy{font-size:10px;line-height:1.55;color:#41586e}.peca-stat-list{margin:10px 0 0}.peca-stat-list>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:10px}.peca-stat-list dt{color:#344b64}.peca-stat-list dd{margin:0;text-align:right;color:#122949}.peca-legend-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px;font-size:10px}.peca-legend-list li{display:flex;gap:8px;align-items:flex-start}.peca-legend-list i{width:10px;height:10px;border:1px solid #bcc8ce;border-radius:50%;flex:0 0 auto;margin-top:2px}.peca-legend-list i.green{background:#078b69;border-color:#078b69}.peca-legend-list i.amber{background:#f0a000;border-color:#f0a000;width:10px;height:10px}.peca-legend-list i.red{background:#df1f26;border-color:#df1f26;color:#fff;display:grid;place-items:center}.peca-legend-list li span{display:flex;flex-direction:column}.peca-legend-list small{color:#697c8d;margin-top:2px}.peca-action{border:1px solid #cddbe0;background:#fff;color:#17324f;border-radius:7px;padding:9px 13px;font-size:11px;cursor:pointer}.peca-action.primary{background:#078b69;border-color:#078b69;color:#fff}.icon-btn{border:1px solid #d6e1e6;background:#fff;border-radius:6px;padding:5px 8px;cursor:pointer;color:#18324f}.icon-btn.danger{color:#df1f26}.mini-plus{display:grid;width:27px;height:27px;place-items:center;border-radius:6px;background:#e8f7f2;color:#078b69;text-decoration:none;font-size:19px}.peca-demo-toast{position:fixed;right:22px;bottom:74px;z-index:99;max-width:440px;padding:12px 16px;border-radius:8px;background:#102f46;color:#fff;box-shadow:0 10px 30px rgba(7,31,48,.22);font-size:11px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.peca-demo-toast.show{opacity:1;transform:none}
/* Modelo */
.peca-model-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:12px}.peca-model-table-card{overflow:hidden}.peca-model-table-card>h2{padding:14px 14px 10px}.peca-points-table{min-width:1360px}.peca-model-aside{display:grid;gap:10px;align-content:start}.peca-model-aside .peca-card{padding:14px}.peca-model-detailbar{margin-top:12px;padding:14px;display:grid;grid-template-columns:1.1fr .9fr .9fr 1fr 1.5fr;gap:0}.peca-model-detailbar>div{padding:0 15px;border-right:1px solid #e2e9ec}.peca-model-detailbar>div:first-child{padding-left:0}.peca-model-detailbar>div:last-child{border-right:0;padding-right:0}.peca-model-detailbar h3{font-size:10px;margin-bottom:10px}.peca-model-detailbar dl{margin:0}.peca-model-detailbar dl div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:10px}.peca-model-detailbar dt{font-weight:700}.peca-model-detailbar dd{margin:0}.precision-card{text-align:center}.precision-card span,.precision-card small{display:block;color:#687c8e;font-size:10px}.precision-card strong{display:block;color:#078b69;font-size:20px;margin:9px 0}.notes-card textarea{width:100%;height:70px;resize:none;border:1px solid #d6e1e6;border-radius:6px;padding:9px;font:inherit;font-size:11px}.notes-card small{display:block;text-align:left;color:#687c8e;margin-top:4px}
/* Desenho */
.peca-drawing-layout{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;gap:10px}.peca-drawing-left,.peca-drawing-right{display:grid;gap:10px;align-content:start}.peca-filter-row{display:grid;grid-template-columns:1fr 90px;gap:8px;padding:9px}.peca-point-list{list-style:none;padding:0;margin:0}.peca-point-list li{display:grid;grid-template-columns:20px 45px minmax(0,1fr);align-items:center;gap:6px;padding:9px 12px;border-top:1px solid #edf1f3}.peca-point-list li.selected{background:#e7f5f1}.peca-point-list small{font-size:8px;color:#596e81;text-align:right}.peca-list-foot{display:flex;justify-content:space-between;padding:12px;color:#52687b;font-size:9px}.peca-list-foot span{color:#078b69}.peca-sequence{list-style:none;margin:0;padding:0}.peca-sequence li{display:grid;grid-template-columns:30px 1fr 20px;padding:8px 10px;border-top:1px solid #e6edef;font-size:11px}.peca-sequence i{font-style:normal;color:#4e6576}.peca-drawing-left .peca-action{display:block;width:calc(100% - 20px);margin:9px 10px 0}.peca-canvas-card{position:relative;overflow:hidden}.peca-canvas-head{display:flex;justify-content:space-between;padding:13px 14px;border-bottom:1px solid #e0e8eb;font-size:11px}.peca-drawing-svg{display:block;width:100%;height:525px;background:#fff}.peca-drawing-svg text{font-size:13px;fill:#182e45}.peca-drawing-svg .peca-svg-points circle{fill:#fff;stroke:#078b69;stroke-width:4}.peca-drawing-svg .peca-svg-points circle.selected{stroke:#0f76ef}.peca-drawing-svg .peca-svg-points circle.unused{stroke-width:3}.peca-drawing-svg .peca-svg-points text{font-weight:700}.peca-drawing-svg .peca-svg-points text:not(.selected-label)+text{font-size:10px;font-weight:600}.peca-drawing-svg .selected-label{fill:#0f76ef;font-size:16px}.peca-drawing-svg .north{font-size:17px;font-weight:900}.peca-drawing-svg .scale text,.peca-drawing-svg .crs-label{font-size:10px}.peca-canvas-tools{position:absolute;right:12px;top:52%;display:grid;gap:5px}.peca-canvas-tools button{width:34px;height:34px;border:1px solid #d5e0e4;background:#fff;border-radius:6px;color:#1a334f}.peca-detail-grid{margin:0}.peca-detail-grid>div{display:grid;grid-template-columns:1fr 1.1fr;border-top:1px solid #e6edef;font-size:10px}.peca-detail-grid dt,.peca-detail-grid dd{padding:8px 10px;margin:0}.peca-detail-grid dt{font-weight:700}.peca-boundary-strip{margin-top:10px;padding:12px}.peca-boundary-strip h3{margin-bottom:10px}
/* Confrontantes */
.peca-confront-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:12px}.peca-confront-table-card{overflow:hidden}.peca-confront-table-card h2{padding:14px}.peca-confront-aside{display:grid;gap:10px;align-content:start}.peca-confront-aside .peca-card{padding:14px}.peca-confront-details{margin-top:12px;padding:14px}.peca-confront-detail-grid{display:grid;grid-template-columns:220px 1fr 1.2fr 1fr 1fr;gap:12px;margin-top:14px}.peca-confront-detail-grid>div{padding-right:12px;border-right:1px solid #e1e8eb}.peca-confront-detail-grid>div:last-child{border-right:0}.peca-confront-detail-grid h4{margin-bottom:10px}.peca-confront-detail-grid dl{margin:0}.peca-confront-detail-grid dl div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:10px}.peca-confront-detail-grid dd{margin:0}.peca-confront-detail-grid label{display:flex;flex-direction:column;gap:4px;font-size:9px;margin-bottom:8px;color:#52697c}.peca-confront-detail-grid textarea{resize:vertical;min-height:52px}.dropzone{display:flex;min-height:95px;border:1px dashed #b9cad1;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:#3d5368;text-align:center;font-size:10px}.dropzone span,.dropzone small{color:#6f8394}.file-chip{display:flex;justify-content:space-between;margin-top:8px;font-size:9px}.file-chip span{color:#6a7d8f}
/* Resultados */
.peca-metric-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:12px}.peca-metric-cards article{padding:14px;border:1px solid #dce6ea;border-radius:8px;background:#fff;min-height:80px}.peca-metric-cards span{display:block;font-size:10px;color:#2b4868}.peca-metric-cards strong{display:block;margin-top:8px;font-size:19px;color:#10214a;overflow-wrap:anywhere}.peca-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;margin-top:12px}.peca-results-map{position:relative;overflow:hidden}.peca-results-map svg{display:block;width:100%;height:440px}.map-legend{position:absolute;right:20px;bottom:20px;background:#fff;border:1px solid #dbe5e9;border-radius:8px;padding:10px 14px;display:grid;gap:8px;font-size:10px}.map-legend span{display:flex;align-items:center;gap:8px}.map-legend i{width:24px;height:2px;background:#16a05f}.map-legend b{width:10px;height:10px;border-radius:50%;background:#16a05f}.peca-results-aside{display:grid;gap:10px;align-content:start}.peca-results-aside .peca-card{padding:14px}.big-status{display:flex;gap:12px;align-items:center;margin-top:10px;padding:14px;border-radius:8px;background:#ecf8f1;color:#0c9264;font-size:24px}.big-status span{display:flex;flex-direction:column}.big-status b{font-size:18px}.big-status small{font-size:10px;color:#64798a;margin-top:3px}.validation-list{list-style:none;padding:0;margin:10px 0 0}.validation-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf1f3;font-size:10px;color:#173a59}.validation-list li::first-letter{color:#16a05f}.peca-results-bottom{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:12px;margin-top:12px}.peca-results-bottom>.peca-card{padding:14px}.peca-simple-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:9px}.peca-simple-table th,.peca-simple-table td{padding:7px 6px;border-bottom:1px solid #e6edef;text-align:left}.product-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.product-cards article{padding:12px 8px;border:1px solid #dce5e9;border-radius:8px;text-align:center}.product-cards article>span{font-size:25px}.product-cards b,.product-cards small{display:block}.product-cards b{font-size:11px;margin-top:5px}.product-cards small{font-size:9px;color:#687d8e;margin:5px 0 10px}.product-cards button{width:100%;border:1px solid #d6e1e6;background:#fff;border-radius:6px;padding:6px;font-size:9px;color:#17324f}.bullet-notes{font-size:10px;line-height:1.65;color:#314a63;padding-left:18px}
/* Resumo */
.peca-summary-top{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.peca-summary-top article{min-height:92px;padding:14px;border:1px solid #dce6ea;border-radius:9px;background:#fff}.peca-summary-top small,.peca-summary-top strong,.peca-summary-top p{display:block}.peca-summary-top small{font-size:10px;color:#18314e;font-weight:700}.peca-summary-top strong{font-size:21px;color:#10214a;margin:8px 0 4px}.peca-summary-top p{font-size:9px;color:#6c7e8c;margin:0}.summary-status{display:flex;gap:12px}.summary-check{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#16a05f;color:#fff;font-size:25px;flex:0 0 auto}.summary-status strong{display:inline-block;font-size:14px;padding:4px 9px;background:#e5f6ec;color:#168753;border-radius:12px;margin:4px 0}.peca-summary-layout{display:grid;grid-template-columns:440px minmax(0,1fr) 360px;gap:12px;margin-top:12px}.peca-summary-layout>.peca-card,.peca-summary-aside .peca-card{padding:14px}.timeline{list-style:none;padding:0;margin:14px 0}.timeline li{display:grid;grid-template-columns:30px 1fr 115px;gap:8px;align-items:start;padding:9px 0;position:relative}.timeline li:not(:last-child)::after{content:"";position:absolute;left:14px;top:34px;bottom:-5px;width:2px;background:#dce7e2}.timeline i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#16a05f;color:#fff;font-style:normal;font-size:11px;z-index:1}.timeline .editing i{background:#f0a100}.timeline div{display:flex;flex-direction:column}.timeline b{font-size:11px}.timeline span{font-size:9px;color:#698091;margin-top:3px}.timeline time{font-size:9px;color:#058c68;text-align:right;line-height:1.5}.timeline .editing time{color:#e08b00}.peca-summary-map{position:relative;overflow:hidden}.peca-summary-map svg{display:block;width:100%;height:370px}.peca-summary-aside{display:grid;gap:10px;align-content:start}.updates-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.updates-list li{display:flex;gap:8px;font-size:10px}.updates-list span{display:flex;flex-direction:column}.updates-list small{color:#728596;margin-top:2px}.peca-summary-bottom{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:12px;margin-top:12px}.peca-summary-bottom>.peca-card{padding:14px}.product-cards.compact article{padding:10px 6px}.peca-summary-bottom .peca-action{display:block;margin:12px auto 0}
@media(max-width:1400px){.peca-studio-header{grid-template-columns:250px 1fr 460px}.peca-studio-brandline strong{font-size:20px}.peca-drawing-layout{grid-template-columns:260px minmax(0,1fr) 270px}.peca-summary-layout{grid-template-columns:360px minmax(0,1fr) 310px}.peca-confront-detail-grid{grid-template-columns:200px 1fr 1fr 1fr}.peca-confront-detail-grid>div:last-child{grid-column:1/-1;border-right:0}.peca-metric-cards{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1100px){.peca-studio-header{grid-template-columns:1fr 1.4fr}.peca-studio-project-meta{grid-column:1/-1;margin:0 16px 12px}.peca-model-layout,.peca-confront-layout,.peca-results-layout{grid-template-columns:1fr}.peca-model-aside,.peca-confront-aside,.peca-results-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-drawing-layout{grid-template-columns:230px minmax(0,1fr)}.peca-drawing-right{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.peca-model-detailbar{grid-template-columns:repeat(2,1fr)}.peca-model-detailbar>div{border-right:0;border-bottom:1px solid #e1e8eb;padding:12px}.peca-summary-top{grid-template-columns:repeat(3,1fr)}.peca-summary-layout,.peca-summary-bottom,.peca-results-bottom{grid-template-columns:1fr}.peca-summary-aside{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.peca-studio-header{display:block}.peca-studio-brandline{border-right:0;border-bottom:1px solid #e2e9ec}.peca-studio-project-meta{margin:0 12px 12px}.peca-meta-settings{float:none;display:inline-block;margin-top:8px}.peca-studio-tabs{padding:0 8px;gap:0}.peca-studio-tabs a{padding:14px 12px}.peca-ribbon{display:block}.peca-ribbon-group{margin-bottom:8px}.peca-ribbon-group>div{overflow-x:auto}.peca-drawing-layout{grid-template-columns:1fr}.peca-drawing-right{grid-column:auto;grid-template-columns:1fr}.peca-model-aside,.peca-confront-aside,.peca-results-aside,.peca-summary-aside{grid-template-columns:1fr}.peca-model-detailbar,.peca-confront-detail-grid{grid-template-columns:1fr}.peca-summary-top{grid-template-columns:repeat(2,1fr)}.peca-metric-cards{grid-template-columns:repeat(2,1fr)}.product-cards{grid-template-columns:repeat(2,1fr)}.peca-studio-footer{position:static;display:grid;gap:6px}.peca-studio-footer .footer-saved{margin-left:0}.peca-drawing-svg{height:420px}}

/* PECA r20 — núcleo funcional do Modelo e Desenho */
.peca-workspace-alert{margin:0 0 12px;padding:11px 14px;border:1px solid #cddbe0;border-radius:8px;background:#f7fafb;font-size:11px;line-height:1.5}.peca-workspace-alert.success{border-color:#b9dccd;background:#eef8f3;color:#155d49}.peca-workspace-alert.error{border-color:#e8b9b4;background:#fff2f0;color:#8b2d25}.peca-hidden-form{display:none!important}.peca-empty-table{text-align:center!important;padding:38px 16px!important;color:#74858e!important;background:#fbfdfd}.peca-studio-tool.active{border-color:#6bb49c!important;background:#eaf7f2!important;color:#075e49!important;box-shadow:0 0 0 1px rgba(7,136,102,.08) inset}.peca-dialog{width:min(760px,calc(100vw - 28px));border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px rgba(18,39,52,.24);color:#17232d}.peca-dialog::backdrop{background:rgba(9,24,33,.45)}.peca-dialog form{padding:0}.peca-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e1e8eb}.peca-dialog header small{display:block;color:#16725a;font-size:9px;font-weight:900;letter-spacing:.12em}.peca-dialog header h2{margin:4px 0 0;font-size:20px}.peca-dialog header button{border:0;background:transparent;font-size:24px;line-height:1;color:#657781;cursor:pointer}.peca-dialog>form>p{padding:0 20px;margin:16px 0 8px;color:#637681;font-size:11px}.peca-dialog>form>textarea{display:block;width:calc(100% - 40px);margin:0 20px;padding:12px;border:1px solid #cad7dc;border-radius:8px;resize:vertical;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.peca-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e1e8eb;margin-top:16px}.peca-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px}.peca-dialog-grid label{display:flex;flex-direction:column;gap:5px;color:#536b77;font-size:10px;font-weight:700}.peca-dialog-grid label.wide{grid-column:1/-1}.peca-dialog-grid input{padding:10px 11px;border:1px solid #cbd8dd;border-radius:7px;font:inherit;color:#17232d}.peca-sequence-actions{display:flex;gap:3px;margin-left:auto}.peca-sequence-actions button{width:24px;height:24px;border:1px solid #d5e0e4;border-radius:5px;background:#fff;color:#315265;font-size:11px;cursor:pointer}.peca-sequence-actions button:disabled{opacity:.3;cursor:default}.peca-sequence-empty{display:block!important;padding:12px!important;color:#75868f;font-size:9px;line-height:1.5}.peca-runtime-point{cursor:pointer;outline:none}.peca-runtime-point circle{fill:#fff;stroke:#078b69;stroke-width:4;transition:.12s}.peca-runtime-point.unused circle{stroke:#879ba5;stroke-width:3}.peca-runtime-point.selected circle{stroke:#0f76ef;stroke-width:4}.peca-runtime-point text{fill:#172b45;font-size:12px;font-weight:800;pointer-events:none}.peca-drawing-svg.link-mode .peca-runtime-point circle{cursor:crosshair}.peca-drawing-svg.link-mode .peca-runtime-point:hover circle{fill:#e7f7f1;stroke-width:5}.peca-point-list li{cursor:pointer}.peca-point-list li.selected{background:#eaf7f2}.peca-list-empty{display:block!important;padding:14px!important;color:#74868f!important;font-size:9px!important}.peca-summary-svg{display:block;width:100%;height:100%}.peca-summary-map .peca-summary-svg{height:370px}.peca-results-map .peca-summary-svg{height:440px}.status-pill.pending{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fff3d8;color:#9a6a00;font-size:8px;font-weight:800}.peca-model-table-card .peca-points-table tbody tr{cursor:pointer}.peca-model-table-card .peca-points-table tbody tr.selected{background:#e8f7f2}.peca-model-table-card .peca-points-table tbody tr:hover{background:#f3faf7}.peca-model-detailbar textarea[readonly]{background:#fbfdfd}.peca-studio-footer{z-index:3}
@media(max-width:760px){.peca-dialog-grid{grid-template-columns:1fr}.peca-dialog-grid label.wide{grid-column:auto}.peca-dialog footer{flex-direction:column-reverse}.peca-dialog footer .btn{width:100%}}

/* ========================================================================== */
/* PECA r21 — refino do ambiente de desenho / escala / parcelas e perímetros */
/* ========================================================================== */
.peca-studio-tab-desenho .peca-studio-header{grid-template-columns:220px minmax(340px,1fr) minmax(390px,500px);min-height:68px}
.peca-studio-tab-desenho .peca-studio-brandline,.peca-studio-tab-desenho .peca-studio-project-title,.peca-studio-tab-desenho .peca-studio-project-meta{padding:11px 16px}
.peca-studio-tab-desenho .peca-studio-brandline strong{font-size:18px}
.peca-studio-tab-desenho .peca-studio-brandline small{margin-top:3px;font-size:10px;line-height:1.35}
.peca-studio-tab-desenho .peca-studio-project-title span{font-size:10px}
.peca-studio-tab-desenho .peca-studio-project-title h1{font-size:23px;margin-top:4px}
.peca-studio-tab-desenho .peca-studio-project-meta{margin:7px 10px 7px 0;font-size:10px;line-height:1.65;border-radius:10px}
.peca-studio-tab-desenho .peca-meta-settings{padding:4px 8px;font-size:10px}
.peca-studio-tab-desenho .peca-studio-tabs{padding:0 18px}
.peca-studio-tab-desenho .peca-studio-tabs a{padding:10px 18px 8px;font-size:12px}
.peca-studio-tab-desenho .peca-studio-main{padding:9px 10px 7px}
.peca-studio-tab-desenho .peca-ribbon{gap:7px;margin-bottom:8px}
.peca-studio-tab-desenho .peca-ribbon-group{padding:5px 6px}
.peca-studio-tab-desenho .peca-ribbon-group>small{font-size:8px;margin-bottom:4px}
.peca-studio-tab-desenho .peca-studio-tool{min-width:62px;height:50px;padding:5px 7px;font-size:8.5px;gap:2px}
.peca-studio-tab-desenho .peca-studio-tool-icon{font-size:17px}
.peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:220px minmax(0,1fr) 250px;gap:8px;align-items:start}
.peca-point-panel,.peca-sequence-card,.peca-perimeters-card{overflow:hidden}
.peca-point-panel .peca-card-title-row,.peca-sequence-card .peca-card-title-row,.peca-perimeters-card .peca-card-title-row{padding:9px 10px}
.peca-point-panel .peca-filter-row{padding:6px;grid-template-columns:1fr 76px;gap:5px}
.peca-point-panel .peca-filter-row input,.peca-point-panel .peca-filter-row select{font-size:9px;padding:6px 7px;min-height:28px}
.peca-point-panel .peca-point-list{max-height:255px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#9bb8b0 #edf3f1}
.peca-point-panel .peca-point-list::-webkit-scrollbar,.peca-sequence-card .peca-sequence::-webkit-scrollbar,.peca-perimeter-list::-webkit-scrollbar{width:7px}
.peca-point-panel .peca-point-list::-webkit-scrollbar-track,.peca-sequence-card .peca-sequence::-webkit-scrollbar-track,.peca-perimeter-list::-webkit-scrollbar-track{background:#edf3f1}
.peca-point-panel .peca-point-list::-webkit-scrollbar-thumb,.peca-sequence-card .peca-sequence::-webkit-scrollbar-thumb,.peca-perimeter-list::-webkit-scrollbar-thumb{background:#9bb8b0;border-radius:8px}
.peca-point-panel .peca-point-list li{grid-template-columns:16px 38px minmax(0,1fr);gap:4px;padding:5px 7px;min-height:31px}
.peca-point-panel .peca-point-list li b{font-size:9px;line-height:1.1}
.peca-point-panel .peca-point-list small{font-size:6.8px;line-height:1.12;white-space:normal;overflow-wrap:anywhere}
.peca-point-panel .peca-list-foot{padding:7px 8px;font-size:7.5px}
.peca-sequence-card .peca-sequence{max-height:145px;overflow-y:auto;scrollbar-width:thin}
.peca-sequence-card .peca-sequence li{padding:5px 7px;font-size:9px;grid-template-columns:22px 1fr auto}
.peca-sequence-card .peca-action{font-size:9px;padding:7px 8px;margin-top:6px}
.peca-perimeters-card .peca-mini-add{width:25px;height:25px;border:1px solid #b9d8ce;background:#eef9f5;color:#08795e;border-radius:6px;font-weight:900;cursor:pointer}
.peca-perimeter-list{max-height:175px;overflow-y:auto;scrollbar-width:thin}
.peca-perimeter-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:7px 8px;border-top:1px solid #e7edef;align-items:center}
.peca-perimeter-list article>div:first-child{display:grid;gap:2px;min-width:0}
.peca-perimeter-list b{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.peca-perimeter-list small{font-size:7.5px;color:#607582}
.peca-perimeter-list em{font-size:6.8px;color:#0b7e61;font-style:normal}
.peca-perimeter-kind{width:max-content;padding:2px 5px;border-radius:999px;background:#eaf7f2;color:#08765c;font-size:6.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.peca-perimeter-actions{display:flex;gap:3px}
.peca-perimeter-actions button{border:1px solid #d4e1e5;background:#fff;border-radius:5px;padding:4px 6px;font-size:7px;cursor:pointer;color:#24445a}
.peca-perimeter-actions button:last-child{color:#a23232}
.peca-perimeter-empty,.peca-perimeter-note{margin:0;padding:9px;color:#687b86;font-size:7.5px;line-height:1.4}
.peca-perimeter-note{border-top:1px solid #e7edef;background:#fbfdfc}
.peca-studio-tab-desenho .peca-canvas-card{min-width:0;position:relative}
.peca-studio-tab-desenho .peca-canvas-head{padding:8px 10px;min-height:35px}
.peca-studio-tab-desenho .peca-drawing-svg{height:clamp(540px,calc(100vh - 280px),760px);min-height:540px;touch-action:none;user-select:none;cursor:default}
.peca-studio-tab-desenho .peca-drawing-svg.pan-mode{cursor:grab}
.peca-studio-tab-desenho .peca-drawing-svg.dragging{cursor:grabbing}
.peca-studio-tab-desenho #peca-drawing-svg polyline,.peca-studio-tab-desenho #peca-drawing-svg circle{vector-effect:non-scaling-stroke}
.peca-studio-tab-desenho .peca-runtime-point circle{stroke-width:1.8!important}
.peca-studio-tab-desenho .peca-runtime-point.selected circle{stroke-width:2.3!important}
.peca-studio-tab-desenho .peca-runtime-point.unused circle{stroke-width:1.6!important}
.peca-studio-tab-desenho .peca-runtime-point text{font-weight:750;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}
.peca-studio-tab-desenho .peca-canvas-tools{right:10px;top:50%;transform:translateY(-50%);z-index:8;gap:4px}
.peca-studio-tab-desenho .peca-canvas-tools button{width:31px;height:31px;font-size:12px;box-shadow:0 2px 7px rgba(23,53,70,.08)}
.peca-studio-tab-desenho .peca-canvas-tools button.active{background:#e9f7f2;border-color:#65b59b;color:#08765c}
.peca-canvas-statusbar{position:absolute;right:10px;left:auto;bottom:10px;z-index:7;display:flex;gap:9px;align-items:center;justify-content:flex-end;max-width:calc(100% - 64px);padding:6px 8px;border:1px solid rgba(197,214,220,.94);border-radius:7px;background:rgba(255,255,255,.93);backdrop-filter:blur(4px);box-shadow:0 2px 9px rgba(24,52,68,.07);font-size:7.5px;color:#526a78;white-space:nowrap;overflow:hidden}
.peca-canvas-statusbar b{color:#102d43}.peca-canvas-statusbar small{color:#78909a;font-size:6.8px}
.peca-dialog-grid select{padding:10px 11px;border:1px solid #cbd8dd;border-radius:7px;font:inherit;color:#17232d;background:#fff}
.peca-dialog-info{padding:10px;border:1px dashed #bfd8cf;border-radius:8px;background:#f4faf7}.peca-dialog-info strong{font-size:10px;color:#24604e;font-weight:700}
@media(max-width:1400px){.peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:205px minmax(0,1fr) 230px}.peca-studio-tab-desenho .peca-studio-header{grid-template-columns:205px 1fr 440px}.peca-studio-tab-desenho .peca-drawing-svg{height:clamp(510px,calc(100vh - 275px),700px)}}
@media(max-width:1100px){.peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:205px minmax(0,1fr)}.peca-studio-tab-desenho .peca-drawing-right{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.peca-studio-tab-desenho .peca-studio-header{grid-template-columns:1fr 1.35fr}.peca-studio-tab-desenho .peca-studio-project-meta{grid-column:1/-1;margin:0 10px 7px}.peca-canvas-statusbar small{display:none}}
@media(max-width:760px){.peca-studio-tab-desenho .peca-studio-header{display:block}.peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:1fr}.peca-studio-tab-desenho .peca-drawing-right{grid-column:auto;grid-template-columns:1fr}.peca-studio-tab-desenho .peca-point-panel .peca-point-list{max-height:190px}.peca-studio-tab-desenho .peca-drawing-svg{height:470px;min-height:470px}.peca-canvas-statusbar{right:10px;left:auto;max-width:calc(100% - 20px);overflow-x:auto}.peca-canvas-statusbar span:nth-child(3){display:none}}

/* r23 — overlays cartográficos em pixels de tela, totalmente desacoplados do viewBox/zoom */
.peca-studio-tab-desenho .peca-canvas-viewport{position:relative;overflow:hidden;min-width:0;background:#fff}
.peca-studio-tab-desenho .peca-canvas-viewport .peca-drawing-svg{display:block;width:100%}
.peca-label-layer{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.peca-fixed-point-label{position:absolute;display:block;transform:translate(7px,calc(-100% - 5px));font-weight:800;line-height:1;white-space:nowrap;color:#172b45;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 3px #fff;letter-spacing:0;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.peca-fixed-point-label.unused{color:#536b78;font-weight:700}
.peca-fixed-point-label.selected{color:#086fe8;font-weight:900;z-index:2}
.peca-north-overlay{position:absolute;right:14px;top:12px;z-index:6;width:38px;height:56px;pointer-events:none;display:flex;flex-direction:column;align-items:center;color:#111b22;filter:drop-shadow(0 1px 0 #fff)}
.peca-north-overlay b{display:block;font-size:13px;line-height:14px;font-weight:900}
.peca-north-overlay span{display:block;width:17px;height:30px;margin-top:3px;background:#111b22;clip-path:polygon(50% 0,100% 100%,50% 76%,0 100%)}
.peca-crs-overlay{position:absolute;left:12px;bottom:10px;z-index:6;max-width:46%;padding:4px 6px;border:1px solid rgba(207,220,225,.92);border-radius:6px;background:rgba(255,255,255,.91);font-size:7.5px;line-height:1.2;color:#59717d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 1px 4px rgba(24,52,68,.04)}
.peca-studio-tab-desenho .peca-canvas-tools{position:absolute}
.peca-studio-tab-desenho .peca-canvas-statusbar{position:absolute}
@media(max-width:760px){.peca-crs-overlay{max-width:48%;font-size:7px}.peca-fixed-point-label{max-width:92px}.peca-north-overlay{right:10px;top:10px}}

/* PECA r24 — Modelo profissional editável */
.is-hidden-column{display:none!important}
.peca-model-filter-group>div{align-items:stretch}.peca-model-geometry-filter{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:190px;padding:4px 7px}.peca-model-geometry-filter span{font-size:8px;font-weight:800;color:#536b77}.peca-model-geometry-filter select{border:1px solid #d6e1e6;border-radius:6px;background:#fff;padding:6px 8px;color:#17304e;font-size:10px}.peca-sortable-th{cursor:pointer;user-select:none}.peca-sortable-th:hover{background:#eef8f4!important;color:#08775d}.peca-editable-model-cell{padding:5px!important}.peca-editable-model-cell input{min-width:140px!important;padding:6px 7px!important;font-size:10px!important}.peca-column-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:16px 20px}.peca-column-picker label{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid #dce5e8;border-radius:7px;background:#fbfdfd;font-size:10px;color:#27435b}.peca-column-picker input{accent-color:#078b69}.peca-points-table{min-width:1650px}.peca-points-table tr[hidden]{display:none!important}@media(max-width:760px){.peca-column-picker{grid-template-columns:1fr}.peca-model-geometry-filter{min-width:150px}}


/* ========================================================================== */
/* PECA r25 — topo compacto unificado em todas as abas do projeto            */
/* ========================================================================== */
.peca-studio-body .peca-studio-header{grid-template-columns:220px minmax(340px,1fr) minmax(390px,500px);min-height:68px}
.peca-studio-body .peca-studio-brandline,.peca-studio-body .peca-studio-project-title,.peca-studio-body .peca-studio-project-meta{padding:11px 16px}
.peca-studio-body .peca-studio-brandline strong{font-size:18px}
.peca-studio-body .peca-studio-brandline small{margin-top:3px;font-size:10px;line-height:1.35}
.peca-studio-body .peca-studio-project-title span{font-size:10px}
.peca-studio-body .peca-studio-project-title h1{font-size:23px;margin-top:4px}
.peca-studio-body .peca-studio-project-meta{margin:7px 10px 7px 0;font-size:10px;line-height:1.65;border-radius:10px}
.peca-studio-body .peca-meta-settings{padding:4px 8px;font-size:10px}
.peca-studio-body .peca-studio-tabs{padding:0 18px}
.peca-studio-body .peca-studio-tabs a{padding:10px 18px 8px;font-size:12px}
.peca-polygon-property-actions{padding:8px 10px 10px;border-top:1px solid #e4ebee}
.peca-polygon-property-actions .peca-action{width:100%;padding:7px 9px;font-size:9px;font-weight:800}
.peca-polygon-property-actions .peca-action:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1400px){.peca-studio-body .peca-studio-header{grid-template-columns:205px 1fr 440px}}
@media(max-width:1100px){.peca-studio-body .peca-studio-header{grid-template-columns:1fr 1.35fr}.peca-studio-body .peca-studio-project-meta{grid-column:1/-1;margin:0 10px 7px}}
@media(max-width:760px){.peca-studio-body .peca-studio-header{display:block}.peca-studio-body .peca-studio-brandline{border-right:0;border-bottom:1px solid #e2e9ec}.peca-studio-body .peca-studio-project-meta{margin:0 10px 7px}.peca-studio-body .peca-studio-tabs{padding:0 8px}.peca-studio-body .peca-studio-tabs a{padding:10px 12px 8px}}

/* r26 — mapas estáticos de Resumo/Resultados: Norte + barra de escala + textos ancorados */
.peca-summary-map,.peca-results-map{overflow:hidden}
.peca-summary-svg{background:#fbfdfc}
.peca-static-point-label,.peca-static-segment-label,.peca-static-area-label{font-family:inherit;fill:#172b45;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.peca-static-point-label{font-size:11px;font-weight:800}
.peca-static-segment-label{font-size:9.5px;font-weight:700;fill:#34566a;stroke-width:3.6px}
.peca-static-area-label{font-size:14px;font-weight:900;fill:#17324f;stroke-width:5px}
.peca-static-north text{font-size:14px;font-weight:900;fill:#101820;stroke:#fff;stroke-width:3px;paint-order:stroke}
.peca-static-north path{fill:#101820;stroke:#fff;stroke-width:1.2px}
.peca-static-north .peca-static-north-cut{fill:#fff;stroke:none}
.peca-static-scale line{stroke:#111820;stroke-width:1.2}
.peca-static-scale rect{stroke:#111820;stroke-width:1}
.peca-static-scale rect.dark{fill:#111820}
.peca-static-scale rect.light{fill:#fff}
.peca-static-scale text{font-size:9px;font-weight:700;fill:#16283b;stroke:#fff;stroke-width:3px;paint-order:stroke}

/* ========================================================================== */
/* PECA r27 — textos cartográficos controlados e mapas estáticos mais limpos */
/* ========================================================================== */
.peca-fixed-segment-label{position:absolute;display:block;z-index:1;max-width:180px;padding:1px 3px;border-radius:3px;background:rgba(255,255,255,.78);font-size:8px;font-weight:750;line-height:1.1;color:#315566;white-space:nowrap;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;transform-origin:center center;pointer-events:none}
.peca-static-point-label{font-size:8.2px;font-weight:800;stroke-width:3px}
.peca-static-area-label{font-size:9px;font-weight:900;stroke-width:3.5px}
.peca-static-scale text{font-size:7.5px;font-weight:750}
@media(max-width:760px){.peca-fixed-segment-label{font-size:7.5px;max-width:130px}}

/* r28: ocultação exclusivamente visual da faixa Confrontantes da Poligonal no Desenho. */
.peca-boundary-strip{display:none!important}

/* ========================================================================== */
/* PECA r29 — REDESENHO VISUAL PROFISSIONAL (somente apresentação)            */
/* Base funcional preservada: r28 / r27 funcional fornecida pelo usuário      */
/* ========================================================================== */
.peca-studio-body{
  --peca-navy:#003b5b;
  --peca-navy-2:#002e49;
  --peca-blue:#0879df;
  --peca-blue-2:#096abd;
  --peca-cyan:#dff1fb;
  --peca-bg:#edf6fb;
  --peca-panel:#ffffff;
  --peca-line:#c9dce7;
  --peca-line-soft:#dce9f0;
  --peca-text:#11314d;
  --peca-muted:#5d788d;
  --peca-green:#10a36c;
  --peca-shadow:0 1px 3px rgba(21,64,91,.08);
  background:var(--peca-bg);
  color:var(--peca-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.peca-studio-body .peca-studio-app{width:100%;max-width:none;background:var(--peca-bg);min-height:100vh}

/* Topo: barra institucional enxuta, técnica e contínua */
.peca-studio-body .peca-studio-header{
  display:grid;
  grid-template-columns:minmax(270px,360px) minmax(320px,1fr) minmax(420px,600px);
  min-height:44px;
  background:linear-gradient(180deg,var(--peca-navy),var(--peca-navy-2));
  color:#fff;
  border:0;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset;
}
.peca-studio-body .peca-studio-brandline,
.peca-studio-body .peca-studio-project-title,
.peca-studio-body .peca-studio-project-meta{
  min-width:0;
  padding:6px 14px;
  border:0;
  background:transparent;
  color:#fff;
  align-self:center;
}
.peca-studio-body .peca-studio-brandline{display:flex;align-items:center;gap:12px;border-right:1px solid rgba(255,255,255,.13)}
.peca-studio-body .peca-studio-brandline strong{font-size:17px;letter-spacing:.055em;white-space:nowrap;color:#fff}
.peca-studio-body .peca-studio-brandline strong span{color:#fff}
.peca-studio-body .peca-studio-brandline small{font-size:8px;line-height:1.15;color:#bad2df;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-studio-body .peca-studio-project-title{border-right:1px solid rgba(255,255,255,.11)}
.peca-studio-body .peca-studio-project-title span{display:block;font-size:7.5px;letter-spacing:.025em;color:#c3dbe7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-studio-body .peca-studio-project-title h1{display:flex;align-items:center;gap:5px;margin:2px 0 0;font-size:10.5px;line-height:1.2;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-studio-body .peca-inline-icon{font-size:9px;color:#d7edf7;border:0;background:transparent;padding:0}
.peca-studio-body .peca-studio-project-meta{margin:0;font-size:7.5px;line-height:1.45;border-radius:0;color:#d7e8f0;overflow:hidden}
.peca-studio-body .peca-studio-project-meta>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-studio-body .peca-studio-project-meta b{color:#fff;font-weight:700}.peca-studio-body .peca-studio-project-meta i{display:inline-block;width:1px;height:8px;margin:0 7px;background:rgba(255,255,255,.25);vertical-align:-1px}
.peca-studio-body .peca-meta-settings{float:right;margin:-2px 0 0 10px;padding:4px 9px;border:1px solid #40a7db;border-radius:4px;background:rgba(0,121,190,.16);color:#fff;font-size:7.5px;font-weight:700;text-decoration:none}
.peca-studio-body .peca-meta-settings:hover{background:#0878be;border-color:#76c4ec}

/* Navegação horizontal conforme referência visual */
.peca-studio-body .peca-studio-tabs{
  display:flex;
  align-items:stretch;
  min-height:31px;
  padding:0 10px;
  gap:0;
  background:#00324f;
  border:0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid #0d557d;
  overflow-x:auto;
}
.peca-studio-body .peca-studio-tabs a{
  display:flex;align-items:center;justify-content:center;
  padding:7px 20px 6px;
  border:0;border-radius:0;
  color:#dceaf2;
  background:transparent;
  font-size:9px;font-weight:650;text-decoration:none;white-space:nowrap;
  box-shadow:none;
}
.peca-studio-body .peca-studio-tabs a:hover{background:#06476a;color:#fff}
.peca-studio-body .peca-studio-tabs a.active{background:linear-gradient(180deg,#0d7ed7,#0869b5);color:#fff;box-shadow:0 -2px 0 #46b9ff inset,0 1px 0 rgba(255,255,255,.12) inset}

/* Área útil */
.peca-studio-body .peca-studio-main{padding:5px 7px 7px;max-width:none}
.peca-studio-body .peca-card{
  background:var(--peca-panel);
  border:1px solid var(--peca-line);
  border-radius:5px;
  box-shadow:var(--peca-shadow);
  color:var(--peca-text);
}
.peca-studio-body .peca-card h2,
.peca-studio-body .peca-card h3,
.peca-studio-body .peca-card h4{color:#0c2d4a;letter-spacing:0;text-transform:none}
.peca-studio-body .peca-card h2{font-size:11px;font-weight:800}.peca-studio-body .peca-card h3{font-size:9.5px;font-weight:800}.peca-studio-body .peca-card h4{font-size:9px}

/* Ribbon: comandos mais leves, contínuos e menos enfadonhos */
.peca-studio-body .peca-ribbon{
  display:flex;align-items:stretch;gap:2px;
  margin:0 0 5px;padding:3px 4px;
  border:1px solid var(--peca-line);border-radius:5px;
  background:#f9fcfe;box-shadow:0 1px 2px rgba(18,64,94,.05);
  overflow-x:auto;overflow-y:hidden;white-space:nowrap;
}
.peca-studio-body .peca-ribbon-group{display:flex;align-items:stretch;padding:0 2px;margin:0;border:0;border-right:1px solid #d9e7ef;background:transparent;border-radius:0}
.peca-studio-body .peca-ribbon-group:last-child{border-right:0}
.peca-studio-body .peca-ribbon-group>small{display:none}
.peca-studio-body .peca-ribbon-group>div{display:flex;align-items:stretch;gap:2px}
.peca-studio-body .peca-studio-tool{
  min-width:52px;height:36px;padding:3px 7px;gap:2px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:1px solid transparent;border-radius:4px;background:transparent;
  color:#184a73;font-size:7.5px;font-weight:650;box-shadow:none;cursor:pointer;
}
.peca-studio-body .peca-studio-tool:hover{background:#eaf5fc;border-color:#b8d8ea;color:#0767b7}
.peca-studio-body .peca-studio-tool.active{background:#dceeff!important;border-color:#72b6e6!important;color:#0067bd!important;box-shadow:none!important}
.peca-studio-body .peca-studio-tool-icon{font-size:13px;line-height:1;color:#0a73c7}
.peca-studio-body .peca-model-geometry-filter{min-width:145px;padding:2px 4px;gap:1px}
.peca-studio-body .peca-model-geometry-filter span{font-size:6.8px;color:#5d7385}.peca-studio-body .peca-model-geometry-filter select{height:32px;padding:4px 7px;border-radius:4px;border-color:#c9dce7;font-size:8px;color:#18476a}

/* Tabelas: aparência de grade profissional compacta */
.peca-studio-body .peca-table-wrap{border-color:var(--peca-line);scrollbar-color:#9ec2d7 #edf6fb}
.peca-studio-body .peca-grid-table{font-size:8.5px;color:#174266}
.peca-studio-body .peca-grid-table th{position:sticky;top:0;z-index:2;padding:7px 6px;background:#dfeef7;color:#1b4b6f;border-color:#c5dae7;font-size:7.2px;letter-spacing:.015em;font-weight:800;text-transform:none}
.peca-studio-body .peca-grid-table td{padding:6px 6px;border-color:#dbe8ef;background:#fff}
.peca-studio-body .peca-grid-table tbody tr:nth-child(even) td{background:#f8fbfd}
.peca-studio-body .peca-grid-table tbody tr:hover td{background:#edf7fd}
.peca-studio-body .peca-grid-table tbody tr.selected td{background:#dff4ee!important}
.peca-studio-body .checkbox.checked{background:#0fa16e;border-color:#0fa16e;color:#fff}
.peca-studio-body .peca-editable-model-cell input{border-radius:3px!important;border-color:#c7dce8!important;background:#fff!important;color:#174266!important}
.peca-studio-body .peca-table-summary{padding:7px 10px;background:#f7fbfd;border-top:1px solid var(--peca-line);font-size:7.5px;color:#587489}

/* RESUMO */
.peca-studio-tab-resumo .peca-summary-top{grid-template-columns:1.25fr repeat(5,minmax(0,1fr));gap:5px}
.peca-studio-tab-resumo .peca-summary-top article{min-height:70px;padding:9px 10px;border-radius:5px;border-color:var(--peca-line);box-shadow:var(--peca-shadow)}
.peca-studio-tab-resumo .peca-summary-top small{font-size:7.5px}.peca-studio-tab-resumo .peca-summary-top strong{font-size:17px;margin:5px 0 2px;color:#0b3d68}.peca-studio-tab-resumo .peca-summary-top p{font-size:7px;line-height:1.25}
.peca-studio-tab-resumo .summary-check{width:29px;height:29px;font-size:17px}.peca-studio-tab-resumo .summary-status{gap:8px}.peca-studio-tab-resumo .summary-status strong{font-size:10px;padding:2px 6px}
.peca-studio-tab-resumo .peca-summary-layout{grid-template-columns:320px minmax(0,1fr) 280px;gap:5px;margin-top:5px}
.peca-studio-tab-resumo .peca-summary-layout>.peca-card,.peca-studio-tab-resumo .peca-summary-aside .peca-card{padding:10px}
.peca-studio-tab-resumo .timeline{margin:8px 0}.peca-studio-tab-resumo .timeline li{grid-template-columns:24px 1fr 88px;padding:6px 0}.peca-studio-tab-resumo .timeline i{width:19px;height:19px;font-size:8px}.peca-studio-tab-resumo .timeline li:not(:last-child)::after{left:9px;top:25px}.peca-studio-tab-resumo .timeline b{font-size:8.5px}.peca-studio-tab-resumo .timeline span,.peca-studio-tab-resumo .timeline time{font-size:7px}
.peca-studio-tab-resumo .peca-summary-map svg{height:300px}.peca-studio-tab-resumo .map-legend{right:8px;bottom:8px;padding:5px 7px;border-radius:4px;gap:4px;font-size:7px}
.peca-studio-tab-resumo .peca-summary-aside{gap:5px}.peca-studio-tab-resumo .peca-stat-list div{padding:4px 0;font-size:7.5px}.peca-studio-tab-resumo .updates-list{gap:5px}.peca-studio-tab-resumo .updates-list li{font-size:7.5px}
.peca-studio-tab-resumo .peca-summary-bottom{grid-template-columns:1.25fr 1fr .9fr;gap:5px;margin-top:5px}.peca-studio-tab-resumo .peca-summary-bottom>.peca-card{padding:9px}
.peca-studio-tab-resumo .peca-simple-table{font-size:7.5px}.peca-studio-tab-resumo .peca-simple-table th,.peca-studio-tab-resumo .peca-simple-table td{padding:5px 4px}
.peca-studio-tab-resumo .product-cards.compact{grid-template-columns:repeat(5,1fr);gap:4px}.peca-studio-tab-resumo .product-cards.compact article{padding:6px 4px}.peca-studio-tab-resumo .product-cards.compact article>span{font-size:16px}

/* MODELO — tabela ocupa a área principal; cards de apoio ficam discretos abaixo */
.peca-studio-tab-modelo .peca-model-layout{grid-template-columns:1fr;gap:5px}
.peca-studio-tab-modelo .peca-model-table-card>h2{padding:7px 9px;border-bottom:1px solid var(--peca-line);font-size:9px;background:#f8fcfe}
.peca-studio-tab-modelo .peca-table-wrap{max-height:calc(100vh - 215px);min-height:430px;overflow:auto}
.peca-studio-tab-modelo .peca-model-aside{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:0}
.peca-studio-tab-modelo .peca-model-aside .peca-card{padding:8px}.peca-studio-tab-modelo .peca-model-aside .peca-card h3{margin-bottom:5px}
.peca-studio-tab-modelo .peca-model-detailbar{margin-top:5px;padding:7px;grid-template-columns:1.1fr .9fr .9fr 1fr 1.3fr;border-radius:5px}.peca-studio-tab-modelo .peca-model-detailbar>div{padding:0 8px}.peca-studio-tab-modelo .peca-model-detailbar h3{font-size:8px;margin-bottom:5px}.peca-studio-tab-modelo .peca-model-detailbar dl div{padding:2px 0;font-size:7.5px}.peca-studio-tab-modelo .precision-card strong{font-size:15px;margin:4px 0}.peca-studio-tab-modelo .notes-card textarea{height:46px;font-size:8px}

/* DESENHO — workspace dominante, laterais estreitas, mapa amplo */
.peca-studio-tab-desenho .peca-studio-main{padding:4px 5px 5px}
.peca-studio-tab-desenho .peca-ribbon{margin-bottom:4px}
.peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:118px minmax(0,1fr) 188px;gap:4px;align-items:stretch}
.peca-studio-tab-desenho .peca-drawing-left,.peca-studio-tab-desenho .peca-drawing-right{gap:4px}
.peca-studio-tab-desenho .peca-point-panel,.peca-studio-tab-desenho .peca-sequence-card,.peca-studio-tab-desenho .peca-perimeters-card,.peca-studio-tab-desenho .peca-drawing-right>.peca-card{border-radius:4px;box-shadow:none}
.peca-studio-tab-desenho .peca-card-title-row{padding:6px 7px!important;min-height:25px;border-bottom:1px solid var(--peca-line-soft)}
.peca-studio-tab-desenho .peca-card-title-row h3{font-size:7.5px;margin:0}.peca-studio-tab-desenho .peca-filter-row{display:block;padding:4px}.peca-studio-tab-desenho .peca-filter-row input{width:100%;height:25px;padding:4px 6px;font-size:7.5px;border-radius:3px}.peca-studio-tab-desenho .peca-filter-row select{display:none}
.peca-studio-tab-desenho .peca-point-panel .peca-point-list{max-height:430px}.peca-studio-tab-desenho .peca-point-panel .peca-point-list li{grid-template-columns:12px minmax(0,1fr);gap:4px;min-height:23px;padding:3px 5px}.peca-studio-tab-desenho .peca-point-panel .peca-point-list li b{font-size:7.5px}.peca-studio-tab-desenho .peca-point-panel .peca-point-list small{display:none}.peca-studio-tab-desenho .peca-point-panel .peca-list-foot{padding:5px;font-size:6.5px}.peca-studio-tab-desenho .peca-sequence-card .peca-sequence{max-height:110px}.peca-studio-tab-desenho .peca-sequence-card .peca-sequence li{grid-template-columns:18px 1fr auto;padding:3px 5px;font-size:7.5px}.peca-studio-tab-desenho .peca-perimeter-list{max-height:120px}.peca-studio-tab-desenho .peca-perimeter-list article{padding:4px 5px}.peca-studio-tab-desenho .peca-perimeter-list b{font-size:7.2px}.peca-studio-tab-desenho .peca-perimeter-list small,.peca-studio-tab-desenho .peca-perimeter-list em{font-size:6px}
.peca-studio-tab-desenho .peca-canvas-card{border-radius:4px;min-width:0;box-shadow:none}
.peca-studio-tab-desenho .peca-canvas-head{min-height:27px;padding:5px 7px;font-size:7.5px;background:#f8fcfe;border-bottom-color:var(--peca-line)}
.peca-studio-tab-desenho .peca-drawing-svg{height:clamp(620px,calc(100vh - 145px),850px);min-height:620px;background:#fff}
.peca-studio-tab-desenho .peca-drawing-right .peca-card h3{padding:6px 7px;margin:0;border-bottom:1px solid var(--peca-line-soft);background:#f8fcfe}
.peca-studio-tab-desenho .peca-detail-grid>div{grid-template-columns:.85fr 1.15fr;font-size:7px}.peca-studio-tab-desenho .peca-detail-grid dt,.peca-studio-tab-desenho .peca-detail-grid dd{padding:4px 6px}.peca-studio-tab-desenho .peca-polygon-property-actions{padding:5px 6px}.peca-studio-tab-desenho .peca-polygon-property-actions .peca-action{padding:5px 6px;font-size:7px}.peca-studio-tab-desenho .peca-canvas-tools{right:6px;gap:3px}.peca-studio-tab-desenho .peca-canvas-tools button{width:27px;height:27px;border-radius:4px;font-size:10px}.peca-studio-tab-desenho .peca-canvas-statusbar{right:6px;bottom:5px;max-width:68%;padding:4px 6px;border-radius:4px;font-size:6.8px}.peca-studio-tab-desenho .peca-crs-overlay{left:6px;bottom:5px;border-radius:4px;padding:3px 5px;font-size:6.5px}.peca-studio-tab-desenho .peca-north-overlay{right:10px;top:8px;transform:scale(.86);transform-origin:top right}

/* CONFRONTANTES */
.peca-studio-tab-confrontantes .peca-confront-layout{grid-template-columns:minmax(0,1fr) 220px;gap:5px}.peca-studio-tab-confrontantes .peca-confront-table-card h2{padding:7px 9px;font-size:9px;background:#f8fcfe;border-bottom:1px solid var(--peca-line)}
.peca-studio-tab-confrontantes .peca-confront-table-card .peca-table-wrap{max-height:calc(100vh - 285px);min-height:370px;overflow:auto}
.peca-studio-tab-confrontantes .peca-confront-aside{gap:5px}.peca-studio-tab-confrontantes .peca-confront-aside .peca-card{padding:8px}.peca-studio-tab-confrontantes .peca-stat-list div,.peca-studio-tab-confrontantes .peca-legend-list,.peca-studio-tab-confrontantes .small-copy{font-size:7.5px}
.peca-studio-tab-confrontantes .peca-confront-details{margin-top:5px;padding:8px}.peca-studio-tab-confrontantes .peca-confront-detail-grid{grid-template-columns:155px 1fr 1.1fr .8fr .9fr;gap:6px;margin-top:7px}.peca-studio-tab-confrontantes .peca-confront-detail-grid>div{padding-right:6px}.peca-studio-tab-confrontantes .peca-confront-detail-grid h4{font-size:7.5px;margin-bottom:5px}.peca-studio-tab-confrontantes .peca-confront-detail-grid dl div{padding:2px 0;font-size:7px}.peca-studio-tab-confrontantes .peca-confront-detail-grid label{font-size:7px;margin-bottom:4px}.peca-studio-tab-confrontantes .peca-confront-detail-grid input,.peca-studio-tab-confrontantes .peca-confront-detail-grid select,.peca-studio-tab-confrontantes .peca-confront-detail-grid textarea{padding:4px 5px;font-size:7px;border-radius:3px}.peca-studio-tab-confrontantes .dropzone{min-height:64px;font-size:7px;border-radius:4px}

/* RESULTADOS */
.peca-studio-tab-resultados .peca-metric-cards{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:0}.peca-studio-tab-resultados .peca-metric-cards article{min-height:64px;padding:8px;border-radius:5px;border-color:var(--peca-line);box-shadow:var(--peca-shadow)}.peca-studio-tab-resultados .peca-metric-cards span{font-size:7.2px}.peca-studio-tab-resultados .peca-metric-cards strong{font-size:15px;margin-top:5px;color:#0b3d68}
.peca-studio-tab-resultados .peca-results-layout{grid-template-columns:minmax(0,1fr) 285px;gap:5px;margin-top:5px}.peca-studio-tab-resultados .peca-results-map svg{height:320px}.peca-studio-tab-resultados .map-legend{right:8px;bottom:8px;padding:5px 7px;border-radius:4px;gap:4px;font-size:7px}.peca-studio-tab-resultados .peca-results-aside{gap:5px}.peca-studio-tab-resultados .peca-results-aside .peca-card{padding:8px}.peca-studio-tab-resultados .big-status{margin-top:5px;padding:8px;border-radius:4px;font-size:16px}.peca-studio-tab-resultados .big-status b{font-size:11px}.peca-studio-tab-resultados .big-status small{font-size:7px}.peca-studio-tab-resultados .validation-list{margin-top:5px}.peca-studio-tab-resultados .validation-list li{padding:4px 0;font-size:7.2px}.peca-studio-tab-resultados .peca-stat-list div{padding:4px 0;font-size:7.2px}
.peca-studio-tab-resultados .peca-results-bottom{grid-template-columns:1.1fr 1fr .9fr;gap:5px;margin-top:5px}.peca-studio-tab-resultados .peca-results-bottom>.peca-card{padding:8px}.peca-studio-tab-resultados .peca-simple-table{font-size:7.2px;margin-top:5px}.peca-studio-tab-resultados .peca-simple-table th,.peca-studio-tab-resultados .peca-simple-table td{padding:4px}.peca-studio-tab-resultados .product-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:6px}.peca-studio-tab-resultados .product-cards article{padding:6px 4px;border-radius:4px}.peca-studio-tab-resultados .product-cards article>span{font-size:16px}.peca-studio-tab-resultados .product-cards b{font-size:7.5px}.peca-studio-tab-resultados .product-cards small{font-size:6.5px;margin:2px 0 5px}.peca-studio-tab-resultados .product-cards button{padding:4px;font-size:6.5px;border-radius:3px}.peca-studio-tab-resultados .bullet-notes{font-size:7.2px;line-height:1.45}

/* Rodapé técnico discreto */
.peca-studio-body .peca-studio-footer{min-height:25px;padding:4px 10px;background:#f7fbfd;border-top:1px solid var(--peca-line);color:#4c7189;font-size:6.8px;box-shadow:none}
.peca-studio-body .peca-studio-footer b{color:#174568}.peca-studio-body .peca-studio-footer .footer-saved{color:#0a9464;font-weight:800}

/* Diálogos no novo padrão visual sem alterar comportamento */
.peca-studio-body .peca-dialog{border-radius:6px}.peca-studio-body .peca-dialog header{background:#f4fafe;border-bottom-color:var(--peca-line)}.peca-studio-body .peca-dialog header small{color:#0875c6}.peca-studio-body .peca-dialog .btn{border-radius:4px}.peca-studio-body .peca-dialog .btn:not(.secondary){background:#0879df;border-color:#0879df;color:#fff}

/* Responsividade mantendo a prioridade da área de trabalho */
@media(max-width:1400px){
  .peca-studio-body .peca-studio-header{grid-template-columns:300px 1fr 470px}
  .peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:105px minmax(0,1fr) 170px}
  .peca-studio-tab-resumo .peca-summary-layout{grid-template-columns:280px minmax(0,1fr) 250px}
}
@media(max-width:1100px){
  .peca-studio-body .peca-studio-header{grid-template-columns:1fr 1fr}.peca-studio-body .peca-studio-project-meta{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1)}
  .peca-studio-tab-modelo .peca-model-aside{grid-template-columns:repeat(2,1fr)}
  .peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:105px minmax(0,1fr)}.peca-studio-tab-desenho .peca-drawing-right{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .peca-studio-tab-resumo .peca-summary-layout,.peca-studio-tab-resultados .peca-results-layout,.peca-studio-tab-confrontantes .peca-confront-layout{grid-template-columns:1fr}
  .peca-studio-tab-resumo .peca-summary-aside,.peca-studio-tab-resultados .peca-results-aside,.peca-studio-tab-confrontantes .peca-confront-aside{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .peca-studio-body .peca-studio-header{display:block}.peca-studio-body .peca-studio-brandline{border-right:0}.peca-studio-body .peca-studio-project-title{border-right:0;border-top:1px solid rgba(255,255,255,.08)}
  .peca-studio-body .peca-meta-settings{float:none;display:inline-flex;margin:4px 0 0}.peca-studio-body .peca-studio-tabs a{padding:7px 12px}
  .peca-studio-tab-resumo .peca-summary-top,.peca-studio-tab-resultados .peca-metric-cards{grid-template-columns:repeat(2,1fr)}
  .peca-studio-tab-modelo .peca-model-aside,.peca-studio-tab-resumo .peca-summary-aside,.peca-studio-tab-resultados .peca-results-aside,.peca-studio-tab-confrontantes .peca-confront-aside{grid-template-columns:1fr}
  .peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:1fr}.peca-studio-tab-desenho .peca-drawing-right{grid-column:auto;grid-template-columns:1fr}.peca-studio-tab-desenho .peca-drawing-svg{height:500px;min-height:500px}
  .peca-studio-tab-confrontantes .peca-confront-detail-grid,.peca-studio-tab-modelo .peca-model-detailbar,.peca-studio-tab-resumo .peca-summary-bottom,.peca-studio-tab-resultados .peca-results-bottom{grid-template-columns:1fr}
}

/* ========================================================================== */
/* PECA r30 — painel lateral em abas + workspace cartográfico estável         */
/* Alteração de apresentação/ergonomia: motor cartográfico preservado.        */
/* ========================================================================== */
.peca-studio-tab-desenho .peca-drawing-layout{
  grid-template-columns:245px minmax(0,1fr) 270px;
  gap:6px;
  align-items:stretch;
  height:clamp(600px,calc(58vw - 276px),780px);
  min-height:0;
  overflow:hidden;
}
.peca-studio-tab-desenho .peca-drawing-layout>*{min-width:0;min-height:0}

/* Painel esquerdo único: abas em vez de cards empilhados */
.peca-studio-tab-desenho .peca-drawing-left-tabs{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  gap:0;
  overflow:hidden;
  border:1px solid var(--peca-line);
  border-radius:5px;
  background:#fff;
  box-shadow:none;
}
.peca-studio-tab-desenho .peca-left-tabbar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  flex:0 0 auto;
  min-height:35px;
  background:#f6fbfe;
  border-bottom:1px solid var(--peca-line);
  overflow:hidden;
}
.peca-studio-tab-desenho .peca-left-tabbar button{
  appearance:none;
  min-width:0;
  padding:8px 4px 7px;
  border:0;
  border-right:1px solid #dce9f0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:#385b73;
  font:700 8px/1.1 inherit;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.peca-studio-tab-desenho .peca-left-tabbar button:last-child{border-right:0}
.peca-studio-tab-desenho .peca-left-tabbar button:hover{background:#edf7fc;color:#086fbd}
.peca-studio-tab-desenho .peca-left-tabbar button.active{
  color:#066bc1;
  background:#fff;
  border-bottom-color:#0879df;
  box-shadow:inset 0 -1px 0 #0879df;
}
.peca-studio-tab-desenho .peca-left-tabbar button:focus-visible{outline:2px solid #0b83e5;outline-offset:-2px}
.peca-studio-tab-desenho .peca-left-tabpanels{flex:1 1 auto;min-height:0;overflow:hidden;background:#fff}
.peca-studio-tab-desenho .peca-left-tabpanel{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  margin:0;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden;
}
.peca-studio-tab-desenho .peca-left-tabpanel[hidden]{display:none!important}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-card-title-row{
  flex:0 0 auto;
  min-height:31px;
  padding:7px 8px!important;
  background:#fbfdff;
}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-card-title-row h3{font-size:8px;letter-spacing:.03em}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-filter-row{flex:0 0 auto;padding:6px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 72px!important;gap:5px!important}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-filter-row input,
.peca-studio-tab-desenho .peca-left-tabpanel .peca-filter-row select{display:block!important;height:28px;min-height:28px;font-size:8px!important;padding:4px 6px!important}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list{
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list li{
  grid-template-columns:14px minmax(72px,1fr) minmax(0,1.15fr) 22px!important;
  min-height:28px!important;
  padding:4px 6px!important;
}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list li b{font-size:8px!important}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list .peca-point-list-name{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list small{
  display:block!important;
  min-width:0;
  font-size:6.6px!important;
  line-height:1.15;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list .peca-point-list-visibility{
  justify-self:end;
  align-self:center;
}
.peca-studio-tab-desenho .peca-left-tabpanel .peca-list-foot{
  flex:0 0 auto;
  padding:7px 8px!important;
  border-top:1px solid var(--peca-line-soft);
  background:#f7fbfd;
  font-size:7px!important;
}

/* Poligonal ocupa a mesma caixa fixa das demais abas */
.peca-studio-tab-desenho .peca-sequence-card .peca-sequence{
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  overflow:auto;
}
.peca-studio-tab-desenho .peca-left-panel-actions{flex:0 0 auto;padding:7px;border-top:1px solid var(--peca-line-soft);background:#f9fcfe}
.peca-studio-tab-desenho .peca-left-panel-actions .peca-action{
  width:100%!important;
  margin:0 0 6px!important;
  padding:7px 8px!important;
  font-size:7.5px!important;
}
.peca-studio-tab-desenho .peca-left-panel-actions .peca-action:last-child{margin-bottom:0!important}

/* Parcelas e Perímetros compartilham uma lista, filtrada pela aba ativa */
.peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list{
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  overflow-y:auto;
  padding:3px;
}
.peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list article{padding:7px 6px!important;border-radius:4px}
.peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list article[hidden]{display:none!important}
.peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list b{font-size:8px!important}
.peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list small,
.peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list em{font-size:6.8px!important}
.peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-note{
  flex:0 0 auto;
  margin:0;
  padding:7px 8px;
  border-top:1px solid var(--peca-line-soft);
  background:#f7fbfd;
  font-size:6.7px;
  line-height:1.35;
}
.peca-studio-tab-desenho #peca-geometry-filter-empty{margin:10px 8px;padding:10px 8px;border:1px dashed #c9dce7;border-radius:4px;background:#f8fbfd;font-size:7.5px;color:#617d91}

/* Mapa estruturalmente fixo: painéis laterais rolam; mapa não muda de tamanho. */
.peca-studio-tab-desenho .peca-canvas-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  overflow:hidden;
  position:relative;
}
.peca-studio-tab-desenho .peca-canvas-head{flex:0 0 auto;min-height:31px;padding:7px 9px;font-size:8px}
.peca-studio-tab-desenho .peca-canvas-viewport{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  height:auto;
  overflow:hidden;
  background:#fff;
}
.peca-studio-tab-desenho .peca-canvas-viewport .peca-drawing-svg{
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}
.peca-studio-tab-desenho .peca-drawing-right{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  gap:6px;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:1px;
}
.peca-studio-tab-desenho .peca-drawing-right>.peca-card{flex:0 0 auto}

/* Ferramentas permanecem ancoradas no mapa, independentemente das abas laterais. */
.peca-studio-tab-desenho .peca-canvas-tools{position:absolute;z-index:7}
.peca-studio-tab-desenho .peca-canvas-statusbar,
.peca-studio-tab-desenho .peca-crs-overlay,
.peca-studio-tab-desenho .peca-north-overlay{z-index:6}

@media(max-width:1400px){
  .peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:220px minmax(0,1fr) 235px;height:600px}
  .peca-studio-tab-desenho .peca-left-tabbar button{font-size:7.2px;padding-left:2px;padding-right:2px}
}
@media(max-width:1100px){
  .peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:210px minmax(0,1fr);height:auto;min-height:620px;overflow:visible}
  .peca-studio-tab-desenho .peca-drawing-left-tabs{height:620px}
  .peca-studio-tab-desenho .peca-canvas-card{height:620px}
  .peca-studio-tab-desenho .peca-drawing-right{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;overflow:visible}
}
@media(max-width:760px){
  .peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:1fr;display:grid;min-height:0}
  .peca-studio-tab-desenho .peca-drawing-left-tabs{height:440px}
  .peca-studio-tab-desenho .peca-canvas-card{height:520px}
  .peca-studio-tab-desenho .peca-drawing-right{grid-column:auto;grid-template-columns:1fr}
  .peca-studio-tab-desenho .peca-left-tabbar button{font-size:7.5px}
}

/* ========================================================================== */
/* PECA r31 — ajuste para caber em 100% da visualização da página             */
/* Base: r30 funcional. Ajuste apenas de ergonomia/viewport, sem mexer no     */
/* motor cartográfico.                                                          */
/* ========================================================================== */
.peca-studio-tab-desenho{
  height:100vh;
  overflow:hidden;
}
.peca-studio-tab-desenho .peca-studio-app{
  height:100vh;
  min-height:100vh;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  overflow:hidden;
}
.peca-studio-tab-desenho .peca-studio-main{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  padding:4px 5px 4px;
}
.peca-studio-tab-desenho .peca-ribbon{
  flex:0 0 auto;
  margin-bottom:4px;
}
.peca-studio-tab-desenho .peca-drawing-layout{
  flex:1 1 auto;
  min-height:0;
  height:auto !important;
  grid-template-columns:minmax(170px,190px) minmax(0,1fr) minmax(230px,250px);
}
.peca-studio-tab-desenho .peca-drawing-left-tabs,
.peca-studio-tab-desenho .peca-canvas-card,
.peca-studio-tab-desenho .peca-drawing-right{
  height:100%;
  min-height:0;
}
.peca-studio-tab-desenho .peca-drawing-right{
  overflow:auto;
}
.peca-studio-tab-desenho .peca-studio-footer{
  position:static;
  min-height:22px;
  padding:3px 10px;
}

@media(max-width:1400px){
  .peca-studio-tab-desenho .peca-drawing-layout{
    grid-template-columns:180px minmax(0,1fr) 220px;
  }
}
@media(max-width:1100px){
  .peca-studio-tab-desenho{
    overflow:auto;
  }
  .peca-studio-tab-desenho .peca-studio-app{
    height:auto;
    min-height:100vh;
    display:block;
    overflow:visible;
  }
  .peca-studio-tab-desenho .peca-studio-main{
    display:block;
    overflow:visible;
  }
  .peca-studio-tab-desenho .peca-drawing-layout{
    grid-template-columns:190px minmax(0,1fr);
    min-height:620px;
  }
}
@media(max-width:760px){
  .peca-studio-tab-desenho .peca-drawing-layout{
    grid-template-columns:1fr;
    min-height:0;
  }
}

/* ========================================================================== */
/* PECA r32 — importação de camadas vetoriais auxiliares                     */
/* ========================================================================== */
.peca-studio-tab-desenho .peca-left-tabbar{grid-template-columns:repeat(5,minmax(0,1fr))}
.peca-studio-tab-desenho .peca-left-tabbar button{font-size:6.9px;padding-left:2px;padding-right:2px}
.peca-vector-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden}
.peca-studio-tab-desenho .peca-drawing-svg{position:relative;z-index:1}
.peca-vector-layer polygon,.peca-vector-layer polyline,.peca-vector-layer circle{stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.peca-vector-layer polygon{fill-opacity:.08}.peca-vector-layer polyline{fill:none}.peca-vector-layer circle{fill:#fff;stroke-width:1.3}
.peca-vector-layer.layer-style-0>*{stroke:#8c3fc7}.peca-vector-layer.layer-style-0 polygon{fill:#8c3fc7}
.peca-vector-layer.layer-style-1>*{stroke:#d17700}.peca-vector-layer.layer-style-1 polygon{fill:#d17700}
.peca-vector-layer.layer-style-2>*{stroke:#007e9a}.peca-vector-layer.layer-style-2 polygon{fill:#007e9a}
.peca-vector-layer.layer-style-3>*{stroke:#b73c64}.peca-vector-layer.layer-style-3 polygon{fill:#b73c64}
.peca-vector-layer.layer-style-4>*{stroke:#5b6f00}.peca-vector-layer.layer-style-4 polygon{fill:#5b6f00}
.peca-vector-layer.layer-style-5>*{stroke:#4666c5}.peca-vector-layer.layer-style-5 polygon{fill:#4666c5}
.peca-vector-layer-panel{overflow:hidden}.peca-vector-layer-list{flex:1 1 auto;min-height:0;overflow:auto;padding:4px}
.peca-vector-layer-list article{position:relative;padding:7px 28px 7px 7px;border-bottom:1px solid var(--peca-line-soft);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 5px;align-items:center}
.peca-vector-layer-list article label{min-width:0;display:flex;align-items:center;gap:5px;font-size:7.5px;color:#173f5c}.peca-vector-layer-list article label b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.peca-vector-layer-list article small{grid-column:1/-1;color:#678092;font-size:6.6px}.peca-vector-layer-list article em{grid-column:1/-1;color:#9b6500;font-size:6.4px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-layer-format{font-size:6.2px;font-weight:800;padding:2px 4px;border-radius:3px;background:#e9f4fa;color:#0b659d}
.peca-vector-layer-delete{position:absolute;right:5px;top:7px;width:20px;height:20px;border:1px solid #d7e3e9;border-radius:4px;background:#fff;color:#a53f3f;cursor:pointer}
.peca-vector-layer-empty{padding:14px 8px;color:#6f8492;font-size:7.3px;text-align:center}.peca-vector-file-picker{display:block;margin:10px 0;padding:11px;border:1px dashed #9fc2d5;border-radius:5px;background:#f7fbfd;font-size:9px;font-weight:700;color:#214c69}.peca-vector-file-picker input{display:block;margin-top:8px;width:100%;font-size:9px}
.peca-vector-import-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.peca-vector-import-notes span{padding:7px;border:1px solid #dbe8ef;border-radius:4px;background:#fbfdfe;font-size:7.4px;line-height:1.35;color:#466579}
@media(max-width:760px){.peca-vector-import-notes{grid-template-columns:1fr}.peca-studio-tab-desenho .peca-left-tabbar{overflow-x:auto;display:flex}.peca-studio-tab-desenho .peca-left-tabbar button{min-width:76px}}

/* ========================================================================== */
/* PECA r33 — associação de parcela importada aos pontos existentes do Modelo */
/* ========================================================================== */
.peca-vector-feature-selectable{pointer-events:none}
.peca-vector-overlay.selecting .peca-vector-feature-selectable{pointer-events:all;cursor:crosshair;stroke-width:2.8}
.peca-vector-overlay.selecting .peca-vector-feature-selectable:hover{stroke-width:3.2}
.peca-vector-feature-selectable.selected{stroke:#f0c419!important;fill:#f0c419!important;fill-opacity:.18!important;stroke-width:2.8!important}
.peca-vector-feature-selectable.selected.peca-vector-feature-line{fill:none!important;stroke:#f0c419!important;stroke-width:3.2!important}
.peca-vector-selection-fill{fill:#f0c419;fill-opacity:.18;stroke:#f0c419;stroke-opacity:.9;stroke-width:1.8;vector-effect:non-scaling-stroke;pointer-events:none}
.peca-layer-model-matches{pointer-events:none}.peca-layer-model-matches circle{fill:#fff;stroke:#00a86b;stroke-width:2.2}
.peca-layer-association{flex:0 0 auto;border-top:1px solid var(--peca-line-soft);background:#f8fcfe;padding:7px;display:grid;gap:6px}
.peca-layer-association-head{display:flex;flex-direction:column;gap:2px}.peca-layer-association-head b{font-size:7.2px;color:#103f60}.peca-layer-association-head span{font-size:6.5px;color:#668195;line-height:1.25}
.peca-layer-association>label,.peca-layer-save-fields label{display:grid;gap:3px;font-size:6.5px;font-weight:700;color:#49687d}.peca-layer-association input,.peca-layer-association select{width:100%;min-height:25px;padding:4px 6px;border:1px solid #cadde8;border-radius:3px;background:#fff;color:#173f5c;font:inherit;font-size:7px}
.peca-layer-match-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.peca-layer-match-summary>div{min-width:0;padding:4px 5px;border:1px solid #dce8ef;border-radius:3px;background:#fff}.peca-layer-match-summary span{display:block;font-size:5.9px;color:#6b8494}.peca-layer-match-summary b{display:block;margin-top:1px;font-size:7.2px;color:#153f5d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-layer-save-fields{display:grid;grid-template-columns:72px minmax(0,1fr);gap:5px}.peca-layer-association>.peca-action{width:100%;padding:6px 7px;font-size:7px}.peca-layer-association>small{display:block;color:#6a8190;font-size:6px;line-height:1.3}
@media(max-width:760px){.peca-layer-match-summary,.peca-layer-save-fields{grid-template-columns:1fr}}


/* ========================================================================== */
/* PECA r35 — funções da aba Modelo ativadas (sem alterar motor cartográfico) */
/* ========================================================================== */
.peca-model-select-head{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.peca-model-select-head input{width:12px;height:12px;margin:0}
.peca-model-status-wrap{display:inline-flex;align-items:center;justify-content:center;gap:5px}.peca-model-status-wrap>input{width:12px;height:12px;margin:0;accent-color:#0879df}.peca-model-issue-badge{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#fff0c7;color:#925d00;border:1px solid #efc25e;font-size:8px;font-weight:900;cursor:help}.peca-grid-table tr.has-model-issue td{box-shadow:inset 0 1px 0 rgba(237,173,38,.06),inset 0 -1px 0 rgba(237,173,38,.06)}.peca-grid-table tr.has-model-issue:not(.selected) td:first-child{border-left:2px solid #eeb538}.peca-studio-tool:disabled{opacity:.45;cursor:not-allowed}


/* MODELO: reforço visual dos grupos de comando */
.peca-studio-tab-modelo .peca-ribbon-model{
  gap:8px;
  padding:8px 10px 9px;
  margin-bottom:8px;
}
.peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  padding:5px 8px 6px;
  border-right:1px solid #d8e5ee;
  min-width:max-content;
}
.peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group:last-child{border-right:0}
.peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group>small{
  display:block;
  margin:0 0 6px 3px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#49657d;
}
.peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group>div{display:flex;align-items:stretch;gap:3px}
.peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group-importacoes,
.peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group-pontos{background:linear-gradient(180deg,#fbfeff 0%,#f4f9fc 100%);border-radius:8px}
.peca-studio-tab-modelo .peca-ribbon-model .peca-studio-tool{
  min-width:78px;
  height:56px;
  padding:5px 9px;
  border:1px solid #d7e4ed;
  border-radius:8px;
  background:#fff;
  font-size:9px;
  gap:4px;
  color:#17466d;
}
.peca-studio-tab-modelo .peca-ribbon-model .peca-studio-tool:hover{
  background:#f0f8fd;
  border-color:#9ec9e2;
  color:#0b74bd;
  box-shadow:0 1px 2px rgba(18,64,94,.08);
}
.peca-studio-tab-modelo .peca-ribbon-model .peca-studio-tool-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  font-size:0;
  color:#0a73c7;
}
.peca-studio-tab-modelo .peca-ribbon-model .peca-studio-tool-icon svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
.peca-studio-tab-modelo .peca-ribbon-model .peca-model-geometry-filter{min-width:165px;padding:3px 4px;gap:2px}
.peca-studio-tab-modelo .peca-ribbon-model .peca-model-geometry-filter span{font-size:8px;font-weight:700;color:#547188}
.peca-studio-tab-modelo .peca-ribbon-model .peca-model-geometry-filter select{height:40px;padding:7px 10px;font-size:9px;border-radius:8px}
@media(max-width:760px){
  .peca-studio-tab-modelo .peca-ribbon-model{padding:6px}
  .peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group{padding:5px 4px}
  .peca-studio-tab-modelo .peca-ribbon-model .peca-studio-tool{min-width:74px;height:54px}
}

/* PECA r37 — edição rastreável de ponto no Modelo */
.peca-studio-tab-modelo .peca-edit-origin-note{
  margin:12px 20px 0;
  padding:10px 12px;
  border:1px solid #bcddec;
  border-left:4px solid #0b80c8;
  border-radius:6px;
  background:#f2f9fd;
  color:#315b73;
  font-size:9px;
  line-height:1.45;
}
.peca-studio-tab-modelo .peca-edit-origin-note.protected{
  border-color:#e7d49d;
  border-left-color:#d59a16;
  background:#fffaf0;
  color:#705622;
}
.peca-studio-tab-modelo .peca-dialog-grid input.is-protected-field,
.peca-studio-tab-modelo .peca-dialog-grid textarea.is-protected-field{
  background:#f1f4f6!important;
  color:#6d7c86!important;
  border-color:#d9e1e5!important;
  cursor:not-allowed;
}
.peca-studio-tab-modelo #peca-edit-point-dialog textarea{
  width:100%;
  resize:vertical;
  min-height:62px;
  padding:9px 10px;
  border:1px solid #cbd8dd;
  border-radius:7px;
  font:inherit;
  color:#17232d;
  background:#fff;
}

/* PECA r38 — subabas Dados | Exportações na aba Modelo */
.peca-studio-tab-modelo .peca-model-ribbon-subtabs{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  padding:0 2px;
}
.peca-studio-tab-modelo .peca-model-ribbon-subtabs button{
  border:1px solid #cfe0ea;
  background:#fff;
  color:#294660;
  border-radius:8px;
  padding:9px 16px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.peca-studio-tab-modelo .peca-model-ribbon-subtabs button.active{
  background:#eef7fd;
  border-color:#9bc8e3;
  color:#0a74bf;
  box-shadow:inset 0 -2px 0 #0a74bf;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher{
  display:block;
  overflow:visible;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-model-ribbon-panel{
  display:none;
  gap:8px;
  padding:8px 10px 9px;
  margin-bottom:8px;
  background:#fff;
  border:1px solid #dbe5e9;
  border-radius:10px;
  align-items:stretch;
  flex-wrap:wrap;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-model-ribbon-panel.active{display:flex}
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-ribbon-group{min-width:0;flex:0 0 auto}
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-ribbon-group-importacoes,
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-ribbon-group-validator,
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-ribbon-group-pontos,
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-ribbon-group-exportacoes{background:linear-gradient(180deg,#fbfeff 0%,#f4f9fc 100%);border-radius:8px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-validator{flex:0 0 auto}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-pontos{flex:1 1 430px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-model-filter-group{flex:1 1 300px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-fillseries{flex:1 1 220px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="exportacoes"] .peca-ribbon-group-exportacoes{width:100%}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="exportacoes"] .peca-ribbon-group-exportacoes > div{flex-wrap:wrap}
@media(max-width:980px){
  .peca-studio-tab-modelo .peca-model-ribbon-subtabs{flex-wrap:wrap}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-model-ribbon-panel{padding:6px}
}

/* PECA r39 — Validador de pontos importados */
.peca-studio-tab-modelo .peca-ribbon-group-validator .peca-studio-tool{min-width:92px}
.peca-point-state{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;font-size:11px;font-weight:900;border:1px solid transparent}
.peca-point-state.active{background:#0fa16e;color:#fff;border-color:#0b9263}
.peca-point-state.inactive{background:#d7dce1;color:#65717b;border-color:#bcc5cc}
.peca-point-state.unusable{background:#dc3545;color:#fff;border-color:#c72636}
.peca-grid-table tr.point-inactive td{background:#f0f2f4!important;color:#77828c!important}
.peca-grid-table tr.point-inactive td input{background:#f4f5f6!important;color:#77828c!important}
.peca-grid-table tr.point-unusable td{background:#fff0f1!important;color:#a12a35!important}
.peca-grid-table tr.point-unusable td input{background:#fff5f5!important;color:#9b4a51!important}
.peca-legend-list i.gray{background:#c7cdd2;border-color:#aeb7be}
.peca-validator-dialog{width:min(1120px,calc(100vw - 36px));max-height:88vh}
.peca-validator-dialog form{max-height:88vh;display:flex;flex-direction:column}
.peca-validator-dialog .peca-validator-intro{padding:12px 20px;margin:0;color:#4b6577;font-size:10px;line-height:1.55;border-bottom:1px solid #e3ebef}
.peca-validator-loading{padding:34px 20px;text-align:center;color:#527086;font-size:11px}
.peca-validator-dialog #peca-validator-content{overflow:auto;padding:12px 16px 4px}
.peca-validator-summary{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:8px;margin-bottom:12px}
.peca-validator-summary article{padding:10px 11px;border:1px solid #d9e6ee;border-radius:8px;background:#f8fbfd;display:flex;flex-direction:column;gap:4px}
.peca-validator-summary span{font-size:8px;color:#657d8d;text-transform:uppercase;font-weight:800;letter-spacing:.03em}.peca-validator-summary b{font-size:17px;color:#164a70}
.peca-validator-summary article.warn{background:#fff9e9;border-color:#ead49d}.peca-validator-summary article.warn b{color:#9b6a00}
.peca-validator-summary article.inactive{background:#f0f2f4;border-color:#d1d6da}.peca-validator-summary article.inactive b{color:#6b747b}
.peca-validator-summary article.danger{background:#fff0f1;border-color:#e7b9bd}.peca-validator-summary article.danger b{color:#b32836}
.peca-validator-section{border:1px solid #dce7ed;border-radius:8px;background:#fff;margin-bottom:10px;overflow:hidden}.peca-validator-section h3{margin:0;padding:9px 12px;background:#f4f9fc;border-bottom:1px solid #dce7ed;font-size:9px;color:#244e6a;letter-spacing:.025em}
.peca-validator-table .head,.peca-validator-table .row{display:grid;grid-template-columns:1.15fr 1.15fr 110px minmax(240px,.8fr);gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #edf2f5}.peca-validator-table .head{font-size:8px;font-weight:800;color:#63798a;background:#fbfdfe;text-transform:uppercase}.peca-validator-table .row:last-child{border-bottom:0}.peca-validator-table .row span{display:flex;flex-direction:column;gap:2px}.peca-validator-table .row small{font-size:7.5px;color:#748896}.peca-validator-table .row strong{font-size:9px;color:#a36a00}.peca-validator-table .actions{display:flex!important;flex-direction:row!important;gap:5px!important;flex-wrap:wrap}
.peca-validator-action{border:1px solid #bccfde;background:#fff;color:#15527d;border-radius:5px;padding:5px 8px;font-size:8px;font-weight:700;cursor:pointer}.peca-validator-action:hover{background:#edf7fd;border-color:#79b5d9}.peca-validator-action.reactivate{color:#17734f;border-color:#a9d4c1;background:#f0faf6}
.peca-validator-empty{margin:0;padding:14px;color:#71828e;font-size:9px}
.peca-validator-state-list>div{display:grid;grid-template-columns:1fr 100px minmax(120px,auto);gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #edf2f5}.peca-validator-state-list>div:last-child{border-bottom:0}.peca-validator-state-list span{display:flex;flex-direction:column;gap:2px}.peca-validator-state-list small{font-size:7.5px;color:#758996}.peca-validator-state-list em{font-style:normal;font-size:8px;font-weight:800;padding:4px 7px;border-radius:999px;text-align:center}.peca-validator-state-list em.inactive{background:#e1e5e8;color:#65717b}.peca-validator-state-list em.unusable{background:#fde1e3;color:#a62a35}.peca-validator-state-list .trace{color:#a62a35}
@media(max-width:900px){.peca-validator-summary{grid-template-columns:repeat(3,1fr)}.peca-validator-table .head{display:none}.peca-validator-table .row{grid-template-columns:1fr}.peca-validator-state-list>div{grid-template-columns:1fr}}

/* PECA r41 — fluxo rural do Validador + alinhamento fino do ribbon Modelo */
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-model-ribbon-panel[data-model-ribbon-panel="dados"]{
  flex-wrap:nowrap;
  align-items:stretch;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group{
  box-sizing:border-box;
  min-height:98px;
  margin:0;
  padding:7px 8px 8px;
  justify-content:flex-start;
  background:linear-gradient(180deg,#fbfeff 0%,#f5fafd 100%);
  border-radius:8px;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group>small{
  height:14px;
  margin:0 0 7px 3px;
  line-height:14px;
  white-space:nowrap;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group>div{
  min-height:62px;
  align-items:stretch;
  gap:4px;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-importacoes{flex:0 0 220px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-validator{flex:0 0 138px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-pontos{flex:1 1 590px;min-width:570px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-model-filter-group{flex:0 1 405px;min-width:360px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-fillseries{flex:0 0 275px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-studio-tool{
  height:62px;
  min-height:62px;
  justify-content:center;
}
.peca-studio-tab-modelo .peca-ribbon-group-importacoes .peca-studio-tool{flex:1 1 0;min-width:0}
.peca-studio-tab-modelo .peca-ribbon-group-validator .peca-studio-tool{width:100%;min-width:0}
.peca-studio-tab-modelo .peca-ribbon-group-pontos .peca-studio-tool{flex:1 1 0;min-width:78px}
.peca-studio-tab-modelo .peca-ribbon-group-fillseries .peca-studio-tool{flex:1 1 0;min-width:0}
.peca-studio-tab-modelo .peca-model-filter-group .peca-model-geometry-filter{
  min-width:172px;
  min-height:62px;
  justify-content:center;
}
.peca-studio-tab-modelo .peca-model-filter-group .peca-model-geometry-filter select{height:42px}
.peca-studio-tab-modelo .peca-ribbon-group-validator.validation-required{
  border:1px solid #e0b75b!important;
  background:linear-gradient(180deg,#fffdf5 0%,#fff8e6 100%)!important;
  box-shadow:0 0 0 1px rgba(224,183,91,.08) inset;
}
.peca-studio-tab-modelo .peca-ribbon-group-validator.validation-required>small{color:#8b6412}
.peca-studio-tab-modelo .peca-ribbon-group-validator.validation-required .peca-studio-tool{
  border-color:#e0b75b;
  background:#fff;
  color:#9a6900;
}
.peca-studio-tab-modelo .peca-studio-tool.validation-gated:disabled,
.peca-studio-tab-modelo .peca-model-ribbon-subtabs button.validation-gated:disabled{
  opacity:.38;
  cursor:not-allowed;
  filter:grayscale(.25);
}
.peca-studio-tab-modelo [data-point-field].validation-gated:disabled,
.peca-studio-tab-modelo .peca-model-geometry-filter select:disabled{
  background:#f2f5f7!important;
  color:#8a9aa6!important;
  cursor:not-allowed;
}
.peca-model-validation-gate-note{
  margin:-1px 0 8px;
  padding:8px 11px;
  border:1px solid #ecd28e;
  border-radius:7px;
  background:#fffaf0;
  color:#6f571d;
  font-size:10px;
  line-height:1.35;
}
.peca-model-validation-gate-note b{color:#785609}
@media(max-width:1650px){
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-importacoes{flex-basis:205px}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-validator{flex-basis:128px}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-pontos{min-width:525px}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-model-filter-group{min-width:330px}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-fillseries{flex-basis:250px}
}

/* PECA r42 — contenção de textos + alinhamento e estado de pendências do Validador */
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group{
  min-height:110px;
  padding:8px 9px 9px;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group>small{
  display:flex;
  align-items:center;
  min-height:16px;
  height:16px;
  margin:0 0 8px 4px;
  line-height:1;
  font-size:8.5px;
  letter-spacing:.045em;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group>div{
  min-height:70px;
  align-items:stretch;
  gap:5px;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-importacoes{flex:0 0 230px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-validator{flex:0 0 160px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-pontos{flex:1 1 650px;min-width:640px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-model-filter-group{flex:0 1 410px;min-width:370px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-fillseries{flex:0 0 285px}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-studio-tool{
  box-sizing:border-box;
  height:70px;
  min-height:70px;
  padding:6px 7px;
  justify-content:center;
  overflow:hidden;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-studio-tool>span:last-child{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:24px;
  max-width:100%;
  line-height:1.15;
  text-align:center;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}
.peca-studio-tab-modelo .peca-ribbon-group-importacoes .peca-studio-tool{min-width:0;flex:1 1 0}
.peca-studio-tab-modelo .peca-ribbon-group-validator>div{justify-content:center}
.peca-studio-tab-modelo .peca-ribbon-group-validator .peca-studio-tool{width:118px;min-width:118px;max-width:118px;margin:0 auto}
.peca-studio-tab-modelo .peca-ribbon-group-pontos .peca-studio-tool{flex:1 1 0;min-width:98px}
.peca-studio-tab-modelo .peca-ribbon-group-fillseries .peca-studio-tool{min-width:0;flex:1 1 0}
.peca-studio-tab-modelo .peca-ribbon-group-validator.validation-conflicts{
  border:1px solid #d98954!important;
  background:linear-gradient(180deg,#fffaf7 0%,#fff2e9 100%)!important;
}
.peca-studio-tab-modelo .peca-ribbon-group-validator.validation-conflicts>small{color:#9a4f20}
.peca-studio-tab-modelo .peca-ribbon-group-validator.validation-conflicts .peca-studio-tool{border-color:#d98954;color:#a14f1e;background:#fff}
.peca-studio-tab-modelo .peca-studio-tool.validation-clear-allowed{
  border-color:#d98954!important;
  background:#fff8f3!important;
  color:#9a4f20!important;
}
.peca-model-validation-gate-note.conflicts{
  border-color:#e1ae8b;
  background:#fff7f2;
  color:#7d4827;
}
.peca-model-validation-gate-note.conflicts b{color:#8f4820}
@media(max-width:1650px){
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-importacoes{flex-basis:215px}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-validator{flex-basis:150px}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-pontos{min-width:610px}
  .peca-studio-tab-modelo .peca-ribbon-group-pontos .peca-studio-tool{min-width:94px}
}

/* PECA r44 — ribbon Modelo em uma única linha, compacto e sem scroll */
@media (min-width:1200px){
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"]{
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:6px;
    overflow-x:hidden;
    overflow-y:visible;
    padding:7px 8px 8px;
  }

  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group{
    min-width:0!important;
    max-width:none!important;
    min-height:102px;
    padding:7px 7px 8px;
    box-sizing:border-box;
  }

  /* Distribuição horizontal compacta */
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-importacoes{
    flex:0 1 205px!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-validator{
    flex:0 1 138px!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-pontos{
    flex:1 1 520px!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-model-filter-group{
    flex:0.78 1 305px!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-fillseries{
    flex:0 1 230px!important;
  }

  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group>small{
    min-height:15px;
    height:15px;
    margin:0 0 6px 3px;
    font-size:8px;
    line-height:15px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group>div{
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:4px;
    min-width:0;
    min-height:64px;
    overflow:visible;
  }

  /* Botões mais compactos, sem extrapolar o grupo */
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-studio-tool{
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    height:64px;
    min-height:64px;
    padding:5px 4px;
    gap:3px;
    font-size:8px;
    line-height:1.1;
    box-sizing:border-box;
    overflow:hidden;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-studio-tool-icon{
    width:19px;
    height:19px;
    flex:0 0 19px;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-studio-tool-icon svg{
    width:18px;
    height:18px;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-studio-tool>span:last-child{
    width:100%;
    min-height:20px;
    max-height:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal;
    overflow:hidden;
    overflow-wrap:normal;
    word-break:normal;
  }

  .peca-studio-tab-modelo .peca-ribbon-group-importacoes .peca-studio-tool{
    flex:1 1 0!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-group-validator>div{
    justify-content:center;
  }
  .peca-studio-tab-modelo .peca-ribbon-group-validator .peca-studio-tool{
    flex:1 1 auto!important;
    margin:0!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-group-pontos .peca-studio-tool{
    flex:1 1 0!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-group-fillseries .peca-studio-tool{
    flex:1 1 0!important;
  }

  /* Select e filtros menores para liberar largura */
  .peca-studio-tab-modelo .peca-model-filter-group .peca-model-geometry-filter{
    flex:1.28 1 138px;
    min-width:130px!important;
    max-width:155px;
    min-height:64px;
    padding:2px 3px;
  }
  .peca-studio-tab-modelo .peca-model-filter-group .peca-model-geometry-filter span{
    font-size:7px;
  }
  .peca-studio-tab-modelo .peca-model-filter-group .peca-model-geometry-filter select{
    width:100%;
    min-width:0;
    height:38px;
    padding:4px 20px 4px 6px;
    font-size:7.8px;
  }
  .peca-studio-tab-modelo .peca-model-filter-group .peca-studio-tool{
    flex:0.9 1 82px!important;
  }
}

/* Em telas menores, mantém comportamento responsivo natural sem barra do ribbon */
@media (min-width:1200px) and (max-width:1500px){
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"]{
    gap:4px;
    padding-left:5px;
    padding-right:5px;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group{
    padding-left:5px;
    padding-right:5px;
  }
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-importacoes{flex-basis:190px!important}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-validator{flex-basis:125px!important}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-pontos{flex-basis:475px!important}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-model-filter-group{flex-basis:280px!important}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-ribbon-group-fillseries{flex-basis:210px!important}
  .peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"] .peca-studio-tool{font-size:7.5px;padding-left:3px;padding-right:3px}
  .peca-studio-tab-modelo .peca-model-filter-group .peca-model-geometry-filter{max-width:140px}
}


/* PECA r45 — correção das subabas Dados | Exportações
   Mantém o ribbon compacto da r44 e restaura a ocultação real do painel inativo. */
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel][hidden]{
  display:none!important;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="dados"].active:not([hidden]){
  display:flex;
}
.peca-studio-tab-modelo .peca-ribbon-model-switcher [data-model-ribbon-panel="exportacoes"].active:not([hidden]){
  display:flex;
}

/* PECA r46 — compactação das colunas Status, Nome SIGEF e Método INCRA */
.peca-studio-tab-modelo .peca-points-table{min-width:1480px}
.peca-studio-tab-modelo .peca-points-table th[data-col="status"],
.peca-studio-tab-modelo .peca-points-table td[data-col="status"]{
  width:68px;
  min-width:68px;
  max-width:68px;
  padding-left:4px!important;
  padding-right:4px!important;
}
.peca-studio-tab-modelo .peca-points-table th[data-col="status"]{font-size:6.6px}
.peca-studio-tab-modelo .peca-points-table [data-col="sigef_name"]{
  width:142px;
  min-width:142px;
  max-width:142px;
}
.peca-studio-tab-modelo .peca-points-table td[data-col="sigef_name"] input{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box;
  padding-left:6px!important;
  padding-right:6px!important;
}
.peca-studio-tab-modelo .peca-points-table [data-col="survey_type"]{
  width:88px;
  min-width:88px;
  max-width:88px;
}
.peca-studio-tab-modelo .peca-points-table th[data-col="survey_type"]{
  white-space:normal;
  line-height:1.05;
}
.peca-studio-tab-modelo .peca-points-table td[data-col="survey_type"] input{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box;
  padding:5px 5px!important;
  text-align:center;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}


/* PECA r49 — quatro ações compactas em Preenchimento em série */
@media (min-width:1200px){
  .peca-studio-tab-modelo .peca-ribbon-group-fillseries>div{gap:3px!important}
  .peca-studio-tab-modelo .peca-ribbon-group-fillseries .peca-studio-tool{
    flex:1 1 0!important;
    min-width:0!important;
    padding-left:2px!important;
    padding-right:2px!important;
    font-size:6.9px!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-group-fillseries .peca-studio-tool>span:last-child{
    min-height:27px!important;
    max-height:29px!important;
    line-height:1.05!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-group-fillseries .peca-studio-tool-icon{
    width:17px!important;height:17px!important;flex-basis:17px!important;
  }
  .peca-studio-tab-modelo .peca-ribbon-group-fillseries .peca-studio-tool-icon svg{width:16px!important;height:16px!important}
}


/* PECA r54 — subabas cartográficas sem wrapper e sem alterar o workspace homologado.
   Os peca-ribbon-group continuam filhos diretos de peca-ribbon-drawing, exatamente como na r51. */
.peca-studio-tab-desenho .peca-drawing-ribbon-subtabs{
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
  margin:0 0 4px;
  padding:0 2px;
  flex:0 0 auto;
}
.peca-studio-tab-desenho .peca-drawing-ribbon-subtabs button{
  border:1px solid #cfe0ea;
  background:#fff;
  color:#294660;
  border-radius:6px;
  padding:6px 13px;
  font-size:9px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.peca-studio-tab-desenho .peca-drawing-ribbon-subtabs button.active{
  background:#eef7fd;
  border-color:#9bc8e3;
  color:#0a74bf;
  box-shadow:inset 0 -2px 0 #0a74bf;
}
.peca-studio-tab-desenho .peca-ribbon-drawing [data-drawing-ribbon-group][hidden]{
  display:none!important;
}
@media(max-width:760px){
  .peca-studio-tab-desenho .peca-drawing-ribbon-subtabs{
    overflow-x:auto;
  }
  .peca-studio-tab-desenho .peca-drawing-ribbon-subtabs button{
    white-space:nowrap;
  }
}


/* ==========================================================================
   PECA r55 — correção definitiva da largura do workspace cartográfico
   Objetivo: o <main class="peca-studio-main"> deve usar TODA a largura
   disponível da página/viewport no Desenho técnico/cartográfico.
   Não altera a aba Modelo nem a lógica do motor cartográfico.
   ========================================================================== */
.peca-studio-tab-desenho,
.peca-studio-tab-desenho .peca-studio-app{
  width:100vw!important;
  max-width:100vw!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}

.peca-studio-tab-desenho .peca-studio-main{
  width:100vw!important;
  max-width:100vw!important;
  min-width:0!important;
  margin:0!important;
  padding-left:5px!important;
  padding-right:5px!important;
  box-sizing:border-box!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}

.peca-studio-tab-desenho .peca-drawing-ribbon-subtabs,
.peca-studio-tab-desenho .peca-ribbon-drawing,
.peca-studio-tab-desenho .peca-drawing-layout{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

.peca-studio-tab-desenho .peca-drawing-layout{
  justify-self:stretch!important;
  align-self:stretch!important;
}

/* O mapa continua sendo a coluna elástica central. */
.peca-studio-tab-desenho .peca-canvas-card,
.peca-studio-tab-desenho .peca-canvas-viewport{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}

/* Evita que qualquer ancestral horizontal comprima o main por conteúdo. */
html:has(body.peca-studio-tab-desenho),
body.peca-studio-tab-desenho{
  width:100%!important;
  max-width:none!important;
  min-width:100%!important;
  overflow-x:hidden;
}


/* PECA r57 — apresentação vertical das anotações de segmento.
   Distância acima; azimute abaixo; ambos permanecem em pixels de tela. */
.peca-fixed-segment-label{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  max-width:190px;
  line-height:1.02;
}
.peca-fixed-segment-label .peca-segment-distance,
.peca-fixed-segment-label .peca-segment-azimuth{
  display:block;
  white-space:nowrap;
}
.peca-fixed-segment-label .peca-segment-distance{
  font-weight:850;
}
.peca-fixed-segment-label .peca-segment-azimuth{
  font-size:.92em;
  font-weight:700;
}


/* PECA r59 — construtores geométricos INCRA no lado esquerdo do mapa */
.peca-incra-construction-tools{
  position:absolute;
  left:8px;
  top:54px;
  z-index:10;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.peca-incra-construction-tools>button{
  width:34px;
  height:30px;
  border:1px solid #cbdce5;
  border-radius:6px;
  background:#fff;
  color:#1e4967;
  box-shadow:0 2px 8px rgba(15,45,68,.08);
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.peca-incra-construction-tools>button:hover{background:#f4fbff;border-color:#8bbad5}
.peca-incra-construction-tools>button.active{background:#e9f6ff;border-color:#4e9ed0;color:#086da9}
.peca-incra-construction-tools>button.cancel.active{background:#fff1f2;border-color:#dc9aa3;color:#b32c3b}
.peca-construction-status{
  position:absolute;
  left:42px;
  top:0;
  width:300px;
  padding:9px 10px;
  border:1px solid #cbdde8;
  border-radius:8px;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 28px rgba(15,45,68,.16);
  color:#244c67;
}
.peca-construction-status b{display:block;font-size:9px;color:#0a6ea8;margin-bottom:3px}
.peca-construction-status span{display:block;font-size:8.5px;line-height:1.35}
.peca-construction-status small{display:block;margin-top:5px;color:#627c8d;font-size:7.5px;line-height:1.3}
.peca-drawing-svg.construction-mode{cursor:crosshair}
.peca-derived-method-note{
  margin:12px 20px 0;
  padding:10px 12px;
  border:1px solid #bed9e8;
  border-radius:8px;
  background:#f2f9fd;
  color:#244d67;
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:9px;
  line-height:1.35;
}
.peca-derived-method-note b{color:#086da9}
.peca-derived-method-note small{color:#687f8f}
.peca-derived-reference-summary{
  margin:0 20px 14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.peca-derived-reference-summary span{
  border:1px solid #dbe6eb;
  border-radius:7px;
  background:#fbfdfe;
  padding:7px 9px;
  font-size:8px;
  color:#4e687a;
}
.peca-derived-reference-summary b{display:block;color:#183f5c;font-size:8.5px;margin-bottom:2px}
.peca-construction-guide{opacity:.78}
.peca-construction-result{filter:drop-shadow(0 1px 2px rgba(85,55,0,.15))}
@media(max-width:1100px){
  .peca-incra-construction-tools{left:6px;top:50px}
  .peca-incra-construction-tools>button{width:30px;height:27px;font-size:8px}
  .peca-construction-status{left:36px;width:250px}
}


/* PECA r60 — PA1 Paralela */
.peca-construction-finish{
  margin-top:7px;
  width:100%;
  border:1px solid #9fc4da;
  background:#eef8fd;
  color:#116b9f;
  border-radius:6px;
  padding:6px 8px;
  font-size:8px;
  font-weight:850;
  cursor:pointer;
}
.peca-construction-finish:hover{background:#e3f3fb;border-color:#68a9ce}
.peca-pa1-dialog{width:min(1060px,calc(100vw - 30px))}
.peca-pa1-info{
  margin:0 20px 12px;
  padding:9px 11px;
  border:1px solid #d8e5ec;
  border-radius:8px;
  background:#f8fbfd;
  color:#49677a;
  font-size:9px;
  line-height:1.45;
}
.peca-pa1-info b{display:block;color:#184866;margin-bottom:2px}
.peca-pa1-preview-wrap{
  margin:0 20px;
  max-height:300px;
  overflow:auto;
  border:1px solid #dbe6eb;
  border-radius:8px;
}
.peca-pa1-preview-table{width:100%;border-collapse:collapse;font-size:8px}
.peca-pa1-preview-table th,.peca-pa1-preview-table td{
  padding:7px 8px;
  border-bottom:1px solid #e8eef1;
  text-align:left;
  white-space:nowrap;
}
.peca-pa1-preview-table th{position:sticky;top:0;background:#f4f9fc;color:#31576f;z-index:1}
.peca-pa1-preview-table tbody tr:last-child td{border-bottom:0}
.peca-construction-pa1-preview{filter:drop-shadow(0 1px 1px rgba(113,72,0,.12))}


/* PECA r61 — Base cartográfica PB */
.peca-pb-dialog{width:min(1040px,calc(100vw - 30px))}
.peca-pb-note{
  margin:0 20px 12px;
  padding:10px 12px;
  border:1px solid #d7e4eb;
  border-radius:8px;
  background:#f8fbfd;
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#49677a;
  font-size:8.5px;
  line-height:1.45;
}
.peca-pb-note b{color:#194969;font-size:9px}
.peca-pb-note strong{color:#0a7359}
.peca-pb-note small{color:#718594}
.peca-pb-preview-summary{
  margin:0 20px 10px;
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:7px;
}
.peca-pb-preview-summary article{
  border:1px solid #dbe6eb;
  border-radius:8px;
  background:#fbfdfe;
  padding:8px 10px;
}
.peca-pb-preview-summary span{display:block;color:#657c8c;font-size:7.5px;text-transform:uppercase;font-weight:800}
.peca-pb-preview-summary b{display:block;margin-top:3px;color:#164a70;font-size:11px}
.peca-pb-preview-list{
  margin:0 20px;
  max-height:250px;
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.peca-pb-preview-list>div{
  display:grid;
  grid-template-columns:65px 1fr 1fr auto;
  gap:7px;
  align-items:center;
  border:1px solid #e0e9ed;
  border-radius:7px;
  padding:7px 9px;
  background:#fff;
  font-size:8px;
  color:#526c7d;
}
.peca-pb-preview-list>div b{color:#183f5c}
.peca-pb-preview-list>div small{color:#0b765b}
.peca-pb-preview-list>p{grid-column:1/-1;margin:0;padding:7px 9px;color:#677d8c;font-size:8px}
.peca-vector-overlay.pb-selecting .peca-vector-feature-pb-selectable{
  cursor:crosshair;
  stroke-width:3px!important;
  filter:drop-shadow(0 0 3px rgba(10,118,175,.28));
}
@media(max-width:900px){
  .peca-pb-preview-summary{grid-template-columns:repeat(2,1fr)}
  .peca-pb-preview-list{grid-template-columns:1fr}
}


/* PECA r62 — indicação de erro propagado */
.peca-pa1-preview-table td[title]{cursor:help;text-decoration:underline dotted #8ca7b7;text-underline-offset:2px}
.peca-derived-method-note span+span{margin-top:2px}
#peca-pb-base-error:placeholder-shown{background:#fbfdfe}


/* PECA r63 — edição pontual e coexistência visual de geometrias */
.peca-drawing-svg.segment-insert-mode{cursor:crosshair}
.peca-segment-insert-hit{cursor:crosshair}
.peca-named-geometry-overlay{opacity:.9}
.peca-named-geometry-overlay.parcel{mix-blend-mode:multiply}
.peca-named-geometry-overlay.perimeter{opacity:.95}
.peca-named-geometry-overlay.editing{filter:drop-shadow(0 0 2px rgba(9,87,128,.20))}
.peca-perimeter-list article.editing{
  border-color:#8dc0db;
  background:#f2f9fd;
}
.peca-perimeter-actions .geometry-visible{
  color:#08765c;
  border-color:#a8d2c3;
  background:#f0faf6;
}
.peca-perimeter-actions button:disabled{
  opacity:.65;
  cursor:default;
}


/* PECA r69 — Limpar traçado sempre acessível dentro do visualizador */
.peca-canvas-tools-separator{
  display:block;
  width:24px;
  height:1px;
  margin:1px auto;
  background:#dbe5e9;
}
.peca-canvas-tools .peca-canvas-clear{
  border-color:#e7c8c8;
  color:#9f3131;
  background:#fffafa;
}
.peca-canvas-tools .peca-canvas-clear:hover:not(:disabled){
  border-color:#d99c9c;
  background:#fff3f3;
}
.peca-canvas-tools .peca-canvas-clear:disabled{
  opacity:.34;
  cursor:default;
}


/* ========================================================================== */
/* PECA r70 — painéis laterais esticáveis / encolhíveis                       */
/* ========================================================================== */
@media(min-width:1101px){
  .peca-studio-tab-desenho .peca-drawing-layout{
    --peca-left-panel-width:190px;
    --peca-right-panel-width:250px;
    grid-template-columns:
      minmax(0,var(--peca-left-panel-width))
      7px
      minmax(0,1fr)
      7px
      minmax(0,var(--peca-right-panel-width)) !important;
    gap:0!important;
    column-gap:0!important;
  }

  .peca-studio-tab-desenho .peca-drawing-left-tabs{
    grid-column:1;
    margin-right:3px;
  }
  .peca-studio-tab-desenho .peca-canvas-card{
    grid-column:3;
    margin-left:3px;
    margin-right:3px;
  }
  .peca-studio-tab-desenho .peca-drawing-right{
    grid-column:5;
    margin-left:3px;
  }

  .peca-studio-tab-desenho .peca-panel-resizer{
    position:relative;
    align-self:stretch;
    min-width:7px;
    width:7px;
    cursor:col-resize;
    touch-action:none;
    user-select:none;
    z-index:12;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }
  .peca-studio-tab-desenho .peca-panel-resizer-left{grid-column:2}
  .peca-studio-tab-desenho .peca-panel-resizer-right{grid-column:4}

  .peca-studio-tab-desenho .peca-panel-resizer::before{
    content:"";
    position:absolute;
    inset:0 2px;
    border-radius:999px;
    background:#e1ebf0;
    transition:background .12s,box-shadow .12s;
  }
  .peca-studio-tab-desenho .peca-panel-resizer:hover::before,
  .peca-studio-tab-desenho .peca-panel-resizer.dragging::before{
    background:#9fc8dc;
    box-shadow:0 0 0 1px rgba(4,112,166,.12);
  }

  .peca-studio-tab-desenho .peca-panel-resizer-grip{
    position:relative;
    z-index:2;
    width:3px;
    height:38px;
    border-radius:999px;
    background:repeating-linear-gradient(
      to bottom,
      #789cac 0 2px,
      transparent 2px 5px
    );
    opacity:.68;
    pointer-events:none;
  }

  .peca-studio-tab-desenho .peca-panel-collapse{
    position:absolute;
    z-index:3;
    top:50%;
    width:18px;
    height:28px;
    margin-top:-14px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid #b8ccd6;
    border-radius:5px;
    background:#fff;
    color:#285b76;
    font:800 14px/1 Arial,sans-serif;
    cursor:pointer;
    box-shadow:0 2px 7px rgba(25,57,74,.10);
  }
  .peca-studio-tab-desenho .peca-panel-resizer-left .peca-panel-collapse{left:-7px}
  .peca-studio-tab-desenho .peca-panel-resizer-right .peca-panel-collapse{right:-7px}
  .peca-studio-tab-desenho .peca-panel-collapse:hover{
    color:#0878ba;
    border-color:#82b6d0;
    background:#f5fbfe;
  }

  .peca-studio-tab-desenho .peca-drawing-layout.peca-left-collapsed .peca-drawing-left-tabs{
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    border:0!important;
    margin:0;
  }
  .peca-studio-tab-desenho .peca-drawing-layout.peca-right-collapsed .peca-drawing-right{
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    margin:0;
  }

  body.peca-panel-resizing,
  body.peca-panel-resizing *{
    cursor:col-resize!important;
  }
  body.peca-panel-resizing{
    user-select:none!important;
  }
}

/* No modo responsivo os painéis continuam no fluxo vertical homologado. */
@media(max-width:1100px){
  .peca-studio-tab-desenho .peca-panel-resizer{display:none!important}
  .peca-studio-tab-desenho .peca-drawing-left-tabs,
  .peca-studio-tab-desenho .peca-drawing-right{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* PECA r71 — divisor interno da aba Camadas */
.peca-vector-layer-panel{--peca-layer-view-height:170px}
.peca-layer-visual-zone{flex:0 0 var(--peca-layer-view-height);min-height:70px;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.peca-layer-visual-zone .peca-vector-layer-list{flex:1 1 auto;min-height:45px}
.peca-layer-inner-resizer{position:relative;flex:0 0 9px;height:9px;cursor:row-resize;touch-action:none;user-select:none;display:flex;align-items:center;justify-content:center;background:#f7fbfd;border-top:1px solid #e1ebf0;border-bottom:1px solid #dce8ee;z-index:3}
.peca-layer-inner-resizer-grip{width:42px;height:3px;border-radius:999px;background:repeating-linear-gradient(to right,#789cac 0 3px,transparent 3px 6px);opacity:.62;pointer-events:none}
.peca-layer-inner-resizer:hover,.peca-layer-inner-resizer.dragging{background:#edf7fc}
.peca-layer-inner-resizer>button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:20px;height:16px;display:grid;place-items:center;padding:0;border:1px solid #bad0db;border-radius:4px;background:#fff;color:#285b76;font:800 10px/1 Arial,sans-serif;cursor:pointer}
.peca-vector-layer-panel .peca-layer-association{flex:1 1 auto;min-height:125px;overflow:auto;border-top:0}
.peca-vector-layer-panel.peca-layer-association-collapsed .peca-layer-visual-zone{flex:1 1 auto}
.peca-vector-layer-panel.peca-layer-association-collapsed .peca-layer-association{display:none}
body.peca-layer-inner-resizing,body.peca-layer-inner-resizing *{cursor:row-resize!important;user-select:none!important}

/* PECA r71 — leitor de textos cartográficos */
.peca-layer-text-reader{flex:0 0 auto;border-top:1px solid #e3edf2;background:#fbfdfe}
.peca-layer-text-reader-head{min-height:26px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:3px 5px}
.peca-layer-text-reader-head>button{min-width:0;flex:1 1 auto;border:0;background:transparent;color:#174760;text-align:left;font-size:6.7px;font-weight:800;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-layer-text-reader-head>button span{display:inline-block;width:11px;color:#0b76ad}
.peca-layer-text-reader-head>label{display:inline-flex;align-items:center;gap:3px;color:#587386;font-size:6.2px;white-space:nowrap}
.peca-layer-text-reader-head input{width:11px;height:11px;margin:0}
.peca-layer-text-reader-body{border-top:1px solid #e7eef2;padding:4px}
.peca-layer-text-filter-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:4px;margin-bottom:4px}
.peca-layer-text-filter-row select,.peca-layer-text-filter-row input{width:100%;min-width:0;height:23px;border:1px solid #ccdde6;border-radius:3px;background:#fff;color:#234d66;padding:3px 5px;font-size:6.3px}
.peca-layer-text-list{max-height:112px;overflow:auto;display:grid;gap:2px}
.peca-layer-text-list>p{margin:0;padding:7px;color:#748995;font-size:6.1px;line-height:1.3}
.peca-layer-text-list article{padding:4px 5px;border:1px solid #e1eaee;border-radius:3px;background:#fff;cursor:pointer}
.peca-layer-text-list article:hover{border-color:#b8d5e2;background:#f6fbfd}
.peca-layer-text-list article.selected{border-color:#7ebbd4;background:#edf8fc}
.peca-layer-text-list b{display:block;color:#183f59;font-size:6.7px;line-height:1.2;overflow-wrap:anywhere}
.peca-layer-text-list small,.peca-layer-text-list em{display:block;margin-top:2px;color:#6c8290;font-size:5.7px;line-height:1.25;font-style:normal;overflow-wrap:anywhere}
.peca-vector-text{stroke:#fff!important;fill:#254c65;font-family:Arial,sans-serif;font-weight:700;pointer-events:none;opacity:.92}
.peca-vector-text.selected{fill:#b06d00!important;stroke:#fff7d0!important;font-weight:900}
.peca-vector-layer.layer-style-0 .peca-vector-text{fill:#6f2fa8}
.peca-vector-layer.layer-style-1 .peca-vector-text{fill:#a95e00}
.peca-vector-layer.layer-style-2 .peca-vector-text{fill:#006b83}
.peca-vector-layer.layer-style-3 .peca-vector-text{fill:#96304f}
.peca-vector-layer.layer-style-4 .peca-vector-text{fill:#4d5e00}
.peca-vector-layer.layer-style-5 .peca-vector-text{fill:#3b55aa}
@media(max-width:760px){.peca-layer-text-filter-row{grid-template-columns:1fr}}


/* ========================================================================== */
/* PECA r72 — correção visual/funcional da aba Camadas                        */
/* ========================================================================== */
/* A área de textos deve ser claramente identificável mesmo quando não há texto. */
.peca-vector-layer-panel{--peca-layer-view-height:220px}
.peca-layer-visual-zone{
  flex:0 0 var(--peca-layer-view-height);
  min-height:120px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
}
.peca-layer-visual-zone .peca-vector-layer-list{flex:1 1 auto;min-height:48px}

/* Leitor de textos: tipografia normalizada e contraste suficiente para não sumir. */
.peca-layer-text-reader{
  flex:0 0 auto;
  border-top:1px solid #cbdde7;
  border-bottom:1px solid #dce8ee;
  background:#f7fbfd;
}
.peca-layer-text-reader-head{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:5px 8px;
}
.peca-layer-text-reader-head>button{
  min-width:0;
  flex:1 1 auto;
  border:0;
  background:transparent;
  color:#123f5b;
  text-align:left;
  font-size:9px;
  line-height:1.2;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.peca-layer-text-reader-head>button span{display:inline-block;width:14px;color:#0879b5;font-size:11px}
.peca-layer-text-reader-head>label{display:inline-flex;align-items:center;gap:4px;color:#486b80;font-size:8px;white-space:nowrap}
.peca-layer-text-reader-head input{width:14px;height:14px;margin:0}
.peca-layer-text-reader-body{border-top:1px solid #dce8ee;padding:6px;background:#fff}
.peca-layer-text-reader-body[hidden]{display:none!important}
.peca-layer-text-filter-row{display:grid;grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr);gap:6px;margin-bottom:6px}
.peca-layer-text-filter-row select,.peca-layer-text-filter-row input{
  width:100%;min-width:0;height:28px;border:1px solid #bfd3df;border-radius:4px;background:#fff;color:#234d66;padding:4px 7px;font-size:8px
}
.peca-layer-text-list{max-height:86px;overflow:auto;display:grid;gap:3px}
.peca-layer-text-list>p{margin:0;padding:8px;color:#617b8b;font-size:8px;line-height:1.35}
.peca-layer-text-list article{padding:5px 6px;border:1px solid #dbe7ed;border-radius:4px;background:#fff;cursor:pointer}
.peca-layer-text-list b{display:block;color:#183f59;font-size:8.5px;line-height:1.25;overflow-wrap:anywhere}
.peca-layer-text-list small,.peca-layer-text-list em{display:block;margin-top:2px;color:#607b8b;font-size:7.2px;line-height:1.3;font-style:normal;overflow-wrap:anywhere}

/* Divisória interna: agora é uma faixa inequívoca, com área de clique/arraste maior. */
.peca-layer-inner-resizer{
  position:relative;
  flex:0 0 19px;
  height:19px;
  cursor:row-resize;
  touch-action:none;
  user-select:none;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#edf5f9;
  border-top:1px solid #bcd2de;
  border-bottom:1px solid #b6ceda;
  z-index:4;
}
.peca-layer-inner-resizer-grip{
  width:min(190px,62%);
  height:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#55788b;
  opacity:1;
  pointer-events:none;
  background:none;
}
.peca-layer-inner-resizer-grip i{height:2px;flex:1 1 auto;border-radius:999px;background:#8aa9b9}
.peca-layer-inner-resizer-grip em{font:800 6.7px/1 Arial,sans-serif;font-style:normal;letter-spacing:.04em;white-space:nowrap}
.peca-layer-inner-resizer:hover,.peca-layer-inner-resizer.dragging{background:#dfeff7}
.peca-layer-inner-resizer>button{
  position:absolute;right:5px;top:50%;transform:translateY(-50%);width:25px;height:17px;display:grid;place-items:center;padding:0;
  border:1px solid #9ebdcc;border-radius:4px;background:#fff;color:#245a75;font:800 11px/1 Arial,sans-serif;cursor:pointer
}

/* Associação: corrige o resumo que aparecia antes de existir feição selecionada. */
.peca-layer-match-summary[hidden]{display:none!important}
.peca-vector-layer-panel .peca-layer-association{
  flex:1 1 auto;
  min-height:145px;
  overflow:auto;
  border-top:0;
  padding:8px;
  gap:7px;
}
.peca-layer-association-head b{font-size:8.5px}
.peca-layer-association-head span{font-size:7.5px;line-height:1.35}
.peca-layer-association>label,.peca-layer-save-fields label{font-size:7.5px;gap:4px}
.peca-layer-association input,.peca-layer-association select{min-height:30px;padding:5px 7px;font-size:8.5px}
.peca-layer-save-fields{grid-template-columns:90px minmax(0,1fr);gap:6px}
.peca-layer-association>.peca-action{padding:7px 8px;font-size:8px}
.peca-layer-association>small{font-size:7px;line-height:1.4}
.peca-layer-match-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.peca-layer-match-summary>div{padding:5px 6px}
.peca-layer-match-summary span{font-size:6.8px}
.peca-layer-match-summary b{font-size:8px}

@media(max-width:760px){
  .peca-layer-text-filter-row,.peca-layer-match-summary,.peca-layer-save-fields{grid-template-columns:1fr}
  .peca-layer-inner-resizer-grip em{display:none}
}

/* ========================================================================== */
/* PECA r73 — preservar camada visível com leitor de textos                    */
/* ========================================================================== */
/* A lista das camadas importadas nunca pode ser comprimida até desaparecer. */
.peca-layer-visual-zone{
  min-height:160px;
  overflow:hidden;
}
.peca-layer-visual-zone .peca-vector-layer-list{
  flex:1 1 auto;
  min-height:88px;
  overflow:auto;
  border-bottom:1px solid #d9e6ed;
}
/* Cabeçalho do leitor sempre disponível; conteúdo abre apenas sob comando. */
.peca-layer-text-reader{flex:0 0 auto;max-height:150px;overflow:hidden}
.peca-layer-text-reader-body{max-height:112px;overflow:auto}
.peca-layer-text-list{max-height:72px;overflow:auto}
/* Mesmo expandido, o leitor nunca deve eliminar a área da lista de camadas. */
.peca-layer-text-reader:not(.collapsed) + *{min-width:0}

/* ========================================================================== */
/* PECA r74 — camadas geométricas e textos em overlays independentes          */
/* ========================================================================== */
.peca-vector-geometry-overlay{z-index:2}
.peca-vector-text-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:3;
  pointer-events:none;
  overflow:hidden;
}
.peca-vector-text-layer .peca-vector-text{
  fill:#183f59;
  stroke:#fff!important;
  stroke-linejoin:round;
  font-family:Arial,sans-serif;
  font-weight:800;
  opacity:1;
  pointer-events:none;
}
.peca-vector-text-layer.layer-style-0 .peca-vector-text{fill:#6f2fa8}
.peca-vector-text-layer.layer-style-1 .peca-vector-text{fill:#a95e00}
.peca-vector-text-layer.layer-style-2 .peca-vector-text{fill:#006b83}
.peca-vector-text-layer.layer-style-3 .peca-vector-text{fill:#96304f}
.peca-vector-text-layer.layer-style-4 .peca-vector-text{fill:#4d5e00}
.peca-vector-text-layer.layer-style-5 .peca-vector-text{fill:#3b55aa}
.peca-vector-text-layer .peca-vector-text.selected{fill:#b06d00!important;stroke:#fff7d0!important;font-weight:900}


/* ========================================================================== */
/* PECA r75 — estabilidade da grade Modelo com descrições extensas             */
/* ========================================================================== */
/*
 * Textos/descrições importados não podem alterar as colunas básicas da grade.
 * Mantém Status, Ordem e Ponto em faixas próprias e impede qualquer conteúdo
 * do Status de invadir visualmente a coluna Ponto.
 */
.peca-studio-tab-modelo .peca-points-table th[data-col="status"],
.peca-studio-tab-modelo .peca-points-table td[data-col="status"]{
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  overflow:hidden!important;
  padding-left:5px!important;
  padding-right:5px!important;
}
.peca-studio-tab-modelo .peca-points-table .peca-model-status-wrap{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.peca-studio-tab-modelo .peca-points-table .peca-model-status-wrap>input{
  flex:0 0 12px!important;
  width:12px!important;
  min-width:12px!important;
  height:12px!important;
  padding:0!important;
}
.peca-studio-tab-modelo .peca-points-table .peca-point-state{
  flex:0 0 18px!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
}
.peca-studio-tab-modelo .peca-points-table .peca-model-issue-badge{
  flex:0 0 14px!important;
}
.peca-studio-tab-modelo .peca-points-table th[data-col="order"],
.peca-studio-tab-modelo .peca-points-table td[data-col="order"]{
  width:46px;
  min-width:46px;
  max-width:46px;
}
.peca-studio-tab-modelo .peca-points-table th[data-col="point"],
.peca-studio-tab-modelo .peca-points-table td[data-col="point"]{
  width:118px;
  min-width:118px;
  max-width:150px;
}
.peca-studio-tab-modelo .peca-points-table td[data-col="point"]{
  overflow:hidden;
  text-overflow:ellipsis;
  position:relative;
  z-index:1;
}
.peca-studio-tab-modelo .peca-points-table td[data-col="point"] strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
/* Descrição e Observações deixam de comandar a largura da tabela. */
.peca-studio-tab-modelo .peca-points-table th[data-col="description"],
.peca-studio-tab-modelo .peca-points-table td[data-col="description"]{
  width:300px;
  min-width:220px;
  max-width:300px;
}
.peca-studio-tab-modelo .peca-points-table td[data-col="description"]{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
  padding-left:10px;
  padding-right:10px;
}
.peca-studio-tab-modelo .peca-points-table th[data-col="notes"],
.peca-studio-tab-modelo .peca-points-table td[data-col="notes"]{
  width:260px;
  min-width:180px;
  max-width:260px;
}
.peca-studio-tab-modelo .peca-points-table td[data-col="notes"]{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
}
/* Preserva o conteúdo completo no atributo title e no painel de detalhes. */

/* ========================================================================== */
/* PECA r76 — Confrontantes SIGEF + reparo assistido dos alertas do Modelo    */
/* ========================================================================== */
.peca-sigef-has-overlap{outline:2px solid #c94f3d!important;outline-offset:1px}
.peca-sigef-dialog{width:min(980px,94vw)}
.peca-sigef-intro{margin:0 0 10px;color:#48677a;line-height:1.45}
.peca-sigef-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:9px;border:1px solid #d7e5ec;background:#f8fbfc;border-radius:6px}
.peca-sigef-controls label{display:grid;gap:4px;font-size:11px;color:#34566b;font-weight:700}
.peca-sigef-controls select{min-height:34px;border:1px solid #bfd5e0;border-radius:5px;background:#fff;padding:5px 8px;color:#214d65}
.peca-sigef-controls .peca-sigef-map-toggle{display:flex;align-items:center;gap:6px;min-height:34px;padding:0 6px}
.peca-sigef-status{margin:8px 0;padding:8px 10px;border-left:3px solid #4d8faa;background:#f5fafc;color:#315a70;line-height:1.4}
.peca-sigef-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0}
.peca-sigef-summary article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #dce7ec;border-radius:5px;background:#fff}
.peca-sigef-summary span{font-size:10px;color:#5c7585;text-transform:uppercase;font-weight:800}.peca-sigef-summary b{font-size:16px;color:#173f58}
.peca-sigef-results{max-height:360px;overflow:auto;display:grid;gap:6px;padding-right:3px}.peca-sigef-results>p{padding:15px;text-align:center;color:#6a8290}
.peca-sigef-result{padding:9px 10px;border:1px solid #dbe6eb;border-left-width:4px;border-radius:5px;background:#fff}.peca-sigef-result.sobreposicao{border-left-color:#c94f3d;background:#fff8f6}.peca-sigef-result.confrontante{border-left-color:#d28d28;background:#fffbf2}.peca-sigef-result.coincidente{border-left-color:#5b7aa7;background:#f7f9fc}.peca-sigef-result.proximo{border-left-color:#7e9aa8}.peca-sigef-result.selected{outline:2px solid #2b769b;outline-offset:-2px}
.peca-sigef-result-head{display:flex;gap:8px;align-items:center;min-width:0}.peca-sigef-result-head span{flex:0 0 auto;font-size:9px;font-weight:900;letter-spacing:.04em;color:#5b7180}.peca-sigef-result-head b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173f58}.peca-sigef-result small,.peca-sigef-result em{display:block;margin-top:3px;color:#657f8e;font-size:10px;font-style:normal}.peca-sigef-result-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.peca-sigef-result-actions button{border:1px solid #bfd4df;background:#fff;color:#245875;border-radius:4px;padding:5px 8px;font-size:10px;font-weight:700;cursor:pointer}.peca-sigef-result-actions button:hover{background:#f0f8fb}
.peca-sigef-note{margin-top:8px;padding:8px 10px;border:1px solid #e1e9ed;border-radius:5px;color:#5c7483;background:#fbfcfd;font-size:10px;line-height:1.45}
.peca-sigef-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:4}.peca-sigef-neighbor polygon{pointer-events:all;cursor:pointer;stroke-width:2;fill-opacity:.11;stroke:#687f8a;fill:#91a5af}.peca-sigef-neighbor circle{pointer-events:none;stroke-width:1.5;fill:#fff;stroke:#687f8a}.peca-sigef-neighbor.sobreposicao polygon{stroke:#c94f3d;fill:#d85c49;fill-opacity:.18}.peca-sigef-neighbor.sobreposicao circle{stroke:#c94f3d}.peca-sigef-neighbor.confrontante polygon{stroke:#d28d28;fill:#e7aa4a;fill-opacity:.13}.peca-sigef-neighbor.confrontante circle{stroke:#d28d28}.peca-sigef-neighbor.coincidente polygon{stroke:#5b7aa7;fill:#7d93b6;fill-opacity:.09;stroke-dasharray:5 4}.peca-sigef-neighbor.proximo polygon{stroke:#678b9c;fill:#80a2b1;fill-opacity:.07;stroke-dasharray:4 4}.peca-sigef-neighbor.selected polygon{stroke-width:3;fill-opacity:.23}
.peca-point-issue-dialog{width:min(650px,92vw)}.peca-point-issue-list{display:grid;gap:5px;margin:8px 0}.peca-point-issue-list>div{padding:7px 9px;border:1px solid #ecd7a3;border-radius:5px;background:#fff9e9;color:#77510b;font-weight:700}.peca-point-issue-rule{display:grid;gap:4px;padding:9px 10px;border:1px solid #d7e6ed;border-radius:5px;background:#f7fbfd;color:#3e6073;line-height:1.45}.peca-point-issue-result{min-height:18px;margin-top:8px;color:#315d72;font-weight:700}
.peca-model-issue-badge{padding:0;border-radius:50%;font-family:inherit;line-height:1;appearance:none;cursor:pointer}
@media(max-width:760px){.peca-sigef-summary{grid-template-columns:1fr}.peca-sigef-controls{align-items:stretch}.peca-sigef-controls>*{width:100%}.peca-sigef-result-head{align-items:flex-start;flex-direction:column}}

/* ========================================================================== */
/* PECA r77 — contenção definitiva da grade Modelo com textos extensos        */
/* ========================================================================== */
/*
 * A grade mantém a arquitetura homologada; apenas deixa de permitir que
 * conteúdo textual longo recalcule as larguras do navegador. O scroll passa
 * a pertencer ao contêiner da tabela, não à página inteira.
 */
.peca-studio-tab-modelo .peca-model-table-card .peca-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.peca-studio-tab-modelo .peca-points-table{
  table-layout:fixed!important;
  width:1945px!important;
  min-width:1945px!important;
  max-width:1945px!important;
}
.peca-studio-tab-modelo .peca-points-table th,
.peca-studio-tab-modelo .peca-points-table td{
  box-sizing:border-box!important;
  min-width:0;
}
.peca-studio-tab-modelo .peca-points-table th[data-col="status"],
.peca-studio-tab-modelo .peca-points-table td[data-col="status"]{width:72px!important;min-width:72px!important;max-width:72px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="order"],
.peca-studio-tab-modelo .peca-points-table td[data-col="order"]{width:46px!important;min-width:46px!important;max-width:46px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="point"],
.peca-studio-tab-modelo .peca-points-table td[data-col="point"]{width:148px!important;min-width:148px!important;max-width:148px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="easting"],
.peca-studio-tab-modelo .peca-points-table td[data-col="easting"]{width:92px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="easting_error"],
.peca-studio-tab-modelo .peca-points-table td[data-col="easting_error"]{width:72px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="northing"],
.peca-studio-tab-modelo .peca-points-table td[data-col="northing"]{width:104px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="northing_error"],
.peca-studio-tab-modelo .peca-points-table td[data-col="northing_error"]{width:72px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="altitude"],
.peca-studio-tab-modelo .peca-points-table td[data-col="altitude"]{width:82px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="altitude_error"],
.peca-studio-tab-modelo .peca-points-table td[data-col="altitude_error"]{width:82px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="sigef_name"],
.peca-studio-tab-modelo .peca-points-table td[data-col="sigef_name"]{width:180px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="survey_type"],
.peca-studio-tab-modelo .peca-points-table td[data-col="survey_type"]{width:110px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="description"],
.peca-studio-tab-modelo .peca-points-table td[data-col="description"]{width:315px!important;min-width:315px!important;max-width:315px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="use"],
.peca-studio-tab-modelo .peca-points-table td[data-col="use"]{width:54px!important;min-width:54px!important;max-width:54px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="origin"],
.peca-studio-tab-modelo .peca-points-table td[data-col="origin"]{width:235px!important;min-width:235px!important;max-width:235px!important}
.peca-studio-tab-modelo .peca-points-table th[data-col="notes"],
.peca-studio-tab-modelo .peca-points-table td[data-col="notes"]{width:281px!important;min-width:281px!important;max-width:281px!important}
.peca-studio-tab-modelo .peca-points-table td[data-col="description"],
.peca-studio-tab-modelo .peca-points-table td[data-col="origin"],
.peca-studio-tab-modelo .peca-points-table td[data-col="notes"]{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.peca-studio-tab-modelo .peca-points-table .peca-editable-model-cell input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}


/* ========================================================================== */
/* PECA r78 — WMS SIGEF certificado independente da análise vetorial WFS      */
/* ========================================================================== */
.peca-sigef-wms-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;padding:8px 9px;border:1px solid #cfe0e8;border-radius:6px;background:#f4fafc}
.peca-sigef-wms-row label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:#245875}
.peca-sigef-wms-row span{min-width:220px;flex:1 1 280px;font-size:9px;line-height:1.35;color:#587484}
.peca-sigef-wms-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}
.peca-sigef-wms-image{pointer-events:none;opacity:.82}
.peca-sigef-wms-image.publico{opacity:.88}
@media(max-width:760px){.peca-sigef-wms-row{align-items:stretch}.peca-sigef-wms-row>*{width:100%}.peca-sigef-wms-row span{min-width:0}}

/* PECA r79 — protocolo e importação assistida dos vértices oficiais SIGEF */
.peca-sigef-result-head .peca-sigef-protocol{margin-left:auto;flex:0 0 auto;padding:2px 6px;border:1px solid #c8dce6;border-radius:999px;background:#f5fafc;color:#245875;font-size:9px;line-height:1.3;white-space:nowrap}
.peca-sigef-import-dialog{width:min(820px,94vw)}
.peca-sigef-import-context{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.8fr);gap:8px;margin:0 0 10px}
.peca-sigef-import-context>div{display:grid;gap:3px;padding:9px 10px;border:1px solid #d5e4eb;border-radius:6px;background:#f8fbfc;min-width:0}
.peca-sigef-import-context small{font-size:9px;font-weight:900;color:#6a8290;letter-spacing:.04em}.peca-sigef-import-context b{color:#173f58;overflow-wrap:anywhere}
.peca-sigef-import-help{margin:0 0 10px;line-height:1.5;color:#48677a}
.peca-sigef-import-actions{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}
.peca-sigef-upload-grid label small{display:block;margin-top:4px;color:#657f8e;font-weight:400;line-height:1.35}
.peca-sigef-upload-grid input[type="file"]{width:100%;box-sizing:border-box}
@media(max-width:760px){.peca-sigef-result-head .peca-sigef-protocol{margin-left:0}.peca-sigef-import-context{grid-template-columns:1fr}}


/* PECA r80 — protocolo SIGEF somente como código copiável; sem atalho externo */
.peca-sigef-protocol-box{margin-left:auto;display:inline-flex;align-items:center;gap:5px;min-width:0}
.peca-sigef-protocol-box .peca-sigef-protocol{margin-left:0}
.peca-sigef-protocol-copy{border:1px solid #c8dce6;border-radius:5px;background:#fff;color:#245875;font-size:9px;font-weight:800;line-height:1.2;padding:3px 7px;cursor:pointer}
.peca-sigef-protocol-copy:hover{background:#eef7fb}
.peca-sigef-protocol-context>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.peca-sigef-protocol-context>div b{flex:1 1 150px}
.peca-sigef-protocol-context .btn{padding:5px 8px;font-size:9px;white-space:nowrap}
@media(max-width:760px){.peca-sigef-protocol-box{margin-left:0;flex-wrap:wrap}.peca-sigef-protocol-context>div{align-items:stretch}.peca-sigef-protocol-context .btn{width:100%}}

/* PECA r81 — protocolo extraído do texto OGC, apresentado como dado principal */
.peca-sigef-result-head .peca-sigef-protocol-box{
  margin-left:auto;
  display:grid;
  grid-template-columns:auto auto;
  grid-template-areas:"label copy" "code copy";
  column-gap:6px;
  row-gap:1px;
  align-items:center;
}
.peca-sigef-protocol-box .peca-sigef-protocol-label{
  grid-area:label;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  color:#6a8290;
}
.peca-sigef-result-head .peca-sigef-protocol-box .peca-sigef-protocol{
  grid-area:code;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#173f58;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.peca-sigef-protocol-box .peca-sigef-protocol-copy{grid-area:copy}
@media(max-width:760px){
  .peca-sigef-result-head .peca-sigef-protocol-box{margin-left:0;grid-template-columns:auto auto;width:auto}
}


/* r82 — referência da pesquisa SIGEF como texto copiável, sem link externo */
.peca-sigef-search-code{
  flex:1 1 220px;min-width:0;width:100%;box-sizing:border-box;
  border:1px solid #bfd5e2;border-radius:5px;background:#fff;color:#173f58;
  padding:7px 9px;font:800 12px/1.2 inherit;letter-spacing:.01em;
}
.peca-sigef-search-code[readonly]{cursor:text}
.peca-sigef-search-code:focus{outline:2px solid rgba(16,126,190,.18);border-color:#6aa9c9}


/* ========================================================================== */
/* PECA r84 — SIGEF oculto por padrão + proteção dos campos oficiais no Modelo */
/* ========================================================================== */
.peca-studio-tab-modelo .peca-points-table input.is-sigef-locked[readonly]{
  background:#f1f4f6!important;color:#667985!important;border-color:#d7e0e5!important;cursor:default!important;
}
.peca-studio-tab-modelo .peca-points-table input.is-sigef-locked[readonly]:focus{
  outline:none!important;box-shadow:inset 0 0 0 1px #cbd7dd!important;
}


/* PECA r87 — nome do ponto preservado e olho no extremo direito do painel Pontos */
.peca-point-name-map-wrap{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
.peca-point-name-map-wrap>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.peca-point-map-toggle{position:relative;flex:0 0 23px;width:23px;height:23px;display:inline-grid;place-items:center;border:1px solid #cdd9de;border-radius:5px;background:#fff;color:#607781;cursor:pointer;padding:3px;transition:.12s}
.peca-point-map-toggle:hover{border-color:#75aa9a;background:#f2faf7;color:#08775d}
.peca-point-map-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.peca-point-map-toggle.is-visible{color:#078b69;border-color:#b9d9ce;background:#f0faf6}
.peca-point-map-toggle.is-hidden{color:#8b989f;background:#f5f7f8}
.peca-point-map-toggle-slash{display:none;position:absolute;width:17px;height:1.5px;background:currentColor;transform:rotate(-42deg);border-radius:2px;pointer-events:none}
.peca-point-map-toggle.is-hidden .peca-point-map-toggle-slash{display:block}
.peca-point-map-toggle:disabled{opacity:.55;cursor:wait}
.peca-point-list-visibility{flex:0 0 20px;width:20px;height:20px;padding:2px;border-radius:4px}
.peca-point-list-visibility svg{width:13px;height:13px}
.peca-studio-tab-modelo .peca-points-table tr.point-map-hidden td[data-col="point"] strong{color:#84939b}
.peca-studio-tab-modelo .peca-points-table tr.point-map-hidden td[data-col="point"]{background-image:linear-gradient(to right,rgba(119,136,146,.035),rgba(119,136,146,0))}
.peca-point-list li.map-hidden{opacity:.58}
.peca-point-list li.map-hidden b::after{content:' · oculto no mapa';font-weight:600;font-size:8px;color:#768993}

/* PECA r88 — cadastro de confrontantes diretamente no card lateral do Desenho */
.peca-card-plus{border:0;background:transparent;color:#123d5c;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
.peca-card-plus:hover{color:#078b69}
.peca-confrontant-card-summary{padding:7px 8px;border-bottom:1px solid #e3eaee;display:grid;gap:3px}
.peca-confrontant-card-summary span{font-size:8px;font-weight:800;color:#078b69}
.peca-confrontant-card-summary small{font-size:7px;line-height:1.35;color:#617789}
.peca-confrontant-list{display:grid;gap:4px;padding:5px 6px;max-height:145px;overflow:auto}
.peca-confrontant-empty{margin:0;padding:6px 4px;color:#70818c;font-size:7px;line-height:1.35}
.peca-confrontant-item{display:flex;justify-content:space-between;gap:5px;border:1px solid #e0e8ec;border-radius:5px;padding:5px 6px;background:#fbfdfe}
.peca-confrontant-item>div:first-child{min-width:0;display:grid;gap:1px}
.peca-confrontant-item small{font-size:6px;color:#6f8290;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-confrontant-item b{font-size:7.2px;color:#163652;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-confrontant-item span{font-size:6.8px;color:#405a70;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-confrontant-item em{font-style:normal;font-size:6px;color:#93620a}
.peca-confrontant-item-actions{display:flex;gap:2px;align-items:flex-start}
.peca-confrontant-item-actions button{width:20px;height:20px;border:1px solid #d6e1e6;border-radius:4px;background:#fff;color:#2c5068;cursor:pointer;padding:0;font-size:11px}
.peca-confrontant-item-actions button:last-child{color:#a73a3a}
.peca-confrontant-editor{border-top:1px solid #dfe8ec;padding:7px 8px 8px;display:grid;gap:6px;background:#fafdfe}
.peca-confrontant-editor[hidden]{display:none!important}
.peca-confrontant-editor label{display:grid;gap:3px;font-size:7px;font-weight:800;color:#4b6374}
.peca-confrontant-editor input,.peca-confrontant-editor select,.peca-confrontant-editor textarea{width:100%;box-sizing:border-box;border:1px solid #ccd9df;border-radius:5px;background:#fff;color:#18354e;font:inherit;font-size:8px;padding:5px 6px;min-height:27px}
.peca-confrontant-editor textarea{resize:vertical;line-height:1.35;min-height:65px}
.peca-confrontant-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.peca-confrontant-capture-status{padding:5px 6px;border:1px solid #d7e4ea;border-radius:5px;background:#eef7fb;color:#315b72;font-size:7px;line-height:1.35}
.peca-confrontant-capture-status b{color:#087b60}
.peca-confrontant-route{display:grid;gap:2px;padding:5px 6px;border-left:2px solid #d97706;background:#fff8ed;color:#674314;font-size:7px;line-height:1.35}
.peca-confrontant-route b{font-size:7.5px}.peca-confrontant-route span,.peca-confrontant-route small{font-size:6.5px;color:#7a5a2b}
.peca-confrontant-editor-actions{display:flex;flex-wrap:wrap;gap:4px}
.peca-confrontant-editor-actions .btn{padding:5px 7px;font-size:7px;min-height:25px}
.peca-confrontant-draft-path{filter:drop-shadow(0 0 1px rgba(217,119,6,.35))}

/* PECA r89 — aba Confrontantes funcional + tipos de limite do Manual INCRA */
.peca-confront-filter-group{min-width:310px}.peca-confront-filter-controls{display:flex!important;align-items:end;gap:8px!important}.peca-confront-filter-controls label{display:flex;flex-direction:column;gap:3px;font-size:8px;color:#51697b}.peca-confront-filter-controls select{height:30px;min-width:180px;border:1px solid #d3dfe4;border-radius:5px;background:#fff;padding:4px 7px;font-size:9px;color:#17304e}.peca-confront-filter-controls .check-inline{flex-direction:row;align-items:center;white-space:nowrap;margin-bottom:5px}.peca-confront-table tr.selected td{background:#e7f5f1!important}.peca-confront-table tr[hidden]{display:none}.peca-confront-table-card .peca-card-title-row small{font-size:8px;color:#6d8290}.peca-limit-manual-card{max-height:360px;overflow:auto}.peca-limit-code-list{display:grid;gap:5px;margin-top:9px;font-size:9px;color:#425b6e}.peca-limit-code-list>b{margin-top:5px;color:#153b58;border-bottom:1px solid #e2eaee;padding-bottom:4px}.peca-limit-code-list span{display:grid;grid-template-columns:34px 1fr;gap:5px;line-height:1.35}.peca-limit-code-list strong{color:#0875c6}.peca-confront-detail-grid-active{grid-template-columns:190px 1.15fr 1.3fr 1fr 185px}.peca-confront-detail-grid-active input,.peca-confront-detail-grid-active select,.peca-confront-detail-grid-active textarea{width:100%}.peca-confront-manual-rule{margin-top:8px;padding:9px;border:1px solid #cfe0e8;border-radius:6px;background:#f7fbfd;font-size:8px;line-height:1.45;color:#526b7b}.peca-confront-manual-rule b,.peca-confront-manual-rule span{display:block}.peca-confront-manual-rule b{margin-bottom:3px;color:#0875c6}.peca-confront-detail-actions{display:grid;gap:7px}.peca-confront-detail-actions .btn{width:100%;padding:8px 9px;font-size:9px}.peca-field-help{display:block;margin-top:4px;color:#748894;font-size:7.5px;line-height:1.4}.peca-confront-details .status-pill.ok{background:#e9f7ef;color:#058f68}.peca-confront-details .status-pill.pending{background:#fff1d7;color:#a46800}.peca-confront-details .peca-card-title-row{padding:11px 14px}
@media(max-width:1400px){.peca-confront-detail-grid-active{grid-template-columns:170px 1fr 1.15fr 1fr}.peca-confront-detail-grid-active>div:last-child{grid-column:1/-1;border-right:0}.peca-confront-detail-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.peca-confront-filter-controls{display:grid!important}.peca-confront-filter-controls select{min-width:0;width:100%}.peca-confront-detail-grid-active{grid-template-columns:1fr}.peca-confront-detail-actions{grid-template-columns:1fr}}

/* PECA r90 — vínculo Cartografia ↔ aba Confrontantes */
.peca-confrontant-card-head-actions{display:flex;gap:4px;align-items:center}.peca-confrontant-card-head-actions .peca-card-plus{position:static}.peca-confrontant-card-head-actions .peca-card-link{font-size:13px;color:#256b9a;background:#f1f8fc}
.peca-confrontant-focus-path{filter:drop-shadow(0 0 2px rgba(8,117,198,.28))}
.peca-confront-linked-card{margin-bottom:8px;overflow:hidden}.peca-confront-linked-card .peca-card-title-row h3{font-size:10px}.peca-confront-linked-card .peca-card-title-row small{font-size:7.5px;color:#687f90}
.peca-confront-linked-list{display:flex;gap:6px;padding:7px 8px;overflow-x:auto;scrollbar-width:thin}.peca-confront-linked-empty{margin:0;padding:6px 4px;color:#718593;font-size:8px}
.peca-confront-linked-item{flex:0 0 270px;display:flex;justify-content:space-between;gap:7px;border:1px solid #dce6ea;border-radius:6px;background:#fbfdfe;padding:7px 8px}.peca-confront-linked-item.selected{border-color:#69aee0;background:#f1f8fd;box-shadow:0 0 0 1px rgba(8,117,198,.08) inset}.peca-confront-linked-item>div:first-child{min-width:0;display:grid;gap:2px}.peca-confront-linked-item small{font-size:6.5px;color:#6c8190;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peca-confront-linked-item b{font-size:8px;color:#173b58;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peca-confront-linked-item span{font-size:7.5px;color:#415b6f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peca-confront-linked-item em{font-style:normal;font-size:6.5px;color:#93620a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peca-confront-linked-actions{display:grid;gap:4px;align-content:start}.peca-confront-linked-actions button{border:1px solid #ccdce4;border-radius:4px;background:#fff;color:#24516f;font-size:7px;padding:4px 6px;cursor:pointer}.peca-confront-linked-actions button:hover{background:#eef7fb;border-color:#89bdd9}

/* PECA r92 — referência inicial SIGEF no Modelo filtrado */
.peca-studio-tab-modelo .peca-points-table tbody tr.sigef-start-row td[data-col="point"]{box-shadow:inset 3px 0 0 #078b69;background:#f2faf7}
.peca-studio-tab-modelo.peca-mode-rural .peca-points-table tbody tr.sigef-start-row td[data-col="point"] strong::after{content:'  · início SIGEF';font-size:8px;font-weight:700;color:#078b69;white-space:nowrap}
.peca-studio-tab-modelo.peca-mode-urbano .peca-points-table tbody tr.sigef-start-row td[data-col="point"] strong::after{content:'  · início da sequência';font-size:8px;font-weight:700;color:#078b69;white-space:nowrap}


/* PECA r93 — memória profissional dos últimos vértices SIGEF P/M/V */
.peca-professional-lastpoints-card>p{margin:0 0 9px;color:#617784;font-size:8px;line-height:1.45}
.peca-professional-lastpoints-card form{display:grid;gap:7px}
.peca-professional-lastpoints-card label{display:grid;gap:3px}
.peca-professional-lastpoints-card label span{font-size:7.5px;font-weight:800;color:#425c6c}
.peca-professional-lastpoints-card input{width:100%;height:29px;border:1px solid #cfdbdf;border-radius:6px;background:#fff;padding:5px 7px;color:#172b3a;font:8.5px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}
.peca-professional-lastpoints-card input:focus{outline:2px solid rgba(13,126,100,.16);border-color:#6faf9e}
.peca-professional-lastpoints-card .peca-action{width:100%;margin:2px 0 0}
.peca-professional-lastpoints-card form>small{color:#74858e;font-size:7px;text-align:right}

/* PECA r100 — reconhecimento automático de confrontantes em parcelas internas */
.peca-confront-linked-item.is-auto{border-left:3px solid #79ad9c;background:linear-gradient(90deg,rgba(8,139,105,.045),rgba(255,255,255,0))}
.peca-auto-limit-review{margin-top:7px;padding:7px;border:1px solid #cfe0da;border-radius:7px;background:#f7fbf9;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.peca-auto-limit-review label{display:grid;gap:3px;font-size:8px;font-weight:800;color:#4e6571}
.peca-auto-limit-review select{height:29px;border:1px solid #c5d5da;border-radius:6px;background:#fff;padding:3px 6px;font-size:9px;color:#17334b}
.peca-auto-limit-review button{height:29px;border:1px solid #7db6a4;border-radius:6px;background:#eef9f5;color:#07684f;font-size:9px;font-weight:800;cursor:pointer;padding:0 9px}
.peca-auto-limit-review button:hover{background:#e0f4ec}.peca-auto-limit-review button:disabled{opacity:.55;cursor:wait}
.peca-auto-limit-review small{grid-column:1/-1;font-size:7.5px;line-height:1.35;color:#647882}

/* PECA v0.1.0-r107 — Central focada em Trabalhos + ferramentas contratadas */
.peca-central-grid-jobs .peca-card-wide{grid-column:1/-1}.peca-project-list-focus{max-height:440px}.peca-project-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:15px;padding:12px;border:1px solid #e0e7ea;border-radius:10px;background:#f8faf9}.peca-project-filter>label{min-width:min(430px,100%);flex:1 1 360px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#607078}.peca-project-filter>label::after{content:""}.peca-project-filter>div{display:flex;gap:7px;flex:2 1 520px;align-items:center}.peca-project-filter input{min-width:0;flex:1 1 auto;padding:10px 11px;border:1px solid #cbd6da;border-radius:9px;background:#fff;color:#17232d;font:inherit;font-size:11px}.peca-project-filter .btn{padding:9px 12px;font-size:10px}.peca-contracted-tool-list{display:grid;gap:8px;margin:15px 0}.peca-contracted-tool-list>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid #dce5e2;border-radius:10px;background:#fafcfb;color:#17232d;text-decoration:none}.peca-contracted-tool-list>a:hover{border-color:#94b7aa;background:#f0f7f4}.peca-contracted-tool-list span,.peca-contracted-tool-list strong,.peca-contracted-tool-list small{display:block;min-width:0}.peca-contracted-tool-list strong{font-size:11px}.peca-contracted-tool-list small{margin-top:3px;color:#758189;font-size:8.5px;line-height:1.4}.peca-contracted-tool-list b{flex:0 0 auto;color:#285e50;font-size:9px}.peca-tools-page-grid{display:grid;gap:14px;margin-top:18px}.peca-tool-product-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px;border:1px solid #d8e0e4;border-radius:14px;background:#fff}.peca-tool-product-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#edf6f2;color:#245e4f;font-size:21px}.peca-tool-product-copy h2{margin:4px 0 7px;font-size:18px}.peca-tool-product-copy p{margin:0;color:#697880;font-size:10px;line-height:1.5}.peca-tool-product-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.peca-tool-contract-badge{display:inline-flex;padding:5px 8px;border:1px solid #cbded6;border-radius:999px;background:#f4faf7;color:#2b6253;font-size:8px;font-weight:900}.peca-admin-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}.peca-admin-tool-box{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc}.peca-admin-tool-box>div strong,.peca-admin-tool-box>div span{display:block}.peca-admin-tool-box>div strong{font-size:12px}.peca-admin-tool-box>div span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.peca-admin-tool-box .check{display:flex;align-items:center;gap:7px;font-size:11px}.peca-admin-tool-box .check input{width:auto}.peca-admin-tool-box small{color:var(--muted);font-size:9px}.peca-admin-tool-box .btn{align-self:flex-start}.peca-raw-reader-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:16px;margin-top:18px}.peca-raw-reader-grid .peca-central-card{min-height:440px}.peca-raw-upload-form{display:grid;gap:11px;margin-top:16px}.peca-raw-upload-form label>span{display:block;margin-bottom:6px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#617078}.peca-raw-upload-form input[type=file]{width:100%;padding:10px;border:1px solid #cfd9dd;border-radius:9px;background:#fff;font-size:10px}.peca-raw-upload-form small{color:#78858d;font-size:9px;line-height:1.45}.peca-raw-upload-form .btn{justify-self:start}.peca-raw-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.peca-raw-metadata>div{padding:10px;border:1px solid #e0e6e9;border-radius:9px;background:#fafcfc;min-width:0}.peca-raw-metadata>div.wide{grid-column:1/-1}.peca-raw-metadata dt{font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#758188}.peca-raw-metadata dd{margin:4px 0 0;font-size:10px;color:#263e47;overflow-wrap:anywhere}.peca-raw-metadata code{font-size:8.5px}.peca-raw-diagnostic{padding:11px;border:1px solid #cfe0da;border-radius:9px;background:#f4faf7}.peca-raw-diagnostic strong{font-size:10px;color:#285e50}.peca-raw-diagnostic p{margin:4px 0 0!important;font-size:9px!important}.peca-raw-preview{margin-top:9px;border:1px solid #e0e6e9;border-radius:9px;background:#fff;overflow:hidden}.peca-raw-preview summary{cursor:pointer;padding:10px 11px;font-size:9px;font-weight:850;color:#4b6069;background:#f8fafb}.peca-raw-preview pre{max-height:180px;overflow:auto;margin:0;padding:11px;white-space:pre-wrap;overflow-wrap:anywhere;background:#101820;color:#dce8ed;font-size:8px;line-height:1.5}.peca-tool-head h1{font-size:28px}
@media(max-width:980px){.peca-raw-reader-grid{grid-template-columns:1fr}.peca-tool-product-card{grid-template-columns:auto 1fr}.peca-tool-product-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:680px){.peca-project-filter>div{display:grid;grid-template-columns:1fr 1fr}.peca-project-filter input{grid-column:1/-1}.peca-tool-product-card{grid-template-columns:1fr}.peca-tool-product-icon{width:40px;height:40px}.peca-tool-product-actions{grid-column:auto}.peca-raw-metadata{grid-template-columns:1fr}.peca-raw-metadata>div.wide{grid-column:auto}}

/* PECA r108 — Leitor GNSS por projetos */
.peca-raw-project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:18px 20px;border:1px solid #d8e0e4;border-radius:14px;background:#fff}.peca-raw-project-toolbar h2,.peca-raw-section-head h2{margin:4px 0 6px;font-size:19px}.peca-raw-project-toolbar p,.peca-raw-section-head p{margin:0;color:#6c7981;font-size:10px;line-height:1.55}.peca-raw-project-list{display:grid;gap:10px;margin-top:12px}.peca-raw-project-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:17px 18px;border:1px solid #d9e1e4;border-radius:13px;background:#fff}.peca-raw-project-card h3{margin:4px 0 5px;font-size:16px}.peca-raw-project-card p{margin:0;color:#748088;font-size:9px}.peca-raw-project-stats{display:flex;gap:13px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.peca-raw-project-stats span{padding:7px 9px;border-radius:9px;background:#f5f8f8;color:#54656d;font-size:8.5px}.peca-raw-project-stats b{color:#245e4f}.peca-raw-project-stats small{color:#7c888e;font-size:8px}.peca-raw-work-grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(450px,1.15fr);gap:16px;margin-top:18px}.peca-raw-work-grid .peca-central-card{min-height:0}.peca-raw-ingest .peca-raw-upload-form{margin-bottom:0}.peca-raw-file-list{display:grid;gap:8px;margin-top:14px;max-height:380px;overflow:auto}.peca-raw-file-list>div{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #e0e7e9;border-radius:10px;background:#fafcfc}.peca-raw-file-list section{min-width:0;flex:1}.peca-raw-file-list strong,.peca-raw-file-list small,.peca-raw-file-list code{display:block;overflow-wrap:anywhere}.peca-raw-file-list strong{font-size:10px}.peca-raw-file-list small{margin-top:3px;color:#758188;font-size:8px;line-height:1.4}.peca-raw-file-list code{margin-top:4px;color:#52636b;font-size:7.5px}.peca-file-kind{flex:0 0 auto;padding:4px 6px;border-radius:6px;background:#eaf3ef;color:#2d6254;font-size:7px;font-weight:900}.peca-file-kind.csv{background:#eef4f9;color:#355d78}.peca-file-kind.ibge_pdf{background:#f5f0e7;color:#806237}.peca-raw-section-head{margin-top:18px;padding:15px 18px;border:1px solid #dbe3e6;border-radius:12px;background:#f8fafb}.peca-raw-days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;margin-top:12px}.peca-raw-day-card{padding:17px;border:1px solid #d8e0e4;border-radius:13px;background:#fff}.peca-raw-day-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.peca-raw-day-card h3{margin:4px 0 0;font-size:18px}.peca-quality-badge{padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;background:#eef3f5;color:#52646d}.peca-quality-badge.success{background:#eaf6f0;color:#28604f}.peca-quality-badge.warning{background:#fff4df;color:#85601f}.peca-quality-badge.error{background:#fce9e8;color:#943d37}.peca-day-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:13px 0}.peca-day-metrics span{padding:9px;border:1px solid #e3e8ea;border-radius:9px;background:#fafcfc;color:#69777e;font-size:8px}.peca-day-metrics b{display:block;margin-bottom:2px;color:#263f47;font-size:10px}.peca-raw-day-card>small{display:block;color:#7a878d;font-size:8px;line-height:1.45}.peca-raw-day-card>footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #e7ecee}.peca-raw-day-card>footer .btn{padding:7px 9px;font-size:8px}.peca-raw-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.peca-ppp-list{display:grid;gap:10px;margin-top:12px}.peca-ppp-list>div{padding:12px;border:1px solid #dce5e2;border-radius:10px;background:#f9fcfb}.peca-ppp-list header{display:flex;justify-content:space-between;gap:10px}.peca-ppp-list header strong{font-size:11px}.peca-ppp-list header small{color:#748189;font-size:8px}.peca-ppp-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:11px 0 0}.peca-ppp-list dl div{padding:8px;border-radius:8px;background:#fff}.peca-ppp-list dt{color:#7a868d;font-size:7px;font-weight:900;text-transform:uppercase}.peca-ppp-list dd{margin:3px 0 0;color:#29454e;font-size:9px}.peca-raw-check-list{display:grid;gap:8px;margin-top:12px;max-height:430px;overflow:auto}.peca-raw-check-list>div{padding:10px 11px;border-left:3px solid #9aacb5;border-radius:8px;background:#f7f9fa}.peca-raw-check-list>div.success{border-color:#4e9b7e;background:#f1f8f5}.peca-raw-check-list>div.warning{border-color:#d09a36;background:#fff8e9}.peca-raw-check-list>div.error{border-color:#bd5a53;background:#fff1f0}.peca-raw-check-list b{font-size:9px}.peca-raw-check-list p{margin:4px 0 0!important;color:#66757c!important;font-size:8.5px!important;line-height:1.45!important}
@media(max-width:1050px){.peca-raw-work-grid,.peca-raw-two-col{grid-template-columns:1fr}.peca-raw-project-card{grid-template-columns:1fr auto}.peca-raw-project-stats{justify-content:flex-start}.peca-raw-project-card>a{grid-column:2;grid-row:1/3}}
@media(max-width:680px){.peca-raw-project-toolbar{display:block}.peca-raw-project-toolbar .btn{margin-top:12px}.peca-raw-project-card{grid-template-columns:1fr}.peca-raw-project-card>a{grid-column:auto;grid-row:auto;justify-self:start}.peca-day-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-ppp-list dl{grid-template-columns:1fr}}


/* ========================================================================== */
/* PECA r109 — projetos do Leitor GNSS + política administrativa */
/* ========================================================================== */
.peca-notice-spaced{margin-top:14px}
.btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.peca-raw-project-list.has-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-right:6px;overscroll-behavior:contain}
.peca-raw-project-card{min-height:110px;box-sizing:border-box}
.peca-raw-project-copy{min-width:0}
.peca-raw-project-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4}
.peca-raw-project-list-limit-1.has-scroll{max-height:110px}
.peca-raw-project-list-limit-2.has-scroll{max-height:230px}
.peca-raw-project-list-limit-3.has-scroll{max-height:350px}
.peca-raw-project-list-limit-4.has-scroll{max-height:470px}
.peca-raw-project-list-limit-5.has-scroll{max-height:590px}
.peca-raw-project-list-limit-6.has-scroll{max-height:710px}
.peca-raw-project-list-limit-7.has-scroll{max-height:830px}
.peca-raw-project-list-limit-8.has-scroll{max-height:950px}
.peca-raw-project-list-limit-9.has-scroll{max-height:1070px}
.peca-raw-project-list-limit-10.has-scroll{max-height:1190px}
.peca-raw-project-list-limit-11.has-scroll{max-height:1310px}
.peca-raw-project-list-limit-12.has-scroll{max-height:1430px}
.peca-raw-project-list-limit-13.has-scroll{max-height:1550px}
.peca-raw-project-list-limit-14.has-scroll{max-height:1670px}
.peca-raw-project-list-limit-15.has-scroll{max-height:1790px}
.peca-raw-project-list-limit-16.has-scroll{max-height:1910px}
.peca-raw-project-list-limit-17.has-scroll{max-height:2030px}
.peca-raw-project-list-limit-18.has-scroll{max-height:2150px}
.peca-raw-project-list-limit-19.has-scroll{max-height:2270px}
.peca-raw-project-list-limit-20.has-scroll{max-height:2390px}
.peca-raw-project-form-body{display:grid;gap:14px;padding:18px 20px}
.peca-raw-project-form-body label{display:grid;gap:6px;color:#536b77;font-size:10px;font-weight:800}
.peca-raw-project-form-body input,.peca-raw-project-form-body textarea{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #cbd8dd;border-radius:7px;background:#fff;color:#17232d;font:inherit}
.peca-raw-project-form-body textarea{resize:vertical;min-height:92px}
.peca-dialog header .dialog-close{border:0;background:transparent;color:#657781;text-decoration:none;font-size:24px;line-height:1;padding:0 3px}
.peca-dialog header .dialog-close:hover{color:#173f58}
.peca-tool-policy-notice{margin-top:14px}
.peca-export-blocked{display:inline-flex;align-items:center;padding:7px 9px;border:1px dashed #d4dde1;border-radius:7px;color:#748189;font-size:8px}
.peca-admin-policy-card{margin-top:16px}
.peca-admin-policy-form{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(360px,1.3fr);gap:16px;margin-top:16px;padding:16px;border:1px solid #dce5e2;border-radius:12px;background:#fbfdfc}
.peca-admin-policy-form.compact{grid-template-columns:minmax(210px,.65fr) minmax(320px,1.35fr);margin-top:12px;padding:13px}
.peca-policy-number{display:flex;flex-direction:column;gap:6px;color:#4c626d;font-size:10px;font-weight:800}
.peca-policy-number input{width:120px;padding:9px 10px;border:1px solid #ccd9dd;border-radius:7px;background:#fff;color:#17232d}
.peca-policy-number small,.peca-policy-foot small{color:#78858c;font-size:8.5px;font-weight:500;line-height:1.45}
.peca-policy-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;align-content:start}
.peca-policy-checks .check{display:flex;align-items:flex-start;gap:7px;margin:0;color:#425963;font-size:9.5px;line-height:1.45}
.peca-policy-checks input{width:auto;margin-top:2px}
.peca-policy-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid #e4eae8}
.peca-policy-foot small{max-width:720px}
.peca-admin-policy-subcard{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.peca-admin-policy-subcard h3{margin:4px 0 6px;font-size:15px}
.peca-admin-policy-subcard>p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:900px){.peca-admin-policy-form,.peca-admin-policy-form.compact{grid-template-columns:1fr}.peca-policy-foot{grid-column:auto}.peca-policy-checks{grid-template-columns:1fr}}
@media(max-width:680px){.peca-raw-project-list.has-scroll{max-height:620px}.peca-raw-project-card{min-height:0}.peca-policy-foot{align-items:stretch;flex-direction:column}.peca-policy-foot .btn{align-self:flex-start}}
@media(min-width:1051px){.peca-raw-project-list.has-scroll .peca-raw-project-card{height:110px}}

/* r110 — Leitor GNSS: distinção antes/depois da mudança de base e pacote SIGEF pós-PPP */
.peca-raw-check-list>div.info{border-color:#4f86a6;background:#f1f7fb}
.peca-raw-check-list>div.info b{color:#315f7a}
.peca-ppp-method{display:block;margin-top:8px;color:#617981;font-size:8px}
.peca-raw-sigef-package{margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
.peca-raw-sigef-package h2{margin:4px 0 6px;font-size:19px}
.peca-raw-sigef-package p{margin:0;color:#6c7981;font-size:9px;line-height:1.55}
.peca-sigef-package-days{grid-column:1/-1;display:grid;gap:7px;padding-top:4px}
.peca-sigef-package-days span{display:block;padding:9px 10px;border:1px solid #dce8e3;border-radius:9px;background:#f7fbf9;color:#5c7168;font-size:8px;overflow-wrap:anywhere}
.peca-sigef-package-days b{color:#285f50}
.peca-raw-sigef-package>.btn{white-space:nowrap}
@media(max-width:760px){.peca-raw-sigef-package{grid-template-columns:1fr}.peca-raw-sigef-package>.btn{width:100%;text-align:center}}

/* r112 — Método INCRA no Leitor GNSS */
.peca-incra-method-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.9fr);gap:12px;align-items:end;margin-top:12px;padding:11px;border:1px solid #dfe7e4;border-radius:10px;background:#f8fbfa}.peca-incra-method-box strong,.peca-incra-method-box small{display:block}.peca-incra-method-box strong{margin:4px 0;color:#284f44;font-size:10px}.peca-incra-method-box small{color:#718078;font-size:8px;line-height:1.45}.peca-incra-method-form{display:flex;gap:7px;align-items:end}.peca-incra-method-form label{flex:1;min-width:0}.peca-incra-method-form label span{display:block;margin-bottom:4px;color:#63736c;font-size:7px;font-weight:800;text-transform:uppercase}.peca-incra-method-form select{width:100%;min-width:0;padding:7px 8px;border:1px solid #cfdad6;border-radius:8px;background:#fff;color:#314b42;font-size:8px}.peca-incra-method-form .btn{flex:0 0 auto;padding:7px 9px;font-size:8px}@media(max-width:760px){.peca-incra-method-box{grid-template-columns:1fr}.peca-incra-method-form{align-items:stretch;flex-direction:column}}
/* r113 — identificação opcional do imóvel / CNS Justiça Aberta */
.peca-identification-block{grid-column:1/-1;margin:0;padding:14px;border:1px solid #c9ddd6;border-radius:12px;background:#f8fcfa}.peca-identification-block>legend{padding:0 6px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#2b6556}.peca-identification-block>p{margin:0 0 12px;color:#6c7a82;font-size:10px;line-height:1.5}.peca-identification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.peca-cns-status{margin-top:10px;padding:9px 11px;border-radius:9px;background:#eef6f3;color:#4b665e;font-size:9px;line-height:1.45}
@media(max-width:760px){.peca-identification-block{grid-column:auto}.peca-identification-grid{grid-template-columns:1fr}}

/* r115 — visualização leve dos confrontantes sem alterar a estrutura da página r113 */
.peca-confront-geometry-visual{margin:7px 9px 5px;border:1px solid #dce6ea;border-radius:7px;background:#fbfdfd;overflow:hidden}
.peca-confront-geometry-visual-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-bottom:1px solid #e6edef;color:#345169}
.peca-confront-geometry-visual-head b{font-size:8px;color:#173b58}.peca-confront-geometry-visual-head small{font-size:7px;color:#6b7f8e;text-align:right}
.peca-confront-geometry-visual svg{display:block;width:100%;height:170px;background:#f8fbfc}
.peca-confront-visual-edge{stroke:#5f8ea8;stroke-width:4;stroke-linecap:round;cursor:pointer;outline:none;transition:stroke .12s,stroke-width .12s,opacity .12s}
.peca-confront-visual-edge:hover,.peca-confront-visual-edge:focus{stroke:#0875c6;stroke-width:6}
.peca-confront-visual-edge.is-pending{stroke:#d59a2a}.peca-confront-visual-edge.is-conflict{stroke:#bb4f49;stroke-width:6}.peca-confront-visual-edge.is-selected{stroke:#0875c6;stroke-width:7}
.peca-confront-visual-point{fill:#fff;stroke:#315c70;stroke-width:2;pointer-events:none}
.status-pill.error{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fce8e6;color:#9a3f38;font-size:8px;font-weight:800}
.peca-confront-linked-item[hidden]{display:none!important}
@media(max-width:760px){.peca-confront-geometry-visual svg{height:145px}.peca-confront-geometry-visual-head{align-items:flex-start;flex-direction:column;gap:3px}.peca-confront-geometry-visual-head small{text-align:left}}

/* r118 · Memorial Word multiparcela */
.peca-memorial-upload-card{min-height:0}.peca-memorial-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.peca-memorial-source-badge{flex:0 0 auto;padding:10px 13px;border:1px solid #cfe0da;border-radius:10px;background:#f4faf7;color:#64766f;font-size:8px;line-height:1.45;text-align:right;text-transform:uppercase;letter-spacing:.06em}.peca-memorial-source-badge strong{display:block;margin-top:2px;color:#285e50;font-size:10px}.peca-memorial-file-name{margin-top:8px;color:#63747c;font-size:9px;overflow-wrap:anywhere}.peca-memorial-reading{display:flex;align-items:center;gap:13px;margin-top:18px;padding:14px;border:1px solid #cfe0da;border-radius:11px;background:#f4faf7}.peca-memorial-reading[hidden]{display:none}.peca-memorial-reading strong,.peca-memorial-reading span{display:block}.peca-memorial-reading strong{font-size:11px;color:#255b4d}.peca-memorial-reading span{margin-top:3px;color:#6e7b80;font-size:9px}.peca-memorial-spinner{width:30px;height:30px;border:3px solid #c7d8d2;border-top-color:#2e735f;border-radius:50%;animation:pecaMemorialSpin .8s linear infinite}@keyframes pecaMemorialSpin{to{transform:rotate(360deg)}}.peca-memorial-result{margin-top:18px}.peca-memorial-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px;border:1px solid #c8ddd5;border-radius:14px 14px 0 0;background:linear-gradient(135deg,#fff,#f0f8f5)}.peca-memorial-result-head h2{margin:4px 0 6px;font-size:22px}.peca-memorial-result-head p{margin:0;color:#6d7a80;font-size:10px}.peca-memorial-process-id{min-width:250px;padding:11px 13px;border:1px solid #c8ddd5;border-radius:10px;background:#fff;text-align:right}.peca-memorial-process-id span,.peca-memorial-process-id strong,.peca-memorial-process-id small{display:block}.peca-memorial-process-id span{font-size:7.5px;font-weight:900;letter-spacing:.12em;color:#73847d}.peca-memorial-process-id strong{margin-top:4px;color:#245e4f;font-size:12px;overflow-wrap:anywhere}.peca-memorial-process-id small{margin-top:3px;color:#859097;font-size:8px}.peca-memorial-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d9e2e5;border-top:0;background:#fff}.peca-memorial-progress>div{display:flex;align-items:center;gap:10px;padding:14px;border-right:1px solid #e6ecee;min-width:0}.peca-memorial-progress>div:last-child{border-right:0}.peca-memorial-progress b{flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e9f4f0;color:#2a6655;font-size:9px}.peca-memorial-progress span,.peca-memorial-progress strong,.peca-memorial-progress small{display:block;min-width:0}.peca-memorial-progress strong{font-size:9px}.peca-memorial-progress small{margin-top:2px;color:#7c898f;font-size:7.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peca-memorial-download-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid #d9e2e5;border-top:0;background:#f8faf9}.peca-memorial-download-summary>div{padding:15px;border:1px solid #dbe4e1;border-radius:11px;background:#fff}.peca-memorial-download-summary h3{margin:4px 0 6px;font-size:15px}.peca-memorial-download-summary p{min-height:46px;margin:0 0 11px;color:#6f7d83;font-size:9px;line-height:1.5}.peca-memorial-parcel-list{display:grid;gap:10px;padding:16px;border:1px solid #d9e2e5;border-top:0;background:#fff}.peca-memorial-parcel-card{display:grid;grid-template-columns:96px minmax(0,1fr) 190px;gap:16px;align-items:center;padding:16px;border:1px solid #dce5e8;border-radius:11px;background:#fcfdfd}.peca-memorial-parcel-index{display:grid;place-items:center;min-height:72px;border-radius:9px;background:#edf6f2;color:#286451;font-size:9px;font-weight:900;letter-spacing:.08em;text-align:center}.peca-memorial-parcel-main{min-width:0}.peca-memorial-parcel-main h3{margin:0 0 4px;font-size:14px}.peca-memorial-parcel-main>p{margin:0;color:#77848a;font-size:8.5px;line-height:1.4}.peca-memorial-parcel-main dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0 0}.peca-memorial-parcel-main dl>div{min-width:0}.peca-memorial-parcel-main dt{font-size:7px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#829098}.peca-memorial-parcel-main dd{margin:3px 0 0;font-size:9px;color:#30464f;overflow-wrap:anywhere}.peca-memorial-parcel-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px}.peca-memorial-parcel-actions .btn{text-align:center}.peca-memorial-parcel-actions small{color:#849097;font-size:7px;line-height:1.3;text-align:center;overflow-wrap:anywhere}.peca-memorial-ready{align-self:center;padding:4px 7px;border-radius:999px;background:#eaf5f0;color:#2c6957;font-size:8px;font-weight:900}.peca-memorial-expiry{margin:0;padding:10px 16px;border:1px solid #d9e2e5;border-top:0;border-radius:0 0 12px 12px;background:#f8fafb;color:#7d898f;font-size:8px}.peca-memorial-warning{margin-top:18px;border-color:#e7c9c4;background:#fff9f8}.peca-memorial-warning h2{margin:4px 0 6px}.peca-memorial-warning p{margin:0}
@media(max-width:980px){.peca-memorial-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-memorial-progress>div:nth-child(2){border-right:0}.peca-memorial-download-summary{grid-template-columns:1fr}.peca-memorial-parcel-card{grid-template-columns:76px minmax(0,1fr)}.peca-memorial-parcel-actions{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(160px,220px) minmax(0,1fr);align-items:center}.peca-memorial-parcel-actions small{text-align:left}.peca-memorial-parcel-main dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.peca-memorial-card-heading,.peca-memorial-result-head{display:block}.peca-memorial-source-badge,.peca-memorial-process-id{margin-top:12px;text-align:left;min-width:0}.peca-memorial-progress{grid-template-columns:1fr}.peca-memorial-progress>div{border-right:0;border-bottom:1px solid #e6ecee}.peca-memorial-progress>div:last-child{border-bottom:0}.peca-memorial-parcel-card{grid-template-columns:1fr}.peca-memorial-parcel-index{min-height:42px}.peca-memorial-parcel-actions{grid-column:auto;display:flex}.peca-memorial-parcel-main dl{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.peca-memorial-spinner{animation:none}}

/* r119 — Resultados funcionais */
.peca-results-validation-dialog{width:min(720px,calc(100vw - 28px))}.peca-results-validation-body{padding:18px 20px}.peca-results-validation-summary{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #d6e2e7;border-left-width:4px;border-radius:8px;background:#f8fbfc;color:#17384b}.peca-results-validation-summary b{font-size:13px}.peca-results-validation-summary span{font-size:10px;color:#607684}.peca-results-validation-summary.ok{border-left-color:#1b8a69;background:#eff8f4}.peca-results-validation-summary.warning{border-left-color:#d39a28;background:#fff8e9}.peca-results-validation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0}.peca-results-validation-grid div{border:1px solid #dce6ea;border-radius:7px;padding:9px;min-width:0}.peca-results-validation-grid dt{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#6b7f8a}.peca-results-validation-grid dd{margin:5px 0 0;font-size:12px;font-weight:800;color:#17384b;overflow-wrap:anywhere}.peca-results-validation-note{margin:10px 0 0!important;padding:9px 11px!important;border-radius:6px;background:#fff4df;color:#7a5a17!important}.peca-studio-tab-resultados .product-cards button{cursor:pointer;transition:.15s}.peca-studio-tab-resultados .product-cards button:hover{border-color:#66aa95;background:#eef8f4;color:#075e49}.peca-studio-tab-resultados .product-cards button:focus-visible{outline:2px solid #168a69;outline-offset:2px}@media(max-width:760px){.peca-results-validation-grid{grid-template-columns:1fr 1fr}}

/* r122 · Assinaturas PECA */
.subscription-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.subscription-head h2{margin:4px 0 6px}.subscription-current-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.subscription-current-summary>div{border:1px solid var(--line,#d9e2ea);border-radius:12px;padding:12px;background:#fff}.subscription-current-summary span{display:block;font-size:12px;color:#607383;margin-bottom:5px}.subscription-current-summary strong{display:block;color:#19364d}.subscription-state-message{margin:10px 0 0;color:#526b7a}.subscription-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.subscription-plan-card{border:1px solid #dce5ec;border-radius:14px;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff}.subscription-plan-card>div{grid-column:1/-1}.subscription-plan-card>div span{display:block;color:#607383;font-size:13px;margin-top:5px}.subscription-plan-card label:not(.check),.subscription-user-form label,.subscription-payment-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#405766}.subscription-plan-card input,.subscription-user-form input,.subscription-user-form select,.subscription-user-form textarea,.subscription-payment-form input,.subscription-payment-form select{width:100%;border:1px solid #cbd8e2;border-radius:9px;padding:9px 10px;background:#fff;color:#17324f}.subscription-plan-card button{justify-self:start}.subscription-user-list{display:grid;gap:8px;margin-top:14px}.subscription-user-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:14px;align-items:center;text-decoration:none;border:1px solid #dce5ec;border-radius:12px;padding:12px 14px;background:#fff;color:#18364c}.subscription-user-row:hover{border-color:#9eb8c8}.subscription-user-row span:not(.status){min-width:0}.subscription-user-row small{display:block;color:#71818d;margin-top:3px;white-space:normal}.subscription-user-card{scroll-margin-top:20px}.subscription-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.subscription-form-grid .wide{grid-column:1/-1}.subscription-payment-panel{margin-top:20px;padding-top:18px;border-top:1px solid #dce5ec}.subscription-payment-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-top:14px}.subscription-payment-form button{min-height:40px}.subscription-payment-history{display:grid;gap:8px;margin-top:16px}.subscription-payment-history>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;border:1px solid #e2e8ed;border-radius:10px;padding:10px 12px}.subscription-payment-history small{grid-column:1/-1;color:#748590}.peca-subscription-banner{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border:1px solid #cfe1da;border-radius:14px;padding:14px 16px;margin-bottom:16px;background:#f5fbf8}.peca-subscription-banner.readonly{border-color:#ead9a6;background:#fffaf0}.peca-subscription-banner p{margin:6px 0 0;color:#526b7a}.peca-subscription-banner-meta{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.peca-subscription-banner-meta span{border:1px solid rgba(34,77,92,.14);border-radius:999px;padding:7px 10px;background:#fff;font-size:12px;color:#536b78}.peca-subscription-mini{display:grid;gap:8px;margin:12px 0}.peca-subscription-mini span{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #d9e1e7;padding-bottom:7px}.peca-subscription-readonly-alert{position:relative}.peca-subscription-readonly .peca-ribbon button:not([data-dialog-close]),.peca-subscription-readonly form button[type="submit"]{opacity:.65}.subscription-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.subscription-current-summary,.subscription-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-plan-grid{grid-template-columns:1fr}.subscription-form-grid,.subscription-payment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-user-row{grid-template-columns:1fr}.subscription-user-row .status{justify-self:start}.peca-subscription-banner{flex-direction:column}.peca-subscription-banner-meta{justify-content:flex-start}}
@media(max-width:560px){.subscription-current-summary,.subscription-stats,.subscription-form-grid,.subscription-payment-form{grid-template-columns:1fr}.subscription-plan-card{grid-template-columns:1fr}.subscription-plan-card>div{grid-column:auto}}


/* r123 — Central visual de importação */
.peca-import-center-dialog{width:min(1040px,calc(100vw - 28px));max-height:min(880px,calc(100vh - 28px));overflow:auto}
.peca-import-center-dialog>form{min-height:100%}
.peca-import-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:12px;padding:18px 20px 10px}
.peca-import-hero>div{border:1px solid #d7e3e8;border-radius:10px;background:#f8fbfc;padding:14px 16px}
.peca-import-hero span{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6b7f8b}
.peca-import-hero strong{display:block;margin-top:4px;font-size:19px;color:#153b53}.peca-import-hero small{display:block;margin-top:4px;color:#637984;line-height:1.45}
.peca-import-hero .peca-import-access.available{border-color:#b8dece;background:#f0faf6}.peca-import-hero .peca-import-access.available span{color:#087454}.peca-import-hero .peca-import-access.blocked{border-color:#e6c9c4;background:#fff6f4}.peca-import-hero .peca-import-access.blocked span{color:#a23b32}
.peca-import-mode-note{margin:0 20px 12px;padding:10px 12px;border-left:3px solid #0879df;background:#f2f8fd;border-radius:5px;color:#58717f;font-size:10px;line-height:1.5}.peca-import-mode-note b{display:block;color:#184d70;font-size:10px;margin-bottom:2px}.peca-import-mode-note span{display:block}
.peca-import-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 20px 4px}
.peca-import-format-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:start;border:1px solid #d9e4e9;border-radius:12px;background:#fff;padding:14px;position:relative;min-height:190px;box-shadow:0 4px 14px rgba(22,53,71,.04)}
.peca-import-format-card.is-available{border-color:#b8d9ce}.peca-import-format-card.is-blocked{background:#f7f9fa;border-color:#dce4e8}.peca-import-format-card.is-blocked .peca-import-format-copy{opacity:.72}
.peca-import-format-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid #b9d2df;border-radius:12px;background:#eef7fb;color:#176897;font-size:12px;font-weight:900;letter-spacing:.03em}.peca-import-format-card.is-blocked .peca-import-format-icon{background:#f0f3f4;color:#7d8c94;border-color:#d6dfe3}
.peca-import-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.peca-import-card-head h3{margin:0;font-size:14px;color:#193a4f}.peca-import-state{flex:0 0 auto;display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.peca-import-state.ok{background:#e7f6ef;color:#087454}.peca-import-state.lock{background:#eef1f2;color:#687a83}
.peca-import-format-copy p{margin:7px 0 9px;color:#637781;font-size:10px;line-height:1.5}.peca-import-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.peca-import-tags span{padding:3px 6px;border-radius:5px;background:#eef4f7;color:#36586c;font-size:8px;font-weight:800}.peca-import-tags span.rural{background:#e8f6ef;color:#187153}
.peca-import-format-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}.peca-import-format-copy dl div{padding:6px 7px;border-radius:6px;background:#f7fafb}.peca-import-format-copy dt{font-size:7px;text-transform:uppercase;color:#809099;font-weight:900}.peca-import-format-copy dd{margin:2px 0 0;font-size:9px;color:#3f5967;font-weight:700}
.peca-import-card-action{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-top:4px;border-top:1px solid #edf1f3}.peca-import-card-action .btn{min-width:142px;text-align:center}.peca-import-card-action small{font-size:9px;color:#788991;line-height:1.4}.peca-import-card-action button:disabled{cursor:not-allowed;opacity:.55}
.peca-import-warning{margin:12px 20px 0;padding:11px 13px;border:1px solid #ead6a5;border-radius:8px;background:#fff9e9;color:#755b1d;font-size:9px;line-height:1.5}.peca-import-warning b{display:block;margin-bottom:2px;font-size:9px}.peca-import-warning span{display:block}
@media(max-width:800px){.peca-import-hero,.peca-import-format-grid{grid-template-columns:1fr}.peca-import-center-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.peca-import-format-card{grid-template-columns:48px minmax(0,1fr)}.peca-import-format-icon{width:48px;height:48px}.peca-import-card-action{align-items:flex-start;flex-direction:column}.peca-import-card-action .btn{width:100%}}

/* r124 — Analisador ODS SIGEF */
.peca-ods-upload{margin-top:18px}.peca-ods-upload-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.peca-ods-alert.error{border-left:4px solid #b9544d}.peca-ods-result{display:grid;gap:14px;margin-top:16px}.peca-ods-result-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;border:1px solid #d8e4e9;border-radius:12px;background:#fff}.peca-ods-result-head h2{margin:4px 0 5px;color:#17384b}.peca-ods-result-head p{margin:0;color:#6a7e88;font-size:9px}.peca-ods-grade{min-width:250px;padding:12px 14px;border-radius:10px;background:#f2faf6;border:1px solid #c4e0d4}.peca-ods-grade.with-errors{background:#fff3f1;border-color:#e7c1bd}.peca-ods-grade span{display:block;font-size:7px;font-weight:900;letter-spacing:.07em;color:#7d8b91}.peca-ods-grade strong{display:block;margin:3px 0;color:#285d4d;font-size:12px}.peca-ods-grade.with-errors strong{color:#913f38}.peca-ods-grade small{font-size:8px;color:#6d7c84}.peca-ods-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.peca-ods-kpis article{padding:13px 14px;border:1px solid #dce6ea;border-radius:10px;background:#fff}.peca-ods-kpis span,.peca-ods-kpis small{display:block;color:#74858e;font-size:8px}.peca-ods-kpis strong{display:block;margin:4px 0 2px;font-size:21px;color:#163c53}.peca-ods-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:14px}.peca-ods-map-card{overflow:hidden}.peca-ods-svg{width:100%;height:auto;min-height:360px;background:#f7fafb;border:1px solid #e0e8eb;border-radius:8px}.peca-ods-parcel-shape{fill:rgba(36,119,102,.08);stroke:#2b7668;stroke-width:1.2;vector-effect:non-scaling-stroke}.peca-ods-vertex{fill:#244b5e}.peca-ods-vertex.issue{fill:#b34b43;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}.peca-ods-map-legend{display:flex;gap:14px;margin-top:8px;color:#687a83;font-size:8px}.peca-ods-map-legend i,.peca-ods-map-legend b{display:inline-block;width:12px;height:7px;border:1px solid #2b7668;background:rgba(36,119,102,.08);margin-right:4px}.peca-ods-map-legend b{width:8px;height:8px;border-radius:50%;background:#b34b43;border-color:#b34b43}.peca-ods-side{display:grid;gap:12px}.peca-ods-ident{display:grid;gap:6px;margin:10px 0 0}.peca-ods-ident div{padding:8px 9px;border-radius:7px;background:#f7fafb}.peca-ods-ident dt{font-size:7px;color:#7a8b93;text-transform:uppercase;font-weight:900}.peca-ods-ident dd{margin:2px 0 0;font-size:9px;color:#2d4b59;overflow-wrap:anywhere}.peca-ods-small-note{margin:10px 0 0!important;padding:9px 10px;background:#fff7e8;border-radius:7px;color:#715a29!important;font-size:8px!important;line-height:1.45!important}.peca-ods-issue-filters{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.peca-ods-issue-filters button{border:1px solid #d6e1e6;background:#fff;color:#49636f;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;cursor:pointer}.peca-ods-issue-filters button.active{background:#173f55;color:#fff;border-color:#173f55}.peca-ods-issue-list{display:grid;gap:8px;max-height:640px;overflow:auto;padding-right:3px}.peca-ods-issue{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px 12px;border:1px solid #dfe7ea;border-left:4px solid #c3a15c;border-radius:8px;background:#fff}.peca-ods-issue.error{border-left-color:#b95750}.peca-ods-issue.warning{border-left-color:#d19a35}.peca-ods-issue-code{font-size:8px;font-weight:900;color:#6f818a}.peca-ods-issue-copy header strong{display:block;color:#264753;font-size:9px;line-height:1.45}.peca-ods-issue-copy header span{display:block;margin-top:3px;color:#75858d;font-size:8px}.peca-ods-issue-copy p{margin:6px 0!important;color:#61747e!important;font-size:8px!important}.peca-ods-issue-copy code{font-size:8px}.peca-ods-issue-copy label{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:6px;margin-top:7px;font-size:8px;font-weight:900;color:#526a75}.peca-ods-issue-copy input{width:100%;padding:7px 8px;border:1px solid #cfdde3;border-radius:6px;font-size:9px}.peca-ods-issue-copy small{display:block;margin-top:6px;color:#7b8990;font-size:8px;line-height:1.4}.peca-ods-severity{padding:4px 6px;border-radius:999px;background:#f3ece2;color:#846525;font-size:7px;font-weight:900;text-transform:uppercase}.peca-ods-issue.error .peca-ods-severity{background:#f8e8e6;color:#913f38}.peca-ods-export-box{display:flex;justify-content:space-between;align-items:center;gap:18px}.peca-ods-export-box p{max-width:760px;color:#667983;font-size:9px;line-height:1.5}.peca-ods-parcel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.peca-ods-parcel-grid article{padding:10px 11px;border:1px solid #dde6e9;border-radius:8px;background:#f9fbfc}.peca-ods-parcel-grid b,.peca-ods-parcel-grid strong,.peca-ods-parcel-grid span{display:block}.peca-ods-parcel-grid b{font-size:7px;color:#6d8089}.peca-ods-parcel-grid strong{margin:3px 0;font-size:9px;color:#244858}.peca-ods-parcel-grid span{font-size:7.5px;color:#72828a}.peca-ods-empty-map{padding:80px 20px;text-align:center;color:#7a8b93;background:#f7fafb;border-radius:8px}@media(max-width:900px){.peca-ods-layout{grid-template-columns:1fr}.peca-ods-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-ods-parcel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-ods-result-head,.peca-ods-export-box,.peca-ods-upload-head{align-items:flex-start;flex-direction:column}.peca-ods-grade{min-width:0;width:100%}}@media(max-width:620px){.peca-ods-kpis,.peca-ods-parcel-grid{grid-template-columns:1fr}.peca-ods-issue{grid-template-columns:44px minmax(0,1fr)}.peca-ods-severity{grid-column:2}.peca-ods-issue-copy label{grid-template-columns:1fr}}

/* r125 — Analisador ODS mais fluido */
.peca-ods-issue-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 12px}.peca-ods-issue-summary article{padding:10px 12px;border:1px solid #dde7ea;border-radius:8px;background:#f8fbfc}.peca-ods-issue-summary span{display:block;font-size:8px;color:#6b7f88}.peca-ods-issue-summary strong{display:block;margin-top:4px;font-size:18px;color:#163c53}.peca-ods-map-info{margin-top:10px;padding:12px 14px;border:1px solid #d9e6ea;border-radius:8px;background:#f9fbfc;color:#45606d;font-size:8.5px;line-height:1.5}.peca-ods-map-info strong,.peca-ods-map-info span{display:block}.peca-ods-map-info strong{font-size:10px;color:#173f55}.peca-ods-map-info span{margin-top:2px;color:#73858e}.peca-ods-map-info ul{margin:8px 0 0 14px;padding:0}.peca-ods-map-info li{margin:0 0 4px}.peca-ods-map-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.peca-ods-map-info-grid small{display:block;color:#7a8b92;font-size:7px;text-transform:uppercase;font-weight:900}.peca-ods-map-info-grid code{display:block;margin-top:3px;padding:6px 7px;background:#eef4f7;border-radius:6px;color:#274a5a;font-size:8px}.peca-ods-parcel-card{cursor:pointer;transition:.15s ease;border:1px solid #dde6e9}.peca-ods-parcel-card:hover,.peca-ods-parcel-card.selected{transform:translateY(-1px);border-color:#1b4f69;box-shadow:0 6px 18px rgba(16,52,73,.08);background:#eef6fa}.peca-ods-parcel-card.selected strong{color:#173f55}.peca-ods-svg [data-ods-shape]{cursor:pointer;transition:opacity .15s ease,stroke-width .15s ease,fill .15s ease}.peca-ods-svg [data-ods-shape].dimmed,.peca-ods-svg [data-ods-point].dimmed{opacity:.22}.peca-ods-svg [data-ods-shape].selected{fill:rgba(15,105,153,.12);stroke:#0e5b80;stroke-width:2.2}.peca-ods-svg [data-ods-point]{cursor:pointer;transition:r .15s ease,opacity .15s ease,stroke-width .15s ease}.peca-ods-svg [data-ods-point].selected{fill:#f5a524;stroke:#173f55;stroke-width:1.2}.peca-ods-parcel-label{font-size:12px;font-weight:900;fill:#173f55;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.peca-ods-map-legend u{display:inline-block;width:14px;height:8px;border:2px solid #0e5b80;background:rgba(15,105,153,.12);margin-right:4px}.peca-ods-issue{grid-template-columns:54px minmax(0,1fr) auto;transition:.15s ease}.peca-ods-issue.selected{border-color:#0e5b80;box-shadow:0 8px 18px rgba(14,91,128,.08);background:#f4fafc}.peca-ods-issue-copy p{margin:5px 0 0!important}.peca-ods-issue-meta{display:flex;gap:8px;align-items:center;margin-top:7px;font-size:8px;color:#5f747e}.peca-ods-issue-meta code{padding:4px 6px;background:#edf3f6;border-radius:5px}.peca-ods-issue-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;margin-top:8px}.peca-ods-issue-actions .btn{padding:7px 10px;font-size:8px}.peca-ods-issue-actions label{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:6px;margin:0}.peca-ods-issue-actions small{display:block;grid-column:span 2;margin:0;color:#71828b}.peca-ods-export-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.peca-ods-export-actions form{margin:0}@media(max-width:900px){.peca-ods-issue-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-ods-map-info-grid{grid-template-columns:1fr}.peca-ods-issue-actions{grid-template-columns:1fr}.peca-ods-issue-actions small{grid-column:1}}@media(max-width:620px){.peca-ods-issue-summary{grid-template-columns:1fr}}

/* r126 — Central de Ferramentas: recursos visíveis */
.peca-tool-product-card.featured{border-color:#b9d9ce;box-shadow:0 10px 28px rgba(27,91,72,.08);background:linear-gradient(135deg,#fff 0%,#f7fbf9 100%)}
.peca-tool-product-card-ods .peca-tool-product-icon{background:#e8f5f0;color:#1e604f;font-size:13px;font-weight:950;letter-spacing:.04em}.peca-tool-product-card-gnss .peca-tool-product-icon{background:#eef4fb;color:#315f89;font-size:13px;font-weight:950}.peca-tool-product-card-memorial .peca-tool-product-icon{background:#f7f1e8;color:#7d5b28;font-size:13px;font-weight:950}
.peca-tool-card-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.peca-tool-new-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#245e4f;color:#fff;font-size:7px;font-weight:950;letter-spacing:.07em}.peca-tool-feature-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.peca-tool-feature-badges span{display:inline-flex;padding:5px 7px;border:1px solid #d5e3df;border-radius:999px;background:#f7faf9;color:#526c63;font-size:7.5px;font-weight:850}.peca-tool-product-card-ods .peca-tool-feature-badges span{border-color:#c9dfd7;background:#f1f8f5;color:#2e6557}

/* r127 — lista de pontos/vértices no Analisador ODS */
.peca-ods-section-note{margin:4px 0 0!important;color:#6d7f87!important;font-size:8.5px!important}.peca-ods-point-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:12px 0}.peca-ods-point-toolbar label{display:grid;gap:5px;min-width:min(420px,100%);font-size:8px;font-weight:900;color:#526a75}.peca-ods-point-toolbar input{width:100%;padding:8px 10px;border:1px solid #cedde3;border-radius:7px;font-size:9px}.peca-ods-point-filters{display:flex;gap:6px;flex-wrap:wrap}.peca-ods-point-filters button{border:1px solid #d6e1e6;background:#fff;color:#49636f;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;cursor:pointer}.peca-ods-point-filters button.active{background:#173f55;color:#fff;border-color:#173f55}.peca-ods-point-table-wrap{max-height:560px;overflow:auto;border:1px solid #dce6ea;border-radius:9px;background:#fff}.peca-ods-point-table{width:100%;border-collapse:separate;border-spacing:0;font-size:8px;min-width:1080px}.peca-ods-point-table th{position:sticky;top:0;z-index:2;padding:8px 7px;background:#edf4f7;color:#42606e;text-align:left;border-bottom:1px solid #d4e0e5;white-space:nowrap}.peca-ods-point-table td{padding:7px;border-bottom:1px solid #edf1f3;color:#526b77;vertical-align:middle;white-space:nowrap}.peca-ods-point-table tbody tr{cursor:pointer;transition:.12s ease}.peca-ods-point-table tbody tr:hover,.peca-ods-point-table tbody tr.selected{background:#eef7fb}.peca-ods-point-table td strong{color:#173f55}.peca-ods-point-table td span,.peca-ods-point-table td small{display:block}.peca-ods-point-table td small{margin-top:2px;color:#8a989e;font-size:7px}.peca-ods-point-table code{font-size:7.5px;color:#274b5b}.peca-ods-point-status{display:inline-block!important;padding:4px 6px;border-radius:999px;font-size:7px;font-weight:900}.peca-ods-point-status.ok{background:#e9f5ef;color:#28634f}.peca-ods-point-status.issue{background:#f8e8e6;color:#913f38}.peca-ods-point-table tr[hidden]{display:none!important}@media(max-width:900px){.peca-ods-point-toolbar{align-items:stretch;flex-direction:column}.peca-ods-point-toolbar label{min-width:0;width:100%}}
@media print{.peca-ods-issue-list,.peca-ods-point-table-wrap{max-height:none!important;overflow:visible!important}.peca-ods-point-table{min-width:0!important;font-size:6px}.peca-ods-point-table th,.peca-ods-point-table td{padding:4px 3px!important}.peca-ods-point-table th{position:static!important}.peca-ods-point-toolbar,.peca-ods-point-filters{display:none!important}.peca-ods-issue[hidden],.peca-ods-point-table tr[hidden]{display:grid!important}.peca-ods-point-table tr[hidden]{display:table-row!important}}

/* r128 — pontos/ocorrências sincronizados + sequência + dados compartilhados */
.peca-ods-sequence-panel{margin-top:12px;padding-top:12px;border-top:1px solid #e0e8eb}.peca-ods-sequence-panel h4{margin:3px 0 4px;color:#173f55;font-size:10px}.peca-ods-sequence-panel p{margin:0 0 8px!important;color:#74858d!important;font-size:7.8px!important;line-height:1.45!important}.peca-ods-sequence-list{margin:0;padding:0;list-style:none;display:grid;gap:4px;max-height:270px;overflow:auto}.peca-ods-sequence-list li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 7px;border:1px solid #e0e7ea;border-radius:6px;background:#fafcfd}.peca-ods-sequence-list li span{font-size:7px;color:#87969d}.peca-ods-sequence-list li strong{font-size:8px;color:#244858;overflow-wrap:anywhere}.peca-ods-sequence-list li em{font-style:normal;font-size:6.5px;text-transform:uppercase;font-weight:900;letter-spacing:.05em;color:#fff;background:#2b7668;border-radius:999px;padding:3px 5px}.peca-ods-sequence-list li.end em{background:#173f55}.peca-ods-sequence-list li.empty{display:block;color:#7f8d93;font-size:8px}.peca-ods-parcel-card.shared-data{border-color:#e3c47b!important;background:#fff9e9!important}.peca-ods-parcel-card.shared-data:hover,.peca-ods-parcel-card.shared-data.selected{border-color:#bd8b28!important;background:#fff4d2!important}.peca-ods-shared-badge{display:inline-flex!important;width:max-content;margin-top:6px;padding:4px 6px;border-radius:999px;background:#f2dfaa;color:#74551e;font-style:normal;font-size:6.8px!important;font-weight:900}.peca-ods-inline-fix{min-width:118px;max-width:180px;width:100%;padding:5px 6px;border:1px solid #e0ad4f;border-radius:5px;background:#fffaf0;color:#294a59;font:inherit}.peca-ods-inline-fix:focus{outline:2px solid rgba(190,139,40,.2);border-color:#9f741e}.peca-ods-point-table th:nth-child(12),.peca-ods-point-table td:nth-child(12){min-width:150px}.peca-ods-point-table tbody tr:has(.peca-ods-inline-fix){background:#fffdf7}.peca-ods-point-table tbody tr:has(.peca-ods-inline-fix):hover{background:#fff7df}@media(max-width:900px){.peca-ods-sequence-list{max-height:210px}}@media print{.peca-ods-sequence-list{max-height:none!important;overflow:visible!important}.peca-ods-inline-fix{border:0!important;background:transparent!important;padding:0!important;min-width:0!important;max-width:none!important}}
@media print{.peca-ods-issue[hidden]{display:none!important}.peca-ods-point-table tr[hidden]{display:none!important}}

/* r129 — zoom/pan no visualizador do Analisador ODS */
.peca-ods-map-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.peca-ods-map-toolbar button{min-width:32px;height:30px;padding:0 9px;border:1px solid #cfdee4;border-radius:7px;background:#fff;color:#21495c;font-size:12px;font-weight:900;cursor:pointer}.peca-ods-map-toolbar button:hover{background:#edf6fa;border-color:#8db4c5}.peca-ods-map-toolbar button[data-ods-zoom-reset]{min-width:60px;font-size:8px;text-transform:uppercase;letter-spacing:.03em}.peca-ods-map-viewport{overflow:hidden;border:1px solid #e0e8eb;border-radius:8px;background:#f7fafb}.peca-ods-map-viewport .peca-ods-svg{display:block;width:100%;height:auto;min-height:360px;border:0;border-radius:0;background:#f7fafb;cursor:grab;touch-action:none;user-select:none}.peca-ods-map-viewport .peca-ods-svg.is-panning{cursor:grabbing}.peca-ods-map-hint{margin:7px 0 0;color:#778991;font-size:7.5px;text-align:right}.peca-ods-map-viewport .peca-ods-vertex,.peca-ods-map-viewport .peca-ods-parcel-shape{vector-effect:non-scaling-stroke}@media(max-width:620px){.peca-ods-map-toolbar{justify-content:flex-start;width:100%}.peca-ods-map-hint{text-align:left}}@media print{.peca-ods-map-toolbar button,.peca-ods-map-hint{display:none!important}.peca-ods-map-viewport{overflow:visible}}

/* r131 — mapa base dos perímetros no Analisador ODS */
.peca-ods-basemap-card{overflow:hidden}.peca-ods-basemap-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.peca-ods-basemap-toolbar>button{min-width:38px;height:34px;padding:0 10px;border:1px solid #cfdde3;border-radius:7px;background:#fff;color:#284d5d;font-weight:900;cursor:pointer}.peca-ods-basemap-toolbar .btn{min-height:34px;padding:8px 11px;font-size:8px}.peca-ods-basemap{position:relative;height:460px;overflow:hidden;border:1px solid #d9e5e9;border-radius:10px;background:#e8eef1;touch-action:none;cursor:grab;user-select:none}.peca-ods-basemap.is-panning{cursor:grabbing}.peca-ods-basemap-layer,.peca-ods-basemap-tiles,.peca-ods-basemap-overlay{position:absolute;inset:0}.peca-ods-basemap-tiles{overflow:hidden}.peca-ods-basemap-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;pointer-events:none}.peca-ods-basemap-overlay{width:100%;height:100%;overflow:visible;pointer-events:none}.peca-ods-basemap-polygon{fill:rgba(27,97,86,.10);stroke:#1b6156;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer}.peca-ods-basemap-polygon.selected{fill:rgba(17,100,151,.18);stroke:#0d5f8d;stroke-width:3}.peca-ods-basemap-polygon.dimmed{opacity:.24}.peca-ods-basemap-label{font-size:13px;font-weight:900;fill:#123b50;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.peca-ods-basemap-attrib{font-size:10px;fill:#405965;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}.peca-ods-basemap-loading{position:absolute;inset:0;display:grid;place-items:center;color:#6b7f88;font-size:9px}.peca-ods-basemap-layer+.peca-ods-basemap-loading{display:none}@media(max-width:720px){.peca-ods-basemap{height:360px}.peca-ods-basemap-toolbar{width:100%}.peca-ods-basemap-toolbar .btn{width:100%;justify-content:center}}

/* r134 — consolidação do fluxo técnico do projeto */
.peca-workflow-audit{margin-top:12px;padding:14px}.peca-workflow-progress{min-width:108px;text-align:right}.peca-workflow-progress strong,.peca-workflow-progress span{display:block}.peca-workflow-progress strong{font-size:24px;color:#173f55}.peca-workflow-progress span{font-size:8px;color:#6f828b}.peca-workflow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.peca-workflow-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:10px;border:1px solid #dde7ea;border-radius:8px;background:#fbfcfd;min-width:0}.peca-workflow-step.is-ready{background:#f1f8f5;border-color:#cfe4da}.peca-workflow-step.is-next{background:#fff8e9;border-color:#e5c986}.peca-workflow-step-index{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dfe8ec;color:#45606d;font-size:9px;font-weight:900}.peca-workflow-step.is-ready .peca-workflow-step-index{background:#1b8a69;color:#fff}.peca-workflow-step.is-next .peca-workflow-step-index{background:#d59b28;color:#fff}.peca-workflow-step-copy{min-width:0}.peca-workflow-step-copy b,.peca-workflow-step-copy span,.peca-workflow-step-copy small{display:block}.peca-workflow-step-copy b{font-size:9px;color:#213f4d}.peca-workflow-step-copy span{margin-top:3px;font-size:7.5px;line-height:1.4;color:#6e8088}.peca-workflow-step-copy small{margin-top:5px;font-size:7px;color:#8a651f}.peca-workflow-step>a{grid-column:2;margin-top:5px;font-size:7.5px;font-weight:800;color:#0c6e58;text-decoration:none}.peca-workflow-warnings{margin-top:10px;border-top:1px solid #e4eaed;padding-top:9px}.peca-workflow-warnings summary{cursor:pointer;font-size:8px;font-weight:800;color:#7b5c1a}.peca-workflow-warnings ul{margin:7px 0 0 18px;padding:0;font-size:7.5px;line-height:1.5;color:#6d7479}.peca-workflow-geometries{margin-top:12px;padding:14px}.peca-inline-link{font-size:8px;font-weight:800;color:#0c6e58;text-decoration:none}.peca-summary-bottom .product-cards article>a{display:block;width:100%;box-sizing:border-box;border:1px solid #d6e1e6;background:#fff;border-radius:6px;padding:6px;font-size:9px;color:#17324f;text-decoration:none}.peca-summary-bottom .product-cards article>a:hover{border-color:#66aa95;background:#eef8f4;color:#075e49}.peca-summary-bottom .peca-action{text-decoration:none;text-align:center}.peca-summary-layout .peca-action{text-decoration:none;text-align:center}.peca-studio-tab-resumo .peca-workflow-audit .peca-card-title-row p{margin:4px 0 0;font-size:7.5px;color:#71838c}.peca-studio-tab-resumo .peca-workflow-audit{padding:9px}.peca-studio-tab-resumo .peca-workflow-steps{gap:5px;margin-top:7px}.peca-studio-tab-resumo .peca-workflow-step{padding:6px;grid-template-columns:20px minmax(0,1fr);gap:5px;border-radius:5px}.peca-studio-tab-resumo .peca-workflow-step-index{width:18px;height:18px;font-size:7px}.peca-studio-tab-resumo .peca-workflow-step-copy b{font-size:7.5px}.peca-studio-tab-resumo .peca-workflow-step-copy span{font-size:6.5px}.peca-studio-tab-resumo .peca-workflow-step>a{font-size:6.5px}.peca-studio-tab-resumo .peca-workflow-geometries{padding:9px;margin-top:5px}@media(max-width:1100px){.peca-workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-workflow-step:last-child{grid-column:1/-1}}@media(max-width:620px){.peca-workflow-steps{grid-template-columns:1fr}.peca-workflow-step:last-child{grid-column:auto}}

/* r135 — Refino visual da aba Resumo (somente apresentação; sem alteração funcional) */
.peca-studio-tab-resumo{--summary-accent:#0a8a6a;--summary-accent-soft:#edf8f4;--summary-blue:#0b4775;--summary-blue-soft:#eef5fa;--summary-warm:#d99a27;--summary-panel:#ffffff;--summary-line:#d6e3e8}
.peca-studio-tab-resumo .peca-summary-top{gap:8px;margin-bottom:8px}
.peca-studio-tab-resumo .peca-summary-top article{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);border:1px solid var(--summary-line);border-radius:8px;box-shadow:0 3px 10px rgba(18,50,70,.045);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.peca-studio-tab-resumo .peca-summary-top article::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#c8d7de}
.peca-studio-tab-resumo .peca-summary-top article:nth-child(2)::before,.peca-studio-tab-resumo .peca-summary-top article:nth-child(3)::before{background:#5d91b6}
.peca-studio-tab-resumo .peca-summary-top article:nth-child(4)::before{background:#56a88f}
.peca-studio-tab-resumo .peca-summary-top article:nth-child(5)::before{background:#0a8a6a}
.peca-studio-tab-resumo .peca-summary-top article:nth-child(6)::before{background:#376f99}
.peca-studio-tab-resumo .peca-summary-top article:hover{border-color:#bdd3dc;box-shadow:0 6px 18px rgba(18,50,70,.08);transform:translateY(-1px)}
.peca-studio-tab-resumo .peca-summary-top .summary-status{background:linear-gradient(135deg,#f3fbf8 0%,#fff 70%);border-color:#bcded1}
.peca-studio-tab-resumo .peca-summary-top .summary-status::before{background:var(--summary-accent)}
.peca-studio-tab-resumo .summary-check{box-shadow:0 0 0 4px rgba(10,138,106,.10)}
.peca-studio-tab-resumo .summary-status strong{background:#ddf4eb;color:#087255;border:1px solid #c4e8db}
.peca-studio-tab-resumo .peca-summary-top small{text-transform:uppercase;letter-spacing:.045em;color:#607685}
.peca-studio-tab-resumo .peca-summary-top strong{letter-spacing:-.015em}

.peca-studio-tab-resumo .peca-workflow-audit{position:relative;border-color:#cfdee4;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);box-shadow:0 4px 14px rgba(18,50,70,.045);overflow:hidden}
.peca-studio-tab-resumo .peca-workflow-audit::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#0a8a6a,#4d8bb5)}
.peca-studio-tab-resumo .peca-workflow-audit .peca-card-title-row{padding-left:14px;background:linear-gradient(90deg,rgba(10,138,106,.035),rgba(255,255,255,0));border-bottom-color:#e2eaed}
.peca-studio-tab-resumo .peca-workflow-audit .eyebrow{color:#08765c;letter-spacing:.13em}
.peca-studio-tab-resumo .peca-workflow-progress{padding:5px 9px;border-radius:8px;background:var(--summary-blue-soft);border:1px solid #d3e3ed}
.peca-studio-tab-resumo .peca-workflow-progress strong{color:var(--summary-blue)}
.peca-studio-tab-resumo .peca-workflow-steps{position:relative;gap:8px;padding-top:2px}
.peca-studio-tab-resumo .peca-workflow-steps::before{content:"";position:absolute;left:8%;right:8%;top:18px;height:2px;background:#dbe5e8;z-index:0}
.peca-studio-tab-resumo .peca-workflow-step{position:relative;z-index:1;background:#fff;border-color:#dbe5e8;box-shadow:0 1px 4px rgba(16,43,59,.03)}
.peca-studio-tab-resumo .peca-workflow-step.is-ready{background:linear-gradient(180deg,#f3faf7,#edf7f3);border-color:#c7e1d7}
.peca-studio-tab-resumo .peca-workflow-step.is-next{background:linear-gradient(180deg,#fffaf0,#fff4dc);border-color:#e4c578;box-shadow:0 0 0 2px rgba(217,154,39,.08)}
.peca-studio-tab-resumo .peca-workflow-step-index{box-shadow:0 0 0 3px #fff}
.peca-studio-tab-resumo .peca-workflow-step.is-ready .peca-workflow-step-index{box-shadow:0 0 0 3px #f3faf7}
.peca-studio-tab-resumo .peca-workflow-step.is-next .peca-workflow-step-index{box-shadow:0 0 0 3px #fff8e8}
.peca-studio-tab-resumo .peca-workflow-step>a{display:inline-flex;align-items:center;width:max-content;padding:3px 6px;border-radius:4px;background:rgba(8,110,88,.06)}

.peca-studio-tab-resumo .peca-summary-layout{gap:8px}
.peca-studio-tab-resumo .peca-summary-layout>.peca-card,.peca-studio-tab-resumo .peca-summary-aside .peca-card{border-color:#d5e2e7;box-shadow:0 3px 12px rgba(17,47,65,.04)}
.peca-studio-tab-resumo .peca-summary-layout>.peca-card>h3,.peca-studio-tab-resumo .peca-summary-aside .peca-card>h3{margin:-10px -10px 10px;padding:9px 10px;border-bottom:1px solid #e1e9ec;background:#f8fbfc;color:#163a55;letter-spacing:.025em}
.peca-studio-tab-resumo .timeline li{padding:8px 0}
.peca-studio-tab-resumo .timeline li:not(:last-child)::after{background:#d6e5df}
.peca-studio-tab-resumo .timeline i{box-shadow:0 0 0 3px #eff8f4}
.peca-studio-tab-resumo .timeline .editing i{box-shadow:0 0 0 3px #fff7e5}
.peca-studio-tab-resumo .timeline b{color:#183b54}
.peca-studio-tab-resumo .timeline span{color:#687c89}
.peca-studio-tab-resumo .timeline time{font-weight:800}

.peca-studio-tab-resumo .peca-summary-map{background:linear-gradient(180deg,#fff,#f9fbfc)}
.peca-studio-tab-resumo .peca-summary-map::after{content:"";position:absolute;left:10px;right:10px;top:37px;height:1px;background:#eef2f4;pointer-events:none}
.peca-studio-tab-resumo .peca-summary-map svg{border:1px solid #e2eaed;border-radius:7px;background:#fbfdfd}
.peca-studio-tab-resumo .peca-summary-map .map-legend{border:1px solid #d7e2e6;box-shadow:0 3px 10px rgba(19,48,65,.08)}
.peca-studio-tab-resumo .peca-summary-map .small-copy{margin:8px 1px 0;padding:7px 8px;border-radius:5px;background:#f5f8fa;color:#60727e}

.peca-studio-tab-resumo .peca-summary-aside .peca-stat-list>div{align-items:center;border-bottom:1px dashed #e4eaed}
.peca-studio-tab-resumo .peca-summary-aside .peca-stat-list>div:last-child{border-bottom:0}
.peca-studio-tab-resumo .peca-summary-aside .peca-stat-list dt{color:#627786}
.peca-studio-tab-resumo .peca-summary-aside .peca-stat-list dd{font-weight:750;color:#183b54}
.peca-studio-tab-resumo .peca-professional-lastpoints-card{background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)}
.peca-studio-tab-resumo .peca-professional-lastpoints-card p{color:#6b7f8c}
.peca-studio-tab-resumo .peca-professional-lastpoints-card input{transition:border-color .15s ease,box-shadow .15s ease;background:#fff}
.peca-studio-tab-resumo .peca-professional-lastpoints-card input:focus{outline:0;border-color:#6bb49f;box-shadow:0 0 0 3px rgba(10,138,106,.08)}
.peca-studio-tab-resumo .peca-professional-lastpoints-card .peca-action.primary{box-shadow:0 4px 10px rgba(10,138,106,.14)}

.peca-studio-tab-resumo .peca-workflow-geometries{border-color:#d4e2e7;box-shadow:0 3px 12px rgba(17,47,65,.04)}
.peca-studio-tab-resumo .peca-workflow-geometries .peca-card-title-row{background:#f8fbfc}
.peca-studio-tab-resumo .peca-summary-bottom{gap:8px}
.peca-studio-tab-resumo .peca-summary-bottom>.peca-card{border-color:#d5e2e7;box-shadow:0 3px 12px rgba(17,47,65,.04)}
.peca-studio-tab-resumo .peca-summary-bottom>.peca-card>h3{margin:-14px -14px 10px;padding:9px 12px;border-bottom:1px solid #e1e9ec;background:#f8fbfc;color:#163a55}
.peca-studio-tab-resumo .product-cards.compact article{border-color:#dce7eb;background:linear-gradient(180deg,#fff,#fbfdfe);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.peca-studio-tab-resumo .product-cards.compact article:hover{border-color:#b9d4de;transform:translateY(-1px);box-shadow:0 4px 12px rgba(17,47,65,.055)}

@media(max-width:1100px){.peca-studio-tab-resumo .peca-workflow-steps::before{display:none}}
@media(max-width:700px){.peca-studio-tab-resumo .peca-summary-top article:hover,.peca-studio-tab-resumo .product-cards.compact article:hover{transform:none}}

/* r136 — refino visual controlado da aba Modelo */
.peca-studio-tab-modelo{
  --model-accent:#0879df;
  --model-accent-soft:#edf6ff;
  --model-green:#15956f;
  --model-green-soft:#eef9f5;
  --model-amber:#d89414;
  --model-amber-soft:#fff7e7;
  --model-red:#d84f5a;
  --model-red-soft:#fff0f2;
  --model-ink:#163b57;
  --model-muted:#6b7f8d;
  --model-line:#d6e3ea;
  --model-panel:#fff;
}
.peca-studio-tab-modelo .peca-studio-main{background:linear-gradient(180deg,#f4f9fc 0%,#eef6fa 100%)}
.peca-studio-tab-modelo .peca-model-overview{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,2.2fr);gap:12px;align-items:stretch;margin:0 0 8px}
.peca-studio-tab-modelo .peca-model-heading{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--model-line);border-radius:9px;background:linear-gradient(135deg,#fff 0%,#f8fcff 100%);box-shadow:0 3px 12px rgba(20,55,77,.045)}
.peca-studio-tab-modelo .peca-model-heading-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,#dcefff,#eef7ff);border:1px solid #c8e0f4;color:var(--model-accent);font-size:20px;font-weight:900}
.peca-studio-tab-modelo .peca-model-heading h2{margin:0;color:#133c5c;font-size:18px;line-height:1.05;letter-spacing:-.02em}.peca-studio-tab-modelo .peca-model-heading p{margin:4px 0 0;color:var(--model-muted);font-size:8px}
.peca-studio-tab-modelo .peca-model-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;min-width:0}
.peca-studio-tab-modelo .peca-model-kpis article{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 10px;border:1px solid var(--model-line);border-radius:9px;background:linear-gradient(180deg,#fff,#fbfdfe);box-shadow:0 3px 10px rgba(20,55,77,.04)}
.peca-studio-tab-modelo .peca-model-kpis strong,.peca-studio-tab-modelo .peca-model-kpis small{display:block}.peca-studio-tab-modelo .peca-model-kpis strong{font-size:15px;line-height:1;color:#153e5c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peca-studio-tab-modelo .peca-model-kpis small{margin-top:4px;color:#687e8b;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peca-studio-tab-modelo .peca-model-kpi-dot,.peca-studio-tab-modelo .peca-model-kpi-icon{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:50%;font-size:10px;background:#edf3f6;color:#7b8f9b;box-shadow:inset 0 0 0 1px rgba(80,108,123,.08)}
.peca-studio-tab-modelo .peca-model-kpis .is-positive .peca-model-kpi-dot{background:var(--model-green-soft);color:var(--model-green)}
.peca-studio-tab-modelo .peca-model-kpis .is-warning .peca-model-kpi-dot{background:var(--model-amber-soft);color:var(--model-amber)}
.peca-studio-tab-modelo .peca-model-kpis .is-danger .peca-model-kpi-dot{background:var(--model-red-soft);color:var(--model-red)}
.peca-studio-tab-modelo .peca-model-kpis .is-method .peca-model-kpi-icon{background:var(--model-accent-soft);color:var(--model-accent);font-size:15px}

.peca-studio-tab-modelo .peca-model-ribbon-subtabs{margin-bottom:6px;gap:6px}.peca-studio-tab-modelo .peca-model-ribbon-subtabs button{min-width:92px;padding:8px 15px;border-radius:8px;border-color:#d5e2e8;background:#fff;box-shadow:0 2px 5px rgba(20,55,77,.025);font-weight:800}.peca-studio-tab-modelo .peca-model-ribbon-subtabs button.active{background:linear-gradient(180deg,#f2f8ff,#e9f4ff);border-color:#8fc4ed;color:#075ea8;box-shadow:inset 0 -2px 0 var(--model-accent),0 2px 7px rgba(8,121,223,.08)}
.peca-studio-tab-modelo .peca-ribbon-model{border:1px solid var(--model-line);border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(20,55,77,.04);overflow:hidden}
.peca-studio-tab-modelo .peca-ribbon-model-switcher .peca-model-ribbon-panel{gap:7px;padding:8px}
.peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group{border:1px solid #dce8ed;border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdfe);padding:7px;min-width:0}
.peca-studio-tab-modelo .peca-ribbon-model .peca-ribbon-group>small{display:block;margin:0 0 6px;color:#315c78;font-size:7px;font-weight:900;letter-spacing:.025em;text-transform:uppercase}
.peca-studio-tab-modelo .peca-ribbon-model .peca-studio-tool{border-radius:7px;border-color:#d5e3e9;background:#fff;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}
.peca-studio-tab-modelo .peca-ribbon-model .peca-studio-tool:hover:not(:disabled){border-color:#acd0e7;background:#f7fbfe;box-shadow:0 3px 8px rgba(17,67,96,.06);transform:translateY(-1px)}
.peca-studio-tab-modelo .peca-ribbon-group-importacoes .peca-studio-tool:first-child{background:linear-gradient(180deg,#1788e8,#0876d3);border-color:#0871c7;color:#fff;box-shadow:0 4px 10px rgba(8,121,223,.18)}
.peca-studio-tab-modelo .peca-ribbon-group-importacoes .peca-studio-tool:first-child span,.peca-studio-tab-modelo .peca-ribbon-group-importacoes .peca-studio-tool:first-child b{color:#fff}
.peca-studio-tab-modelo .peca-ribbon-group-validator:not(.validation-required):not(.validation-conflicts){background:linear-gradient(180deg,#f4fbf8,#eef9f5);border-color:#cde9df}
.peca-studio-tab-modelo .peca-ribbon-group-pontos .peca-studio-tool#peca-delete-selected,.peca-studio-tab-modelo .peca-ribbon-group-pontos .peca-studio-tool#peca-clear-model-trigger{background:#fff8f8;border-color:#f0d4d6}

.peca-studio-tab-modelo .peca-model-validation-gate-note{border-radius:8px;margin:7px 0;border-width:1px;box-shadow:0 2px 8px rgba(108,78,17,.04)}
.peca-studio-tab-modelo .peca-model-layout{gap:7px}.peca-studio-tab-modelo .peca-model-table-card{border:1px solid var(--model-line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(20,55,77,.045)}
.peca-studio-tab-modelo .peca-model-table-card>h2{padding:9px 11px;background:linear-gradient(90deg,#f4f9fd,#fff);border-bottom:1px solid #dce7ec;color:#163e5c;font-size:9px;letter-spacing:.02em}
.peca-studio-tab-modelo .peca-model-table-card>h2::before{content:"▣";display:inline-grid;place-items:center;margin-right:7px;width:18px;height:18px;border-radius:5px;background:#e7f3fd;color:#0879df;vertical-align:-5px}
.peca-studio-tab-modelo .peca-table-wrap{background:#fff}
.peca-studio-tab-modelo .peca-points-table thead th{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#eaf4fa,#deedf6);color:#163f5c;border-color:#cbdde7;font-size:7.3px;font-weight:900;letter-spacing:.01em;padding-top:7px;padding-bottom:7px}
.peca-studio-tab-modelo .peca-points-table tbody td{border-color:#e0e9ed;color:#284b60;background:#fff;transition:background .12s ease}
.peca-studio-tab-modelo .peca-points-table tbody tr:nth-child(even):not(.selected):not(.point-inactive):not(.point-unusable) td{background:#fbfdfe}
.peca-studio-tab-modelo .peca-points-table tbody tr:hover td{background:#f1f8fc}
.peca-studio-tab-modelo .peca-points-table tbody tr.selected td{background:#e9f8f2!important;border-top-color:#cce9df;border-bottom-color:#cce9df}
.peca-studio-tab-modelo .peca-points-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--model-green)}
.peca-studio-tab-modelo .peca-points-table input[data-point-field]{height:25px;border-radius:5px;border-color:#cbdde7;background:#fff;box-shadow:inset 0 1px 2px rgba(17,54,77,.025)}
.peca-studio-tab-modelo .peca-points-table input[data-point-field]:focus{outline:0;border-color:#7fb9e2;box-shadow:0 0 0 2px rgba(8,121,223,.08)}
.peca-studio-tab-modelo .peca-points-table .checkbox.checked{background:#15956f;color:#fff;border-color:#15956f;box-shadow:0 2px 5px rgba(21,149,111,.13)}
.peca-studio-tab-modelo .peca-point-state.active{background:#e9f8f2;color:#138a68;border-color:#bfe6d8}.peca-studio-tab-modelo .peca-point-state.inactive{background:#eff3f5;color:#7d8d97;border-color:#dce4e8}.peca-studio-tab-modelo .peca-point-state.unusable{background:#fff0f2;color:#d84f5a;border-color:#f0cdd2}
.peca-studio-tab-modelo .peca-table-summary{min-height:30px;padding:6px 10px;background:linear-gradient(180deg,#fbfdfe,#f5f9fb);border-top:1px solid #dce7ec;color:#6b7f8d;gap:14px}.peca-studio-tab-modelo .peca-table-summary b{color:#138a68}.peca-studio-tab-modelo .peca-table-summary em{font-style:normal;color:#c17d00}.peca-studio-tab-modelo .peca-table-summary span:last-child{margin-left:auto;color:#4e7187}

.peca-studio-tab-modelo .peca-model-aside{gap:7px}.peca-studio-tab-modelo .peca-model-aside .peca-card{border:1px solid var(--model-line);border-radius:9px;background:linear-gradient(180deg,#fff,#fbfdfe);box-shadow:0 3px 11px rgba(20,55,77,.04);overflow:hidden;padding:10px}.peca-studio-tab-modelo .peca-model-aside .peca-card h3{margin:-10px -10px 9px;padding:8px 10px;background:#f7fbfd;border-bottom:1px solid #dfe9ed;color:#173e5a;font-size:8px;letter-spacing:.02em}.peca-studio-tab-modelo .peca-model-aside .peca-stat-list>div{border-bottom:1px dashed #e3eaee;padding:5px 0}.peca-studio-tab-modelo .peca-model-aside .peca-stat-list>div:last-child{border-bottom:0}.peca-studio-tab-modelo .peca-model-aside .peca-stat-list dd{font-weight:800;color:#173f5c}.peca-studio-tab-modelo .peca-legend-list{gap:6px}.peca-studio-tab-modelo .peca-legend-list li{padding:4px 5px;border-radius:5px;background:#fbfdfe}.peca-studio-tab-modelo .peca-model-aside .small-copy{line-height:1.55;color:#617785}
.peca-studio-tab-modelo .peca-model-detailbar{border:1px solid var(--model-line);box-shadow:0 3px 11px rgba(20,55,77,.04);background:linear-gradient(180deg,#fff,#fbfdfe)}
.peca-studio-tab-modelo .peca-model-detailbar h3{color:#173e5b}
.peca-studio-tab-modelo .precision-card{background:#eef7ff;border-left:1px solid #d5e7f4;border-right:1px solid #d5e7f4}.peca-studio-tab-modelo .precision-card strong{color:#0b6bb4}.peca-studio-tab-modelo .notes-card textarea{border-color:#d6e3ea;background:#fff}

@media(max-width:1250px){.peca-studio-tab-modelo .peca-model-overview{grid-template-columns:1fr}.peca-studio-tab-modelo .peca-model-kpis{grid-template-columns:repeat(5,minmax(125px,1fr));overflow-x:auto;padding-bottom:2px}.peca-studio-tab-modelo .peca-model-heading{padding:9px 11px}}
@media(max-width:820px){.peca-studio-tab-modelo .peca-model-kpis{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.peca-studio-tab-modelo .peca-model-kpis article:last-child{grid-column:1/-1}.peca-studio-tab-modelo .peca-table-summary span:last-child{margin-left:0}.peca-studio-tab-modelo .peca-model-heading h2{font-size:16px}}
@media(max-width:520px){.peca-studio-tab-modelo .peca-model-kpis{grid-template-columns:1fr}.peca-studio-tab-modelo .peca-model-kpis article:last-child{grid-column:auto}.peca-studio-tab-modelo .peca-model-heading-icon{width:34px;height:34px}}

/* PECA r139 — imagens georreferenciadas no Desenho > Camadas */
.peca-raster-layer-block{border-top:1px solid #d8e4e9;padding-top:7px;margin-top:7px}
.peca-raster-layer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:8px;color:#21435d;letter-spacing:.04em}
.peca-raster-layer-list{display:grid;gap:6px}
.peca-raster-layer-empty{margin:0;padding:8px 6px;color:#7b8d97;font-size:8px}
.peca-raster-layer-list article{position:relative;padding:7px 8px;border:1px solid #d9e6eb;border-radius:7px;background:#fbfdfe;display:grid;gap:5px}
.peca-raster-line{display:flex;align-items:center;gap:6px;min-width:0}.peca-raster-line label{display:flex;align-items:center;gap:5px;min-width:0;flex:1}.peca-raster-line b{font-size:8.5px;color:#17354d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peca-raster-line>span{font-size:7px;font-weight:800;color:#0879df;background:#edf6ff;border-radius:999px;padding:2px 5px}.peca-raster-line>button{border:0;background:transparent;color:#b34242;font-size:14px;cursor:pointer;padding:0 2px}
.peca-raster-layer-list article>small{font-size:7.5px;color:#647c8b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peca-raster-layer-list article>em{font-size:7px;color:#9a6a00;font-style:normal;line-height:1.3}
.peca-raster-opacity{display:grid;grid-template-columns:auto 1fr 30px;align-items:center;gap:5px;font-size:7px;color:#536c7c}.peca-raster-opacity input{min-width:0;width:100%;accent-color:#0879df}.peca-raster-opacity output{text-align:right;font-weight:700;color:#24465f}
.peca-runtime-raster{image-rendering:auto}
/* r144 — gerenciamento raster e pontos livres */
.peca-raster-actions{display:inline-flex;align-items:center;gap:2px}.peca-raster-actions button{width:22px;height:22px;border:1px solid #d7e4ea;background:#fff;border-radius:5px;color:#31536a;font-size:11px;cursor:pointer;display:grid;place-items:center;padding:0}.peca-raster-actions button:hover{border-color:#9fc9df;background:#f3f9fd}.peca-raster-actions [data-raster-delete]{color:#b34242}
.peca-raster-elevation-option{border:1px solid #dbe7ec;border-radius:8px;padding:10px 12px;background:#f8fbfc}.peca-raster-elevation-option>span{display:flex;align-items:center;gap:8px;color:#17354d}.peca-raster-elevation-option small{margin-top:5px;color:#6c7f8b;font-weight:400;line-height:1.35}.peca-raster-elevation-option input[type="checkbox"]{width:16px;height:16px;accent-color:#0879df}
.peca-drawing-svg.peca-free-point-mode{cursor:crosshair}.peca-drawing-svg.peca-free-point-mode .peca-runtime-point{pointer-events:none}
/* r146 — ponte controlada PECA ↔ SIG VECYX Desktop */
.peca-meta-button{font:inherit;cursor:pointer;vertical-align:middle}.peca-desktop-open{background:#eaf5ff;border-color:#9cccf0;color:#075f9d;font-weight:800}

/* r150 — ferramentas urbanas rápidas */
.peca-drawing-svg.peca-urban-edit-mode{cursor:crosshair}
.peca-urban-construction-tools{z-index:8}
.peca-studio-tab-desenho .peca-studio-tool[data-urban-tool].active{background:#e7f3ff!important;border-color:#69aee0!important;color:#075f9e!important;box-shadow:0 0 0 1px rgba(7,95,158,.08) inset!important}

/* r152 — Interpolação altimétrica urbana no Modelo */
.peca-interpolation-options label{border:1px solid #dbe6eb;border-radius:8px;padding:11px 12px;background:#fbfdfe;gap:6px}
.peca-interpolation-options label>span{display:flex;align-items:center;gap:9px;color:#17324f;font-weight:800}
.peca-interpolation-options input[type="radio"]{width:auto;min-width:0;margin:0;padding:0;accent-color:#0879df}
.peca-interpolation-options small{font-weight:500;color:#607687;line-height:1.45}
.peca-mode-urbano #peca-interpolate-altitude-trigger .peca-studio-tool-icon{font-size:14px;font-weight:900;color:#0879df}
/* r153 — seletor RTK/Pós-RINEX e cartões RINEX */
.peca-raw-project-form-body select{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #cbd8dd;border-radius:7px;background:#fff;color:#17232d;font:inherit}
.peca-raw-project-mode-help{display:block;margin-top:-6px;color:#738087;font-size:8.5px;line-height:1.55}
.peca-file-kind.observation{background:#e9f4ff;color:#1f5e8d}.peca-file-kind.navigation{background:#f0ecff;color:#5e4a91}.peca-file-kind.meteorological{background:#edf7ef;color:#437052}
.peca-quality-badge.base{background:#e8f4ff;color:#245f8d}.peca-quality-badge.rover{background:#eaf7f1;color:#2e6c57}.peca-quality-badge.control{background:#fff2df;color:#8a5c1f}.peca-quality-badge.unclassified{background:#eef2f4;color:#5c6970}
/* r154 — Pós/RINEX: Base, Rover, PPP e preparação do processamento */
.peca-pos-tabs{display:flex;gap:6px;margin:0 0 12px;padding:6px;border:1px solid #d7e4ea;border-radius:10px;background:#fff;overflow-x:auto}.peca-pos-tabs a{padding:8px 13px;border-radius:7px;color:#31526a;text-decoration:none;font-size:9px;font-weight:800;white-space:nowrap}.peca-pos-tabs a:hover,.peca-pos-tabs a.active{background:#eaf5ff;color:#09639f}.peca-pos-ingest-card{margin-bottom:14px}.peca-pos-section-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.peca-pos-input-form{margin-top:12px}.peca-pos-input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.peca-pos-input-card{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #d8e5eb;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfdfe);min-width:0}.peca-pos-input-card strong{font-size:11px;color:#173d58}.peca-pos-input-card small{min-height:28px;color:#687d8b;font-size:8px;line-height:1.45}.peca-pos-input-card em{font-style:normal;font-size:8px;font-weight:800;color:#36586d}.peca-pos-input-card input[type="file"],.peca-pos-input-card input[type="number"]{width:100%;box-sizing:border-box;border:1px solid #ccdce4;border-radius:7px;background:#fff;padding:8px;color:#23465d;font:inherit;font-size:9px}.peca-pos-input-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;font-size:13px;font-weight:900;background:#edf4f8;color:#315a73}.peca-pos-input-card.base{border-color:#b9d9ef;background:linear-gradient(180deg,#f8fcff,#fff)}.peca-pos-input-card.base .peca-pos-input-icon{background:#e1f1ff;color:#12659d}.peca-pos-input-card.rover{border-color:#c8e4d8;background:linear-gradient(180deg,#f7fcf9,#fff)}.peca-pos-input-card.rover .peca-pos-input-icon{background:#e5f6ef;color:#1d7253}.peca-pos-input-card.nav .peca-pos-input-icon{background:#f0ecff;color:#65549d}.peca-pos-input-card.ppp .peca-pos-input-icon{background:#fff0dc;color:#9a641b}.peca-pos-upload-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #e1e9ed}.peca-pos-upload-footer small{color:#657a88;font-size:8px}.peca-pos-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-pos-session-card{border-top:3px solid #c8d7df}.peca-pos-session-card.is-base{border-top-color:#2382bc}.peca-pos-session-card.is-rover{border-top-color:#29956d}.peca-pos-role-form{grid-template-columns:1fr 1fr auto;align-items:end}.peca-pos-role-form input,.peca-pos-role-form select{width:100%;box-sizing:border-box}.peca-pos-processing{margin-top:14px;border-color:#bfd7e5;box-shadow:0 5px 18px rgba(21,67,94,.06)}.peca-pos-processing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid #e0e9ed}.peca-pos-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.04em}.peca-pos-status.ready{background:#e7f7f0;color:#176c50}.peca-pos-status.blocked,.peca-pos-status.draft{background:#fff0e8;color:#9a542f}.peca-pos-processing-form{padding-top:12px}.peca-pos-processing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.peca-pos-processing-grid label{display:flex;flex-direction:column;gap:5px;color:#496476;font-size:8px;font-weight:800}.peca-pos-processing-grid label.wide{grid-column:1/-1}.peca-pos-processing-grid select,.peca-pos-processing-grid input,.peca-pos-processing-grid textarea{width:100%;box-sizing:border-box;border:1px solid #ccdbe3;border-radius:7px;background:#fff;padding:9px;color:#17384f;font:inherit;font-size:9px}.peca-pos-processing-grid label>small{font-weight:500;color:#778994}.peca-pos-processing-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.peca-pos-validation-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:12px}.peca-pos-validation-grid>article{padding:11px;border:1px solid #dce6eb;border-radius:8px;background:#fbfdfe}.peca-pos-validation-grid h3{margin:0 0 8px;font-size:9px;color:#204760}.peca-pos-history{margin-top:14px}
@media(max-width:1100px){.peca-pos-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-pos-processing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.peca-pos-session-grid{grid-template-columns:1fr}}
@media(max-width:700px){.peca-pos-input-grid,.peca-pos-processing-grid,.peca-pos-validation-grid{grid-template-columns:1fr}.peca-pos-processing-grid label.wide{grid-column:auto}.peca-pos-upload-footer,.peca-pos-processing-head{flex-direction:column}.peca-pos-role-form{grid-template-columns:1fr}}
/* r156 — Motor GNSS Base × múltiplos Rovers / RTKLIB */
.peca-pos-auto-rovers{min-height:37px;border:1px solid #ccdbe3;border-radius:7px;background:#f8fbfc;padding:7px 9px;display:flex;align-items:center;gap:8px}.peca-pos-auto-rovers b{font-size:18px;color:#0b6f9f}.peca-pos-auto-rovers small{font-size:8px;color:#687e8c;line-height:1.35}
.peca-pos-engine-state{margin-top:11px;border:1px solid #d9e5ea;border-radius:8px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfdfe}.peca-pos-engine-state>div{display:flex;align-items:center;gap:9px}.peca-pos-engine-state b{display:block;font-size:9px;color:#24485f}.peca-pos-engine-state small{display:block;margin-top:2px;font-size:7.5px;color:#6b7f8b;max-width:700px;overflow-wrap:anywhere}.peca-pos-engine-state code{font-size:7.5px;background:#fff;border:1px solid #e0e8ec;border-radius:5px;padding:5px 7px;color:#425d6e}.peca-pos-engine-dot{width:10px;height:10px;border-radius:50%;background:#c95b50;box-shadow:0 0 0 3px #f8dfdc}.peca-pos-engine-state.ok .peca-pos-engine-dot{background:#2b986d;box-shadow:0 0 0 3px #def2e9}.peca-pos-engine-state.ok{border-color:#cae5da;background:#f8fcfa}.peca-pos-engine-state.missing{border-color:#ecd5cd;background:#fffaf8}
.peca-pos-scenario,.peca-pos-results{margin-top:14px;border-top:1px solid #e0e9ed;padding-top:12px}.peca-pos-scenario-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.peca-pos-scenario-head h3{margin:2px 0 0;font-size:11px;color:#193e57}.peca-pos-scenario-head>small{font-size:8px;color:#6e818d}.peca-pos-table-wrap{overflow:auto;border:1px solid #dce7ec;border-radius:8px}.peca-pos-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff;font-size:8px}.peca-pos-table th{padding:7px 8px;text-align:left;background:#f3f7f9;color:#34556a;border-bottom:1px solid #dce7ec;white-space:nowrap}.peca-pos-table td{padding:8px;border-bottom:1px solid #e8eef1;color:#2c4a5d;vertical-align:top}.peca-pos-table tbody tr:last-child td{border-bottom:0}.peca-pos-table td b{display:block;color:#153b55;font-size:8.5px}.peca-pos-table td small{display:block;margin-top:2px;color:#758692;font-size:7px}.peca-pos-table code{font-size:7px;color:#315669;white-space:nowrap}.peca-pos-line-state,.peca-pos-solution{display:inline-flex;padding:3px 6px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.03em;white-space:nowrap}.peca-pos-line-state.ready,.peca-pos-solution.fix{background:#e6f6ef;color:#176c4f}.peca-pos-line-state.blocked,.peca-pos-solution.float{background:#fff1e5;color:#98551d}.peca-pos-solution.unknown{background:#eef2f4;color:#5d6b73}.peca-pos-table.results td:last-child{max-width:180px}
.peca-pos-processing-actions button[disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:700px){.peca-pos-engine-state{align-items:flex-start;flex-direction:column}.peca-pos-processing-actions{align-items:stretch;flex-direction:column}.peca-pos-processing-actions .btn{width:100%;box-sizing:border-box;text-align:center}}

/* r161 — Conversor DWG → DXF */
.peca-tool-product-card-cad .peca-tool-product-icon{background:#eef2f8;color:#294d7c;font-size:12px;font-weight:950;letter-spacing:.04em}.peca-tool-product-card-cad .peca-tool-feature-badges span{border-color:#d3ddeb;background:#f5f8fc;color:#385775}.peca-vector-dwg-converter-link{margin:8px 0 0;font-size:9px;color:#697b84}.peca-vector-dwg-converter-link a{color:#0b6d59;font-weight:850;text-decoration:none}.peca-vector-dwg-converter-link a:hover{text-decoration:underline}

/* ========================================================================== */
/* PECA r169 — legibilidade profissional em 100% sem zoom do navegador        */
/* Objetivo: aproximar a leitura visual do antigo 125%, preservando grid,     */
/* viewport cartográfico e alinhamentos internos. Não usa CSS zoom/transform.  */
/* ========================================================================== */
@media (min-width:1101px){
  .peca-studio-body{
    font-size:13px;
  }

  /* Cabeçalho e navegação */
  .peca-studio-body .peca-studio-header{
    grid-template-columns:minmax(320px,390px) minmax(390px,1fr) minmax(520px,680px);
    min-height:56px;
  }
  .peca-studio-body .peca-studio-brandline,
  .peca-studio-body .peca-studio-project-title,
  .peca-studio-body .peca-studio-project-meta{padding:8px 17px}
  .peca-studio-body .peca-studio-brandline strong{font-size:21px}
  .peca-studio-body .peca-studio-brandline small{font-size:10px;line-height:1.25}
  .peca-studio-body .peca-studio-project-title span{font-size:9.5px}
  .peca-studio-body .peca-studio-project-title h1{font-size:13px;gap:6px;margin-top:3px}
  .peca-studio-body .peca-inline-icon{font-size:11px}
  .peca-studio-body .peca-studio-project-meta{font-size:9.5px;line-height:1.55}
  .peca-studio-body .peca-studio-project-meta i{height:10px;margin:0 9px}
  .peca-studio-body .peca-meta-settings{font-size:9.5px;padding:6px 10px;border-radius:5px}
  .peca-studio-body .peca-studio-tabs{min-height:38px;padding:0 14px}
  .peca-studio-body .peca-studio-tabs a{padding:9px 24px 8px;font-size:11px}

  /* Base visual */
  .peca-studio-body .peca-studio-main{padding:7px 9px 8px}
  .peca-studio-body .peca-card h2{font-size:13.5px}
  .peca-studio-body .peca-card h3{font-size:11.5px}
  .peca-studio-body .peca-card h4{font-size:10.5px}
  .peca-studio-body .peca-ribbon{gap:3px;padding:4px 5px;margin-bottom:7px}
  .peca-studio-body .peca-ribbon-group{padding:0 3px}
  .peca-studio-body .peca-ribbon-group>div{gap:3px}
  .peca-studio-body .peca-studio-tool{min-width:62px;height:45px;padding:4px 8px;gap:3px;font-size:9.4px}
  .peca-studio-body .peca-studio-tool-icon{font-size:16px}
  .peca-studio-body .peca-model-geometry-filter{min-width:165px;padding:3px 6px;gap:2px}
  .peca-studio-body .peca-model-geometry-filter span{font-size:8.5px}
  .peca-studio-body .peca-model-geometry-filter select{height:38px;padding:5px 8px;font-size:10px}

  /* Tabelas e formulários */
  .peca-studio-body .peca-grid-table{font-size:10.5px}
  .peca-studio-body .peca-grid-table th{padding:9px 8px;font-size:9px}
  .peca-studio-body .peca-grid-table td{padding:8px 8px}
  .peca-studio-body .peca-editable-model-cell input{padding:7px 8px!important;font-size:10.5px!important}
  .peca-studio-body .peca-table-summary{padding:8px 11px;font-size:9px}
  .peca-studio-body .peca-dialog,
  .peca-studio-body .peca-dialog input,
  .peca-studio-body .peca-dialog select,
  .peca-studio-body .peca-dialog textarea,
  .peca-studio-body .peca-dialog button{font-size:11px}

  /* Resumo */
  .peca-studio-tab-resumo .peca-summary-top{gap:7px}
  .peca-studio-tab-resumo .peca-summary-top article{min-height:84px;padding:11px 12px}
  .peca-studio-tab-resumo .peca-summary-top small{font-size:9px}
  .peca-studio-tab-resumo .peca-summary-top strong{font-size:21px;margin:6px 0 3px}
  .peca-studio-tab-resumo .peca-summary-top p{font-size:8.7px;line-height:1.35}
  .peca-studio-tab-resumo .summary-check{width:36px;height:36px;font-size:20px}
  .peca-studio-tab-resumo .summary-status strong{font-size:11.5px;padding:3px 8px}
  .peca-studio-tab-resumo .peca-summary-layout{grid-template-columns:340px minmax(0,1fr) 305px;gap:7px;margin-top:7px}
  .peca-studio-tab-resumo .peca-summary-layout>.peca-card,
  .peca-studio-tab-resumo .peca-summary-aside .peca-card{padding:12px}
  .peca-studio-tab-resumo .timeline li{grid-template-columns:28px 1fr 96px;padding:7px 0}
  .peca-studio-tab-resumo .timeline i{width:22px;height:22px;font-size:10px}
  .peca-studio-tab-resumo .timeline b{font-size:10px}
  .peca-studio-tab-resumo .timeline span,
  .peca-studio-tab-resumo .timeline time{font-size:8.6px}
  .peca-studio-tab-resumo .peca-summary-map svg{height:350px}
  .peca-studio-tab-resumo .map-legend{font-size:8.8px;padding:6px 8px}
  .peca-studio-tab-resumo .peca-stat-list div,
  .peca-studio-tab-resumo .updates-list li,
  .peca-studio-tab-resumo .peca-simple-table{font-size:9px}
  .peca-studio-tab-resumo .peca-simple-table th,
  .peca-studio-tab-resumo .peca-simple-table td{padding:6px 5px}

  /* Modelo */
  .peca-studio-tab-modelo .peca-model-table-card>h2{padding:9px 11px;font-size:11px}
  .peca-studio-tab-modelo .peca-table-wrap{max-height:calc(100vh - 268px);min-height:430px}
  .peca-studio-tab-modelo .peca-model-aside .peca-card{padding:10px}
  .peca-studio-tab-modelo .peca-model-detailbar{padding:9px}
  .peca-studio-tab-modelo .peca-model-detailbar h3{font-size:10px}
  .peca-studio-tab-modelo .peca-model-detailbar dl div{font-size:9px;padding:3px 0}
  .peca-studio-tab-modelo .precision-card strong{font-size:18px}
  .peca-studio-tab-modelo .notes-card textarea{height:56px;font-size:10px}

  /* Desenho: mantém área cartográfica dominante, porém com painéis legíveis. */
  .peca-studio-tab-desenho .peca-studio-main{padding:6px 7px 6px}
  .peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:minmax(225px,245px) minmax(0,1fr) minmax(285px,310px);gap:6px}
  .peca-studio-tab-desenho .peca-left-tabbar{min-height:40px}
  .peca-studio-tab-desenho .peca-left-tabbar button{padding:9px 4px 8px;font-size:9px!important}
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-card-title-row{min-height:36px;padding:8px 9px!important}
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-card-title-row h3{font-size:10px}
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-filter-row{padding:7px!important;grid-template-columns:minmax(0,1fr) 82px!important;gap:6px!important}
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-filter-row input,
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-filter-row select{height:33px;min-height:33px;font-size:9.5px!important;padding:5px 7px!important}
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list li{grid-template-columns:16px minmax(82px,1fr) minmax(0,1.15fr) 26px!important;min-height:34px!important;padding:5px 7px!important}
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list li b{font-size:9.6px!important}
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-point-list small{font-size:8px!important}
  .peca-studio-tab-desenho .peca-left-tabpanel .peca-list-foot{padding:8px 9px!important;font-size:8.5px!important}
  .peca-studio-tab-desenho .peca-left-panel-actions .peca-action{padding:8px 9px!important;font-size:9px!important}
  .peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list b{font-size:9.5px!important}
  .peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list small,
  .peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-list em{font-size:8px!important}
  .peca-studio-tab-desenho .peca-perimeters-card .peca-perimeter-note,
  .peca-studio-tab-desenho #peca-geometry-filter-empty{font-size:8.5px}
  .peca-studio-tab-desenho .peca-canvas-head{min-height:36px;padding:8px 10px;font-size:10px}
  .peca-studio-tab-desenho .peca-drawing-right .peca-card h3{padding:8px 9px;font-size:10px}
  .peca-studio-tab-desenho .peca-detail-grid>div{grid-template-columns:.9fr 1.1fr;font-size:9px}
  .peca-studio-tab-desenho .peca-detail-grid dt,
  .peca-studio-tab-desenho .peca-detail-grid dd{padding:6px 8px}
  .peca-studio-tab-desenho .peca-polygon-property-actions{padding:7px 8px}
  .peca-studio-tab-desenho .peca-polygon-property-actions .peca-action{padding:7px 8px;font-size:9px}
  .peca-studio-tab-desenho .peca-canvas-tools{right:8px;gap:4px}
  .peca-studio-tab-desenho .peca-canvas-tools button{width:33px;height:33px;font-size:12px}
  .peca-studio-tab-desenho .peca-canvas-statusbar{right:8px;bottom:7px;padding:5px 8px;font-size:8.5px}
  .peca-studio-tab-desenho .peca-crs-overlay{left:8px;bottom:7px;padding:5px 7px;font-size:8.3px}
  .peca-studio-tab-desenho .peca-north-overlay{right:13px;top:11px;transform:scale(1)}
  .peca-fixed-segment-label{font-size:9px;max-width:210px}
  .peca-static-point-label{font-size:10px}
  .peca-static-segment-label{font-size:9.8px}
  .peca-static-area-label{font-size:12px}
  .peca-static-scale text{font-size:8.8px}

  /* Confrontantes */
  .peca-studio-tab-confrontantes .peca-confront-layout{grid-template-columns:minmax(0,1fr) 280px;gap:7px}
  .peca-studio-tab-confrontantes .peca-confront-table-card h2{padding:9px 11px;font-size:11px}
  .peca-studio-tab-confrontantes .peca-confront-table-card .peca-table-wrap{max-height:calc(100vh - 335px)}
  .peca-studio-tab-confrontantes .peca-confront-aside .peca-card{padding:10px}
  .peca-studio-tab-confrontantes .peca-stat-list div,
  .peca-studio-tab-confrontantes .peca-legend-list,
  .peca-studio-tab-confrontantes .small-copy{font-size:9px}
  .peca-studio-tab-confrontantes .peca-confront-details{padding:10px}
  .peca-studio-tab-confrontantes .peca-confront-detail-grid{grid-template-columns:180px 1fr 1.1fr .8fr .9fr;gap:8px}
  .peca-studio-tab-confrontantes .peca-confront-detail-grid h4{font-size:9.5px}
  .peca-studio-tab-confrontantes .peca-confront-detail-grid dl div,
  .peca-studio-tab-confrontantes .peca-confront-detail-grid label{font-size:8.8px}
  .peca-studio-tab-confrontantes .peca-confront-detail-grid input,
  .peca-studio-tab-confrontantes .peca-confront-detail-grid select,
  .peca-studio-tab-confrontantes .peca-confront-detail-grid textarea{padding:6px 7px;font-size:9px}
  .peca-studio-tab-confrontantes .dropzone{min-height:76px;font-size:9px}

  /* Resultados */
  .peca-studio-tab-resultados .peca-metric-cards{gap:7px}
  .peca-studio-tab-resultados .peca-metric-cards article{min-height:82px;padding:10px}
  .peca-studio-tab-resultados .peca-metric-cards span{font-size:9px}
  .peca-studio-tab-resultados .peca-metric-cards strong{font-size:19px;margin-top:6px}
  .peca-studio-tab-resultados .peca-results-layout{grid-template-columns:minmax(0,1fr) 340px;gap:7px;margin-top:7px}
  .peca-studio-tab-resultados .peca-results-map svg{height:380px}
  .peca-studio-tab-resultados .map-legend{font-size:8.8px;padding:6px 8px}
  .peca-studio-tab-resultados .peca-results-aside .peca-card{padding:10px}
  .peca-studio-tab-resultados .big-status{padding:10px;font-size:19px}
  .peca-studio-tab-resultados .big-status b{font-size:13px}
  .peca-studio-tab-resultados .big-status small{font-size:8.8px}
  .peca-studio-tab-resultados .validation-list li,
  .peca-studio-tab-resultados .peca-stat-list div,
  .peca-studio-tab-resultados .peca-simple-table,
  .peca-studio-tab-resultados .bullet-notes{font-size:9px}
  .peca-studio-tab-resultados .peca-simple-table th,
  .peca-studio-tab-resultados .peca-simple-table td{padding:6px}
  .peca-studio-tab-resultados .product-cards b{font-size:9px}
  .peca-studio-tab-resultados .product-cards small{font-size:8px}
  .peca-studio-tab-resultados .product-cards button{padding:6px;font-size:8px}

  /* Rodapé */
  .peca-studio-body .peca-studio-footer{min-height:31px;padding:6px 13px;font-size:8.5px}
}

/* Em notebooks, ganha legibilidade sem forçar o rearranjo precoce dos painéis. */
@media (min-width:1101px) and (max-width:1450px){
  .peca-studio-body .peca-studio-header{grid-template-columns:270px minmax(330px,1fr) 500px}
  .peca-studio-body .peca-studio-tabs a{padding-left:18px;padding-right:18px}
  .peca-studio-tab-resumo .peca-summary-layout{grid-template-columns:300px minmax(0,1fr) 280px}
  .peca-studio-tab-desenho .peca-drawing-layout{grid-template-columns:210px minmax(0,1fr) 270px}
  .peca-studio-tab-confrontantes .peca-confront-layout{grid-template-columns:minmax(0,1fr) 255px}
  .peca-studio-tab-resultados .peca-results-layout{grid-template-columns:minmax(0,1fr) 315px}
}

/* r170 — Memorial PDF: identificação do documento de origem e protocolo SIGEF */
.peca-memorial-result-meta{display:grid;gap:8px;min-width:310px;max-width:430px}
.peca-memorial-source-status{padding:11px 13px;border:1px solid #d4e0e4;border-radius:10px;background:#fff;text-align:right}
.peca-memorial-source-status span,.peca-memorial-source-status strong,.peca-memorial-source-status small{display:block}
.peca-memorial-source-status span{font-size:8px;font-weight:900;letter-spacing:.1em;color:#74838b}
.peca-memorial-source-status strong{margin-top:4px;font-size:11px;color:#294b59}
.peca-memorial-source-status small{margin-top:4px;font-size:8.5px;line-height:1.4;color:#6f7e85;overflow-wrap:anywhere}
.peca-memorial-source-status.certified{border-color:#b9dfd0;background:#eff9f5}.peca-memorial-source-status.certified strong{color:#147054}
.peca-memorial-source-status.draft{border-color:#edd6a7;background:#fff9ec}.peca-memorial-source-status.draft strong{color:#986a08}
.peca-memorial-result-meta .peca-memorial-process-id{min-width:0;width:100%}
@media(max-width:680px){.peca-memorial-result-meta{min-width:0;max-width:none;margin-top:12px}.peca-memorial-source-status{text-align:left}}
