.pl-app{--pl-surface:var(--panel);--pl-muted:var(--text-soft);padding:24px;color:var(--text);max-width:1600px}.pl-app *{box-sizing:border-box}.pl-app h1{font-size:24px;letter-spacing:-.5px;margin:18px 0 8px}.pl-app h2{font-size:17px;margin:18px 0 14px}.pl-app h3{font-size:14px}.pl-muted{color:var(--pl-muted);font-size:12px}.pl-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0}.pl-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pl-button{font:inherit;font-size:12px;color:var(--text);background:var(--panel);border:1px solid var(--line);padding:8px 12px;border-radius:8px;cursor:pointer;min-height:35px}.pl-button:hover:not(:disabled){border-color:var(--blue)}.pl-button:disabled{opacity:.45;cursor:not-allowed}.pl-button[aria-pressed=true]{color:var(--blue);border-color:var(--blue)}.pl-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.pl-app :focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pl-badge{color:var(--pl-muted);font-size:11px;background:var(--panel-alt);border-radius:6px;padding:5px 8px}.pl-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:26px;min-width:0}.pl-wizard{display:grid;grid-template-columns:170px minmax(0,760px);gap:28px;margin-top:28px}.pl-wizard nav{display:flex;flex-direction:column;gap:7px}.pl-step{border:0;background:transparent;color:var(--pl-muted);font:inherit;font-size:12px;display:flex;text-align:left;gap:10px;align-items:center;padding:10px;border-radius:8px;cursor:pointer}.pl-step span{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);width:25px;height:25px;border-radius:50%;font-size:11px;flex-shrink:0}.pl-step.selected{color:var(--blue);background:var(--panel-alt)}.pl-step.selected span{background:var(--blue);color:#fff;border-color:var(--blue)}.pl-step:disabled{opacity:.5;cursor:default}.pl-field{display:flex;flex-direction:column;gap:7px;margin:14px 0;color:var(--pl-muted);font-size:12px;min-width:0}.pl-input{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:9px 10px;width:100%;min-width:0}.pl-input[type=color]{width:90px;height:39px;padding:3px}.pl-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pl-choice{display:flex;gap:10px;padding:15px;border:1px solid var(--line);border-radius:8px;align-items:center;margin:10px 0;color:var(--text);font-size:12px}.pl-app input[type=checkbox],.pl-app input[type=radio]{accent-color:var(--blue);width:16px;height:16px;flex-shrink:0}.pl-note{font-size:12px;line-height:1.6;background:var(--panel-alt);color:var(--pl-muted);border-radius:8px;padding:14px;margin:17px 0}.pl-error{color:var(--red,#ef4444);background:var(--panel-alt);border:1px solid currentColor;border-radius:8px;padding:12px;margin-bottom:16px;font-size:13px}.pl-modal-error{color:var(--red,#ef4444);margin-top:10px;white-space:pre-wrap}.pl-footer{border-top:1px solid var(--line);padding-top:17px;margin-top:25px}.pl-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.pl-months>.pl-field,.pl-months>div{margin:0;border:1px solid var(--line);padding:12px;border-radius:8px}.pl-months small{display:block;color:var(--pl-muted);font-size:11px;margin-top:7px}.pl-review{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pl-review small{display:block;color:var(--pl-muted);margin-bottom:6px}.pl-list{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:18px 0}.pl-list-row{display:flex;align-items:center;gap:14px;padding:17px;border-bottom:1px solid var(--line);margin:0}.pl-list-row:last-child{border-bottom:0}.pl-list-row small{display:block;color:var(--pl-muted);font-size:11px;margin-top:4px}.pl-grow{flex:1;min-width:0}.pl-list-row .pl-input{max-width:190px}.pl-code{background:var(--panel-alt);color:var(--blue);padding:8px;border-radius:7px}.pl-tabs{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;margin:18px 0}.pl-tabs .pl-button{background:transparent}.pl-table-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;margin:18px 0}.pl-app table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.pl-app th{background:var(--panel-alt);text-align:left;color:var(--pl-muted);font-size:11px;font-weight:500;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.pl-app td{padding:12px;border-bottom:1px solid var(--line)}.pl-app tr:last-child td{border-bottom:0}.pl-grid{min-width:1350px;table-layout:fixed}.pl-grid th:first-child,.pl-grid td:first-child{position:sticky;left:0;z-index:2;width:240px;background:var(--panel);border-right:1px solid var(--line)}.pl-grid td{padding:6px;text-align:right;font-variant-numeric:tabular-nums;position:relative}.pl-grid td:first-child{text-align:left;padding:12px}.pl-grid td small{display:block;color:var(--pl-muted);font-size:10px}.pl-grid th small{display:block;color:var(--pl-muted);font-size:9px}.pl-grid .pl-button{padding:0;min-height:16px;position:absolute;top:0;right:0;line-height:1;border:0;background:transparent;color:var(--blue);font-size:12px}.pl-cell{font:inherit;text-align:right;width:100%;padding:10px 3px;border:1px solid transparent;background:transparent;color:var(--text);border-radius:5px;font-size:11px}.pl-cell:not(:disabled):hover{border-color:var(--line)}.pl-cell:disabled{opacity:.8}.pl-subtotal td,.pl-subtotal td:first-child{background:var(--panel-alt);font-weight:600}.pl-cc{border:1px solid var(--line);border-radius:8px;padding:9px 12px;min-width:230px}.pl-cc summary{cursor:pointer;font-size:12px}.pl-cc .pl-choice{padding:7px;border:0;margin:4px 0}.pl-dialog{border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);width:620px;max-width:calc(100vw - 35px);max-height:85vh;overflow:auto;padding:24px}.pl-dialog::backdrop{background:rgba(0,0,0,.45)}.pl-dialog>.pl-actions{justify-content:flex-end;margin-top:20px}.pl-list-row:has(summary){display:block}.pl-dialog .pl-choice{padding:9px}.pl-dialog h2{margin-top:0}@media(max-width:950px){.pl-wizard{grid-template-columns:140px minmax(0,1fr);gap:15px}.pl-panel{padding:18px}.pl-months{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-list-row{flex-wrap:wrap}}@media(max-width:650px){.pl-app{padding:14px}.pl-wizard{grid-template-columns:1fr}.pl-wizard nav{flex-direction:row;flex-wrap:wrap}.pl-step{font-size:0;padding:4px}.pl-step.selected{font-size:11px}.pl-columns,.pl-review{grid-template-columns:1fr}.pl-list-row{padding:12px}.pl-months{grid-template-columns:1fr 1fr}}

.pl-badge--ok{color:var(--theme-ink-green,#16a34a);background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.22);font-weight:650}
.pl-grid td:first-child{font-size:11px}
.pl-grid td small.pl-acc-num{display:inline;margin-right:6px;font-size:11px}
.pl-grid th:first-child,.pl-grid td:first-child{width:320px}
.pl-tabrow{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 16px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:18px 0}
.pl-tabrow .pl-tabs{border-bottom:0;margin:0 0 12px;padding-bottom:0}
.pl-tabrow .pl-toolbar{margin-bottom:12px}
.pl-ctx{position:fixed;z-index:9999;min-width:210px;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);display:flex;flex-direction:column}
.pl-ctx button{font:inherit;font-size:12px;text-align:left;color:var(--text);background:transparent;border:0;border-radius:6px;padding:9px 11px;cursor:pointer}
.pl-ctx button:hover:not(:disabled){background:var(--panel-alt);color:var(--blue)}
.pl-ctx button:disabled{opacity:.45;cursor:not-allowed}
.pl-tabrow .pl-toolbar{margin-left:auto}
.pl-cc{position:relative}
.pl-cc-list{max-height:min(60vh,360px);overflow-y:auto;overscroll-behavior:contain;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;min-width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.pl-title{display:flex;align-items:center;gap:10px}
.pl-back{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--pl-muted);cursor:pointer;border-radius:50%;line-height:0}
.pl-back:hover{color:var(--blue)}
.pl-subtitle{display:block;margin:0 0 0 36px;font-size:12px;color:var(--text-faint)}
.pl-reports{margin:18px 0 8px}
.pl-grid thead th:not(:first-child){text-align:center;font-weight:700}
.pl-tabrow--bare{border-bottom:0;margin:0}
.pl-grid{min-width:1800px}
.pl-grid th:not(:first-child),.pl-grid td:not(:first-child){width:112px}
.pl-grid th:last-child,.pl-grid td:last-child{width:130px}
.pl-dialog-head{position:sticky;top:-24px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-24px -24px 12px;padding:20px 24px 10px;background:var(--panel)}
.pl-dialog-head h2{margin:0}
.pl-dialog-x{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--pl-muted);cursor:pointer;flex-shrink:0}
.pl-dialog-x:hover{background:var(--panel-alt);color:var(--text)}
.pl-line-row[draggable=true]{cursor:grab}
.pl-line-row[draggable=true]:active{cursor:grabbing}
.pl-row-drag{opacity:.45}
.pl-drop-before td{box-shadow:inset 0 2px 0 var(--blue)}
.pl-drop-after td{box-shadow:inset 0 -2px 0 var(--blue)}
.pl-note--lock{display:flex;gap:6px;align-items:baseline;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.1);color:var(--text)}

/* Grade dos formulários: rolagem própria limitada à altura da tela, assim a barra horizontal fica sempre visível e o cabeçalho acompanha. */
.pl-grid-scroll{max-height:calc(100vh - 150px)}
.pl-grid-scroll .pl-grid thead th{position:sticky;top:0;z-index:3;background:var(--panel)}
.pl-grid-scroll .pl-grid thead th:first-child{z-index:4}
