:root {
    --m3-primary:#3057d5;
    --m3-primary-hover:#2447b8;
    --m3-on-primary:#fff;
    --m3-primary-container:#e6ecff;
    --m3-on-primary-container:#13215f;
    --m3-secondary:#5c657a;
    --m3-tertiary:#08745f;
    --m3-tertiary-container:#d9f6ee;
    --m3-error:#ba1a1a;
    --m3-error-container:#ffdad6;
    --m3-surface:#f6f7fb;
    --m3-surface-dim:#dfe3ec;
    --m3-surface-container-low:#f0f3f8;
    --m3-surface-container:#e9edf5;
    --m3-surface-container-high:#e1e7f1;
    --m3-surface-container-highest:#d8e0ec;
    --m3-surface-bright:#ffffff;
    --m3-on-surface:#172033;
    --m3-on-surface-variant:#536078;
    --m3-outline:#7b8496;
    --m3-outline-variant:#ccd3df;
    --hub-accent:#0f9f7a;
    --hub-warning:#9a6700;
    --hub-danger:#c2413a;
    --m3-shadow:0 1px 2px rgba(23,32,51,.07),0 8px 24px rgba(23,32,51,.04);
    --m3-shadow-high:0 18px 48px rgba(23,32,51,.12);
    --sidebar-width:280px;
}

