:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --navy:#0b1728;--navy2:#10233b;--bg:#f4f7fb;--surface:#fff;--surface2:#f8fafc;
  --line:#dfe6ef;--line2:#edf1f6;--text:#152033;--muted:#66758a;--soft:#8b99aa;
  --accent:#178bd1;--accent2:#e8f4fc;--good:#198754;--goodbg:#eaf7f0;--bad:#c63f48;--badbg:#fff0f1;
  --warn:#a76d00;--warnbg:#fff7df;--shadow:0 10px 30px rgba(24,42,67,.08)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.hidden{display:none!important}
.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.side{background:var(--navy);color:#fff;padding:18px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebrand,.loginbrand{display:flex;align-items:center;gap:10px}.sidebrand{padding:3px 8px 19px;border-bottom:1px solid rgba(255,255,255,.09)}.brandmark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#45b8ef;color:#062037;font-size:13px;font-weight:900;letter-spacing:-.5px}.sidebrand strong,.loginbrand strong{display:block;font-size:14px}.sidebrand small,.loginbrand small{display:block;font-size:10px;opacity:.65;margin-top:1px}.nav{display:grid;gap:3px;margin-top:16px}.nav button{border:0;background:transparent;color:#aebed0;text-align:left;padding:10px 11px;border-radius:8px;cursor:pointer;font-weight:650;display:flex;align-items:center;gap:10px}.nav button span{width:18px;text-align:center;color:#7891aa}.nav button:hover{background:rgba(255,255,255,.055);color:#fff}.nav button.active{background:#17304d;color:#fff}.nav button.active span{color:#58c4f5}.sidefoot{margin-top:auto;padding:14px 9px 3px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;color:#7f94aa;font-size:10px}.sidefoot b{color:#b9c8d8}
.main{min-width:0;padding:0 28px 40px}.head{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.head h1{font-size:23px;letter-spacing:-.3px;margin:2px 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.1px;color:var(--accent)}.sub{color:var(--muted);font-size:12px}.headActions{display:flex;align-items:center;gap:9px}.health{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff}.health i{width:7px;height:7px;border-radius:50%;background:var(--good)}.health.bad i{background:var(--bad)}
.content{max-width:1220px}.sectionIntro{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 12px}.sectionIntro h2{font-size:15px;margin:0}.sectionIntro p{font-size:12px;color:var(--muted);margin:4px 0 0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:8px;padding:8px 11px;font-weight:700;cursor:pointer;transition:.12s}.btn:hover{border-color:#c7d3e1;background:#fbfdff}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:#087fc4}.btn.ghost{background:transparent}.btn.danger{color:var(--bad)}.btn.wide{width:100%;padding:11px}.btn.small{font-size:11px;padding:6px 8px}.btn:disabled{opacity:.55;cursor:wait}
.tablebox{background:var(--surface);border:1px solid var(--line);border-radius:11px;overflow:hidden}.table{width:100%;border-collapse:collapse}.table th{background:var(--surface2);color:#718095;text-transform:uppercase;letter-spacing:.45px;font-size:10px;text-align:left;padding:9px 11px;border-bottom:1px solid var(--line)}.table td{font-size:12px;padding:10px 11px;border-bottom:1px solid var(--line2);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fbfdff}.mono,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.muted{color:var(--muted)}.tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eef3f8;color:#52657a;font-size:10px;font-weight:750}.tag.good{background:var(--goodbg);color:var(--good)}.tag.bad{background:var(--badbg);color:var(--bad)}.tag.blue{background:var(--accent2);color:#167bb9}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:15px;margin-top:14px}.panelHeader{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid var(--line2)}.panelHeader h2{font-size:14px;margin:0}.panelHeader p{font-size:11px;color:var(--muted);margin:4px 0 0}.form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 13px}.form.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field label{display:block;color:#526277;font-size:11px;font-weight:700;margin:0 0 5px}.field small{display:block;color:var(--soft);font-size:10px;margin-top:4px}.field input,.field select{width:100%;height:38px;border:1px solid #ced8e5;background:#fff;color:var(--text);border-radius:7px;padding:0 10px;outline:none}.field input:focus,.field select:focus{border-color:#55aee0;box-shadow:0 0 0 3px rgba(23,139,209,.09)}.formActions{display:flex;gap:8px;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid var(--line2)}.note{font-size:11px;color:var(--muted)}.notice{border-left:3px solid var(--accent);background:#f3f9fd;padding:9px 11px;border-radius:0 7px 7px 0;font-size:11px;color:#496174}.notice.warn{border-left-color:#d9a11b;background:var(--warnbg);color:#705414}
.integrationGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.integrationCard{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.integrationTop{padding:14px 15px;border-bottom:1px solid var(--line2);display:flex;align-items:start;justify-content:space-between;gap:10px}.integrationTop h2{font-size:14px;margin:0}.integrationTop p{font-size:11px;color:var(--muted);margin:4px 0 0}.integrationBody{padding:14px 15px}.integrationFoot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 15px;border-top:1px solid var(--line2);background:#fbfcfe}.lastTest{font-size:10px;color:var(--muted);margin-left:auto;max-width:55%}
.testGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.testCard{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.testCard header{padding:13px 14px;border-bottom:1px solid var(--line2)}.testCard h3{font-size:13px;margin:0}.testCard p{font-size:10px;color:var(--muted);margin:4px 0 0}.testBody{padding:13px 14px}.testRow{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:end;margin-bottom:9px}.testResult{margin-top:10px;border:1px solid var(--line);background:#f8fafc;border-radius:8px;min-height:68px;padding:10px;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow:auto;max-height:310px;color:#30445a}.testResult.ok{border-color:#bfe5cf;background:#f3fbf6}.testResult.error{border-color:#f0c5c8;background:#fff7f7}.statusline{display:flex;align-items:center;gap:7px;font-size:11px;margin-top:8px}.statusdot{width:8px;height:8px;border-radius:50%;background:#aeb9c5}.statusdot.ok{background:var(--good)}.statusdot.error{background:var(--bad)}
.empty{padding:34px;text-align:center;color:var(--muted);font-size:12px}.toast{position:fixed;right:20px;top:18px;background:#12243b;color:#fff;padding:10px 13px;border-radius:8px;box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);transition:.16s;pointer-events:none;z-index:90;font-size:12px}.toast.show{opacity:1;transform:none}
.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#091424 0%,#10243b 100%)}.loginbox{width:min(390px,100%);background:#fff;color:var(--text);border-radius:14px;padding:24px;box-shadow:0 25px 70px rgba(0,0,0,.3)}.loginbrand{margin-bottom:22px}.loginbrand .brandmark{width:38px;height:38px}.loginintro{margin-bottom:17px}.loginintro h1{font-size:21px;margin:0}.loginintro p{font-size:12px;color:var(--muted);margin:5px 0 0}.loginbox>label{display:block;font-size:11px;font-weight:750;color:#4b5b70;margin:10px 0 5px}.loginbox input,.loginbox select{width:100%;height:42px;border:1px solid #cdd8e5;border-radius:8px;padding:0 10px;background:#fff!important;color:#172033!important;-webkit-text-fill-color:#172033!important;outline:none}.loginbox input:focus,.loginbox select:focus{border-color:#55aee0;box-shadow:0 0 0 3px rgba(23,139,209,.09)}.loginbox .wide{margin-top:15px}.loginerr{min-height:18px;margin-top:8px;color:var(--bad);font-size:11px}
@media(max-width:980px){.integrationGrid,.testGrid{grid-template-columns:1fr}.form{grid-template-columns:repeat(2,minmax(0,1fr))}.lastTest{max-width:none;margin-left:0;width:100%}}
@media(max-width:760px){.shell{grid-template-columns:1fr}.side{position:sticky;height:auto;z-index:30;padding:10px 10px 8px}.sidebrand{padding:0 3px 9px}.nav{display:flex;gap:4px;overflow-x:auto;margin-top:8px;padding-bottom:1px}.nav button{white-space:nowrap;width:auto;padding:8px 9px}.nav button span{display:none}.sidefoot{display:none}.main{padding:0 12px 28px}.head{min-height:75px;margin-bottom:14px}.head h1{font-size:19px}.health{display:none}.form,.form.two{grid-template-columns:1fr}.tablebox{overflow-x:auto}.table{min-width:700px}.testRow{grid-template-columns:1fr 100px}.testRow .btn{grid-column:1/-1}.integrationFoot{align-items:flex-start}}


/* 0.1.8 - configurações restauradas */
.settingsList{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.settingRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,300px);gap:24px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.settingRow:last-child{border-bottom:0}
.settingRow h3{margin:0 0 4px;font-size:14px}
.settingRow p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.settingControl{display:flex;align-items:center;gap:9px;justify-content:flex-end}
.settingControl input,.settingControl select{width:150px}
.settingControl.wideControl select{width:100%;max-width:300px}
.settingControl span{font-size:12px;color:var(--muted)}
.stickySave{position:sticky;bottom:12px;margin-top:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 12px 34px rgba(0,0,0,.16)}
.stickySave>div:first-child{display:flex;flex-direction:column;gap:3px}
.stickySave b{font-size:12px}
.stickySave b.changed{color:#f1b84b}
.stickySave span{font-size:11px;color:var(--muted)}
@media(max-width:760px){
  .settingRow{grid-template-columns:1fr;gap:10px}
  .settingControl{justify-content:flex-start}
  .settingControl input,.settingControl select,.settingControl.wideControl select{width:100%;max-width:none}
  .stickySave{position:static;align-items:stretch;flex-direction:column}
  .stickySave .actions{display:grid;grid-template-columns:1fr 1fr}
}

/* 0.1.9 - integrações mais claras */
.linkBtn{appearance:none;border:0;background:none;padding:0;margin:0 0 0 4px;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.field.hidden{display:none!important}
.field small{display:block;margin-top:5px;line-height:1.35}

.optionalText{font-weight:500;color:var(--muted);font-size:10px}

.batchAdminError{max-width:420px;font-size:11px;line-height:1.35}
.batchAdminError b{color:#b42318}
.batchAdminError div{margin-top:3px;color:var(--muted);white-space:normal;word-break:break-word}

/* 0.1.15 - configuração de impressão sincronizada */
.adminSection{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.adminSection>.panelHeader{margin:0;padding:14px 16px;border-bottom:1px solid var(--line)}
.configRows{display:flex;flex-direction:column}.configRow{display:grid;grid-template-columns:minmax(230px,1fr) minmax(520px,1.7fr);gap:16px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}.configRow:last-child{border-bottom:0}.configRow.isUnavailable{opacity:.62;background:rgba(148,163,184,.07)}
.configMain{min-width:0}.configTitle{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px}.configMeta{font-size:10px;color:var(--muted);margin-top:4px;white-space:normal;word-break:break-word}.statusDot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#94a3b8}.statusDot.on{background:#23b26d}.statusDot.off{background:#d15a62}
.configControls{display:grid;grid-template-columns:minmax(140px,1.4fr) 94px 120px auto;gap:8px;align-items:end}.configControls.layoutControls{grid-template-columns:90px 100px minmax(140px,1.2fr) 105px minmax(160px,1.25fr) auto}.configControls label{min-width:0}.configControls label>span{display:block;font-size:9px;color:var(--muted);font-weight:700;margin:0 0 4px}.configControls input,.configControls select{width:100%;height:34px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);padding:0 8px}.configControls .btn{height:34px;padding:0 11px}.emptyRow{padding:24px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:1050px){.configRow{grid-template-columns:1fr}.configControls,.configControls.layoutControls{grid-template-columns:repeat(2,minmax(0,1fr))}.configControls .btn{width:100%}}

.rowActions{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.btn.small{padding:7px 9px;font-size:11px;white-space:nowrap}

/* 0.1.23 - diagnóstico completo do lote */
.adminModal{display:none;position:fixed;inset:0;z-index:120}.adminModal.open{display:block}
.adminModalBackdrop{position:absolute;inset:0;background:rgba(8,19,34,.42)}
.adminModalPanel{position:absolute;right:0;top:0;bottom:0;width:min(780px,94vw);background:#f7f9fc;border-left:1px solid var(--line);box-shadow:-16px 0 50px rgba(15,31,50,.18);display:flex;flex-direction:column}
.adminModalHead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:#fff;border-bottom:1px solid var(--line)}
.adminModalHead b{display:block;font-size:15px}.adminModalHead span{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.adminModalBody{padding:14px 18px 24px;overflow:auto}
.diagSummary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.diagSummary>div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px}
.diagSummary span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.35px}.diagSummary b{display:block;margin-top:4px;font-size:11px;word-break:break-word}
.diagSection{background:#fff;border:1px solid var(--line);border-radius:8px;margin:8px 0;overflow:hidden}.diagSection summary{cursor:pointer;padding:10px 12px;font-weight:800;font-size:11px}
.diagSection pre{margin:0;border-top:1px solid var(--line);padding:12px;max-height:320px;overflow:auto;background:#0d1825;color:#d8e5f2;font-size:10px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.badNotice{border-left-color:#b91c1c!important;color:#8f1d1d!important;background:#fff0f0!important}
@media(max-width:700px){.adminModalPanel{width:100vw}.diagSummary{grid-template-columns:1fr}}

/* 0.1.25 - seleção e limpeza de lotes */
.bulkArchiveBar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.bulkArchiveBar span{font-size:10px;color:var(--muted);font-weight:700;white-space:nowrap}
.btn.dangerSoft{color:#9f2d34;border-color:#edcfd2;background:#fff7f7}
.btn.dangerSoft:not(:disabled):hover{background:#fff0f1;border-color:#e4b9bd}
.btn.dangerSoft:disabled{opacity:.42;cursor:not-allowed}
.selectCol{width:38px;text-align:center!important}
.selectCol input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
.selectDisabled{color:#c5cdd6;font-size:11px}
.archiveableRow.selectedRow{background:#f2f8fc!important}
.archiveableRow.selectedRow td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
@media(max-width:760px){
  .bulkArchiveBar{width:100%;justify-content:flex-start}
  .selectCol{position:sticky;left:0;background:inherit;z-index:2}
}

/* 0.1.26 - seleção por linha */
.selectableBatchRow{cursor:pointer;transition:background .12s ease}
.selectableBatchRow:hover{background:#f7fbfe}
.selectableBatchRow.selectedRow{background:#eef7fd!important}
.selectableBatchRow.selectedRow td:first-child{box-shadow:inset 3px 0 0 var(--accent)}

/* Acesso e versão 0.1.28 */
.loginbox>label.rememberRow{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:500;margin:16px 0 0;cursor:pointer}
.loginbox .rememberRow input{width:17px;height:17px;flex:0 0 17px;padding:0;accent-color:#178bd1}
.loginFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.loginFooter a{color:#1476b1;text-decoration:none;font-weight:600}
.version{font-size:11px;font-weight:500;white-space:nowrap;color:var(--muted)}

.headActions{flex-wrap:wrap;justify-content:flex-end}.headActions a{text-decoration:none}@media(max-width:760px){.headActions{gap:6px}.headActions .version{font-size:10px}}

.settingControl input,.settingControl select{min-height:40px;border:1px solid #cdd8e5;border-radius:8px;background:#fff;color:var(--text);padding:7px 10px;font-size:13px;max-width:100%}.settingControl input:focus,.settingControl select:focus{outline:2px solid #b9e0f5;outline-offset:1px}
