:root{--jp-primary: #1e40af;--jp-primary-hover: #1d4ed8;--jp-primary-deep: #1e3a8a;--jp-primary-subtle: #dbeafe;--jp-primary-tint: #eff6ff;--jp-primary-tint-border: #bfdbfe;--jp-accent: #6366f1;--jp-brand-green: #16a34a;--jp-success: #166534;--jp-success-strong: #16a34a;--jp-success-tint: #f0fdf4;--jp-success-tint-border: #bbf7d0;--jp-warning: #92400e;--jp-warning-strong: #b45309;--jp-warning-tint: #fef3c7;--jp-warning-tint-border: #fde68a;--jp-danger: #991b1b;--jp-danger-strong: #dc2626;--jp-danger-tint: #fef2f2;--jp-danger-tint-border: #fecaca;--jp-info: #0284c7;--jp-info-tint: rgba(2, 132, 199, .1);--jp-neutral: #64748b;--jp-neutral-tint: rgba(100, 116, 139, .1);--jp-surface: #ffffff;--jp-surface-muted: #f8fafc;--jp-surface-tinted: #f5f7fc;--jp-bg: #f1f5f9;--jp-border: #e5e7eb;--jp-border-strong: #cbd5e1;--jp-text: #0f172a;--jp-text-muted: #475569;--jp-text-subtle: #64748b;--jp-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--jp-shadow-md: 0 8px 24px -8px rgba(15, 23, 42, .12);--jp-shadow-card: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 16px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--jp-radius-xs: 6px;--jp-radius-sm: 8px;--jp-radius-md: 10px;--jp-radius-lg: 12px;--jp-radius-xl: 14px;--jp-radius-2xl: 16px;--jp-radius-pill: 999px;--jp-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--jp-font-sans);font-size:15px;line-height:1.55;letter-spacing:-.01em;color:var(--jp-text);background:var(--jp-bg);-webkit-font-smoothing:antialiased}a{color:var(--jp-primary);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--jp-surface);border-right:1px solid var(--jp-border);display:flex;flex-direction:column;padding:20px 12px;position:sticky;top:0;height:100vh}.logo-mark{height:30px;width:auto;display:block}.logo-mark.lg{height:46px}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:2px 12px 20px}.sidebar-logo .logo-text{display:flex;flex-direction:column;line-height:1.05}.sidebar-logo .mark{font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--jp-primary-deep)}.sidebar-logo .sub{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--jp-text-subtle);margin-top:1px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:4px}.login-brand .mark{font-weight:800;font-size:24px;letter-spacing:-.02em;color:var(--jp-primary-deep)}.nav-section{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--jp-text-subtle);padding:16px 12px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:1px 0;border-radius:var(--jp-radius-lg);font-size:14px;font-weight:500;color:var(--jp-text-muted)}.nav-link:hover{background:var(--jp-primary-tint);color:var(--jp-primary);text-decoration:none}.nav-link.active{background:var(--jp-primary-tint);color:var(--jp-primary);font-weight:600}.nav-link .ico{width:18px;text-align:center}.sidebar-foot{margin-top:auto;padding:12px;border-top:1px solid var(--jp-border);font-size:12px;color:var(--jp-text-subtle);display:flex;flex-direction:column;gap:8px}.sidebar-foot .who{font-weight:600;color:var(--jp-text-muted);overflow:hidden;text-overflow:ellipsis}.main{flex:1;min-width:0;padding:28px 32px 48px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.page-title{font-size:32px;font-weight:800;line-height:1.12;letter-spacing:-.02em;margin:0}.page-sub{color:var(--jp-text-muted);margin:4px 0 0}.card{background:var(--jp-surface);border:1px solid var(--jp-border);border-radius:var(--jp-radius-xl);box-shadow:var(--jp-shadow-card);padding:20px}.card-title{font-size:18px;font-weight:700;margin:0 0 12px}.grid-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.main>.card,.main>.grid-kpis,.main>.grid-2,.main>.prov-grid{margin-bottom:20px}.main>*:last-child{margin-bottom:0}.card-stack{display:flex;flex-direction:column;gap:18px}.kpi .kpi-label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--jp-text-subtle)}.kpi .kpi-value{font-size:32px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px}.kpi .kpi-foot{font-size:12px;color:var(--jp-text-subtle);margin-top:4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}@media(max-width:980px){.grid-2{grid-template-columns:1fr}.sidebar{display:none}}.table-wrap{overflow-x:auto}table.jp{width:100%;border-collapse:collapse}table.jp th{text-align:left;font-size:12px;font-weight:600;color:var(--jp-text-subtle);padding:8px 12px;border-bottom:1px solid var(--jp-border);white-space:nowrap}table.jp td{padding:12px;border-bottom:1px solid var(--jp-border);font-size:14px;vertical-align:middle}table.jp tr:last-child td{border-bottom:none}table.jp tr.clickable{cursor:pointer}table.jp tr.clickable:hover td{background:var(--jp-primary-tint)}.tnum{font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1.4;padding:3px 10px;border-radius:var(--jp-radius-pill);border:1px solid transparent;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.ativo{color:var(--jp-success);background:var(--jp-success-tint);border-color:var(--jp-success-tint-border)}.pill.trial{color:var(--jp-info);background:var(--jp-info-tint)}.pill.provisionando{color:var(--jp-warning);background:var(--jp-warning-tint);border-color:var(--jp-warning-tint-border)}.pill.suspenso{color:var(--jp-danger);background:var(--jp-danger-tint);border-color:var(--jp-danger-tint-border)}.pill.cancelado,.pill.neutro{color:var(--jp-neutral);background:var(--jp-neutral-tint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:var(--jp-radius-sm);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--jp-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--jp-primary-hover)}.btn-secondary{background:var(--jp-surface);color:var(--jp-text);border-color:var(--jp-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--jp-surface-muted)}.btn-danger{background:var(--jp-surface);color:var(--jp-danger-strong);border-color:var(--jp-danger-tint-border)}.btn-danger:hover:not(:disabled){background:var(--jp-danger-tint)}.btn-sm{font-size:13px;padding:6px 12px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--jp-text)}.field .hint{font-size:11px;font-weight:500;color:var(--jp-text-subtle)}input.jp,select.jp,textarea.jp{font-family:inherit;font-size:14px;color:var(--jp-text);background:var(--jp-surface);border:1px solid var(--jp-border-strong);border-radius:var(--jp-radius-sm);padding:9px 12px;outline:none;width:100%}input.jp:focus,select.jp:focus,textarea.jp:focus{border-color:var(--jp-primary);box-shadow:0 0 0 3px var(--jp-primary-subtle)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.toolbar input.jp,.toolbar select.jp{width:auto}.toolbar .spacer{flex:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--jp-surface);border-radius:var(--jp-radius-2xl);box-shadow:var(--jp-shadow-md);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:24px}.modal h3{margin:0 0 16px;font-size:18px;font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--jp-primary-deep) 0%,var(--jp-primary) 55%,var(--jp-accent) 100%);padding:20px}.login-card{background:var(--jp-surface);border-radius:var(--jp-radius-2xl);box-shadow:var(--jp-shadow-md);padding:36px;width:100%;max-width:400px}.login-card .mark{font-weight:900;font-size:24px;color:var(--jp-primary-deep)}.login-card .mark .swoosh{color:var(--jp-brand-green)}.login-card .sub{color:var(--jp-text-subtle);font-size:13px;margin:2px 0 24px}.login-divider{display:flex;align-items:center;gap:12px;color:var(--jp-text-subtle);font-size:12px;margin:14px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--jp-border)}.empty{text-align:center;color:var(--jp-text-subtle);padding:40px 20px;font-size:14px}.error-box{background:var(--jp-danger-tint);border:1px solid var(--jp-danger-tint-border);color:var(--jp-danger);border-radius:var(--jp-radius-sm);padding:10px 14px;font-size:13px;margin-bottom:14px}.ok-box{background:var(--jp-success-tint);border:1px solid var(--jp-success-tint-border);color:var(--jp-success);border-radius:var(--jp-radius-sm);padding:10px 14px;font-size:13px;margin-bottom:14px}.muted{color:var(--jp-text-subtle)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--jp-surface-muted);border:1px solid var(--jp-border);border-radius:var(--jp-radius-xs);padding:1px 6px}pre.cmd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:#0f172a;color:#e2e8f0;border-radius:var(--jp-radius-md);padding:14px 16px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.steps{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.step-dot{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--jp-text-subtle);padding:6px 12px;border-radius:var(--jp-radius-pill);background:var(--jp-surface);border:1px solid var(--jp-border)}.step-dot.current{color:var(--jp-primary);border-color:var(--jp-primary-tint-border);background:var(--jp-primary-tint)}.step-dot.done{color:var(--jp-success);border-color:var(--jp-success-tint-border);background:var(--jp-success-tint)}.detail-grid{display:grid;grid-template-columns:160px 1fr;row-gap:10px;column-gap:16px;font-size:14px}.detail-grid dt{color:var(--jp-text-subtle);font-weight:500;margin:0}.detail-grid dd{margin:0;font-weight:500}.actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.loading{padding:60px;text-align:center;color:var(--jp-text-subtle)}.nav-ico{flex-shrink:0;opacity:.65}.nav-link.active .nav-ico{opacity:1}.kpi{position:relative}.kpi.accent{background:linear-gradient(135deg,var(--jp-primary-tint) 0%,var(--jp-surface) 70%);border-color:var(--jp-primary-tint-border)}.kpi.accent .kpi-value{color:var(--jp-primary)}.kpi.danger{background:linear-gradient(135deg,var(--jp-danger-tint) 0%,var(--jp-surface) 70%);border-color:var(--jp-danger-tint-border)}.kpi.danger .kpi-value{color:var(--jp-danger-strong)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.card-head .card-title{margin:0}.card-link{font-size:13px;font-weight:600;white-space:nowrap}.chart-svg{width:100%;display:block}.chart-labels{display:flex;margin-top:8px}.chart-label{flex:1;text-align:center;display:flex;flex-direction:column;gap:1px;min-width:0}.cl-val{font-size:11px;font-weight:600;color:var(--jp-text);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.cl-mes{font-size:10px;color:var(--jp-text-subtle);text-transform:uppercase;letter-spacing:.04em}.hbars{display:flex;flex-direction:column;gap:15px;padding-top:4px}.hbar-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.hbar-name{font-weight:600;color:var(--jp-text)}.hbar-val{color:var(--jp-text-muted)}.hbar-track{height:8px;background:var(--jp-surface-muted);border-radius:999px;overflow:hidden}.hbar-fill{height:100%;border-radius:999px;transition:width .4s ease}.who-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.who-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--jp-primary),var(--jp-accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.who-info{display:flex;flex-direction:column;min-width:0}.who-name{font-weight:600;font-size:13px;color:var(--jp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who-role{font-size:11px;color:var(--jp-text-subtle);text-transform:capitalize}.sidebar-foot .btn{width:100%}.btn svg{flex-shrink:0}.stepper{display:flex;align-items:center;gap:10px;margin-bottom:26px;flex-wrap:wrap}.stepper-item{display:flex;align-items:center;gap:10px}.stepper-circle{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:var(--jp-surface);border:2px solid var(--jp-border-strong);color:var(--jp-text-subtle);transition:all .2s}.stepper-item.current .stepper-circle{background:var(--jp-primary);border-color:var(--jp-primary);color:#fff;box-shadow:0 0 0 4px var(--jp-primary-subtle)}.stepper-item.done .stepper-circle{background:var(--jp-success-strong);border-color:var(--jp-success-strong);color:#fff}.stepper-label{font-size:13px;font-weight:600;color:var(--jp-text-subtle);white-space:nowrap}.stepper-item.current .stepper-label{color:var(--jp-text)}.stepper-item.done .stepper-label{color:var(--jp-text-muted)}.stepper-line{flex:1;height:2px;background:var(--jp-border);min-width:24px;border-radius:2px}.stepper-line.done{background:var(--jp-success-strong)}.prov-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}@media(max-width:900px){.prov-grid{grid-template-columns:1fr}}.prov-preview{position:sticky;top:20px;background:linear-gradient(160deg,var(--jp-primary-tint) 0%,var(--jp-surface) 55%)}.prov-preview-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.prov-preview-head .logo-mark{height:40px}.prov-preview-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--jp-text-subtle)}.prov-preview-name{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--jp-text)}.prov-preview-grid{display:grid;grid-template-columns:76px 1fr;row-gap:11px;column-gap:10px;font-size:13px;margin:0}.prov-preview-grid dt{color:var(--jp-text-subtle);font-weight:500;margin:0}.prov-preview-grid dd{margin:0;font-weight:500;word-break:break-all}.prov-preview-note{font-size:12px;color:var(--jp-text-subtle);line-height:1.5;margin-top:16px;padding-top:14px;border-top:1px solid var(--jp-border)}.req-list{display:flex;flex-direction:column;gap:4px;margin:8px 0 4px}.req-item{display:flex;gap:14px;padding:14px;border-radius:var(--jp-radius-lg);transition:background .15s}.req-item:hover{background:var(--jp-surface-muted)}.req-num{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--jp-primary-tint);color:var(--jp-primary);font-weight:700;font-size:13px;margin-top:1px}.req-body{flex:1;min-width:0}.req-title{font-weight:600;font-size:14px;color:var(--jp-text);margin-bottom:2px}.req-desc{font-size:13px;color:var(--jp-text-muted);line-height:1.5}.opt-card{position:relative;background:var(--jp-surface);border:1px solid var(--jp-border);border-radius:var(--jp-radius-xl);box-shadow:var(--jp-shadow-card);padding:20px;margin-top:16px}.opt-card.recommended{border-color:var(--jp-primary-tint-border);box-shadow:0 0 0 3px var(--jp-primary-subtle),var(--jp-shadow-card)}.opt-badge{position:absolute;top:-10px;left:20px;background:var(--jp-primary);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 10px;border-radius:var(--jp-radius-pill)}.opt-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}.opt-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.opt-icon.blue{background:var(--jp-primary-tint);color:var(--jp-primary)}.opt-icon.slate{background:var(--jp-surface-muted);color:var(--jp-text-muted)}.opt-title{font-size:16px;font-weight:700;color:var(--jp-text)}.opt-sub{font-size:13px;color:var(--jp-text-muted);line-height:1.5;margin-top:2px}.opt-actions{display:flex;gap:10px;flex-wrap:wrap}.cmd-wrap{position:relative;margin-top:10px}.cmd-copy{position:absolute;top:8px;right:8px}.prod-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.prod-card{text-align:left;cursor:pointer;font-family:inherit;background:var(--jp-surface);border:1px solid var(--jp-border);border-radius:var(--jp-radius-xl);box-shadow:var(--jp-shadow-card);padding:22px;transition:transform .15s,box-shadow .15s,border-color .15s}.prod-card:hover{transform:translateY(-3px);box-shadow:var(--jp-shadow-md);border-color:var(--jp-border-strong)}.prod-card-ico{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.prod-card-nome{font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--jp-text)}.prod-card-tag{font-size:13px;color:var(--jp-text-muted);margin-top:2px}.prod-card-modelo{font-size:12px;color:var(--jp-text-subtle);line-height:1.7;margin-top:14px;padding-top:12px;border-top:1px solid var(--jp-border)}.badge-ok,.badge-soon{display:inline-block;margin-top:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--jp-radius-pill)}.badge-ok{background:var(--jp-success-tint);color:var(--jp-success);border:1px solid var(--jp-success-tint-border)}.badge-soon{background:var(--jp-warning-tint);color:var(--jp-warning);border:1px solid var(--jp-warning-tint-border)}.prod-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:4px 12px;border-radius:var(--jp-radius-pill)}.btn-link-back{background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--jp-text-subtle);padding:4px 6px}.btn-link-back:hover{color:var(--jp-primary)}.prov-preview-badge{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
