:root { --brand:#2857d9; --brand-dark:#162f79; --ink:#172036; --muted:#70798e; --line:#e5e9f2; --bg:#f4f7fc; --green:#20a56a; --red:#c43f4d; --shadow:0 18px 55px rgba(24,45,99,.12); }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; font-family:"Segoe UI",Inter,Arial,sans-serif; color:var(--ink); background:var(--bg); }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.hidden { display:none!important; }
.toast { position:fixed; z-index:1000; left:50%; bottom:24px; transform:translate(-50%,20px); opacity:0; pointer-events:none; padding:13px 18px; border-radius:12px; color:#fff; background:#172036; box-shadow:var(--shadow); transition:.2s; text-align:center; max-width:90vw; }
.toast.show { opacity:1; transform:translate(-50%,0); }.toast.error{background:#a92f3d}
.login-screen { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 15% 10%,#dbe7ff,transparent 35%),linear-gradient(145deg,#f8faff,#eef3fc); }
.login-card { width:min(470px,100%); padding:42px; border-radius:26px; background:#fff; box-shadow:0 28px 90px rgba(20,45,112,.17); }
.admin-brand { display:flex; align-items:center; gap:12px; }.admin-brand>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#3767eb,#1b43bd);font-size:22px;font-weight:800}.admin-brand>span img{width:96%;height:96%;object-fit:contain}.admin-brand strong,.admin-brand small{display:block}.admin-brand small{color:#8390aa;margin-top:2px}.admin-brand.light{color:#fff}.admin-brand.light small{color:#91a8e2}
.eyebrow { color:var(--brand); text-transform:uppercase; letter-spacing:1.4px; font-weight:800; font-size:10px; }.login-card>.eyebrow{display:block;margin-top:42px}.login-card h1{font-size:34px;letter-spacing:-1.2px;margin:8px 0}.lead{color:var(--muted);margin:0 0 26px}
label { display:block; color:#35405a; font-weight:700; font-size:13px; }input,select,textarea{width:100%;margin-top:8px;padding:13px 14px;border:1px solid #dce2ee;border-radius:11px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#7f9dea;box-shadow:0 0 0 3px rgba(40,87,217,.1)}textarea{resize:vertical}#loginForm{display:grid;gap:16px}
.primary,.secondary{border:0;border-radius:11px;padding:13px 16px;font-weight:750;cursor:pointer}.primary{color:#fff;background:linear-gradient(135deg,#3264e7,#1642bd);box-shadow:0 10px 24px rgba(37,82,202,.22);display:flex;justify-content:space-between}.primary.compact{padding:10px 15px;white-space:nowrap}.secondary{color:#47536d;background:#eef2f8}.primary:disabled{opacity:.6;cursor:wait}
.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;padding:28px 20px 20px;z-index:100;display:flex;flex-direction:column;color:#c5d2f3;background:linear-gradient(180deg,#132b6e,#0d1c46)}.sidebar nav{display:grid;gap:6px;margin-top:45px}.sidebar nav button,.sidebar nav a{border:0;border-radius:11px;padding:13px 14px;background:transparent;color:#aebfe9;text-decoration:none;text-align:left;cursor:pointer}.sidebar nav i{display:inline-block;width:26px;font-style:normal}.sidebar nav .active,.sidebar nav button:hover,.sidebar nav a:hover{color:#fff;background:rgba(255,255,255,.09)}.sidebar-footer{margin-top:auto;padding:17px 12px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-footer small,.sidebar-footer strong,.sidebar-footer span{display:block}.sidebar-footer small{color:#7f94c6}.sidebar-footer span{color:#8196c8;font-size:10px;margin-top:3px}.sidebar-footer button{margin-top:12px;padding:0;border:0;color:#aebfe9;background:transparent;cursor:pointer}
main{margin-left:258px;min-height:100vh}header{height:86px;padding:0 32px;display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}header h1{margin:2px 0 0;font-size:24px}.refresh-button,.menu-button{margin-left:auto;border:1px solid var(--line);border-radius:10px;padding:10px 13px;color:#536078;background:#fff;cursor:pointer}.menu-button{display:none;margin-left:0}.content{padding:30px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.summary article{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.summary small,.summary strong{display:block}.summary small{color:var(--muted)}.summary strong{font-size:25px;margin-top:3px}.dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 6px rgba(40,87,217,.09)}.dot.green{background:var(--green);box-shadow:0 0 0 6px rgba(32,165,106,.1)}.dot.gray{background:#9ba4b6;box-shadow:0 0 0 6px rgba(120,130,150,.1)}.dot.blue{background:var(--brand)}
.panel{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(34,55,105,.05);overflow:hidden}.panel-head{padding:22px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:19px}.panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.connection-head-actions{display:flex;align-items:center;gap:10px}.search{position:relative;width:min(310px,100%)}.search span{position:absolute;left:13px;top:20px;color:#8c95a8}.search input{padding-left:35px;margin:0;font-weight:400}
.connections{display:grid}.connection{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(210px,1fr) minmax(240px,1.5fr) auto;gap:18px;align-items:center;padding:18px 24px;border-bottom:1px solid #edf0f5}.connection:last-child{border-bottom:0}.company strong,.company small,.endpoint strong,.endpoint small{display:block}.company small,.endpoint small{margin-top:4px;color:var(--muted);font-size:11px}.status{display:inline-flex;align-items:center;gap:6px;margin-top:7px;padding:4px 8px;border-radius:20px;color:#287657;background:#eaf8f1;font-size:10px;font-weight:800}.status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}.status.off{color:#8b4650;background:#fbeef0}.status.off::before{background:var(--red)}.portal-link{min-width:0}.portal-link small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.7px}.link-row{display:flex;gap:7px;align-items:center;margin-top:6px}.link-row code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#34508f;background:#f1f5ff;border-radius:7px;padding:7px 9px;font-size:11px}.icon-action{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;color:#52617d;cursor:pointer}.actions{display:flex;gap:6px}.actions button{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;color:#536078;cursor:pointer}.actions .danger{color:var(--red)}.actions .success{color:#25845f}.empty{text-align:center;padding:60px 20px}.empty p{color:var(--muted)}.empty a{color:var(--brand);font-weight:700}
dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:20px;padding:0;box-shadow:0 24px 90px rgba(16,32,72,.28)}dialog::backdrop{background:rgba(9,16,33,.55);backdrop-filter:blur(3px)}dialog form{padding:25px}.dialog-head{display:flex;justify-content:space-between;gap:20px}.dialog-head h2{margin:5px 0 22px}.dialog-head button{border:0;background:transparent;font-size:27px;color:#7b8498;cursor:pointer}.dialog-description{margin:-10px 0 20px;color:var(--muted);font-size:13px;line-height:1.5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-actions .primary{display:block}.backdrop{display:none}
.users-table{display:grid}.user-row{display:grid;grid-template-columns:1.1fr 1.4fr 1fr auto;gap:18px;align-items:center;padding:18px 24px;border-bottom:1px solid #edf0f5}.user-row:last-child{border-bottom:0}.user-row strong,.user-row small{display:block}.user-row small{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}.role{display:inline-block;padding:4px 8px;border-radius:20px;color:#294d9c;background:#edf3ff;font-size:10px;font-weight:800}
fieldset{margin:20px 0 0;padding:16px;border:1px solid var(--line);border-radius:13px}legend{padding:0 7px;color:#35405a;font-weight:750;font-size:13px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;align-items:center;gap:9px;font-weight:500}.check input{width:17px;height:17px;margin:0;accent-color:var(--brand)}label small{color:var(--muted);font-weight:400}
.audit-head{align-items:flex-end}.audit-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;min-width:min(560px,100%)}.audit-filters input{margin:0}.audit-filters button,.tabs button{border:1px solid var(--line);border-radius:10px;padding:10px 13px;color:#536078;background:#fff;cursor:pointer}.tabs{display:flex;gap:8px;padding:14px 20px;border-bottom:1px solid var(--line);overflow:auto}.tabs button{white-space:nowrap}.tabs button.active{color:#fff;border-color:var(--brand);background:var(--brand)}.audit-list{display:grid}.audit-row{border-bottom:1px solid #edf0f5}.audit-row summary{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:16px 22px;cursor:pointer;list-style:none}.audit-row summary::-webkit-details-marker{display:none}.audit-row strong,.audit-row small{display:block}.audit-row small{color:var(--muted);margin-top:4px;font-size:11px}.audit-row time{color:var(--muted);font-size:11px}.audit-badge{padding:5px 8px;border-radius:8px;color:#3153a4;background:#edf3ff;font-size:10px;font-weight:800}.audit-row pre{margin:0 22px 18px;padding:14px;overflow:auto;border-radius:10px;color:#33405b;background:#f6f8fc;font:11px/1.5 Consolas,monospace;white-space:pre-wrap}
.learning-head{align-items:flex-end}.learning-filters{display:grid;grid-template-columns:1fr 1fr 150px auto;gap:8px;min-width:min(760px,100%)}.learning-filters input,.learning-filters select{margin:0}.learning-filters button{border:1px solid var(--line);border-radius:10px;padding:10px 13px;color:#536078;background:#fff;cursor:pointer}.learning-summary{display:flex;align-items:baseline;gap:7px;padding:14px 24px;border-bottom:1px solid var(--line);color:var(--muted)}.learning-summary strong{color:var(--brand);font-size:22px}.learning-list{display:grid}.learning-item{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(160px,.7fr) auto;gap:18px;padding:20px 24px;border-bottom:1px solid #edf0f5}.learning-item:last-child{border-bottom:0}.learning-question strong,.learning-question small{display:block}.learning-question strong{font-size:15px;line-height:1.45}.learning-question small,.learning-meta small{color:var(--muted);font-size:11px;margin-top:6px}.learning-meta{display:grid;align-content:start;gap:7px}.learning-tag{display:inline-flex;width:max-content;padding:5px 9px;border-radius:20px;color:#3153a4;background:#edf3ff;font-size:10px;font-weight:800}.learning-tag.EM_ANALISE{color:#916415;background:#fff6db}.learning-tag.IMPLEMENTADO{color:#287657;background:#eaf8f1}.learning-tag.DESCARTADO{color:#8b4650;background:#fbeef0}.learning-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.learning-actions button{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;color:#536078;cursor:pointer}.learning-dialog{width:min(720px,calc(100% - 28px))}.learning-context{margin-bottom:18px;padding:15px;border-radius:12px;background:#f5f7fc}.learning-context strong,.learning-context small{display:block}.learning-context small{margin-top:4px;color:var(--muted)}.learning-context p{margin:12px 0 0;font-weight:650;line-height:1.5}.learning-dialog label+label{margin-top:14px}
@media(max-width:1050px){.connection{grid-template-columns:1fr 1fr}.actions{justify-content:flex-end}.user-row{grid-template-columns:1fr 1fr}.audit-head,.learning-head{align-items:stretch;flex-direction:column}.audit-filters,.learning-filters{min-width:0;width:100%}.learning-filters{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.sidebar{width:min(86vw,300px);transform:translateX(-102%);transition:.22s}.sidebar.open{transform:translateX(0)}main{margin-left:0}.menu-button{display:block}.backdrop.show{display:block;position:fixed;inset:0;z-index:90;background:rgba(8,15,31,.5)}.content{padding:20px}.summary{grid-template-columns:1fr}.panel-head{align-items:stretch;flex-direction:column}.connection-head-actions{align-items:stretch;flex-direction:column}.search{width:100%}.connection,.user-row,.learning-item{grid-template-columns:1fr;padding:20px}.actions{justify-content:flex-start;flex-wrap:wrap}header{height:76px;padding:env(safe-area-inset-top) 16px 0}.refresh-button{font-size:0}.refresh-button::first-letter{font-size:18px}.login-screen{padding:0}.login-card{min-height:100vh;border-radius:0;padding:calc(34px + env(safe-area-inset-top)) 22px calc(34px + env(safe-area-inset-bottom))}.field-row,.permission-grid,.audit-filters,.learning-filters{grid-template-columns:1fr}input,select,button,textarea{font-size:16px}.audit-row summary{grid-template-columns:auto 1fr}.audit-row time{grid-column:2}.tabs{padding:12px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1 1 auto}}
.enrollment-code{display:block;margin:18px auto;padding:14px 18px;max-width:520px;overflow-wrap:anywhere;border-radius:12px;background:#eef3ff;color:#17367e;font:700 18px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.connector-server{color:#64748b;overflow-wrap:anywhere}.infrastructure-panel{padding-bottom:28px}.infra-downloads{display:flex;gap:8px;flex-wrap:wrap}.download-connector{text-decoration:none;white-space:nowrap}.secondary.compact{padding:10px 15px}.infra-warning{margin:0 28px 24px;padding:16px 18px;border:1px solid #f5c26b;border-radius:14px;background:#fff8e8;color:#8a5700}.infra-warning p{margin:4px 0 0}.infra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 28px 24px}.infra-grid article{padding:22px;border:1px solid #e3e9f4;border-radius:16px;background:#f8faff}.infra-grid small{display:block;color:#64748b}.infra-grid strong{display:block;margin:8px 0;font-size:34px;color:#13213d}.infra-grid p{margin:0;color:#7a879e;line-height:1.5}.infra-endpoint{margin:0 28px;padding:18px;border-radius:14px;background:#111f3a;color:#dfe8ff}.infra-endpoint small{display:block;margin-bottom:8px;color:#9db1dc}.infra-endpoint code{overflow-wrap:anywhere}.install-steps{margin:24px 48px 0;padding-left:20px;color:#44536d;line-height:1.8}@media(max-width:900px){.infra-grid{grid-template-columns:1fr}.infrastructure-summary{grid-template-columns:1fr}.install-steps{margin-left:28px;margin-right:28px}.download-connector{width:100%;text-align:center}}
