:root{
  --petroleo:#0D3866;--roxo:#6A35D9;--violeta:#8B5CF6;--fundo:#F4F6F8;--grafite:#1F2937;
  --sucesso:#22C55E;--alerta:#F59E0B;--erro:#EF4444;--info:#3B82F6;--neutro:#94A3B8;
  --panel:#fff;--line:#E5E7EB;--muted:#667085;--shadow:0 8px 24px rgba(15,23,42,.055);--radius:16px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fundo);color:var(--grafite);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
h1,h2,h3,h4,.brand,.metric,.kpi-value{font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif}a{color:var(--roxo);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden,.hide{display:none!important}
.shell{display:grid;grid-template-columns:258px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.side-head{padding:18px;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:11px;align-items:center;font-weight:900;letter-spacing:.16em;color:var(--petroleo)}.brand-mark{width:39px;height:39px;border-radius:11px;background:linear-gradient(145deg,#A78BFA,#6A35D9 52%,#4F46E5);color:white;display:grid;place-items:center;font-size:24px;box-shadow:inset 0 0 16px rgba(255,255,255,.2),0 8px 18px rgba(106,53,217,.16)}.brand small{display:block;font-size:8px;color:var(--roxo);letter-spacing:.28em;margin-top:2px}.product{font-size:11px;color:var(--muted);margin-top:7px}.nav{padding:10px;overflow:auto}.nav a{display:block;padding:10px 12px;border-radius:10px;margin:2px 0;color:#475467;font-weight:700;font-size:13px}.nav a:hover,.nav a.active{background:linear-gradient(90deg,#F4F0FF,#F9F8FF);color:var(--roxo)}.nav-section{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#98A2B3;padding:14px 12px 6px}.side-foot{margin-top:auto;padding:14px;border-top:1px solid var(--line)}.env-card{display:flex;justify-content:space-between;align-items:center;background:#F8FAFC;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.env-card small{display:block;color:var(--muted);font-size:10px}.env-card b{display:block;font-size:12px;margin-top:2px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.ok{background:var(--sucesso)}
.main{min-width:0}.topbar{height:68px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.topbar>div:first-child b{display:block;font-size:14px}.topbar>div:first-child small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.top-actions{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#EDE9FE,#DBEAFE);font-weight:900;color:var(--roxo)}.content{max-width:1500px;margin:0 auto;padding:24px}
.page-head,.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.page-head{margin-bottom:20px}.page-head h1{font-size:28px;margin:0}.page-head p,.section-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.section-head h3{margin:0}.section-head{margin-bottom:13px}
.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.span4{grid-column:span 4}.span6{grid-column:span 6}.span8{grid-column:span 8}.span12{grid-column:1/-1}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.pad,.card-pad{padding:18px}.card h2{font-size:18px;margin:0 0 12px}.card h3{font-size:15px;margin:0 0 10px}.metric,.kpi-value{font-size:28px;font-weight:900;margin:6px 0}.muted{color:var(--muted);font-size:13px}.kpi-label{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.03em}.kpi-meta{font-size:12px;color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.badge.ok{background:#ECFDF3;color:#067647}.badge.warn{background:#FFFAEB;color:#B54708}.badge.bad,.badge.err{background:#FEF3F2;color:#B42318}.badge.info{background:#EFF8FF;color:#175CD3}.badge.neutral{background:#F2F4F7;color:#475467}.ok{color:#067647}.warn{color:#B54708}.bad{color:#B42318}
label{display:block;font-size:12px;font-weight:800;color:#475467;margin:10px 0 6px}input,select,textarea{width:100%;border:1px solid #D0D5DD;border-radius:10px;padding:10px 11px;background:#fff;color:#1F2937;outline:none}input:focus,select:focus,textarea:focus{border-color:#A78BFA;box-shadow:0 0 0 3px rgba(139,92,246,.11)}textarea{resize:vertical;min-height:78px}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.row3,.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.span2{grid-column:span 2}.span3{grid-column:1/-1}
.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:15px}.btn,button.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;transition:.15s ease}.btn:hover{transform:translateY(-1px)}.btn.primary,.primary{background:linear-gradient(135deg,var(--roxo),var(--violeta));color:#fff}.btn.secondary,.secondary{background:#fff;border:1px solid #C9B8FF;color:var(--roxo)}.btn.tertiary,.tertiary{background:#F2F4F7;color:#344054}.btn.danger,.danger{background:#FFF1F2;color:#B42318;border:1px solid #FECDCA}.btn.tiny{padding:6px 9px;font-size:11px}button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.notice{border-radius:12px;padding:12px 14px;font-size:13px}.notice.info{background:#EFF8FF;border:1px solid #B2DDFF;color:#1849A9}.notice.ok{background:#ECFDF3;border:1px solid #ABEFC6;color:#067647}.notice.warn{background:#FFFAEB;border:1px solid #FEDF89;color:#93370D}.notice.bad,.notice.err{background:#FEF3F2;border:1px solid #FECDCA;color:#B42318}.mt{margin-top:16px}.mt-sm{margin-top:10px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:11px 12px;border-bottom:1px solid #EEF2F6;text-align:left;vertical-align:middle;font-size:13px}th{background:#F8FAFC;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}tr:last-child td{border-bottom:0}
.mini-list{display:grid}.mini-list>div,.mini-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #EEF2F6;font-size:13px}.mini-list>div:last-child,.mini-row:last-child{border:0}.service-card{min-width:0}.service-card code,td code{font-family:Consolas,monospace;font-size:12px}.api-secret{display:block;margin-top:8px;padding:10px;background:#F8FAFC;border-radius:8px;overflow-wrap:anywhere}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow:auto}.tabs button{border:0;background:transparent;padding:10px 12px;color:#667085;font-weight:800;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{color:var(--roxo);border-color:var(--roxo)}.tab-pane{display:none}.tab-pane.active{display:block}
.code,.result,.sequence-console{background:#111827;color:#E5EEF8;border-radius:12px;padding:14px;white-space:pre-wrap;overflow:auto;font:12px/1.55 Consolas,"Courier New",monospace}.result{margin-top:12px}.sequence-console{min-height:100px}.success-text{color:#86EFAC}.error-text{color:#FCA5A5}.error-list{list-style:none;padding:0;margin:12px 0 0}.error-list li{padding:11px;border:1px solid #FECDCA;background:#FEF3F2;border-radius:10px;margin:7px 0}.readylist{list-style:none;padding:0;margin:0}.readylist li{padding:6px 0}.scope-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.scope-grid label{display:flex;gap:7px;align-items:center;margin:0;padding:9px;border:1px solid var(--line);border-radius:9px;font-weight:700}.scope-grid input{width:auto}
.modal-bg{position:fixed;inset:0;background:rgba(15,23,42,.50);display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 28px 80px rgba(15,23,42,.28)}.modal.large{width:min(920px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h3{margin:0}.modal-bg.hidden{display:none!important}
/* Login */.login-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#F8FAFC}.login-hero{position:relative;overflow:hidden;padding:58px;background:linear-gradient(150deg,#fff,#F9FAFF 60%,#EEF2FF);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}.login-hero:after{content:"";position:absolute;right:-210px;top:70px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.25),rgba(106,53,217,.05) 50%,transparent 72%)}.login-copy{position:relative;z-index:2}.login-copy h1{font-size:45px;line-height:1.08;margin:0 0 16px;max-width:650px}.login-copy h1 span{color:var(--info)}.login-copy p{font-size:17px;line-height:1.6;color:#475467;max-width:650px}.login-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.login-chip{border:1px solid #DDD6FE;background:rgba(255,255,255,.82);color:#5B21B6;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:750}.login-panel{display:grid;place-items:center;padding:28px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 22px 60px rgba(15,23,42,.10)}
.toast{position:fixed;right:22px;bottom:22px;z-index:120;background:#1F2937;color:#fff;border-radius:11px;padding:12px 15px;box-shadow:0 18px 45px rgba(15,23,42,.28);max-width:380px;font-size:13px}.toast.hidden{display:none!important}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g2,.g3{grid-template-columns:1fr 1fr}.form-grid,.row3{grid-template-columns:1fr 1fr}.login-layout{grid-template-columns:1fr}.login-hero{display:none}}
@media(max-width:780px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.nav{display:flex;overflow:auto}.nav-section{display:none}.nav a{white-space:nowrap}.side-foot{display:none}.topbar{position:relative;padding:0 14px}.content{padding:15px}.g4,.g2,.g3,.row,.row3,.form-grid{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.page-head,.section-head{flex-direction:column}.top-actions .badge{display:none}.scope-grid{grid-template-columns:1fr}}

/* v1.2.1 — listas em escala */
.filter-card{box-shadow:none}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.company-filter-grid .span2,.service-filter-grid .span2,.note-filter-grid .span2{grid-column:span 2}.filter-actions{align-self:end}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}.nowrap{white-space:nowrap}.full{width:100%}.admin-shell .sidebar{background:#fff}.admin-shell .content{max-width:1700px}.table-wrap tbody tr:hover{background:#FCFCFD}
@media(max-width:1100px){.filter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.filter-grid{grid-template-columns:1fr}.company-filter-grid .span2,.service-filter-grid .span2,.note-filter-grid .span2{grid-column:auto}.pagination{align-items:flex-start;flex-direction:column}}

/* v1.3.0 — acabamento da visão aprovada */
.brand-large{font-size:22px}.brand-large .brand-mark{width:46px;height:46px;font-size:28px}.full{width:100%}
.card.kpi{padding:18px}.card.kpi>span{display:block;font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.03em}.card.kpi>strong{display:block;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-size:28px;font-weight:900;margin:7px 0;color:var(--grafite)}.card.kpi>small{display:block;color:var(--muted);font-size:12px}
.ready-list{display:grid;gap:7px}.ready-list>div{display:flex;align-items:center;gap:8px;font-size:13px}.dot.err{background:var(--erro)}
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.result-box{margin-top:14px}.result-json{background:#111827;color:#E5EEF8;border-radius:12px;padding:14px;white-space:pre-wrap;overflow:auto;font:12px/1.55 Consolas,"Courier New",monospace}
.chart-bars{height:230px;display:flex;align-items:flex-end;gap:9px;padding:18px 8px 24px;border-bottom:1px solid var(--line)}.chart-col{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative;min-width:20px}.chart-col>span{display:block;width:72%;max-width:32px;min-height:8px;background:linear-gradient(180deg,var(--violeta),var(--roxo));border-radius:7px 7px 2px 2px}.chart-col>small{position:absolute;bottom:-22px;font-size:9px;color:var(--muted);white-space:nowrap}.endpoint{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #EEF2F6}.endpoint:last-of-type{border-bottom:0}.endpoint b{font-size:10px;color:#175CD3;background:#EFF8FF;border-radius:6px;padding:4px 6px;text-align:center}.endpoint code{font-size:12px;overflow-wrap:anywhere}
.note-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.note-modal-item{padding:10px 0;border-bottom:1px solid #EEF2F6}.note-modal-item span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.note-modal-item b,.note-modal-item code{font-size:13px;overflow-wrap:anywhere}.note-modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
@media(max-width:780px){.note-modal-grid{grid-template-columns:1fr}}


/* v1.4.0 — multivisão Host / Empresa / Integração */
.role-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #E7E2FF;border-radius:18px;background:linear-gradient(135deg,#fff,#FBFAFF);box-shadow:var(--shadow);margin-bottom:16px}.role-hero h1{font-size:25px;line-height:1.15;margin:5px 0 8px}.role-hero p{max-width:900px;color:var(--muted);margin:0;line-height:1.55}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--roxo)}.architecture-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.architecture-flow span{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px;font-weight:800}.architecture-flow b{color:var(--neutro)}.api-responsibility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.api-responsibility>div{border:1px solid var(--line);background:#F8FAFC;border-radius:10px;padding:10px 11px;font-size:12px;font-weight:750}.endpoint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.endpoint-grid>div{display:grid;grid-template-columns:52px 1fr;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 10px}.endpoint-grid b{font-size:10px;color:#175CD3;background:#EFF8FF;border-radius:6px;padding:4px 6px;text-align:center}.endpoint-grid code{font-size:12px;overflow-wrap:anywhere}.admin-shell .content{max-width:1700px}.admin-shell .env-card b{font-size:10px}
@media(max-width:780px){.role-hero{flex-direction:column}.api-responsibility,.endpoint-grid{grid-template-columns:1fr}}

/* v2.0.1 — Escritórios, vínculo de empresas e CRUD de usuários */
.company-card{transition:.15s ease}.company-card:hover{border-color:#D8CCFF;box-shadow:0 12px 28px rgba(106,53,217,.08)}
.company-context-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(120deg,var(--petroleo),#194B78 60%,#47318D);color:#fff;border-radius:14px;padding:12px 14px;margin-bottom:16px;box-shadow:var(--shadow)}.company-context-bar small{display:block;font-size:9px;letter-spacing:.08em;opacity:.72}.company-context-bar b{display:block;font-size:13px;margin-top:2px}.company-context-bar select{min-width:320px;border-color:rgba(255,255,255,.32)}
.permission-chips{display:flex;gap:6px;flex-wrap:wrap}.permission-chips span{font-size:10px;background:#F3EEFF;color:var(--roxo);border:1px solid #DDCFFF;padding:5px 7px;border-radius:999px;font-weight:800}.permission-matrix .matrix-check{width:18px;height:18px;accent-color:var(--roxo)}
.executor-page{min-height:100vh}.executor-head{height:72px;background:#fff;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between}.executor-head>div{display:flex;align-items:center;gap:10px}.executor-content{max-width:1200px;margin:0 auto;padding:30px}.office-shell .sidebar{background:#fff}
@media(max-width:780px){.company-context-bar{align-items:flex-start;flex-direction:column}.company-context-bar select{min-width:0;width:100%}.executor-head{padding:0 16px}.executor-content{padding:18px}}
.office-link-row{display:flex;gap:6px;align-items:center}.office-link-row select{min-width:150px}.mt-xs{margin-top:5px}

/* v2.1.0 — workspace único, listas e autenticação */
.workspace-card{margin:12px 12px 2px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#FAFBFC}.workspace-card small{display:block;font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--neutro)}.workspace-card b{display:block;font-size:12px;margin-top:4px;color:#25334A}.workspace-card span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.user-card-mini{display:flex;gap:9px;align-items:center;min-width:0}.user-card-mini>div{min-width:0}.user-card-mini b{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-mini small{display:block;color:var(--muted);font-size:9px}.top-company-select{min-width:300px;max-width:460px;font-size:11px;padding:8px 10px}.nav-empty{display:block;padding:9px 12px;color:var(--neutro);font-size:11px}.auth-center{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(139,92,246,.10),transparent 28%),var(--fundo)}.auth-center .login-card h2{margin:22px 0 8px}.auth-center .login-card p{color:var(--muted);line-height:1.55}.forgot-link{display:block;text-align:center;margin-top:14px;font-size:12px;font-weight:700}.simple-filter-grid{grid-template-columns:2fr 1fr 1fr}.support-banner{padding:12px 14px;border-radius:12px;background:#FFF7E8;border:1px solid #FFE2A8;color:#8C5B00;font-size:11px;margin-bottom:14px}.attention-row{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:11px;border-radius:11px;margin-bottom:8px}.attention-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#FFF7E8;color:#B66D00;font-weight:900}.attention-row b{display:block;font-size:11px}.attention-row small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.permission-user-filter{max-width:520px}.permission-table .matrix-check{width:18px;height:18px;accent-color:var(--roxo)}
@media(max-width:780px){.top-company-select{min-width:0;max-width:55vw}.simple-filter-grid{grid-template-columns:1fr}.workspace-card{display:none}}