* { box-sizing:border-box; }
html { background:var(--m3-surface); }
body.hub-app {
    margin:0;
    background:
        linear-gradient(180deg,rgba(255,255,255,.72),rgba(246,247,251,0) 260px),
        var(--m3-surface);
    color:var(--m3-on-surface);
    font-family:Inter,"Segoe UI",system-ui,sans-serif;
    font-size:14px;
    -webkit-font-smoothing:antialiased;
}
.hub-icon { width:20px; height:20px; flex:0 0 auto; }
.hub-shell { min-height:100vh; display:block !important; background:var(--m3-surface); }
.hub-sidebar {
    position:fixed !important;
    inset:0 auto 0 0;
    z-index:80;
    width:var(--sidebar-width) !important;
    height:100vh;
    display:flex !important;
    flex-direction:column;
    padding:0 12px 12px !important;
    color:var(--m3-on-surface);
    background:rgba(255,255,255,.76) !important;
    border-right:1px solid rgba(123,132,150,.16);
    backdrop-filter:blur(18px) saturate(145%);
    overflow:hidden;
}
.hub-brand {
    min-height:76px;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    padding:0 8px !important;
    border:0 !important;
}
.hub-brand:before,.hub-sidebar a:before { content:none !important; }
.hub-brand>a { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.brand-mark {
    width:40px; height:40px; display:grid; place-items:center;
    border-radius:8px; background:#172033;
    color:white; font-size:18px; font-weight:800; box-shadow:0 10px 24px rgba(23,32,51,.18);
}
.brand-copy { display:flex; align-items:baseline; gap:5px; }
.hub-brand .brand-copy strong { color:var(--m3-on-surface); font-size:18px; letter-spacing:-.03em; }
.brand-copy small { color:var(--m3-primary); font-weight:700; }
.hub-navigation { flex:1; padding:5px 0 20px; overflow:auto; scrollbar-width:thin; }
.nav-group { display:grid; gap:3px; margin-bottom:16px; }
.nav-label {
    padding:0 14px 7px; color:#777680; font-size:10px; font-weight:700;
    letter-spacing:.09em; text-transform:uppercase;
}
.hub-sidebar .nav-item {
    position:relative; min-height:42px; display:flex; align-items:center; gap:12px;
    padding:0 12px; border-radius:8px; color:var(--m3-on-surface-variant);
    text-decoration:none; font-weight:550; transition:background .16s,color .16s,transform .16s;
}
.hub-sidebar .nav-item:hover { border-color:transparent; background:var(--m3-surface-container); color:var(--m3-on-surface); box-shadow:none; }
.hub-sidebar .nav-item.active { border-color:transparent; color:#fff; background:var(--m3-primary); box-shadow:var(--m3-shadow); font-weight:750; }
.hub-sidebar .nav-item.active:after { content:none; }
.nav-item em { margin-left:auto; padding:2px 7px; border-radius:9px; background:var(--m3-error); color:#fff; font-size:10px; font-style:normal; }
.sidebar-footer { padding:10px 2px 0; border-top:1px solid rgba(119,118,128,.14); }
.sidebar-profile {
    display:grid; grid-template-columns:40px minmax(0,1fr) 18px; align-items:center; gap:10px;
    min-height:60px; padding:8px; color:inherit; text-decoration:none; border-radius:18px;
}
.sidebar-profile:hover { background:var(--m3-surface-container-high); }
.profile-avatar { width:40px; height:40px; display:grid; place-items:center; border-radius:14px; background:#dce1ff; color:#263aa7; font-weight:800; }
.sidebar-profile strong,.sidebar-profile small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-profile strong { font-size:13px; }
.sidebar-profile small { margin-top:2px; color:var(--m3-on-surface-variant); font-size:11px; }
.sidebar-profile .hub-icon { width:16px; }
.hub-main { width:auto !important; min-width:0; min-height:100vh; margin-left:var(--sidebar-width) !important; background:var(--m3-surface); }
.hub-topbar {
    position:sticky !important; top:0; z-index:60; min-height:76px; display:flex !important;
    align-items:center; justify-content:space-between; gap:20px; padding:10px 32px !important;
    background:rgba(246,247,251,.88) !important; border-bottom:1px solid rgba(123,132,150,.14) !important;
    backdrop-filter:blur(18px) saturate(150%);
}
.topbar-leading { display:flex; align-items:center; gap:12px; min-width:0; }
.page-identity span { display:block; color:var(--m3-on-surface-variant); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.page-identity h1 { margin:2px 0 0 !important; color:var(--m3-on-surface) !important; font-size:22px !important; line-height:1.2; letter-spacing:0; }
.topbar-actions { display:flex !important; align-items:center; gap:10px; }
.icon-button {
    width:42px; height:42px; display:grid; place-items:center; padding:0; border:0;
    border-radius:50%; background:transparent; color:var(--m3-on-surface-variant); cursor:pointer;
}
.icon-button:hover { background:var(--m3-surface-container-high); }
.menu-trigger,.sidebar-close { display:none; }
.global-search {
    width:min(360px,30vw); height:46px; display:flex; align-items:center; gap:10px;
    padding:0 14px; border-radius:8px; background:var(--m3-surface-bright);
    border:1px solid var(--m3-outline-variant);
    color:var(--m3-on-surface-variant); transition:background .16s,box-shadow .16s;
}
.global-search:focus-within { background:var(--m3-surface-bright); box-shadow:0 0 0 2px var(--m3-primary); }
.global-search input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:var(--m3-on-surface); font:inherit; }
.global-search kbd { padding:3px 6px; border:1px solid var(--m3-outline-variant); border-radius:6px; color:var(--m3-on-surface-variant); background:rgba(255,255,255,.45); font-size:10px; }
.m3-button,.primary-action,.secondary-action,.mini-btn,.mini-link,button {
    font-family:inherit;
}
.m3-button {
    min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:0 16px; border:0; border-radius:8px; font-weight:750; text-decoration:none; cursor:pointer;
}
.m3-button.primary { color:var(--m3-on-primary); background:var(--m3-primary); box-shadow:var(--m3-shadow); }
.m3-button.primary:hover { background:var(--m3-primary-hover); box-shadow:var(--m3-shadow-high); }
.m3-button.tonal { color:var(--m3-on-primary-container); background:var(--m3-primary-container); }
.m3-button.outline { color:var(--m3-primary); background:transparent; border:1px solid var(--m3-outline-variant); }
.m3-button.text { color:var(--m3-primary); background:transparent; }
.m3-button.danger { color:var(--m3-error); background:var(--m3-error-container); }
.m3-button .hub-icon { width:18px; height:18px; }
.quick-create { position:relative; }
.quick-menu {
    position:absolute; top:52px; right:0; z-index:90; width:270px; display:none; gap:4px;
    padding:8px; border:1px solid rgba(119,118,128,.16); border-radius:12px;
    background:var(--m3-surface-bright); box-shadow:var(--m3-shadow-high);
}
.quick-menu.open { display:grid; }
.quick-menu a { display:grid; gap:2px; padding:12px 14px; border-radius:8px; color:inherit; text-decoration:none; }
.quick-menu a:hover { background:var(--m3-surface-container); }
.quick-menu b { font-size:13px; }
.quick-menu small { color:var(--m3-on-surface-variant); }
.notification-button { position:relative; }
.notification-button i { position:absolute; top:8px; right:8px; width:7px; height:7px; border:2px solid var(--m3-surface); border-radius:50%; background:#dd2c4b; }
.hub-content { width:100% !important; max-width:1600px; margin:0 auto; padding:28px 32px 48px !important; }

.page-intro {
    display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0 0 22px;
    padding:4px 0 2px;
}
.page-intro-copy { max-width:760px; }
.eyebrow { display:flex; align-items:center; gap:8px; margin-bottom:8px; color:var(--hub-accent); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.eyebrow:before { content:""; width:18px; height:3px; border-radius:3px; background:var(--hub-accent); }
.page-intro h2 { margin:0; font-size:30px; line-height:1.18; letter-spacing:0; color:var(--m3-on-surface); }
.page-intro p { margin:8px 0 0; color:var(--m3-on-surface-variant); line-height:1.6; }
.page-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

.m3-card,.hub-card,.simple-panel,.simple-hero,.central-hero,.simple-metrics article {
    border:1px solid rgba(123,132,150,.16) !important; border-radius:8px !important;
    background:rgba(255,255,255,.92) !important; box-shadow:var(--m3-shadow) !important;
}
.m3-card { overflow:hidden; }
.m3-card.padded { padding:22px; }
.m3-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 22px; border-bottom:1px solid rgba(119,118,128,.12); }
.m3-card-header h3 { margin:0; font-size:16px; }
.m3-card-header p { margin:5px 0 0; color:var(--m3-on-surface-variant); font-size:12px; }
.m3-grid { display:grid; gap:16px; }
.m3-grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.m3-grid.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.m3-grid.cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.metric-card { min-height:132px; display:flex; flex-direction:column; justify-content:space-between; padding:18px; border-radius:8px; background:rgba(255,255,255,.9); border:1px solid rgba(123,132,150,.15); box-shadow:var(--m3-shadow); }
.metric-card.highlight { background:#172033; color:#fff; }
.metric-card.success { background:#d6f5e7; color:#07523d; }
.metric-card.warning { background:#ffedc0; color:#5f4300; }
.metric-top { display:flex; align-items:center; justify-content:space-between; gap:8px; color:inherit; font-size:12px; font-weight:650; }
.metric-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:8px; background:rgba(255,255,255,.64); }
.metric-card strong { display:block; margin-top:18px; font-size:28px; line-height:1; letter-spacing:0; }
.metric-card small { display:block; margin-top:7px; color:inherit; opacity:.75; }
.status-chip,.pill {
    min-height:26px; display:inline-flex; align-items:center; gap:6px; padding:3px 10px !important;
    border:0 !important; border-radius:8px !important; background:var(--m3-surface-container-high);
    color:var(--m3-on-surface-variant); font-size:11px; font-weight:700; text-transform:none !important;
}
.status-chip:before,.pill:before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.status-chip.active,.pill.active,.status-chip.completed,.pill.completed,.status-chip.pago,.pill.pago { background:#d6f5e7; color:#076a4b; }
.status-chip.pending,.pill.pending,.status-chip.pendente,.pill.pendente,.status-chip.draft,.pill.draft { background:#ffedc0; color:#775900; }
.status-chip.failed,.pill.failed,.status-chip.cancelled,.pill.cancelled,.status-chip.blocked,.pill.blocked { background:var(--m3-error-container); color:var(--m3-error); }
.status-chip.running,.pill.running,.status-chip.provisioning,.pill.provisioning { background:var(--m3-primary-container); color:var(--m3-primary); }

.section-heading { align-items:flex-start !important; padding:22px !important; margin:0 !important; }
.section-heading>div>span { color:var(--m3-primary) !important; font-size:10px !important; letter-spacing:.08em !important; }
.section-heading h2 { margin:4px 0 !important; color:var(--m3-on-surface) !important; font-size:19px !important; letter-spacing:-.02em; }
.section-heading p { margin:0 !important; color:var(--m3-on-surface-variant) !important; }
.hub-card { margin-bottom:18px; overflow:hidden; }
.hub-card>.table-wrap { border-top:1px solid rgba(119,118,128,.12); }
.table-wrap { overflow:auto; border-radius:0 0 20px 20px; }
table { width:100%; border-collapse:collapse; background:transparent !important; }
table th {
    height:46px; padding:0 18px !important; border:0 !important; border-bottom:1px solid rgba(119,118,128,.14) !important;
    background:var(--m3-surface-container-low) !important; color:var(--m3-on-surface-variant) !important;
    font-size:10px !important; font-weight:750 !important; letter-spacing:.07em; text-align:left; text-transform:uppercase;
}
table td {
    padding:15px 18px !important; border:0 !important; border-bottom:1px solid rgba(119,118,128,.1) !important;
    color:var(--m3-on-surface) !important; vertical-align:middle;
}
table tbody tr { transition:background .15s; }
table tbody tr:hover { background:rgba(226,229,255,.28); }
table tbody tr:last-child td { border-bottom:0 !important; }
table small { color:var(--m3-on-surface-variant); }

.primary-action,.connect-submit {
    min-height:42px !important; display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
    padding:0 16px !important; border:0 !important; border-radius:8px !important;
    color:#fff !important; background:var(--m3-primary) !important; box-shadow:var(--m3-shadow) !important; font-weight:700 !important;
}
.secondary-action,.mini-btn,.mini-link {
    min-height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0 14px !important;
    border:0 !important; border-radius:8px !important; color:var(--m3-primary) !important;
    background:var(--m3-primary-container) !important; text-decoration:none; font-weight:650 !important;
}
.btn-ghost { background:transparent !important; box-shadow:inset 0 0 0 1px var(--m3-outline-variant) !important; }
.btn-danger { color:var(--m3-error) !important; background:var(--m3-error-container) !important; }
.actions,.row-actions,.simple-actions { display:flex; gap:7px; flex-wrap:wrap; }

.hub-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:22px; }
.hub-form label,.field { display:grid; gap:7px; color:var(--m3-on-surface-variant); font-size:11px; font-weight:700; }
.hub-form input,.hub-form select,.hub-form textarea,.field input,.field select,.field textarea,.attached-tools input {
    width:100%; min-height:48px; padding:10px 14px; border:1px solid var(--m3-outline-variant) !important;
    border-radius:8px !important; outline:0; background:var(--m3-surface-bright) !important; color:var(--m3-on-surface) !important; font:inherit;
}
.hub-form textarea,.field textarea { min-height:96px; resize:vertical; }
.hub-form input:focus,.hub-form select:focus,.hub-form textarea:focus,.field input:focus,.field select:focus,.field textarea:focus {
    border-color:var(--m3-primary) !important; box-shadow:0 0 0 1px var(--m3-primary);
}
.full { grid-column:1/-1; }
.modal-backdrop {
    position:fixed !important; inset:0; z-index:150 !important; display:none; place-items:center; padding:24px;
    background:rgba(28,27,31,.42) !important; backdrop-filter:blur(4px);
}
.modal-backdrop.active { display:grid !important; }
.modal {
    width:min(720px,100%); max-height:calc(100vh - 48px); overflow:auto; border:0 !important;
    border-radius:12px !important; background:var(--m3-surface-bright) !important; box-shadow:var(--m3-shadow-high) !important;
}
.modal-head { position:sticky; top:0; z-index:2; padding:22px 24px !important; background:rgba(250,248,255,.94); border-bottom:1px solid rgba(119,118,128,.12); backdrop-filter:blur(10px); }
.modal-head h2 { margin:0; font-size:22px; }
.modal-head p { margin:5px 0 0; color:var(--m3-on-surface-variant); }
.close-x { width:40px !important; height:40px; padding:0 !important; border-radius:50% !important; color:var(--m3-on-surface-variant) !important; background:var(--m3-surface-container) !important; }
.alert { margin-bottom:16px; padding:13px 16px; border:0 !important; border-radius:8px !important; }
.alert-success { color:#07523d; background:#d6f5e7 !important; }
.alert-danger { color:var(--m3-error); background:var(--m3-error-container) !important; }

.workflow-timeline { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; padding:18px; }
.workflow-step { position:relative; display:grid; justify-items:center; gap:8px; padding:8px; color:var(--m3-on-surface-variant); text-align:center; }
.workflow-step:not(:last-child):after { content:""; position:absolute; top:25px; left:calc(50% + 22px); right:calc(-50% + 22px); height:2px; background:var(--m3-outline-variant); }
.workflow-step b { position:relative; z-index:1; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--m3-surface-container-high); color:var(--m3-on-surface-variant); }
.workflow-step.done b { background:#b9f1d7; color:#07523d; }
.workflow-step.current b { background:var(--m3-primary); color:white; box-shadow:0 0 0 5px var(--m3-primary-container); }
.workflow-step strong { font-size:11px; }

.empty-state { display:grid; justify-items:center; gap:8px; padding:52px 24px; color:var(--m3-on-surface-variant); text-align:center; }
.empty-state .empty-icon { width:64px; height:64px; display:grid; place-items:center; border-radius:22px; color:var(--m3-primary); background:var(--m3-primary-container); }
.empty-state h3 { margin:8px 0 0; color:var(--m3-on-surface); }
.empty-state p { max-width:420px; margin:0 0 8px; line-height:1.5; }
.command-palette { position:fixed; inset:0; z-index:200; display:none; place-items:start center; padding-top:12vh; background:rgba(28,27,31,.38); backdrop-filter:blur(5px); }
.command-palette.open { display:grid; }
.command-dialog { width:min(620px,calc(100vw - 30px)); overflow:hidden; border-radius:24px; background:var(--m3-surface-bright); box-shadow:var(--m3-shadow-high); }
.command-search { display:flex; align-items:center; gap:12px; min-height:64px; padding:0 20px; border-bottom:1px solid rgba(119,118,128,.14); }
.command-search input { flex:1; border:0; outline:0; background:transparent; color:var(--m3-on-surface); font-size:17px; }
.command-results { display:grid; gap:3px; padding:8px; }
.command-results a { display:flex; justify-content:space-between; gap:12px; padding:13px 14px; border-radius:14px; color:inherit; text-decoration:none; }
.command-results a:hover { background:var(--m3-primary-container); }
.command-results small { color:var(--m3-on-surface-variant); }
.command-dialog footer { display:flex; gap:15px; padding:10px 16px; border-top:1px solid rgba(119,118,128,.12); color:var(--m3-on-surface-variant); font-size:10px; }
.mobile-overlay { display:none; }

body.m3-login {
    min-height:100vh; margin:0; display:grid; place-items:center; padding:28px;
    background:
        radial-gradient(circle at 12% 8%,rgba(101,118,239,.20),transparent 34%),
        radial-gradient(circle at 88% 92%,rgba(0,108,81,.13),transparent 30%),
        var(--m3-surface);
}
.login-stage {
    width:min(1080px,100%); min-height:650px; display:grid; grid-template-columns:1.12fr .88fr;
    overflow:hidden; border:1px solid rgba(119,118,128,.14); border-radius:32px;
    background:var(--m3-surface-bright); box-shadow:0 24px 80px rgba(28,27,31,.13);
}
.login-story {
    position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:42px;
    overflow:hidden; color:#fff; background:linear-gradient(145deg,#1c286f,#4559d8 58%,#536aed);
}
.login-story:before,.login-story:after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.13); }
.login-story:before { width:460px;height:460px;right:-200px;top:-170px; }
.login-story:after { width:340px;height:340px;left:-170px;bottom:-180px; }
.login-brand { position:relative; z-index:1; display:flex; align-items:center; gap:12px; }
.login-brand>span,.login-mobile-brand>span { width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff;color:#3548c4;font-weight:850; }
.login-brand strong { font-size:19px; }
.login-brand i { color:#bdc6ff; font-style:normal; }
.login-story>div:nth-child(2) { position:relative; z-index:1; max-width:500px; }
.login-story small { font-size:10px; font-weight:750; letter-spacing:.12em; opacity:.72; }
.login-story h1 { margin:13px 0 18px; color:#fff; font-size:43px; line-height:1.08; letter-spacing:-.045em; }
.login-story p { max-width:460px; margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.65; }
.login-flow { position:relative; z-index:1; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.login-flow span { padding:7px 10px; border:1px solid rgba(255,255,255,.19); border-radius:12px; background:rgba(255,255,255,.08); font-size:10px; font-weight:650; }
.login-flow b { opacity:.45; }
.m3-login .login-card {
    width:auto !important; max-width:none !important; display:flex; flex-direction:column; justify-content:center;
    padding:54px !important; border:0 !important; border-radius:0 !important; background:var(--m3-surface-bright) !important; box-shadow:none !important;
}
.login-mobile-brand { display:none; align-items:center; gap:10px; margin-bottom:40px; }
.login-eyebrow { color:var(--m3-primary); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.m3-login .login-card h2 { margin:10px 0 0; color:var(--m3-on-surface); font-size:29px; letter-spacing:-.035em; }
.m3-login .login-card>p { margin:8px 0 28px; color:var(--m3-on-surface-variant); }
.m3-login .login-card form { display:grid; gap:16px; }
.m3-login .login-card label { display:grid; gap:7px; color:var(--m3-on-surface-variant); font-size:11px; font-weight:700; text-align:left; }
.m3-login .login-card input { width:100%; min-height:52px; padding:0 15px; border:1px solid var(--m3-outline-variant); border-radius:14px; outline:0; background:transparent; color:var(--m3-on-surface); font:inherit; }
.m3-login .login-card input:focus { border-color:var(--m3-primary); box-shadow:0 0 0 1px var(--m3-primary); }
.m3-login .login-card form button { min-height:50px; margin-top:4px; border:0; border-radius:25px; background:var(--m3-primary); color:#fff; font-weight:750; cursor:pointer; }
.m3-login .login-card form button:hover { background:var(--m3-primary-hover); }
.m3-login .login-card footer { display:flex; justify-content:space-between; gap:10px; margin-top:30px; padding-top:18px; border-top:1px solid rgba(119,118,128,.12); color:var(--m3-on-surface-variant); font-size:9px; }

@media(max-width:1280px) {
    .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .m3-grid.cols-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .global-search { width:280px; }
}
@media(max-width:1080px) {
    .hub-sidebar { transform:translateX(-105%); transition:transform .22s ease; box-shadow:var(--m3-shadow-high); }
    .hub-main { margin-left:0 !important; }
    .menu-trigger,.sidebar-close { display:grid; }
    .sidebar-open .hub-sidebar { transform:translateX(0); }
    .sidebar-open .mobile-overlay { position:fixed; inset:0; z-index:70; display:block; background:rgba(28,27,31,.38); }
}
@media(max-width:760px) {
    .hub-topbar { min-height:68px; padding:8px 16px !important; }
    .hub-content { padding:20px 16px 40px !important; }
    .page-identity span,.global-search,.notification-button { display:none; }
    .page-identity h1 { font-size:18px !important; }
    .topbar-actions .m3-button.primary span { display:none; }
    .topbar-actions .m3-button.primary { width:42px; padding:0; }
    .page-intro { align-items:flex-start; flex-direction:column; margin-bottom:18px; }
    .page-intro h2 { font-size:25px; }
    .metric-grid,.m3-grid.cols-2,.m3-grid.cols-3,.m3-grid.cols-4 { grid-template-columns:1fr; }
    .hub-form { grid-template-columns:1fr; padding:18px; }
    .hub-form>* { grid-column:1; }
    .workflow-timeline { grid-template-columns:repeat(3,1fr); row-gap:18px; }
    .workflow-step:after { display:none; }
    .section-heading { flex-direction:column; gap:14px; }
    .section-heading button,.section-heading .m3-button { width:100%; }
    .modal-backdrop { padding:10px; }
    .modal { max-height:calc(100vh - 20px); border-radius:22px !important; }
    body.m3-login { padding:0; }
    .login-stage { min-height:100vh; grid-template-columns:1fr; border:0; border-radius:0; }
    .login-story { display:none; }
    .m3-login .login-card { padding:36px 24px !important; }
    .login-mobile-brand { display:flex; }
}

/* SimplusHub rebuild theme
   As telas reformuladas usam este tema global. Classes antigas continuam
   disponíveis enquanto cada módulo é migrado para o novo padrão. */
body.hub-app {
    --m3-surface:#08111f;
    --m3-surface-dim:#070e18;
    --m3-surface-container-low:#0b1727;
    --m3-surface-container:#101d30;
    --m3-surface-container-high:#16243a;
    --m3-surface-container-highest:#1c2b42;
    --m3-surface-bright:#111e31;
    --m3-on-surface:#eef3ff;
    --m3-on-surface-variant:#9ba8bb;
    --m3-outline:#41516a;
    --m3-outline-variant:#223249;
    --m3-primary:#4f5df5;
    --m3-primary-hover:#6470ff;
    --m3-primary-container:#202b67;
    color:#eef3ff !important;
    background:#08111f !important;
}
body.hub-app .hub-shell,
body.hub-app .hub-main,
body.hub-app .hub-content {
    background:
        radial-gradient(circle at 54% -10%,rgba(41,63,101,.30),transparent 42%),
        #08111f !important;
}
body.hub-app .hub-content {
    min-height:100vh;
}
body.hub-app .hub-sidebar {
    background:rgba(7,15,27,.98) !important;
    border-color:#1c2b40 !important;
    color:#aeb9cc !important;
}
body.hub-app .hub-brand {
    border-bottom:1px solid #18263a !important;
}
body.hub-app .hub-brand .brand-copy strong {
    color:#fff !important;
}
body.hub-app .brand-mark {
    border:2px solid #5365ff;
    border-radius:50%;
    background:transparent !important;
    color:#7381ff;
    box-shadow:none;
}
body.hub-app .hub-navigation .nav-label {
    color:#66748b;
    font-size:10px;
    letter-spacing:.12em;
}
body.hub-app .nav-active-pages .nav-item.active {
    color:#fff;
    background:linear-gradient(90deg,#273792,#4150e8);
}
body.hub-app .nav-pending-pages {
    opacity:.48;
}
body.hub-app .nav-pending-pages .nav-item:after {
    content:"INATIVO";
    margin-left:auto;
    color:#7e8999;
    font-size:8px;
    letter-spacing:.08em;
}
body.hub-app .sidebar-profile {
    color:#fff !important;
    background:#0e1a2b !important;
    border:1px solid #1d2d43 !important;
}

/* Empresas v2 */
body.hub-app .companies-new {
    width:100%;
    max-width:1500px;
    margin:0 auto;
}
body.hub-app .companies-heading h2 {
    color:#fff !important;
}
body.hub-app .company-kpis article,
body.hub-app .companies-panel {
    color:#eef3ff;
    border-color:#1e2d42 !important;
    background:linear-gradient(145deg,rgba(17,29,48,.96),rgba(11,21,36,.96)) !important;
}
body.hub-app .company-filters {
    border-color:#1e2d42 !important;
    background:#111e30;
}
body.hub-app .company-filters input,
body.hub-app .company-filters select {
    color:#eaf0fa !important;
    border-color:#263951 !important;
    background:#091727 !important;
}
body.hub-app .companies-table-wrap {
    overflow-x:auto;
    scrollbar-color:#34445a #0a1524;
}
body.hub-app table.companies-table {
    width:100% !important;
    min-width:900px !important;
    table-layout:auto;
    color:#dce4f0 !important;
    background:#0d1929 !important;
}
body.hub-app .companies-table th {
    padding:13px 14px !important;
    color:#9ba8ba !important;
    border-color:#1c2a3d !important;
    background:#091421 !important;
}
body.hub-app .companies-table td {
    padding:14px !important;
    color:#dce4f0 !important;
    border-color:#1c2a3d !important;
    background:#0d1929 !important;
}
body.hub-app .companies-table tr:hover td {
    color:#fff !important;
    background:#112137 !important;
}
body.hub-app .companies-table th:first-child,
body.hub-app .companies-table td:first-child {
    width:28%;
}
body.hub-app .companies-table th:last-child,
body.hub-app .companies-table td:last-child {
    width:62px;
    text-align:center;
}
body.hub-app .company-main,
body.hub-app .company-main strong {
    color:#fff !important;
}
body.hub-app .company-main small,
body.hub-app .company-footer {
    color:#9ba7ba !important;
}
body.hub-app .company-footer {
    background:#0f1c2d;
}
body.hub-app .dark-dialog {
    color:#eef3ff;
    background:#0d1929 !important;
}

@media(max-width:1080px) {
    body.hub-app .hub-content {
        padding-top:22px !important;
    }
}

/* Serviços v2 · Material Design 3 Dark */
body.hub-app .hub-topbar {
    min-height:72px;
    padding:0 32px !important;
    border-color:rgba(255,255,255,.08);
    background:rgba(11,18,32,.88);
    backdrop-filter:blur(18px);
}
body.hub-app .page-identity span { color:#7f8ca2; }
body.hub-app .page-identity h1 { color:#f5f7fa; }
body.hub-app .global-search {
    width:min(520px,42vw);
    height:48px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:#101827;
}
body.hub-app .global-search kbd {
    color:#7f8ca2;
    border-color:rgba(255,255,255,.08);
    background:#151f31;
}
body.hub-app .m3-button,
body.hub-app .icon-button {
    transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease;
}
.services-m3 { width:100%; max-width:1540px; margin:0 auto; }
.m3-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0 0 32px; }
.m3-page-heading>div>span { color:#7988a2; font-size:11px; font-weight:600; letter-spacing:.12em; }
.m3-page-heading h2 { margin:8px 0; color:#f5f7fa; font-size:32px; font-weight:700; letter-spacing:-.035em; }
.m3-page-heading p { margin:0; color:#a3adc2; font-size:16px; line-height:1.5; }
.m3-primary-action {
    min-height:48px; display:inline-flex; align-items:center; gap:10px; padding:0 20px;
    border:1px solid rgba(255,255,255,.08); border-radius:16px; color:#fff;
    background:#5865f2; box-shadow:0 8px 22px rgba(88,101,242,.20);
    text-decoration:none; font-weight:600; transition:background 150ms ease,transform 150ms ease;
}
.m3-primary-action:hover { background:#6975ff; transform:translateY(-1px); }
.services-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-bottom:24px; }
.services-kpis article {
    min-height:136px; display:flex; align-items:center; gap:18px; padding:24px;
    border:1px solid rgba(255,255,255,.08); border-radius:20px; background:#151f31;
    box-shadow:0 8px 24px rgba(0,0,0,.08); transition:background 150ms ease,transform 150ms ease;
}
.services-kpis article:hover { background:#1b2942; transform:translateY(-1px); }
.kpi-orb { width:54px; height:54px; flex:0 0 54px; display:grid; place-items:center; border-radius:50%; color:#fff; }
.kpi-orb.blue { background:#314ed5; }.kpi-orb.green { background:#17814b; }.kpi-orb.amber { background:#a96d00; }.kpi-orb.purple { background:#7138c2; }
.services-kpis small,.services-kpis em { display:block; color:#a3adc2; font-size:12px; font-style:normal; }
.services-kpis strong { display:block; margin:5px 0; color:#f5f7fa; font-size:26px; font-weight:700; }
.services-data-card { overflow:visible; border:1px solid rgba(255,255,255,.08); border-radius:20px; background:#151f31; }
.services-filters { display:grid; grid-template-columns:minmax(280px,1fr) 190px 190px auto auto; align-items:end; gap:16px; padding:24px; border-bottom:1px solid rgba(255,255,255,.08); }
.services-filters>label:not(.services-search) { display:grid; gap:8px; color:#a3adc2; font-size:12px; }
.services-search { height:48px; display:flex; align-items:center; gap:11px; padding:0 16px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:#101827; color:#7d8aa1; }
.services-search input { width:100%; border:0; outline:0; color:#f5f7fa; background:transparent; font:inherit; }
.services-search:focus-within { border-color:#5865f2; box-shadow:0 0 0 3px rgba(88,101,242,.13); }
.services-filters select { width:100%; height:48px; padding:0 14px; border:1px solid rgba(255,255,255,.08); border-radius:16px; outline:0; color:#f5f7fa; background:#101827; font:inherit; }
.services-filters select:focus { border-color:#5865f2; }
.m3-filter-button,.m3-clear-button {
    height:48px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 18px;
    border:1px solid rgba(255,255,255,.08); border-radius:16px; color:#f5f7fa; background:#1b2942;
    text-decoration:none; font:inherit; font-weight:600; cursor:pointer; transition:background 150ms ease;
}
.m3-filter-button:hover,.m3-clear-button:hover { background:#253651; }
.services-table-scroll { overflow-x:auto; border-radius:0; scrollbar-color:#34445a #101827; }
table.services-m3-table { width:100% !important; min-width:1180px; border-collapse:collapse; color:#f5f7fa; background:#151f31 !important; }
.services-m3-table th { height:48px; padding:0 18px !important; border-bottom:1px solid rgba(255,255,255,.08) !important; color:#8290a7 !important; background:#101827 !important; font-size:11px; font-weight:600; letter-spacing:.05em; text-align:left; text-transform:uppercase; }
.services-m3-table td { height:78px; padding:14px 18px !important; border-bottom:1px solid rgba(255,255,255,.06) !important; color:#e9edf5 !important; background:#151f31 !important; font-size:14px; vertical-align:middle; transition:background 150ms ease; }
.services-m3-table tr:hover td { background:#1b2942 !important; }
.services-m3-table strong,.services-m3-table small { display:block; }
.services-m3-table strong { color:#f5f7fa; font-weight:600; }
.services-m3-table small { max-width:190px; margin-top:5px; overflow:hidden; color:#8f9bb0; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.service-company { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.service-avatar { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#4059df; font-size:12px; font-weight:600; }
.service-avatar.hue-1{background:#17805f}.service-avatar.hue-2{background:#9d6300}.service-avatar.hue-3{background:#7038b8}.service-avatar.hue-4{background:#b33d62}
.product-dot { width:6px; height:6px; display:inline-block; margin-right:6px; border-radius:50%; background:#5865f2; }
.m3-status { min-height:28px; display:inline-flex; align-items:center; gap:7px; padding:0 11px; border-radius:999px; color:#55df8a; background:rgba(34,197,94,.14); font-size:11px; font-weight:600; white-space:nowrap; }
.m3-status i { width:7px; height:7px; border-radius:50%; background:currentColor; }
.m3-status.configuracao,.m3-status.teste,.m3-status.aguardando_credenciais,.m3-status.aguardando_banco,.m3-status.aguardando_integracao,.m3-status.aguardando_pagamento { color:#fbbf4b; background:rgba(245,158,11,.14); }
.m3-status.suspenso,.m3-status.inativo { color:#a3adc2; background:rgba(163,173,194,.12); }
.m3-status.cancelado,.m3-status.erro_configuracao { color:#ff6969; background:rgba(239,68,68,.14); }
.domain-text { max-width:185px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.m3-icon-menu { position:relative; }
.m3-icon-menu summary { width:38px; height:38px; display:grid; place-items:center; border:1px solid transparent; border-radius:50%; list-style:none; color:#a3adc2; cursor:pointer; font-size:21px; }
.m3-icon-menu summary:hover { color:#fff; border-color:rgba(255,255,255,.08); background:#1b2942; }
.m3-icon-menu>div { position:absolute; z-index:30; top:42px; right:0; width:180px; padding:8px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:#101827; box-shadow:0 18px 44px rgba(0,0,0,.32); }
.m3-icon-menu a,.m3-icon-menu button { width:100%; min-height:40px; display:flex; align-items:center; justify-content:flex-start; gap:9px; padding:0 11px; border:0; border-radius:10px; color:#e7ebf3; background:transparent; text-decoration:none; font:inherit; font-size:12px; cursor:pointer; }
.m3-icon-menu a:hover,.m3-icon-menu button:hover { background:#1b2942; }
.m3-icon-menu .hub-icon { width:17px; height:17px; }
.services-table-footer { min-height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; color:#a3adc2; font-size:12px; }
.services-table-footer div { display:flex; align-items:center; gap:13px; }
.services-table-footer button,.services-table-footer b { width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:10px; color:#a3adc2; background:transparent; }
.services-table-footer b { color:#fff; background:#5865f2; }
.m3-empty-services { height:240px !important; text-align:center; color:#a3adc2 !important; }
.m3-empty-services .hub-icon,.m3-empty-services strong,.m3-empty-services span { display:block; margin:8px auto; }
.m3-empty-services .hub-icon { width:34px; height:34px; color:#5865f2; }
.m3-feedback { margin-bottom:20px; padding:14px 18px; border:1px solid rgba(34,197,94,.22); border-radius:16px; color:#7ee7a4; background:rgba(34,197,94,.10); }
.m3-feedback.error { color:#ff8585; border-color:rgba(239,68,68,.22); background:rgba(239,68,68,.10); }

@media(max-width:1280px) {
    .services-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .services-filters { grid-template-columns:minmax(250px,1fr) 170px 170px auto; }
    .m3-clear-button { grid-column:4; }
}
@media(max-width:760px) {
    .m3-page-heading { align-items:flex-start; flex-direction:column; }
    .m3-primary-action { width:100%; justify-content:center; }
    .services-kpis { grid-template-columns:1fr; gap:16px; }
    .services-filters { grid-template-columns:1fr; padding:16px; }
    .m3-clear-button { grid-column:auto; }
    .services-table-scroll { overflow:visible; padding:12px; }
    table.services-m3-table { min-width:0; background:transparent !important; }
    .services-m3-table thead { display:none; }
    .services-m3-table,.services-m3-table tbody,.services-m3-table tr,.services-m3-table td { display:block; width:100%; }
    .services-m3-table tr { margin-bottom:14px; padding:8px 16px; border:1px solid rgba(255,255,255,.08); border-radius:20px; background:#151f31; }
    .services-m3-table td { min-height:50px; height:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0 !important; border-bottom:1px solid rgba(255,255,255,.06) !important; }
    .services-m3-table td:before { content:attr(data-label); color:#8290a7; font-size:11px; text-transform:uppercase; }
    .services-m3-table td:first-child { justify-content:flex-start; }
    .services-m3-table td:first-child:before,.services-m3-table td:last-child:before { display:none; }
    .services-m3-table td:last-child { justify-content:flex-end; border-bottom:0 !important; }
    .services-table-footer { padding:0 16px; }
}

/* Conectar v2 · fluxo M3 Dark */
.connect-m3 { width:100%; max-width:1360px; margin:0 auto; }
body.hub-app .connect-m3 .connect-head { margin-bottom:24px; }
body.hub-app .connect-m3 .connect-head .eyebrow { color:#39c7a4; font-size:11px; font-weight:600; letter-spacing:.12em; }
body.hub-app .connect-m3 .connect-head h2 { margin:8px 0; color:#f5f7fa; font-size:32px; font-weight:700; letter-spacing:-.035em; }
body.hub-app .connect-m3 .connect-head p { color:#a3adc2; font-size:15px; }
body.hub-app .connect-m3 .connect-head>a {
    min-height:48px; display:inline-flex; align-items:center; padding:0 18px;
    border:1px solid rgba(255,255,255,.10); border-radius:16px; color:#8390ff;
    background:transparent; text-decoration:none;
}
body.hub-app .connect-m3 .connect-head>a:hover { color:#fff; background:#1b2942; }
body.hub-app .connect-m3 .connect-steps { gap:16px; margin:0 0 24px; }
body.hub-app .connect-m3 .connect-steps span {
    min-height:58px; padding:0 16px; border:1px solid rgba(255,255,255,.04);
    border-radius:16px; color:#8f9bb0; background:#101827; font-size:14px; font-weight:500;
}
body.hub-app .connect-m3 .connect-steps b {
    width:30px; height:30px; color:#a3adc2; background:#1b2942;
}
body.hub-app .connect-m3 .connect-steps .active {
    color:#fff; border-color:rgba(88,101,242,.35); background:#293789;
}
body.hub-app .connect-m3 .connect-steps .active b { color:#5865f2; background:#fff; }
body.hub-app .connect-m3 .connect-steps .done { color:#60d8b4; background:rgba(34,197,94,.10); }
body.hub-app .connect-m3 .connect-steps .done b { color:#fff; background:#198159; }
body.hub-app .connect-m3 .hub-card.connect-panel,
body.hub-app .connect-m3 .hub-card.connect-confirm {
    padding:32px !important; border:1px solid rgba(255,255,255,.08) !important;
    border-radius:20px !important; color:#f5f7fa !important; background:#151f31 !important;
    box-shadow:0 10px 30px rgba(0,0,0,.10) !important;
}
body.hub-app .connect-m3 .section-heading { padding:0 0 24px; }
body.hub-app .connect-m3 .section-heading span { color:#7787ff; font-size:11px; letter-spacing:.09em; }
body.hub-app .connect-m3 .section-heading h2 { margin:7px 0; color:#f5f7fa; font-size:24px; }
body.hub-app .connect-m3 .section-heading p { color:#a3adc2; font-size:14px; }
body.hub-app .connect-m3 .connect-search {
    min-height:52px; padding:0 18px; border:1px solid rgba(255,255,255,.08);
    border-radius:16px; outline:0; color:#f5f7fa; background:#101827; font:inherit;
}
body.hub-app .connect-m3 .connect-search:focus {
    border-color:#5865f2; box-shadow:0 0 0 3px rgba(88,101,242,.14);
}
body.hub-app .connect-m3 .company-picker { gap:12px; margin-top:16px; }
body.hub-app .connect-m3 .company-picker a {
    min-height:74px; padding:12px 16px; border:1px solid rgba(255,255,255,.08);
    border-radius:16px; color:#f5f7fa; background:#101827; text-decoration:none;
    transition:background 150ms ease,border-color 150ms ease,transform 150ms ease;
}
body.hub-app .connect-m3 .company-picker a:hover {
    border-color:rgba(88,101,242,.55); background:#1b2942; transform:translateY(-1px);
}
body.hub-app .connect-m3 .company-picker a>span,
body.hub-app .connect-m3 .product-logo {
    width:46px; height:46px; border-radius:14px; color:#91a0ff; background:#202b67;
}
body.hub-app .connect-m3 .company-picker strong { color:#f5f7fa; font-size:14px; }
body.hub-app .connect-m3 .company-picker small,
body.hub-app .connect-m3 .company-picker em { color:#8e9aaf; font-size:12px; }
body.hub-app .connect-m3 .company-picker em {
    padding:7px 11px; border-radius:999px; color:#8190ff; background:rgba(88,101,242,.12);
}
body.hub-app .connect-m3 .selected-summary {
    min-height:78px; padding:16px 20px; margin-bottom:24px;
    border:1px solid rgba(88,101,242,.30); border-radius:20px;
    color:#a3adc2; background:rgba(88,101,242,.10);
}
body.hub-app .connect-m3 .selected-summary strong { color:#f5f7fa; }
body.hub-app .connect-m3 .selected-summary a { color:#91a0ff; text-decoration:none; }
body.hub-app .connect-m3 .product-picker { gap:24px; }
body.hub-app .connect-m3 .product-picker article {
    min-height:260px; align-content:start; padding:24px !important;
    border:1px solid rgba(255,255,255,.08) !important; border-radius:20px !important;
    color:#f5f7fa; background:#151f31 !important;
    transition:background 150ms ease,transform 150ms ease;
}
body.hub-app .connect-m3 .product-picker article:hover { background:#1b2942 !important; transform:translateY(-2px); }
body.hub-app .connect-m3 .product-picker h3 { color:#f5f7fa; font-size:19px; }
body.hub-app .connect-m3 .product-picker p,
body.hub-app .connect-m3 .product-picker small { color:#a3adc2; }
body.hub-app .connect-m3 .product-picker .m3-button.primary {
    min-height:48px; margin-top:auto; border-radius:16px; color:#fff; background:#5865f2;
}
body.hub-app .connect-m3 .confirm-pair article {
    padding:24px; border:1px solid rgba(255,255,255,.08);
    border-radius:20px; color:#a3adc2; background:#101827;
}
body.hub-app .connect-m3 .confirm-pair strong { color:#f5f7fa; }
body.hub-app .connect-m3 .confirm-pair>b { color:#5865f2; font-size:24px; }
body.hub-app .connect-m3 .hub-form {
    border:0; border-radius:0; color:#a3adc2; background:transparent;
}
body.hub-app .connect-m3 .hub-form input,
body.hub-app .connect-m3 .hub-form select,
body.hub-app .connect-m3 .hub-form textarea {
    border:1px solid rgba(255,255,255,.08); border-radius:16px;
    color:#f5f7fa; background:#101827;
}
body.hub-app .connect-m3 .hub-form input:focus,
body.hub-app .connect-m3 .hub-form select:focus,
body.hub-app .connect-m3 .hub-form textarea:focus { border-color:#5865f2; outline:0; }
body.hub-app .connect-m3 .page-actions .m3-button { min-height:48px; border-radius:16px; }

@media(max-width:760px) {
    body.hub-app .connect-m3 .connect-steps { grid-template-columns:1fr; }
    body.hub-app .connect-m3 .connect-head { align-items:flex-start; flex-direction:column; }
    body.hub-app .connect-m3 .connect-head>a { width:100%; justify-content:center; }
    body.hub-app .connect-m3 .hub-card.connect-panel,
    body.hub-app .connect-m3 .hub-card.connect-confirm { padding:20px !important; }
    body.hub-app .connect-m3 .company-picker a { grid-template-columns:auto 1fr; }
    body.hub-app .connect-m3 .company-picker em { grid-column:2; justify-self:start; }
    body.hub-app .connect-m3 .confirm-pair { grid-template-columns:1fr; }
    body.hub-app .connect-m3 .confirm-pair>b { text-align:center; }
}

/* Configuração do serviço v2 · regras persistentes */
body.hub-app .service-hero { max-width:1500px; margin:0 auto 24px; }
body.hub-app .service-hero .eyebrow { color:#34d3a4; font-size:11px; letter-spacing:.10em; }
body.hub-app .service-hero h2 { margin:10px 0 6px; color:#f5f7fa; font-size:30px; letter-spacing:-.035em; }
body.hub-app .service-hero p { color:#a3adc2; font-size:15px; }
body.hub-app .service-state { min-height:44px; display:inline-flex; align-items:center; padding:0 16px; border:1px solid rgba(245,158,11,.16); border-radius:14px; color:#fbbf4b; background:rgba(245,158,11,.10); }
body.hub-app .service-state.ativo { color:#55df8a; border-color:rgba(34,197,94,.16); background:rgba(34,197,94,.10); }
body.hub-app .service-hero .m3-button.outline { min-height:48px; border:1px solid rgba(255,255,255,.08); border-radius:16px; color:#f5f7fa; background:transparent; }
body.hub-app .service-nav { max-width:1500px; margin:0 auto 24px; padding:0; gap:22px; border-bottom:1px solid rgba(255,255,255,.08); border-radius:0; background:transparent; }
body.hub-app .service-nav a { position:relative; padding:16px 14px; border-radius:0; color:#a3adc2; text-decoration:none; font-size:14px; font-weight:500; }
body.hub-app .service-nav a:hover { color:#f5f7fa; }
body.hub-app .service-nav a.active { color:#7f8cff; background:transparent; box-shadow:none; }
body.hub-app .service-nav a.active:after { content:""; position:absolute; right:10px; bottom:-1px; left:10px; height:2px; border-radius:2px; background:#5865f2; }
body.hub-app .service-layout,body.hub-app .billing-layout,body.hub-app>.hub-shell .config-card { max-width:1500px; margin-right:auto; margin-left:auto; }
body.hub-app .service-layout,body.hub-app .billing-layout { grid-template-columns:minmax(0,1fr) 360px; gap:24px; }
body.hub-app .hub-card.config-card,body.hub-app .hub-card.checklist,body.hub-app .hub-card.billing-preview { padding:26px !important; border:1px solid rgba(255,255,255,.08) !important; border-radius:20px !important; color:#f5f7fa; background:#151f31 !important; box-shadow:0 10px 30px rgba(0,0,0,.08) !important; }
body.hub-app .config-card .section-heading { padding:0 0 24px; }
body.hub-app .config-card .section-heading span { color:#a3adc2; font-size:11px; letter-spacing:.08em; }
body.hub-app .config-card .section-heading h2 { margin:8px 0; color:#f5f7fa; font-size:24px; }
body.hub-app .config-card .section-heading p { color:#a3adc2; }
body.hub-app .config-card .hub-form { padding:0; border:0; background:transparent; }
body.hub-app .config-card .hub-form label { gap:8px; color:#a3adc2; font-size:12px; font-weight:500; }
body.hub-app .config-card .hub-form input,body.hub-app .config-card .hub-form select,body.hub-app .config-card .hub-form textarea,body.hub-app .billing-preview input { min-height:52px; padding:0 15px; border:1px solid rgba(255,255,255,.08); border-radius:16px; outline:0; color:#f5f7fa; background:#101827; font-family:Inter,"Segoe UI",sans-serif; }
body.hub-app .config-card .hub-form textarea { min-height:110px; padding-top:14px; }
body.hub-app .config-card .hub-form input:focus,body.hub-app .config-card .hub-form select:focus,body.hub-app .config-card .hub-form textarea:focus { border-color:#5865f2; box-shadow:0 0 0 3px rgba(88,101,242,.12); }
body.hub-app .config-card .page-actions .m3-button,body.hub-app .checklist .m3-button,body.hub-app .billing-preview .m3-button { min-height:48px; border-radius:16px; }
body.hub-app .config-card .page-actions .m3-button.primary,body.hub-app .checklist .m3-button.primary { color:#fff; background:#5865f2; }
body.hub-app .checklist { gap:6px; }
body.hub-app .checklist h3 { margin-bottom:14px; color:#f5f7fa; font-size:20px; }
body.hub-app .checklist>div { min-height:34px; align-items:center; color:#8f9bb0; }
body.hub-app .checklist>div b { width:22px; color:#6e7b90; }
body.hub-app .checklist>div.done { color:#dce4ef; }
body.hub-app .checklist>div.done b { color:#22c55e; }
body.hub-app .checklist form { margin-top:10px; }
body.hub-app .checklist .m3-button.outline { border:1px solid #5865f2; color:#7885ff; background:transparent; }
body.hub-app .checklist .m3-button:disabled { opacity:.38; cursor:not-allowed; }
body.hub-app .saved-items article { border:1px solid rgba(255,255,255,.06); color:#f5f7fa; background:#101827; }
body.hub-app .domain-preview,body.hub-app .security-note { border:1px solid rgba(88,101,242,.20); border-radius:16px; color:#91a0ff; background:rgba(88,101,242,.10); }
body.hub-app .status-pair span { border:1px solid rgba(255,255,255,.08); border-radius:999px; color:#a3adc2; background:#101827; }
body.hub-app .billing-preview { top:88px; }
body.hub-app .billing-preview>span { color:#a3adc2; }
body.hub-app .billing-preview h3 { color:#7d89ff; }
body.hub-app .billing-preview dl div { border-color:rgba(255,255,255,.08); }
body.hub-app .billing-preview dt { color:#a3adc2; }
body.hub-app .billing-preview dd { color:#f5f7fa; }
body.hub-app .config-card table { color:#f5f7fa; background:#151f31 !important; }
body.hub-app .config-card table th { color:#8996ab !important; background:#101827 !important; }
body.hub-app .config-card table td { color:#e7ebf3 !important; border-color:rgba(255,255,255,.07) !important; background:#151f31 !important; }

@media(max-width:950px){body.hub-app .service-layout,body.hub-app .billing-layout{grid-template-columns:1fr}body.hub-app .billing-preview{position:static}}
@media(max-width:700px){body.hub-app .service-hero{align-items:flex-start;flex-direction:column}body.hub-app .service-hero>div:last-child{width:100%;flex-wrap:wrap}body.hub-app .service-nav{gap:4px}body.hub-app .hub-card.config-card,body.hub-app .hub-card.checklist,body.hub-app .hub-card.billing-preview{padding:20px!important}}

/* Produtos e configuração global v2 */
body.hub-app .page-intro { padding:0; }
body.hub-app .page-intro h2 { color:#f5f7fa; font-size:32px; }
body.hub-app .page-intro p { color:#a3adc2; font-size:15px; }
body.hub-app .product-open-card { min-height:270px; padding:24px; border:1px solid rgba(255,255,255,.08); border-radius:20px; color:#f5f7fa; background:#151f31; text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.08); transition:background 150ms ease,transform 150ms ease,border-color 150ms ease; }
body.hub-app .product-open-card:hover { border-color:rgba(88,101,242,.36); background:#1b2942; transform:translateY(-2px); }
body.hub-app .product-open-card h3 { color:#f5f7fa; }
body.hub-app .product-open-card .catalog-symbol { color:#91a0ff; background:#202b67; }
body.hub-app .product-open-card .catalog-stats span { background:#101827; }
body.hub-app .product-open-card .catalog-stats strong { color:#f5f7fa; }
body.hub-app .product-open-card footer { display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid rgba(255,255,255,.07); color:#8290ff; font-size:12px; font-weight:600; }
body.hub-app .product-open-card footer .hub-icon { width:18px; }
body.hub-app .hub-card:not(.checklist):not(.billing-preview) { border-color:rgba(255,255,255,.08); color:#f5f7fa; background:#151f31; }
body.hub-app .hub-card table { color:#f5f7fa; background:#151f31 !important; }
body.hub-app .hub-card table th { color:#8996ab !important; background:#101827 !important; }
body.hub-app .hub-card table td { color:#e7ebf3 !important; border-color:rgba(255,255,255,.07) !important; background:#151f31 !important; }
.product-detail-m3 { width:100%; max-width:1500px; margin:0 auto; }
.product-detail-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.product-detail-head>div:first-child>span { color:#34d3a4; font-size:11px; letter-spacing:.10em; }
.product-detail-head h2 { margin:9px 0 6px; color:#f5f7fa; font-size:32px; letter-spacing:-.035em; }
.product-detail-head p { margin:0; color:#a3adc2; }
.product-detail-head>div:last-child { display:flex; align-items:center; gap:14px; }
.product-detail-head a { min-height:46px; display:inline-flex; align-items:center; padding:0 17px; border:1px solid rgba(255,255,255,.08); border-radius:16px; color:#f5f7fa; text-decoration:none; }
.product-detail-tabs { display:flex; gap:18px; margin-bottom:24px; border-bottom:1px solid rgba(255,255,255,.08); }
.product-detail-tabs a { position:relative; padding:15px 13px; color:#a3adc2; text-decoration:none; }
.product-detail-tabs a.active { color:#8190ff; }
.product-detail-tabs a.active:after { content:""; position:absolute; right:8px; bottom:-1px; left:8px; height:2px; background:#5865f2; }
.product-config-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
.product-global-summary { position:sticky; top:88px; padding:26px !important; border-radius:20px !important; }
.product-global-icon { width:60px; height:60px; display:grid; place-items:center; border-radius:18px; color:#fff; background:var(--accent); font-size:22px; font-weight:700; }
.product-global-summary h3 { margin:18px 0 8px; color:#f5f7fa; font-size:23px; }
.product-global-summary p { color:#a3adc2; line-height:1.6; }
.product-global-summary dl { display:grid; gap:0; margin-top:20px; }
.product-global-summary dl div { display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.product-global-summary dt { color:#a3adc2; }.product-global-summary dd { color:#f5f7fa; font-weight:700; }
.rule-check { display:flex !important; align-items:center; grid-template-columns:auto 1fr; min-height:48px; padding:0 14px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:#101827; }
.rule-check input { width:18px !important; min-height:18px !important; }
.product-management .config-card { max-width:none !important; }
.product-rule-list { display:grid; gap:10px; }
.product-rule-list article { min-height:70px; display:grid; grid-template-columns:minmax(220px,1fr) 150px 120px 80px 40px; align-items:center; gap:14px; padding:12px 16px; border:1px solid rgba(255,255,255,.07); border-radius:16px; background:#101827; }
.product-rule-list strong,.product-rule-list small { display:block; }.product-rule-list strong { color:#f5f7fa; }.product-rule-list small { margin-top:4px; color:#8f9bb0; }
.product-rule-list em { padding:6px 10px; border-radius:999px; color:#55df8a; background:rgba(34,197,94,.12); font-size:11px; font-style:normal; text-align:center; }
.product-rule-list em.inactive { color:#ff6969; background:rgba(239,68,68,.12); }
.product-rule-list button { width:36px; height:36px; padding:0; border-radius:50%; background:#1b2942; }
body.hub-app .modal { color:#f5f7fa; background:#151f31 !important; }
body.hub-app .modal .modal-head { border-color:rgba(255,255,255,.08); }
@media(max-width:900px){.product-config-grid{grid-template-columns:1fr}.product-global-summary{position:static}.product-rule-list article{grid-template-columns:1fr 100px}.product-detail-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.product-rule-list article{grid-template-columns:1fr}.product-detail-tabs{overflow:auto}.product-detail-head>div:last-child{width:100%;justify-content:space-between}}

/* Dossiê da empresa · Material 3 Dark */
html body.hub-app .company-page { --hub-bg:#0b1220; --hub-text:#f5f7fa; --hub-muted:#a3adc2; --hub-border:rgba(255,255,255,.08); max-width:1500px; padding:0 32px 56px; color:var(--hub-text); font-family:Inter,"Google Sans",sans-serif; }
html body.hub-app .company-page ~ * { color:inherit; }
html body.hub-app .hub-sidebar { display:flex !important; }
html body.hub-app .hub-topbar { display:none !important; }
html body.hub-app .hub-main { margin-left:var(--sidebar-width) !important; background:#0b1220 !important; }
html body.hub-app .hub-content { max-width:none !important; padding:0 !important; background:#0b1220; }
html body.hub-app .company-top-nav { min-height:74px; margin:0 0 22px; padding:0; border:0; border-bottom:1px solid var(--hub-border); border-radius:0; background:transparent; box-shadow:none; }
html body.hub-app .company-menu { gap:8px; }
html body.hub-app .company-menu a { min-height:46px; padding:0 14px; border-radius:10px; color:#c4ccda; font-size:13px; font-weight:500; }
html body.hub-app .company-menu a:hover { color:#fff; background:#151f31; }
html body.hub-app .company-menu a.active { color:#fff; background:linear-gradient(135deg,rgba(88,101,242,.35),rgba(88,101,242,.18)); }
html body.hub-app .company-menu a.active:after { display:none; }
html body.hub-app .company-user button { color:#a3adc2; }
html body.hub-app .company-user a span { background:#5865f2; }
html body.hub-app .company-breadcrumb { margin:0 0 16px; color:#8996ab; font-size:12px; }
html body.hub-app .company-breadcrumb strong { font-weight:500; }
html body.hub-app .company-title-row { align-items:center; margin:0 0 24px; }
html body.hub-app .company-heading { display:flex; align-items:center; gap:12px; }
html body.hub-app .company-title-row h2 { color:#f5f7fa; font-size:30px; letter-spacing:-.035em; }
html body.hub-app .company-title-row p { color:#a3adc2; font-size:14px; }
html body.hub-app .company-status { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid rgba(34,197,94,.16); border-radius:999px; color:#55df8a; background:rgba(34,197,94,.10); font-size:11px; }
html body.hub-app .company-status:before { content:"✦"; font-size:9px; }
html body.hub-app .company-page .btn { min-height:44px; padding:0 16px; border:1px solid var(--hub-border); border-radius:10px; color:#f5f7fa; background:#101827; font-weight:500; }
html body.hub-app .company-page .btn:hover { background:#1b2942; }
html body.hub-app .company-page .btn.primary { border-color:transparent; color:#fff; background:#5865f2; }
html body.hub-app .summary-grid { gap:16px; margin-bottom:24px; }
html body.hub-app .summary-grid article,html body.hub-app .company-page .card { border:1px solid var(--hub-border); border-radius:14px; color:#f5f7fa; background:linear-gradient(145deg,#151f31,#111b2c); box-shadow:0 12px 32px rgba(0,0,0,.10); }
html body.hub-app .summary-grid article { min-height:92px; padding:18px 20px; }
html body.hub-app .summary-grid span { border-radius:11px; }
html body.hub-app .summary-grid .purple { color:#b5a7ff; background:rgba(124,82,234,.22); }
html body.hub-app .summary-grid .green { color:#37dc88; background:rgba(34,197,94,.16); }
html body.hub-app .summary-grid .blue { color:#65a9ff; background:rgba(59,130,246,.18); }
html body.hub-app .summary-grid .orange { color:#f7ae38; background:rgba(245,158,11,.18); }
html body.hub-app .summary-grid small { color:#a3adc2; font-size:11px; font-weight:500; }
html body.hub-app .summary-grid strong { color:#f5f7fa; font-size:24px; }
html body.hub-app .company-content { gap:18px; }
html body.hub-app .company-page .card { padding:22px; }
html body.hub-app .company-page .card-title { margin-bottom:18px; }
html body.hub-app .company-page .card-title>span { color:#dce4ef; background:#1b2942; }
html body.hub-app .company-page .card-title h3 { color:#f5f7fa; font-size:17px; font-weight:500; }
html body.hub-app .company-page .card-title p { color:#a3adc2; font-size:12px; }
html body.hub-app .info-grid { gap:12px; }
html body.hub-app .info-grid>div { min-height:72px; display:grid; grid-template-columns:40px minmax(0,1fr) 18px; align-items:center; gap:12px; padding:12px; border:1px solid var(--hub-border); border-radius:10px; background:rgba(16,24,39,.62); }
html body.hub-app .info-grid>div>span { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; color:#aa9cff; background:rgba(124,82,234,.20); }
html body.hub-app .info-grid>div>p { min-width:0; margin:0; }
html body.hub-app .info-grid>div>.hub-icon:last-child { width:16px; color:#a3adc2; }
html body.hub-app .info-grid small { color:#a3adc2; font-size:10px; font-weight:500; }
html body.hub-app .info-grid strong { overflow:hidden; margin-top:5px; color:#f5f7fa; font-size:12px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
html body.hub-app .product-grid { grid-template-columns:1fr; }
html body.hub-app .product-card { position:relative; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:16px; border:1px solid var(--hub-border); border-radius:11px; color:#f5f7fa; background:rgba(16,24,39,.62); }
html body.hub-app .product-card header { padding-bottom:14px; border-bottom:1px solid var(--hub-border); }
html body.hub-app .product-card.track header>span { color:#35d982; background:rgba(34,197,94,.16); }
html body.hub-app .product-card header strong { color:#f5f7fa; font-size:15px; font-weight:500; }
html body.hub-app .product-card header small,html body.hub-app .product-card div small { color:#a3adc2; font-size:10px; }
html body.hub-app .product-card header em { color:#55df8a; background:rgba(34,197,94,.12); font-weight:500; }
html body.hub-app .product-card div strong { color:#f5f7fa; font-size:13px; font-weight:500; }
html body.hub-app .product-card>a { position:absolute; right:18px; bottom:20px; color:#f5f7fa; font-size:0; }
html body.hub-app .product-card>a:after { content:"›"; font-size:25px; font-weight:400; }
html body.hub-app .company-config-card .card-title { margin-bottom:16px; }
html body.hub-app .company-config-list { display:grid; gap:10px; }
html body.hub-app .company-config-list>a { min-height:72px; display:grid; grid-template-columns:44px minmax(0,1fr) auto 18px; align-items:center; gap:14px; padding:10px 16px; border:1px solid var(--hub-border); border-radius:10px; color:#f5f7fa; background:rgba(16,24,39,.72); text-decoration:none; transition:background 150ms ease,border-color 150ms ease,transform 150ms ease; }
html body.hub-app .company-config-list>a:hover { border-color:rgba(88,101,242,.35); background:#1b2942; transform:translateY(-1px); }
html body.hub-app .company-config-list>a>span { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; }
html body.hub-app .company-config-list .purple { color:#c19cff; background:rgba(124,58,237,.20); }
html body.hub-app .company-config-list .blue { color:#73aaff; background:rgba(59,130,246,.18); }
html body.hub-app .company-config-list .orange { color:#f8b24c; background:rgba(245,158,11,.18); }
html body.hub-app .company-config-list .green { color:#4cdd92; background:rgba(34,197,94,.16); }
html body.hub-app .company-config-list .slate { color:#cbd5e1; background:#202b3e; }
html body.hub-app .company-config-list strong { font-size:14px; font-weight:500; }
html body.hub-app .company-config-list small { display:block; margin-top:5px; color:#a3adc2; font-size:11px; font-weight:400; }
html body.hub-app .company-config-list em { color:#4cdd92; font-size:11px; font-style:normal; white-space:nowrap; }
html body.hub-app .company-config-list em.muted-state { color:#8d9bb0; }
html body.hub-app #adicionar-produto,html body.hub-app #financeiro,html body.hub-app #editar,html body.hub-app #historico { display:none; }
html body.hub-app #editar:target,html body.hub-app #historico:target { display:block; }
html body.hub-app .split-form .form-block,html body.hub-app .history-list article { border-color:var(--hub-border); color:#f5f7fa; background:#101827; }
html body.hub-app .split-form label { color:#a3adc2; }
html body.hub-app .split-form input,html body.hub-app .split-form select,html body.hub-app .split-form textarea { border-color:var(--hub-border); color:#f5f7fa; background:#0b1220; }
html body.hub-app .history-list p { color:#dce4ef; }
@media(max-width:1180px){html body.hub-app .company-page{padding:0 22px 44px}html body.hub-app .company-menu{order:initial;width:auto}html body.hub-app .company-user{display:none}}
@media(max-width:820px){html body.hub-app .company-title-row{align-items:flex-start;flex-direction:column}html body.hub-app .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html body.hub-app .info-grid{grid-template-columns:1fr}html body.hub-app .product-card{grid-template-columns:repeat(2,minmax(0,1fr))}html body.hub-app .company-menu{overflow-x:auto}html body.hub-app .company-menu a{padding:0 10px}}
@media(max-width:600px){html body.hub-app .company-page{padding:0 14px 32px}html body.hub-app .summary-grid{grid-template-columns:1fr}html body.hub-app .company-config-list>a{grid-template-columns:42px minmax(0,1fr) 16px}html body.hub-app .company-config-list em{display:none}html body.hub-app .product-card{grid-template-columns:1fr}html body.hub-app .company-actions{width:100%}html body.hub-app .company-actions .btn{flex:1}}

/* Tema global claro · Simplus Hub */
html body.hub-app {
    --m3-primary:#4f46e5;
    --m3-primary-hover:#4338ca;
    --m3-on-primary:#fff;
    --m3-primary-container:#eef0ff;
    --m3-on-primary-container:#29256f;
    --m3-tertiary:#07815f;
    --m3-tertiary-container:#dcf8ee;
    --m3-error:#c62828;
    --m3-error-container:#ffebee;
    --m3-surface:#f5f7fb;
    --m3-surface-dim:#e7eaf1;
    --m3-surface-container-low:#f8f9fc;
    --m3-surface-container:#f0f2f7;
    --m3-surface-container-high:#e9edf5;
    --m3-surface-container-highest:#e1e6ef;
    --m3-surface-bright:#fff;
    --m3-on-surface:#182033;
    --m3-on-surface-variant:#647087;
    --m3-outline:#8791a4;
    --m3-outline-variant:#dce1ea;
    --m3-shadow:0 1px 2px rgba(21,31,52,.05),0 10px 28px rgba(21,31,52,.05);
    --m3-shadow-high:0 20px 52px rgba(21,31,52,.13);
    background:#f5f7fb !important;
    color:#182033 !important;
}
html body.hub-app .hub-shell,html body.hub-app .hub-main,html body.hub-app .hub-content { background:#f5f7fb !important; color:#182033; }
html body.hub-app .hub-sidebar { color:#182033 !important; background:rgba(255,255,255,.94) !important; border-color:#e2e6ee !important; }
html body.hub-app .hub-topbar { background:rgba(255,255,255,.90) !important; border-color:#e2e6ee !important; }
html body.hub-app .brand-mark { color:#fff; background:#4f46e5; }
html body.hub-app .page-identity h1,html body.hub-app .page-intro h2,html body.hub-app .m3-page-heading h2,
html body.hub-app .connect-m3 .connect-head h2,html body.hub-app .service-hero h2,html body.hub-app .product-detail-head h2 { color:#182033 !important; }
html body.hub-app .page-intro p,html body.hub-app .m3-page-heading p,html body.hub-app .connect-m3 .connect-head p,
html body.hub-app .service-hero p,html body.hub-app .product-detail-head p { color:#647087 !important; }
html body.hub-app .global-search,html body.hub-app .quick-menu,html body.hub-app .command-dialog,
html body.hub-app .hub-card,html body.hub-app .m3-card,html body.hub-app .metric-card { color:#182033 !important; background:#fff !important; border-color:#dfe4ed !important; }
html body.hub-app .global-search input { color:#182033 !important; }
html body.hub-app .m3-button.outline { color:#4f46e5 !important; background:#fff !important; border-color:#d8deea !important; }
html body.hub-app .m3-button.outline:hover { background:#f0f2ff !important; }

/* Empresas e serviços */
html body.hub-app .services-kpis article,html body.hub-app .services-data-card { color:#182033; background:#fff !important; border-color:#dfe4ed !important; }
html body.hub-app .services-kpis article:hover { background:#f7f8fc !important; }
html body.hub-app .services-kpis strong,html body.hub-app .services-m3-table strong { color:#182033 !important; }
html body.hub-app .services-kpis small,html body.hub-app .services-kpis p { color:#647087 !important; }
html body.hub-app .services-search,html body.hub-app .services-filters select,html body.hub-app .services-clear { color:#566176 !important; background:#f7f9fc !important; border-color:#dce2eb !important; }
html body.hub-app .services-search input,html body.hub-app .services-filters select { color:#182033 !important; }
html body.hub-app table.services-m3-table { color:#182033 !important; background:#fff !important; }
html body.hub-app .services-m3-table th { color:#677287 !important; background:#f3f5f9 !important; border-color:#e1e6ee !important; }
html body.hub-app .services-m3-table td { color:#273247 !important; background:#fff !important; border-color:#edf0f5 !important; }
html body.hub-app .services-m3-table tr:hover td { background:#f7f8fc !important; }
html body.hub-app .m3-icon-menu summary:hover,html body.hub-app .m3-icon-menu a:hover,html body.hub-app .m3-icon-menu button:hover { color:#182033 !important; background:#f0f3f8 !important; }
html body.hub-app .m3-icon-menu>div { background:#fff !important; border-color:#dce2eb !important; box-shadow:var(--m3-shadow-high); }

/* Conectar empresa */
html body.hub-app .connect-m3 .connect-step,html body.hub-app .connect-m3 .hub-card.connect-panel,
html body.hub-app .connect-m3 .hub-card.connect-confirm,html body.hub-app .connect-m3 .product-picker article { color:#182033 !important; background:#fff !important; border-color:#dfe4ed !important; }
html body.hub-app .connect-m3 .connect-step { background:#eef1f6 !important; }
html body.hub-app .connect-m3 .connect-step.active { color:#fff !important; background:#4f46e5 !important; }
html body.hub-app .connect-m3 .connect-step b { color:#556176; background:#fff; }
html body.hub-app .connect-m3 .company-search,html body.hub-app .connect-m3 .company-picker a,
html body.hub-app .connect-m3 .selected-summary,html body.hub-app .connect-m3 .confirm-pair article { color:#182033 !important; background:#f8f9fc !important; border-color:#dce2eb !important; }
html body.hub-app .connect-m3 .company-search input,html body.hub-app .connect-m3 .company-picker strong,
html body.hub-app .connect-m3 .selected-summary strong,html body.hub-app .connect-m3 .product-picker h3,
html body.hub-app .connect-m3 .confirm-pair strong { color:#182033 !important; }
html body.hub-app .connect-m3 .company-picker a:hover,html body.hub-app .connect-m3 .product-picker article:hover { background:#f0f2ff !important; border-color:#aab3ff !important; }
html body.hub-app .connect-m3 .hub-form input,html body.hub-app .connect-m3 .hub-form select,html body.hub-app .connect-m3 .hub-form textarea { color:#182033 !important; background:#fff !important; border-color:#dce2eb !important; }

/* Configuração do serviço */
html body.hub-app .service-nav { border-color:#dfe4ed !important; }
html body.hub-app .service-nav a { color:#647087 !important; }
html body.hub-app .service-nav a:hover { color:#182033 !important; }
html body.hub-app .hub-card.config-card,html body.hub-app .hub-card.checklist,html body.hub-app .hub-card.billing-preview { color:#182033 !important; background:#fff !important; border-color:#dfe4ed !important; box-shadow:var(--m3-shadow) !important; }
html body.hub-app .config-card .section-heading h2,html body.hub-app .checklist h3 { color:#182033 !important; }
html body.hub-app .config-card .hub-form input,html body.hub-app .config-card .hub-form select,
html body.hub-app .config-card .hub-form textarea,html body.hub-app .billing-preview input,
html body.hub-app .saved-items article,html body.hub-app .status-pair span { color:#182033 !important; background:#f8f9fc !important; border-color:#dce2eb !important; }
html body.hub-app .billing-preview dd { color:#182033 !important; }
html body.hub-app .config-card table,html body.hub-app .hub-card table { color:#182033 !important; background:#fff !important; }
html body.hub-app .config-card table th,html body.hub-app .hub-card table th { color:#667187 !important; background:#f3f5f9 !important; }
html body.hub-app .config-card table td,html body.hub-app .hub-card table td { color:#273247 !important; background:#fff !important; border-color:#e8ecf2 !important; }

/* Produtos */
html body.hub-app .product-open-card,html body.hub-app .product-global-summary { color:#182033 !important; background:#fff !important; border-color:#dfe4ed !important; }
html body.hub-app .product-open-card:hover { background:#f7f8fc !important; border-color:#aab3ff !important; }
html body.hub-app .product-open-card h3,html body.hub-app .product-open-card .catalog-stats strong,
html body.hub-app .product-global-summary h3,html body.hub-app .product-global-summary dd,
html body.hub-app .product-rule-list strong { color:#182033 !important; }
html body.hub-app .product-open-card .catalog-stats span,html body.hub-app .rule-check,
html body.hub-app .product-rule-list article { background:#f8f9fc !important; border-color:#dce2eb !important; }
html body.hub-app .product-detail-head a { color:#182033 !important; background:#fff; border-color:#dce2eb !important; }
html body.hub-app .product-rule-list button { background:#e9edf5 !important; }
html body.hub-app .modal { color:#182033 !important; background:#fff !important; }

/* Dossiê da empresa */
html body.hub-app .company-page { --hub-bg:#f5f7fb; --hub-text:#182033; --hub-muted:#647087; --hub-border:#dfe4ed; color:#182033 !important; }
html body.hub-app .company-top-nav { border-color:#dfe4ed; }
html body.hub-app .company-menu a { color:#566176; }
html body.hub-app .company-menu a:hover { color:#182033; background:#e9edf5; }
html body.hub-app .company-menu a.active { color:#3730a3; background:#e9eaff; }
html body.hub-app .company-title-row h2,html body.hub-app .summary-grid strong,
html body.hub-app .company-page .card-title h3,html body.hub-app .info-grid strong,
html body.hub-app .product-card header strong,html body.hub-app .product-card div strong { color:#182033 !important; }
html body.hub-app .company-page .btn { color:#253047; background:#fff; border-color:#dce2eb; }
html body.hub-app .company-page .btn:hover { background:#f0f2f7; }
html body.hub-app .company-page .btn.primary { color:#fff; background:#4f46e5; }
html body.hub-app .summary-grid article,html body.hub-app .company-page .card { color:#182033; background:#fff !important; border-color:#dfe4ed; box-shadow:var(--m3-shadow); }
html body.hub-app .info-grid>div,html body.hub-app .product-card,html body.hub-app .company-config-list>a,
html body.hub-app .split-form .form-block,html body.hub-app .history-list article { color:#182033 !important; background:#f8f9fc !important; border-color:#dfe4ed !important; }
html body.hub-app .company-config-list>a:hover { background:#eef0ff !important; border-color:#aab3ff !important; }
html body.hub-app .company-config-list strong { color:#182033; }
html body.hub-app .split-form input,html body.hub-app .split-form select,html body.hub-app .split-form textarea { color:#182033 !important; background:#fff !important; border-color:#dce2eb !important; }
html body.hub-app .history-list p { color:#334057; }
