:root{--ink: #1d2330;--mute: #5b6472;--mute-soft: #6b7380;--navy: #0f2a4a;--navy-dk: #0a1d35;--accent: #2b6cb0;--gold: #f4c430;--line: #d6dae0;--soft: #f4f6f9;--bg: #ffffff;--good-bg: #e9f5ec;--good-bd: #2f8f4e;--good-tx: #1e5a33;--warn-bg: #fff7e0;--warn-bd: #e6b800;--warn-tx: #7a5c00;--bad-bg: #fde7e7;--bad-bd: #c23b3b;--bad-tx: #7a1e1e;--info-bg: #e7f0fa;--info-bd: #2b6cb0;--info-tx: #0f2a4a;--radius: 6px;--shadow-sm: 0 1px 2px rgba(15,42,74,.06);--shadow-md: 0 4px 16px rgba(15,42,74,.08);--focus-ring: 0 0 0 3px rgba(43,108,176,.35);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "SF Mono", Menlo, Monaco, Consolas, monospace}html{color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--ink);background:var(--soft);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,a,[role=button],input[type=checkbox],input[type=radio],select{touch-action:manipulation}.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy-dk);color:var(--gold);padding:10px 16px;z-index:9999;text-decoration:none;font-weight:700;border-radius:0 0 6px}.skip-link:focus,.skip-link:focus-visible{left:0;outline:none;box-shadow:var(--focus-ring)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--navy-dk);color:#fff;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--gold)}.topbar .brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px;letter-spacing:.3px}.topbar .brand-dot{width:26px;height:26px;border-radius:5px;background:var(--gold);color:var(--navy-dk);display:grid;place-items:center;font-weight:800;font-size:15px}.topbar .user-menu{display:flex;align-items:center;gap:14px;font-size:13px}.topbar .user-menu .tenant{padding:4px 10px;background:#ffffff1a;border-radius:12px;font-size:12px;letter-spacing:.3px}.topbar button.logout{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;padding:6px 14px;border-radius:4px;font-size:12px;cursor:pointer;font-weight:600;letter-spacing:.3px;text-transform:uppercase;transition:background .15s,border-color .15s}.topbar button.logout:hover{background:#ffffff14}.topbar button.logout:focus-visible{outline:none;box-shadow:0 0 0 3px #f4c43080}.nav-tabs{background:#fff;padding:0 24px;border-bottom:1px solid var(--line);display:flex;gap:2px;overflow-x:auto}.nav-tabs a{padding:14px 18px;color:var(--mute);text-decoration:none;font-size:13px;font-weight:600;border-bottom:3px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}.nav-tabs a:hover{color:var(--navy)}.nav-tabs a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}.nav-tabs a.active{color:var(--navy);border-bottom-color:var(--accent)}main.content{flex:1;padding:24px;max-width:1400px;width:100%;margin:0 auto}main.content:focus{outline:none}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#0f2a4a,#1c3e6b 55%,#2b6cb0);padding:24px}.login-card{background:#fff;padding:38px 40px;border-radius:8px;box-shadow:var(--shadow-md);width:100%;max-width:400px;border-top:4px solid var(--gold)}.login-card h1{margin:0 0 4px;color:var(--navy);font-size:22px;text-wrap:balance}.login-card .sub{color:var(--mute);font-size:13px;margin-bottom:24px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:5px;letter-spacing:.3px}.field input,.field select,.field textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:4px;font-family:inherit;font-size:14px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:70px}.input-inline{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:4px;font-size:13px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}.input-inline:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1 / -1}.form-row-inline{display:flex;gap:8px;margin-bottom:12px}button.primary,button.secondary,button.danger{padding:10px 20px;border:0;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.3px;cursor:pointer;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}button.primary{background:var(--navy);color:#fff}button.primary:hover{background:var(--navy-dk)}button.primary:focus-visible,button.secondary:focus-visible,button.danger:focus-visible{outline:none;box-shadow:var(--focus-ring)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}button.secondary:hover{background:var(--soft)}button.danger{background:var(--bad-bd);color:#fff}button.danger:hover{background:var(--bad-tx)}button.btn-w-full{width:100%}button.btn-compact{padding:8px 14px}.error-msg{background:var(--bad-bg);color:var(--bad-tx);padding:10px 14px;border-radius:4px;border-left:3px solid var(--bad-bd);font-size:13px;margin-bottom:14px}.success-msg{background:var(--good-bg);color:var(--good-tx);padding:10px 14px;border-radius:4px;border-left:3px solid var(--good-bd);font-size:13px;margin-bottom:14px}.card{background:#fff;padding:20px 22px;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--line)}.card h2{margin:0 0 6px;color:var(--navy);font-size:16px;font-weight:700;text-wrap:balance}.card .card-sub{color:var(--mute);font-size:12px;margin-bottom:16px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.kpi .kpi-label{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--mute);font-weight:700}.kpi .kpi-value{font-size:28px;font-weight:800;color:var(--navy);line-height:1.1;margin:4px 0 2px;font-variant-numeric:tabular-nums}.kpi .kpi-note{font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}.kpi.good{border-top-color:var(--good-bd)}.kpi.good .kpi-value{color:var(--good-tx)}.kpi.warn{border-top-color:var(--warn-bd)}.kpi.warn .kpi-value{color:var(--warn-tx)}.kpi.bad{border-top-color:var(--bad-bd)}.kpi.bad .kpi-value{color:var(--bad-tx)}.kpi.gold{border-top-color:var(--gold)}.kpi.gold .kpi-value{color:#b8860b}.diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.diag-label{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--mute);font-weight:700}.diag-value{font-size:20px;font-weight:800;margin-top:4px}.diag-value.weak{color:var(--bad-bd)}.diag-value.strong{color:var(--good-bd)}.diag-meta{font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}.cards-2col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.cards-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:20px}table.dt{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums}table.dt th{background:var(--navy);color:#fff;text-align:left;padding:10px 14px;font-size:11px;letter-spacing:.5px;text-transform:uppercase;font-weight:600}table.dt td{padding:9px 14px;border-bottom:1px solid var(--line);font-size:13px}table.dt tbody tr:last-child td{border-bottom:0}table.dt tbody tr:hover td{background:var(--soft)}table.dt td.num,table.dt th.num{text-align:right}table.dt td.center,table.dt th.center{text-align:center}table.dt td button.del{background:transparent;border:0;color:var(--bad-bd);cursor:pointer;font-size:15px;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s}table.dt td button.del:hover{color:var(--bad-tx);background:var(--bad-bg)}table.dt td button.del:focus-visible{outline:none;box-shadow:var(--focus-ring)}.intensity-bar{height:12px;background:#eef1f5;border-radius:6px;overflow:hidden;position:relative}.intensity-bar>div{height:100%;border-radius:6px}.badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.badge.saudavel{background:var(--good-bg);color:var(--good-tx)}.badge.estavel{background:#fff4cc;color:#7a5c00}.badge.alerta{background:#fde0c4;color:#8a3b00}.badge.critico{background:var(--bad-bg);color:var(--bad-tx)}.badge.admin{background:var(--gold);color:var(--navy-dk)}.box{border-left:4px solid;padding:12px 16px;margin:12px 0;border-radius:0 4px 4px 0;font-size:13px}.box.info{background:var(--info-bg);border-color:var(--info-bd)}.box.warn{background:var(--warn-bg);border-color:var(--warn-bd)}.box.good{background:var(--good-bg);border-color:var(--good-bd)}.box.bad{background:var(--bad-bg);border-color:var(--bad-bd)}.box .box-title{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}.box.info .box-title{color:var(--info-tx)}.box.warn .box-title{color:var(--warn-tx)}.box.good .box-title{color:var(--good-tx)}.box.bad .box-title{color:var(--bad-tx)}.section-title{font-size:18px;color:var(--navy);margin:0 0 16px;border-bottom:2px solid var(--navy);padding-bottom:8px;font-weight:700;text-wrap:balance}.section-sub{color:var(--mute);font-style:italic;margin-top:-12px;margin-bottom:18px;font-size:13px}.section-h3{color:var(--navy);font-size:15px;margin-top:24px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.frase-publi{background:var(--navy-dk);color:var(--gold);padding:12px 16px;border-radius:4px;font-family:var(--mono);font-size:13px;margin:12px 0}.loading{padding:60px 20px;text-align:center;color:var(--mute)}.demo-creds{margin-top:20px;padding-top:16px;border-top:1px solid #e5e8ec;font-size:11px;color:var(--mute-soft)}.text-muted-soft{color:var(--mute-soft)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.table-wrap>table.dt{border-radius:0;box-shadow:none;min-width:480px}@media (max-width: 900px){.form-grid,.diag-grid,.cards-2col,.cards-3col{grid-template-columns:1fr;gap:12px}.card>div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important;gap:24px!important}main.content{padding:18px 16px;max-width:100%}.login-card{padding:28px 24px}}@media (max-width: 640px){body{font-size:13.5px}.topbar{height:auto;padding:8px 14px;flex-wrap:wrap;gap:8px}.topbar .brand{font-size:15px}.topbar .user-menu{gap:8px;font-size:12px;flex-wrap:wrap}.topbar .user-menu .tenant{font-size:11px;padding:3px 8px}.topbar button.logout{padding:5px 10px;font-size:11px}.nav-tabs{padding:0 12px}.nav-tabs a{padding:12px 14px;font-size:12px}main.content{padding:14px 12px}.section-title{font-size:16px}.section-sub{font-size:12px}.card{padding:16px 14px}.card h2{font-size:14.5px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.kpi{padding:12px 14px}.kpi .kpi-value{font-size:24px}button.primary,button.secondary,button.danger{padding:12px 18px;min-height:44px}button.btn-compact{padding:10px 14px;min-height:40px}table.dt td button.del{font-size:18px;padding:8px 12px;min-height:40px;min-width:40px}.topbar button.logout{min-height:36px}.login-wrap{padding:14px}.login-card{padding:24px 20px;border-radius:6px}.login-card h1{font-size:19px}.confirm-dialog{width:calc(100% - 16px);max-width:none;max-height:92vh;overflow-y:auto}.confirm-dialog-content{padding:18px 16px}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions button{width:100%}.field input,.field select,.field textarea{font-size:16px;padding:11px 12px;min-height:44px}.field textarea{min-height:80px}.input-inline{font-size:16px;padding:11px 12px;min-height:44px}.form-row-inline{flex-direction:column;gap:8px}.form-row-inline button{width:100%}table.dt th{padding:8px 10px;font-size:10px}table.dt td{padding:8px 10px;font-size:12.5px}.frase-publi{font-size:12px;padding:10px 12px}}.confirm-dialog{border:0;padding:0;border-radius:8px;box-shadow:var(--shadow-md);max-width:460px;width:calc(100% - 32px);background:#fff;color:var(--ink);overscroll-behavior:contain}.confirm-dialog::backdrop{background:#0f2a4a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog-content{padding:22px 24px}.confirm-dialog h2{margin:0 0 8px;color:var(--navy);font-size:16px}.confirm-dialog-message{margin:0 0 18px;color:var(--mute);font-size:13px;white-space:pre-line}.confirm-dialog-actions{display:flex;gap:10px;justify-content:flex-end}
