:root {
  --bg-primary: #070d1a;
  --bg-secondary: #0b1324;
  --bg-tertiary: #0e1730;
  --surface: #111a2e;
  --surface-hover: #16213a;
  --surface-elevated: #1a2542;
  --border: #263653;
  --border-strong: #34486d;
  --border-subtle: #1a2848;
  --gold: #f2bc3b;
  --gold-hover: #ffd363;
  --gold-dark: #c99a2c;
  --gold-glow: rgba(242, 188, 59, .35);
  --text-primary: #fff;
  --text-secondary: #8fa3c7;
  --text-muted: #60708f;
  --text-disabled: #3d4a66;
  --success: #20c77a;
  --warning: #f59e0b;
  --danger: #ef4444;
  --info: #3b82f6;
  --sidebar: 268px;
  --topbar: 72px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --shadow: 0 22px 55px rgba(0, 0, 0, .28);
  --transition: 180ms cubic-bezier(.4, 0, .2, 1);
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg-primary); color: var(--text-primary); font: 14px/1.55 "Plus Jakarta Sans", Inter, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4, strong, .brand-copy { font-family: Sora, Inter, "Segoe UI", sans-serif; }
::selection { background: var(--gold); color: #07101f; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #080f1e; }
::-webkit-scrollbar-thumb { background: var(--border); border: 2px solid #080f1e; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--border-strong); }

.icon { width: 18px; height: 18px; display: inline-block; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mobile-only { display: none !important; }

/* Authentication */
.auth-body { min-height: 100vh; overflow-x: hidden; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; background: #050a14; }
.auth-showcase { position: relative; overflow: hidden; min-height: 100vh; padding: 52px clamp(38px, 5vw, 78px); display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgba(143, 163, 199, .16); background: radial-gradient(circle at 20% 35%, rgba(242,188,59,.14), transparent 26%), radial-gradient(circle at 78% 78%, rgba(19,76,149,.22), transparent 32%), linear-gradient(145deg, #0c1320, #081124 62%, #07101f); }
.auth-showcase::before { content: ""; position: absolute; width: 500px; height: 500px; left: 32%; top: 25%; border-radius: 50%; background: rgba(23, 67, 127, .12); filter: blur(90px); }
.auth-grain { position: absolute; inset: 0; opacity: .035; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(145deg, var(--gold-hover), var(--gold-dark)); color: #07101f; font: 800 14px Sora, sans-serif; box-shadow: 0 8px 25px var(--gold-glow), inset 0 1px rgba(255,255,255,.35); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.12; }
.brand-copy strong { font-size: 15px; }
.brand-copy small { margin-top: 4px; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .22em; }
.auth-brand, .auth-hero, .auth-version { position: relative; z-index: 1; }
.auth-hero { max-width: 640px; }
.eyebrow { display: inline-flex; align-items: center; gap: 7px; width: fit-content; padding: 6px 11px; border: 1px solid rgba(242,188,59,.25); border-radius: 999px; color: var(--gold); background: rgba(242,188,59,.08); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.eyebrow .icon { width: 13px; height: 13px; }
.auth-hero h1 { margin: 24px 0 14px; font-size: clamp(37px, 4.2vw, 62px); line-height: 1.05; letter-spacing: -.045em; }
.auth-hero h1 em { color: var(--gold); font-style: normal; }
.auth-hero > p { max-width: 580px; color: var(--text-secondary); font-size: 16px; }
.auth-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 34px; }
.auth-features article { min-height: 102px; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(10,18,35,.55); backdrop-filter: blur(12px); display: flex; flex-direction: column; transition: transform var(--transition), border-color var(--transition), background var(--transition); }
.auth-features article:hover { transform: translateY(-4px); border-color: rgba(242,188,59,.42); background: rgba(17,26,46,.78); }
.auth-features .icon { color: var(--gold); margin-bottom: 8px; }
.auth-features strong { font-size: 17px; }
.auth-features small { color: var(--text-muted); font-size: 9px; letter-spacing: .12em; }
.auth-version { color: var(--text-muted); }
.auth-form-side { min-height: 100vh; display: grid; place-items: center; padding: 45px; background: radial-gradient(circle at 72% 55%, rgba(22,58,110,.15), transparent 35%), #050b17; }
.login-card { width: min(100%, 430px); animation: authEnter .5s ease both; }
@keyframes authEnter { from { opacity: 0; transform: translateY(16px); } }
.login-card h2 { margin: 20px 0 6px; font-size: 30px; letter-spacing: -.035em; }
.login-card > p { color: var(--text-muted); margin-bottom: 28px; }
.login-form { display: grid; gap: 18px; }
.field { display: grid; gap: 8px; color: var(--text-secondary); font-size: 12px; font-weight: 600; }
.field-row { display: flex; justify-content: space-between; gap: 12px; }
.field-row a { color: var(--text-secondary); transition: color var(--transition); }
.field-row a:hover { color: var(--gold); }
.input-wrap { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid var(--border); border-radius: 11px; background: #10182d; transition: border-color var(--transition), box-shadow var(--transition), background var(--transition); }
.input-wrap:focus-within { border-color: var(--gold); background: #121c34; box-shadow: 0 0 0 3px rgba(242,188,59,.1); }
.input-wrap .icon { color: var(--text-muted); }
.input-wrap input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--text-primary); background: transparent; }
.input-wrap input::placeholder { color: #50607d; }

.account-grid { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); gap: 20px; }
.account-profile { display: flex; align-items: center; gap: 18px; min-height: 190px; }
.account-profile h2 { margin: 8px 0 4px; }
.account-profile p { color: var(--text-secondary); margin: 0 0 14px; }
.account-avatar { width: 72px; height: 72px; font-size: 1.25rem; }
@media (max-width: 760px) { .account-grid { grid-template-columns: 1fr; } .account-profile { min-height: auto; } }
.password-toggle { border: 0; padding: 6px; color: var(--text-muted); background: transparent; }
.password-toggle:hover, .password-toggle.active { color: var(--gold); }
.check-field { display: flex; align-items: center; gap: 9px; color: var(--text-secondary); font-size: 12px; cursor: pointer; }
.check-field input { width: 16px; height: 16px; accent-color: var(--gold); }
.form-alert { min-height: 42px; margin-bottom: 18px; padding: 10px 12px; display: flex; gap: 9px; align-items: center; border-radius: 9px; font-size: 12px; }
.form-alert.danger { border: 1px solid rgba(239,68,68,.35); color: #ff9999; background: rgba(239,68,68,.1); }
.form-alert.warning { border:1px solid rgba(242,188,59,.35);color:#f7d67c;background:rgba(242,188,59,.09); }
.development-note { margin: 22px 0 0; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--text-muted); font-size: 11px; }
.development-note .icon { width: 14px; }
.auth-single { min-height: 100vh; padding: 35px 20px; display: grid; place-items: center; background: radial-gradient(circle at 50% 15%,rgba(242,188,59,.08),transparent 25%),radial-gradient(circle at 85% 80%,rgba(59,130,246,.1),transparent 25%),#050b17; }
.auth-single .login-card { width: min(100%,460px); padding: 28px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(17,26,46,.88); box-shadow: var(--shadow); }
.auth-single .auth-step { margin-top: 35px; }
.form-alert.success { border:1px solid rgba(32,199,122,.35);color:#8eebbd;background:rgba(32,199,122,.1); }
.development-link { margin-bottom:18px;padding:11px;border:1px solid rgba(242,188,59,.3);border-radius:9px;background:rgba(242,188,59,.07); }
.development-link strong { display:block;color:var(--gold);font-size:9px; }
.development-link a { display:block;overflow:hidden;color:var(--text-secondary);font-size:9px;text-overflow:ellipsis;white-space:nowrap; }
.back-link { color:var(--text-secondary);font-size:11px;text-align:center; }
.back-link:hover { color:var(--gold); }

/* Buttons */
.btn { min-height: 40px; padding: 0 16px; border: 1px solid transparent; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; font-size: 12px; transition: transform 120ms, box-shadow var(--transition), border-color var(--transition), background var(--transition), color var(--transition); }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(1px) scale(.99); }
.btn:focus-visible, .icon-button:focus-visible, .profile-button:focus-visible, .menu-item:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.btn:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.btn-primary { color: #09101d; background: linear-gradient(135deg, var(--gold-hover), var(--gold)); box-shadow: 0 8px 25px rgba(242,188,59,.2), inset 0 1px rgba(255,255,255,.38); }
.btn-primary:hover { background: linear-gradient(135deg, #ffe080, var(--gold-hover)); box-shadow: 0 10px 34px var(--gold-glow); }
.btn-secondary { color: var(--text-primary); border-color: var(--border); background: #10182a; }
.btn-secondary:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.btn-lg { min-height: 50px; padding-inline: 22px; border-radius: 12px; }
.btn-block { width: 100%; }
.btn.loading .icon { animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* App structure */
.app-body { min-height: 100vh; background: radial-gradient(circle at 52% 0%, rgba(29,62,110,.08), transparent 28%), var(--bg-primary); }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: var(--sidebar); display: flex; flex-direction: column; border-right: 1px solid var(--border-subtle); background: rgba(7,13,26,.96); backdrop-filter: blur(22px); transition: transform var(--transition); }
.sidebar > .brand { height: var(--topbar); padding: 0 18px; border-bottom: 1px solid var(--border-subtle); }
.company-card { margin: 17px 12px 8px; min-height: 60px; padding: 9px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--border); border-radius: 12px; background: linear-gradient(135deg, rgba(26,37,66,.9), rgba(10,19,36,.9)); transition: border-color var(--transition), transform var(--transition); }
.company-card:hover { border-color: var(--border-strong); transform: translateY(-1px); }
.company-icon { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: #07101f; background: var(--gold); }
.company-card label { flex: 1; min-width: 0; display: grid; }
.company-card small { color: var(--text-muted); font-size: 8px; letter-spacing: .14em; font-weight: 800; }
.company-card select { width: 100%; min-width: 0; border: 0; outline: 0; padding: 2px 20px 2px 0; color: var(--text-primary); background: transparent; font-size: 11px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.company-card select option { background: var(--surface); }
.sidebar-nav { flex: 1; padding: 8px 10px 22px; overflow-y: auto; }
.menu-label { margin: 18px 9px 7px; color: var(--text-muted); font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.menu-item { position: relative; width: 100%; min-height: 38px; padding: 0 10px; border: 0; border-radius: 8px; display: flex; align-items: center; gap: 11px; color: var(--text-secondary); background: transparent; font-size: 11px; transition: color var(--transition), background var(--transition), transform var(--transition); }
.menu-item .icon { width: 16px; height: 16px; }
.menu-text { min-width: 0; flex: 1; }
.menu-count { min-width: 23px; height: 19px; margin-left: auto; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(242,188,59,.46); border-radius: 999px; color: #111827; background: linear-gradient(135deg, var(--gold-hover), var(--gold)); box-shadow: 0 0 13px rgba(242,188,59,.2); font-size: 8px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; }
.menu-item.active .menu-count { border-color: var(--gold-hover); box-shadow: 0 0 16px rgba(242,188,59,.34); }
.menu-item:hover { color: #d9e3f7; background: rgba(22,33,58,.6); transform: translateX(2px); }
.menu-item.active { color: var(--gold); background: linear-gradient(90deg, rgba(242,188,59,.14), rgba(242,188,59,.06)); }
.menu-item.active::before { content: ""; position: absolute; left: -10px; top: 7px; bottom: 7px; width: 3px; border-radius: 0 3px 3px 0; background: var(--gold); box-shadow: 0 0 14px var(--gold); }
.sidebar-logout { padding: 12px 10px; border-top: 1px solid var(--border-subtle); }
.menu-button { text-align: left; }
.main-area { min-height: 100vh; margin-left: var(--sidebar); }
.topbar { position: sticky; top: 0; z-index: 30; height: var(--topbar); padding: 0 26px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border-bottom: 1px solid rgba(38,54,83,.65); background: rgba(7,13,26,.82); backdrop-filter: blur(24px); }
.topbar-title { min-width: 0; display: flex; align-items: center; gap: 10px; }
.topbar-title > div { display: grid; }
.topbar-title strong { font-size: 14px; }
.topbar-title small { color: var(--text-muted); font-size: 9px; }
.menu-toggle { display: none !important; }
.topbar-actions { position: relative; display: flex; align-items: center; gap: 9px; }
.global-search { width: clamp(210px, 21vw, 310px); height: 40px; padding: 0 11px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 10px; background: rgba(17,26,46,.7); transition: border-color var(--transition), box-shadow var(--transition); }
.global-search:focus-within { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(242,188,59,.08); }
.global-search .icon { width: 15px; color: var(--text-muted); }
.global-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--text-primary); background: transparent; font-size: 11px; }
.global-search input::placeholder { color: var(--text-muted); }
.global-search kbd { padding: 2px 5px; border: 1px solid var(--border); border-radius: 5px; color: var(--text-muted); background: #0b1426; font-size: 8px; }
.icon-button { width: 38px; height: 38px; padding: 0; border: 1px solid transparent; border-radius: 9px; display: grid; place-items: center; color: var(--text-secondary); background: transparent; transition: color var(--transition), border-color var(--transition), background var(--transition); }
.icon-button:hover { color: var(--text-primary); border-color: var(--border); background: var(--surface-hover); }
.notification-button { position: relative; }
.notification-dot { position: absolute; right: 8px; top: 8px; width: 6px; height: 6px; border: 1px solid var(--bg-primary); border-radius: 50%; background: var(--gold); box-shadow: 0 0 8px var(--gold); }
.profile-button { min-width: 178px; height: 46px; padding: 4px 7px; border: 1px solid transparent; border-radius: 11px; display: flex; align-items: center; gap: 9px; color: var(--text-primary); background: transparent; transition: background var(--transition), border-color var(--transition); }
.profile-button:hover { border-color: var(--border); background: var(--surface); }
.avatar { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #07101f; background: linear-gradient(145deg, var(--gold-hover), var(--gold-dark)); font: 800 12px Sora, sans-serif; }
.profile-copy { flex: 1; min-width: 0; display: grid; text-align: left; }
.profile-copy strong { overflow: hidden; font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.profile-copy small { color: var(--text-muted); font-size: 8px; }
.profile-button > .icon { width: 14px; }
.dropdown-menu { position: absolute; right: 0; top: calc(100% + 9px); z-index: 60; width: 190px; padding: 7px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-elevated); box-shadow: var(--shadow); animation: dropdownIn var(--transition) both; }
@keyframes dropdownIn { from { opacity: 0; transform: translateY(-5px) scale(.98); } }
.dropdown-menu a, .dropdown-menu button { width: 100%; min-height: 38px; padding: 0 10px; border: 0; border-radius: 8px; display: flex; align-items: center; gap: 9px; color: var(--text-secondary); background: transparent; font-size: 11px; }
.dropdown-menu a:hover, .dropdown-menu button:hover { color: var(--text-primary); background: var(--surface-hover); }
.dropdown-menu .icon { width: 15px; }
.page-content { width: 100%; max-width: 1740px; margin: 0 auto; padding: 25px clamp(18px, 2.2vw, 34px) 48px; }

/* Shared content */
.page-heading { margin-bottom: 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.page-heading h1 { margin-bottom: 4px; font-size: clamp(23px, 2vw, 29px); letter-spacing: -.04em; }
.page-heading p { margin: 0; color: var(--text-muted); font-size: 11px; }
.page-heading p strong { color: var(--gold-dark); font-size: inherit; }
.page-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.select-button { height: 40px; padding: 0 12px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 10px; background: #10182a; }
.select-button .icon { width: 15px; }
.select-button select { border: 0; outline: 0; color: var(--text-primary); background: transparent; font-size: 11px; font-weight: 700; }
.select-button option { background: var(--surface); }
.section-kicker { margin: 17px 0 8px; color: var(--text-muted); font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.stat-card { position: relative; min-width: 0; min-height: 136px; padding: 18px; overflow: hidden; border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: linear-gradient(150deg, rgba(18,29,54,.98), rgba(14,23,44,.96)); box-shadow: 0 10px 30px rgba(0,0,0,.12); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.stat-card::after { content: ""; position: absolute; right: -40px; bottom: -55px; width: 120px; height: 120px; border-radius: 50%; background: currentColor; opacity: .035; filter: blur(5px); }
.stat-card:hover { transform: translateY(-3px); border-color: var(--border-strong); box-shadow: 0 16px 38px rgba(0,0,0,.2); }
.stat-card.success { color: var(--success); }
.stat-card.danger { color: var(--danger); }
.stat-card.warning { color: var(--warning); }
.stat-card.info { color: var(--info); }
.stat-card.gold { color: var(--gold); }
.stat-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 13px; }
.stat-icon { width: 38px; height: 38px; border: 1px solid currentColor; border-radius: 9px; display: grid; place-items: center; background: color-mix(in srgb, currentColor 10%, transparent); }
.stat-icon .icon { width: 19px; }
.trend { min-height: 22px; padding: 3px 7px; border-radius: 6px; display: inline-flex; align-items: center; gap: 4px; font-size: 8px; font-weight: 700; }
.trend .icon { width: 11px; }
.trend.up { color: var(--success); background: rgba(32,199,122,.1); }
.trend.down { color: #ff7474; background: rgba(239,68,68,.1); }
.trend.neutral { color: var(--text-secondary); background: rgba(143,163,199,.08); }
.stat-card > span { display: block; color: var(--text-muted); font-size: 9px; letter-spacing: .06em; }
.stat-card > strong { display: block; overflow: hidden; color: var(--text-primary); font-size: clamp(22px, 2vw, 31px); line-height: 1.2; letter-spacing: -.035em; white-space: nowrap; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.dashboard-bottom { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .7fr); gap: 14px; }
.panel { border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: rgba(17,26,46,.9); box-shadow: 0 12px 35px rgba(0,0,0,.1); }
.panel-header { min-height: 66px; padding: 16px 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.panel-header h2 { margin: 0 0 2px; font-size: 14px; }
.panel-header p { margin: 0; color: var(--text-muted); font-size: 9px; }
.panel-header > a { color: var(--text-secondary); font-size: 10px; }
.panel-header > a:hover { color: var(--gold); }
.mini-tabs { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid var(--border); border-radius: 8px; background: #0c1427; }
.mini-tabs a { min-width: 32px; height: 27px; border-radius: 6px; display: grid; place-items: center; font-size: 9px; font-weight: 800; }
.mini-tabs a.active { color: #07101f; background: var(--gold); box-shadow: 0 5px 16px var(--gold-glow); }
.bar-chart { height: 286px; margin: 0 18px; padding: 22px 10px 0; display: flex; align-items: stretch; justify-content: space-around; gap: 10px; border-bottom: 1px solid var(--border); background: repeating-linear-gradient(to bottom, rgba(143,163,199,.09) 0 1px, transparent 1px 25%); }
.bar-group { flex: 1; min-width: 28px; max-width: 110px; display: grid; grid-template-rows: 1fr 25px; align-items: end; text-align: center; }
.bars { height: 100%; display: flex; align-items: end; justify-content: center; gap: clamp(2px, .4vw, 7px); }
.bar { width: clamp(6px, 1.3vw, 18px); height: var(--height); min-height: 3px; border-radius: 5px 5px 1px 1px; transform-origin: bottom; animation: barGrow .7s cubic-bezier(.2,.9,.3,1) both; }
@keyframes barGrow { from { transform: scaleY(.03); opacity: .3; } }
.bar.open, .chart-legend i.open { background: linear-gradient(#4c91ff, #2365d6); box-shadow: 0 0 12px rgba(59,130,246,.2); }
.bar.received, .chart-legend i.received { background: linear-gradient(var(--gold-hover), var(--gold-dark)); box-shadow: 0 0 12px rgba(242,188,59,.2); }
.bar.overdue, .chart-legend i.overdue { background: linear-gradient(#ff5e5e, #bd2835); box-shadow: 0 0 12px rgba(239,68,68,.18); }
.bar-group small { padding-top: 7px; color: var(--text-muted); font-size: 9px; }
.chart-legend { min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 22px; color: var(--text-secondary); font-size: 9px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; }
.chart-legend i { width: 8px; height: 8px; border-radius: 50%; }
.activity-list { max-height: 338px; padding: 0 18px 17px; overflow: auto; }
.activity-item { position: relative; padding: 8px 0 8px 35px; min-height: 50px; }
.activity-item:not(:last-child)::after { content: ""; position: absolute; left: 13px; top: 36px; bottom: -6px; width: 1px; background: var(--border-subtle); }
.activity-dot { position: absolute; left: 0; top: 8px; width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; }
.activity-dot .icon { width: 14px; }
.activity-dot.success { color: var(--success); background: rgba(32,199,122,.1); }
.activity-dot.info { color: var(--info); background: rgba(59,130,246,.1); }
.activity-dot.warning { color: var(--warning); background: rgba(245,158,11,.1); }
.activity-item strong { display: block; font-size: 10px; }
.activity-item p { margin: 1px 0; color: var(--text-secondary); font-size: 9px; }
.activity-item small { color: var(--text-muted); font-size: 8px; }
.empty-state { min-height: 245px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--text-muted); text-align: center; }
.empty-state > .icon { width: 35px; height: 35px; margin-bottom: 10px; color: var(--border-strong); }
.empty-state strong { color: var(--text-secondary); font-size: 11px; }
.empty-state p { max-width: 230px; font-size: 9px; }

/* Feedback */
.toast { position: fixed; right: 24px; top: 88px; z-index: 100; width: min(390px, calc(100vw - 32px)); min-height: 50px; padding: 11px 12px; border: 1px solid; border-radius: 11px; display: flex; align-items: center; gap: 10px; box-shadow: var(--shadow); backdrop-filter: blur(18px); animation: toastIn .28s ease both; }
@keyframes toastIn { from { opacity: 0; transform: translateX(20px); } }
.toast-out { opacity: 0; transform: translateX(20px); transition: .22s ease; }
.toast-success { border-color: rgba(32,199,122,.35); color: #8eebbd; background: rgba(9,58,42,.92); }
.toast-danger { border-color: rgba(239,68,68,.35); color: #ffaaaa; background: rgba(65,18,27,.92); }
.toast span { flex: 1; }
.toast button { border: 0; padding: 4px; color: currentColor; background: transparent; }
.toast .icon { width: 17px; }
.sidebar-backdrop { display: none; }

/* Data modules and modals */
.compact-stats .stat-card { min-height: 112px; padding: 14px 16px; }
.compact-stats .stat-top { margin-bottom: 5px; }
.compact-stats .stat-icon { width: 32px; height: 32px; }
.compact-stats .stat-card > strong { font-size: 24px; }
.filter-bar { margin: 15px 0; min-height: 62px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: rgba(17,26,46,.88); }
.search-field { width: min(390px, 100%); height: 40px; padding: 0 12px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 9px; background: #0d1629; }
.search-field:focus-within { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(242,188,59,.08); }
.search-field .icon { width: 15px; color: var(--text-muted); }
.search-field input { width: 100%; border: 0; outline: 0; color: var(--text-primary); background: transparent; font-size: 11px; }
.filter-bar > select { height: 40px; min-width: 170px; padding: 0 32px 0 11px; border: 1px solid var(--border); border-radius: 9px; outline: 0; color: var(--text-primary); background: #0d1629; font-size: 11px; }
.filter-bar option { background: var(--surface); }
.result-count { margin-left: auto; color: var(--text-muted); font-size: 9px; white-space: nowrap; }
.btn-ghost { color: var(--gold); background: transparent; }
.btn-ghost:hover { background: rgba(242,188,59,.08); }
.data-panel { overflow: hidden; border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: rgba(17,26,46,.88); }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; min-width: 900px; border-collapse: collapse; }
.data-table th { height: 44px; padding: 0 15px; border-bottom: 1px solid var(--border); color: var(--text-muted); font-size: 8px; letter-spacing: .08em; text-align: left; white-space: nowrap; }
.data-table td { min-height: 58px; padding: 11px 15px; border-bottom: 1px solid var(--border-subtle); color: var(--text-secondary); font-size: 10px; vertical-align: middle; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr { transition: background var(--transition); }
.data-table tbody tr:hover { background: rgba(22,33,58,.7); }
.data-table td > strong, .entity-cell strong { display: block; color: var(--text-primary); font-size: 10px; }
.data-table td > small, .entity-cell small { display: block; color: var(--text-muted); font-size: 8px; }
.entity-cell { display: flex; align-items: center; gap: 9px; min-width: 210px; }
.avatar.small { width: 31px; height: 31px; font-size: 8px; }
.mono { font-family: "JetBrains Mono", Consolas, monospace; font-variant-numeric: tabular-nums; }
.money-cell { color: var(--text-primary) !important; font-family: "JetBrains Mono", Consolas, monospace; font-weight: 700; white-space: nowrap; }
.status-badge, .method-badge { min-height: 22px; padding: 3px 8px; border-radius: 999px; display: inline-flex; align-items: center; font-size: 8px; font-weight: 700; white-space: nowrap; }
.status-badge.ativo, .status-badge.pago { color: #64e4a7; background: rgba(32,199,122,.12); }
.status-badge.bloqueado, .status-badge.vencido, .status-badge.inadimplente { color: #ff8585; background: rgba(239,68,68,.12); }
.status-badge.pre_cadastro, .status-badge.aguardando_confirmacao, .status-badge.em_aberto { color: #76aeff; background: rgba(59,130,246,.12); }
.status-badge.cancelado, .status-badge.estornado { color: var(--text-secondary); background: rgba(143,163,199,.1); }
.status-badge.parcialmente_pago { color: #ffc65c; background: rgba(245,158,11,.12); }
.method-badge { color: #a9bddf; background: rgba(143,163,199,.08); }
.status-badge.generic { color: #9bbcff; background: rgba(59,130,246,.1); }
.rating { color: var(--gold); font-weight: 800; }
.module-hero { min-height: 100px; margin-bottom: 14px; padding: 17px 20px; display: flex; align-items: center; gap: 15px; border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: radial-gradient(circle at 10% 20%, rgba(242,188,59,.08), transparent 24%), linear-gradient(145deg,rgba(17,26,46,.96),rgba(11,19,36,.96)); }
.module-hero-icon { width: 50px; height: 50px; border: 1px solid rgba(242,188,59,.25); border-radius: 14px; display: grid; place-items: center; color: var(--gold); background: rgba(242,188,59,.08); }
.module-hero-icon .icon { width: 24px; height: 24px; }
.module-hero > div { display: grid; }
.module-hero span { color: var(--text-muted); font-size: 8px; letter-spacing: .12em; }
.module-hero strong { font-size: 25px; line-height: 1.1; }
.module-hero small { color: var(--text-secondary); font-size: 9px; }
.cards-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px; }
.entity-card { padding:17px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(145deg,rgba(17,26,46,.96),rgba(11,19,36,.96));transition:transform var(--transition),border-color var(--transition); }
.entity-card:hover { transform:translateY(-3px);border-color:var(--border-strong); }
.entity-card > header,.entity-card > footer { display:flex;align-items:center;justify-content:space-between;gap:9px; }
.entity-card h2 { margin:14px 0 2px;font-size:15px; }
.entity-card > p { min-height:34px;color:var(--text-muted);font-size:9px; }
.entity-card dl { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0; }
.entity-card dl div { min-width:0; }
.entity-card dt { color:var(--text-muted);font-size:8px;text-transform:uppercase; }
.entity-card dd { margin:2px 0 0;overflow:hidden;color:var(--text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap; }
.entity-card footer { padding-top:12px;border-top:1px solid var(--border-subtle);justify-content:flex-end; }
.entity-card footer form { margin:0; }
.settings-tabs { width:fit-content;margin-bottom:15px;padding:4px;display:flex;gap:3px;border:1px solid var(--border);border-radius:10px;background:var(--surface); }
.settings-tabs a { min-height:35px;padding:0 13px;border-radius:7px;display:grid;place-items:center;color:var(--text-secondary);font-size:10px; }
.settings-tabs a.active { color:#07101f;background:var(--gold); }
.settings-general { margin-bottom:18px;padding:0 18px 18px;scroll-margin-top:90px; }
.settings-section-title { margin:22px 0 10px;font-size:16px;scroll-margin-top:90px; }
.security-note { margin-top:18px;padding:18px;display:flex;align-items:center;gap:14px;scroll-margin-top:90px; }
.security-note h2 { margin:0 0 3px;font-size:14px; }.security-note p{margin:0;color:var(--text-secondary);font-size:10px}
.integration-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.integration-card { border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(145deg,rgba(17,26,46,.96),rgba(11,19,36,.96)); }
.integration-card[open] { grid-column:1/-1;border-color:var(--border-strong); }
.integration-card summary { min-height:82px;padding:14px 16px;display:flex;align-items:center;gap:11px;list-style:none;cursor:pointer; }
.integration-card summary::-webkit-details-marker { display:none; }
.integration-card summary > span:nth-child(2) { flex:1;display:grid; }
.integration-card summary strong { font-size:12px; }
.integration-card summary small { color:var(--text-muted);font-size:9px; }
.integration-icon { width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--gold);background:rgba(242,188,59,.08); }
.integration-details { padding:18px;border-top:1px solid var(--border-subtle); }
.integration-actions { margin-top:14px;display:flex;justify-content:flex-end; }
.integration-details > form:nth-of-type(2) { display:inline-block;margin-top:10px; }
.secondary-title { margin-top: 26px; color: var(--text-secondary); }
.whatsapp-api { display: grid; gap: 12px; scroll-margin-top: 90px; }
.whatsapp-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 2px 1px 6px; }
.whatsapp-title-row h2 { margin: 4px 0 2px; font-size: 22px; }
.whatsapp-title-row p { margin: 0; color: var(--text-secondary); font-size: 10px; }
.secure-credentials { min-height: 27px; padding: 4px 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border-subtle); border-radius: 999px; color: #9bbcff; background: rgba(59,130,246,.07); font-size: 8px; font-weight: 800; white-space: nowrap; }
.secure-credentials .icon { width: 12px; height: 12px; }
.whatsapp-status { min-height: 94px; padding: 16px; display: flex; align-items: center; gap: 14px; border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(115deg, rgba(245,158,11,.06), rgba(17,26,46,.96)); transition: border-color var(--transition), background var(--transition); }
.whatsapp-status.connected { border-color: rgba(32,199,122,.42); background: linear-gradient(115deg,rgba(32,199,122,.09),rgba(17,26,46,.96)); }
.whatsapp-status.error { border-color: rgba(239,68,68,.45); background: linear-gradient(115deg,rgba(239,68,68,.08),rgba(17,26,46,.96)); }
.whatsapp-status-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border: 1px solid rgba(245,158,11,.28); border-radius: 12px; color: var(--warning); background: rgba(245,158,11,.1); }
.whatsapp-status.connected .whatsapp-status-icon { color: var(--success); border-color: rgba(32,199,122,.34); background: rgba(32,199,122,.12); }
.whatsapp-status.error .whatsapp-status-icon { color: var(--danger); border-color: rgba(239,68,68,.34); background: rgba(239,68,68,.1); }
.whatsapp-status-copy { min-width: 0; flex: 1; }
.whatsapp-status-copy small { color: var(--text-muted); font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.whatsapp-status-copy h3 { margin: 3px 0; color: var(--warning); font-size: 16px; }
.whatsapp-status.connected .whatsapp-status-copy h3 { color: var(--success); }
.whatsapp-status.error .whatsapp-status-copy h3 { color: var(--danger); }
.whatsapp-status-copy p { margin: 0; color: var(--text-secondary); font-size: 10px; }
.whatsapp-online-badge { min-height: 24px; padding: 4px 9px; border-radius: 999px; color: var(--warning); background: rgba(245,158,11,.1); font-size: 8px; font-weight: 900; white-space: nowrap; }
.whatsapp-status.connected .whatsapp-online-badge { color: #73e8af; background: rgba(32,199,122,.11); }
.whatsapp-status.error .whatsapp-online-badge { color: #ff8585; background: rgba(239,68,68,.11); }
.whatsapp-config-card, .whatsapp-test-card { padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(150deg,rgba(17,26,46,.98),rgba(11,19,36,.98)); box-shadow: var(--shadow); }
.whatsapp-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.whatsapp-card-head h3, .whatsapp-test-card h3 { margin: 0 0 3px; display: flex; align-items: center; gap: 7px; font-size: 15px; }
.whatsapp-card-head h3 .icon, .whatsapp-test-card h3 .icon { width: 16px; height: 16px; color: var(--gold); }
.whatsapp-card-head p, .whatsapp-test-card p { margin: 0; color: var(--text-secondary); font-size: 10px; }
.whatsapp-card-head small { margin-top: 5px; display: flex; align-items: center; gap: 5px; color: var(--text-muted); font-size: 8px; }
.whatsapp-card-head small .icon { width: 11px; height: 11px; }
.whatsapp-enable { display: flex; align-items: center; gap: 8px; color: var(--text-secondary); font-size: 10px; white-space: nowrap; }
.whatsapp-enable input { width: 16px; height: 16px; accent-color: var(--gold); }
.whatsapp-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.whatsapp-fields label, .whatsapp-test-fields label { display: grid; gap: 5px; color: var(--text-secondary); font-size: 8px; font-weight: 800; letter-spacing: .03em; }
.whatsapp-fields .span-full { grid-column: 1/-1; }
.whatsapp-fields input, .whatsapp-fields select, .whatsapp-test-fields input { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid var(--border); border-radius: 9px; outline: 0; color: var(--text-primary); background: #0b1426; transition: border-color var(--transition), box-shadow var(--transition); }
.whatsapp-fields input:focus, .whatsapp-fields select:focus, .whatsapp-test-fields input:focus { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(242,188,59,.08); }
.whatsapp-fields option { background: var(--surface); }
.whatsapp-actions { margin-top: 14px; display: flex; justify-content: flex-end; gap: 9px; }
.whatsapp-test-card { display: grid; gap: 12px; }
.whatsapp-test-fields { display: grid; grid-template-columns: minmax(170px,.65fr) minmax(260px,1.5fr) auto; gap: 10px; align-items: end; }
.whatsapp-qr-card { width: min(440px,100%); }
.whatsapp-qr-stage { min-height: 255px; padding: 18px; display: grid; place-items: center; border-radius: 12px; color: #172033; background: #fff; }
.whatsapp-qr-stage img { width: min(220px,100%); aspect-ratio: 1; object-fit: contain; }
.whatsapp-qr-loading, .whatsapp-qr-success, .whatsapp-qr-error { display: grid; justify-items: center; gap: 9px; text-align: center; }
.whatsapp-qr-loading .icon, .whatsapp-qr-success .icon, .whatsapp-qr-error .icon { width: 42px; height: 42px; }
.whatsapp-qr-loading .icon { color: var(--info); animation: spin 1s linear infinite; }
.whatsapp-qr-success { color: #168c55; }
.whatsapp-qr-error { color: #d32f2f; }
.whatsapp-qr-steps { margin: 15px 0 0; padding: 13px 13px 13px 32px; border: 1px solid rgba(32,199,122,.16); border-radius: 10px; color: var(--text-secondary); background: rgba(32,199,122,.05); font-size: 10px; }
.whatsapp-qr-steps li + li { margin-top: 5px; }
.gateway-config-grid { display: grid; gap: 12px; }
.gateway-config-card { border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(150deg,rgba(17,26,46,.98),rgba(11,19,36,.98)); }
.gateway-config-card[open] { border-color: var(--border-strong); box-shadow: var(--shadow); }
.gateway-config-card summary { min-height: 74px; padding: 13px 16px; display: flex; align-items: center; gap: 12px; list-style: none; cursor: pointer; }
.gateway-config-card summary::-webkit-details-marker { display: none; }
.gateway-config-card summary>span:nth-child(2) { min-width: 0; flex: 1; display: grid; }
.gateway-config-card summary strong { font-size: 12px; }.gateway-config-card summary small{color:var(--text-muted);font-size:9px}
.gateway-logo { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; color: var(--gold); background: rgba(242,188,59,.09); }
.gateway-config-body { padding: 18px; border-top: 1px solid var(--border-subtle); }
.gateway-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.gateway-fields label { display: grid; gap: 5px; color: var(--text-secondary); font-size: 9px; font-weight: 800; }
.gateway-fields label>small { color: var(--text-muted); font-size: 8px; font-weight: 500; }
.gateway-fields .span-full { grid-column: 1/-1; }
.gateway-fields input,.gateway-fields select,.gateway-fields textarea { width: 100%; min-height: 41px; padding: 0 11px; border: 1px solid var(--border); border-radius: 9px; color: var(--text-primary); background: #0b1426; outline: 0; }
.gateway-fields textarea { padding-block: 10px; resize: vertical; font-family: "JetBrains Mono",monospace; font-size: 9px; }
.gateway-fields input:focus,.gateway-fields select:focus,.gateway-fields textarea:focus { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(242,188,59,.08); }
.pem-field>input[type=file] { min-height: 34px; padding: 6px; }
.copy-field { display: flex; gap: 8px; }.copy-field input{flex:1}.copy-field .btn{white-space:nowrap}
.gateway-actions { margin-top: 14px; display: flex; justify-content: flex-end; gap: 9px; }
.gateway-info { margin-top: 14px; padding: 11px; display: flex; gap: 8px; border: 1px solid var(--border-subtle); border-radius: 9px; color: var(--text-secondary); background: rgba(7,13,26,.32); font-size: 9px; }
.gateway-info .icon { flex: 0 0 14px; color: var(--info); }
.integration-test-result { margin-top:14px;padding:14px;border:1px solid rgba(32,199,122,.3);border-radius:11px;background:linear-gradient(135deg,rgba(32,199,122,.09),rgba(8,20,32,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);animation:testResultIn .24s ease both; }
.integration-test-result[hidden] { display:none; }
.integration-test-result.danger { border-color:rgba(255,78,92,.34);background:linear-gradient(135deg,rgba(255,78,92,.1),rgba(32,12,24,.68)); }
.integration-test-result>header { display:flex;align-items:center;gap:10px; }
.integration-test-icon { width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid rgba(32,199,122,.35);border-radius:9px;color:var(--success);background:rgba(32,199,122,.1);font-size:17px;font-weight:900; }
.integration-test-result.danger .integration-test-icon { border-color:rgba(255,78,92,.4);color:var(--danger);background:rgba(255,78,92,.1); }
.integration-test-icon .icon { width:17px;height:17px; }
.integration-test-result>header>div { min-width:0;flex:1;display:grid;gap:2px; }
.integration-test-result>header strong { color:var(--success);font-size:11px; }
.integration-test-result.danger>header strong { color:var(--danger); }
.integration-test-result>header small { overflow-wrap:anywhere;color:var(--text-secondary);font-size:9px; }
.integration-test-state { padding:5px 8px;border-radius:999px;color:var(--success);background:rgba(32,199,122,.12);font-size:7px;font-weight:900;letter-spacing:.12em; }
.integration-test-result.danger .integration-test-state { color:var(--danger);background:rgba(255,78,92,.12); }
.integration-test-meta { margin:11px 0 0;display:flex;flex-wrap:wrap;gap:6px; }
.integration-test-meta span { padding:5px 8px;border:1px solid var(--border-subtle);border-radius:7px;color:var(--text-muted);background:rgba(7,13,26,.42);font:600 8px "JetBrains Mono",monospace; }
.integration-test-details { margin:11px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:9px;background:var(--border-subtle); }
.integration-test-details:empty { display:none; }
.integration-test-details>div { min-width:0;padding:8px 10px;display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:10px;background:rgba(7,13,26,.78); }
.integration-test-details dt { color:var(--text-muted);font-size:8px;font-weight:700; }
.integration-test-details dd { margin:0;overflow-wrap:anywhere;color:var(--text-primary);font:600 8px "JetBrains Mono",monospace; }
.integration-test-error { margin-top:10px;padding:9px 10px;display:flex;align-items:flex-start;gap:8px;border:1px solid rgba(255,78,92,.25);border-radius:8px;color:#ff9aa3;background:rgba(255,78,92,.08); }
.integration-test-error[hidden] { display:none; }
.integration-test-error .icon { width:14px;height:14px;flex:0 0 14px; }
.integration-test-error code { overflow-wrap:anywhere;color:inherit;font-size:8px;line-height:1.5; }
@keyframes testResultIn { from { opacity:0;transform:translateY(-5px); } to { opacity:1;transform:none; } }
@keyframes spin { to { transform: rotate(360deg); } }
.last-connection { display:inline-block;margin:0 0 0 10px;color:var(--text-muted);font-size:9px; }
.search-results { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px; }
.search-result { min-height:64px;padding:10px 14px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--border-subtle);transition:background var(--transition); }
.search-result:hover { background:var(--surface-hover); }
.search-result .module-hero-icon { width:34px;height:34px;border-radius:9px; }
.search-result .module-hero-icon .icon { width:17px;height:17px; }
.search-result > span:nth-child(2) { flex:1;min-width:0;display:grid; }
.search-result strong { font-size:10px; }
.search-result small { overflow:hidden;color:var(--text-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap; }
.filter-bar > label:not(.search-field) { display:grid;gap:3px;color:var(--text-muted);font-size:8px; }
.filter-bar > label input { min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);background:#0d1629; }
.report-grid { margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.report-list { padding:0 16px 16px; }
.report-list div { min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:10px; }
.report-list strong { color:var(--text-primary);font-size:10px; }
@media(max-width:900px){.report-grid{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.page-actions,.filter-bar{display:none!important}.main-area{margin:0}.page-content{max-width:none}.app-body{background:#fff;color:#111}.panel,.stat-card{border:1px solid #ccc;background:#fff;box-shadow:none}.stat-card>strong,.panel h2,.report-list strong{color:#111}}
@media(max-width:760px){.integration-grid{grid-template-columns:1fr}.integration-card[open]{grid-column:auto}.settings-tabs{width:100%;overflow-x:auto}.settings-tabs button{white-space:nowrap}.whatsapp-title-row,.whatsapp-card-head{align-items:flex-start;flex-direction:column}.whatsapp-status{align-items:flex-start;flex-wrap:wrap}.whatsapp-status-copy{flex-basis:calc(100% - 64px)}.whatsapp-status>.btn{width:100%;justify-content:center}.whatsapp-fields,.whatsapp-test-fields,.gateway-fields{grid-template-columns:1fr}.whatsapp-fields .span-full,.gateway-fields .span-full{grid-column:auto}.whatsapp-actions,.gateway-actions{flex-direction:column}.whatsapp-actions .btn,.whatsapp-test-fields .btn,.gateway-actions .btn{width:100%;justify-content:center}.copy-field{align-items:stretch;flex-direction:column}.integration-test-result>header{align-items:flex-start;flex-wrap:wrap}.integration-test-state{margin-left:44px}.integration-test-details{grid-template-columns:1fr}.integration-test-details>div{grid-template-columns:1fr}.integration-test-meta{display:grid;grid-template-columns:1fr}}
.table-empty { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--text-muted); text-align: center; }
.table-empty .icon { width: 36px; height: 36px; margin-bottom: 10px; color: var(--border-strong); }
.table-empty strong { color: var(--text-secondary) !important; font-size: 11px !important; }
.table-empty span { font-size: 9px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 90; padding: 18px; overflow-y: auto; background: rgba(2,6,14,.78); backdrop-filter: blur(7px); }
.modal-backdrop[hidden] { display: none; }
.modal-card { width: min(720px, 100%); margin: clamp(18px, 5vh, 70px) auto; overflow: hidden; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: linear-gradient(150deg, #17223d, #0d1629 72%); box-shadow: 0 30px 90px rgba(0,0,0,.55), 0 0 55px rgba(27,68,125,.12); animation: modalIn .24s ease both; }
.modal-wide { width: min(980px, 100%); }
@keyframes modalIn { from { opacity: 0; transform: translateY(12px) scale(.985); } }
.modal-card > header { min-height: 90px; padding: 20px 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--border-subtle); }
.modal-card header h2 { margin: 9px 0 2px; font-size: 20px; }
.modal-card header p { margin: 0; color: var(--text-muted); font-size: 10px; }
.modal-body { padding: 20px 22px; }
.form-grid-ui { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.form-grid-ui label { display: grid; gap: 6px; color: var(--text-secondary); font-size: 9px; font-weight: 700; }
.form-grid-ui input, .form-grid-ui select, .form-grid-ui textarea { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid var(--border); border-radius: 9px; outline: 0; color: var(--text-primary); background: #0b1426; transition: border-color var(--transition), box-shadow var(--transition); }
.form-grid-ui textarea { padding-block: 10px; resize: vertical; }
.form-grid-ui input:focus, .form-grid-ui select:focus, .form-grid-ui textarea:focus { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(242,188,59,.08); }
.form-grid-ui option { background: var(--surface); }
.form-grid-ui .span-full { grid-column: 1 / -1; }
.modal-card footer { min-height: 72px; padding: 14px 22px; display: flex; align-items: center; justify-content: flex-end; gap: 9px; border-top: 1px solid var(--border-subtle); background: rgba(7,13,26,.25); }
.row-actions { display:flex;align-items:center;gap:4px; }
.row-actions form { margin:0; }
.danger-action { color:#ff7c7c; }
.danger-action:hover { color:#fff;background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.35); }
.switch-field { min-height:42px;padding:0 12px;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;background:#0b1426; }
.switch-field input { width:17px;height:17px;min-height:0;accent-color:var(--gold); }
.portal-link-banner { margin-bottom:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(32,199,122,.35);border-radius:12px;background:rgba(32,199,122,.08); }
.portal-link-banner > div { min-width:0;display:flex;align-items:center;gap:10px;color:var(--success); }
.portal-link-banner span { min-width:0;display:grid; }
.portal-link-banner strong { color:#a5ecc9;font-size:11px; }
.portal-link-banner small { overflow:hidden;color:var(--text-secondary);font-size:9px;text-overflow:ellipsis;white-space:nowrap; }
.upload-zone { min-height:110px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--border-strong);border-radius:11px;color:var(--text-secondary);background:rgba(7,13,26,.25);cursor:pointer; }
.upload-zone:hover { border-color:var(--gold);color:var(--gold); }
.upload-zone input { width:min(100%,300px); }
.document-list { margin-top:14px;display:grid;gap:7px; }
.document-list a { min-height:48px;padding:8px 11px;display:flex;align-items:center;gap:9px;border:1px solid var(--border-subtle);border-radius:9px;background:#0b1426; }
.document-list a span { flex:1;display:grid; }
.document-list a strong { font-size:10px; }
.document-list a small { color:var(--text-muted);font-size:8px; }

/* Client registration, detail and permanent deletion */
.btn-danger { color:#fff;background:linear-gradient(135deg,#ef4444,#c72535);box-shadow:0 8px 24px rgba(239,68,68,.22); }
.btn-danger:hover { transform:translateY(-1px);box-shadow:0 10px 30px rgba(239,68,68,.32); }
.form-section-title { min-height:48px;margin-top:4px;padding-top:12px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--border-subtle);color:var(--gold); }
.form-section-title .icon { width:17px;height:17px; }
.form-section-title span { display:grid; }
.form-section-title strong { color:var(--text-primary);font-size:11px; }
.form-section-title small { color:var(--text-muted);font-size:8px;font-weight:500; }
.lookup-input { position:relative;display:block; }
.lookup-input input { padding-right:36px; }
.lookup-input i { position:absolute;right:12px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid rgba(143,163,199,.28);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite; }
.lookup-feedback { min-height:13px;color:var(--text-muted);font-size:8px;font-weight:500; }
.lookup-feedback[data-state=success] { color:var(--success); }
.lookup-feedback[data-state=error] { color:#ff8585; }
.lookup-feedback[data-state=loading] { color:var(--gold); }
.delete-client-modal { width:min(560px,100%); }
.delete-client-heading { display:flex;align-items:center;gap:13px; }
.delete-client-icon { width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(239,68,68,.35);border-radius:13px;color:#ff7777;background:rgba(239,68,68,.1);box-shadow:0 0 28px rgba(239,68,68,.1); }
.delete-client-icon .icon { width:23px;height:23px; }
.danger-eyebrow { color:#ff7777; }
.delete-client-body { display:grid;gap:14px; }
.delete-client-body p { margin:0;color:var(--text-secondary);font-size:11px; }
.delete-client-body>strong { padding:13px 14px;border:1px solid var(--border);border-radius:10px;color:var(--text-primary);background:#0b1426;font-size:14px; }
.delete-warning { padding:14px;display:flex;align-items:flex-start;gap:10px;border:1px solid rgba(239,68,68,.3);border-radius:11px;color:#ff9c9c;background:rgba(239,68,68,.08);font-size:10px;line-height:1.55; }
.delete-warning .icon { width:18px;height:18px;flex:0 0 auto; }
.delete-warning b { display:block;color:#ffd2d2; }
.client-profile-hero { min-height:126px;margin-bottom:14px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:radial-gradient(circle at 5% 50%,rgba(242,188,59,.09),transparent 28%),linear-gradient(145deg,rgba(17,26,46,.97),rgba(11,19,36,.97));box-shadow:var(--shadow); }
.client-profile-main { min-width:0;display:flex;align-items:center;gap:15px; }
.client-profile-avatar { width:62px;height:62px;flex:0 0 auto;border-radius:17px;font-size:17px;box-shadow:0 10px 28px rgba(242,188,59,.16); }
.client-profile-main h1 { margin:6px 0 3px;font-size:clamp(21px,2.2vw,29px);letter-spacing:-.03em; }
.client-profile-main p { margin:0 0 8px;color:var(--text-secondary);font-size:10px; }
.client-back-icon { transform:rotate(180deg); }
.client-detail-stats .stat-card>strong { font-size:clamp(20px,2vw,29px); }
.client-detail-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:14px;align-items:start; }
.client-detail-content,.client-detail-aside { display:grid;gap:14px; }
.client-info-panel>.panel-header>.icon { color:var(--gold); }
.client-info-grid { padding:0 18px 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px; }
.client-info-grid>div { min-height:70px;padding:12px;border:1px solid var(--border-subtle);border-radius:10px;background:rgba(7,13,26,.28); }
.client-info-grid>div.span-full { grid-column:1/-1; }
.client-info-grid span { display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em; }
.client-info-grid span .icon { width:13px;height:13px;color:var(--gold-dark); }
.client-info-grid strong { display:block;margin-top:7px;color:var(--text-primary);font-size:10px;line-height:1.45; }
.client-info-grid small { display:block;margin-top:4px;color:var(--text-muted);font-size:8px; }
.client-related-panel { overflow:hidden; }
.panel-count { min-width:25px;height:25px;padding:0 7px;display:grid;place-items:center;border-radius:999px;color:var(--gold);background:rgba(242,188,59,.1);font-size:9px;font-weight:800; }
.client-detail-table { min-width:720px; }
.client-related-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.client-mini-list { padding:0 14px 14px;display:grid;gap:7px; }
.client-mini-list article { min-height:58px;padding:9px;display:flex;align-items:center;gap:9px;border:1px solid var(--border-subtle);border-radius:9px;background:rgba(7,13,26,.25); }
.client-mini-icon { width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:var(--gold);background:rgba(242,188,59,.08); }
.client-mini-icon .icon { width:16px;height:16px; }
.client-mini-list article>div { min-width:0;flex:1;display:grid; }
.client-mini-list article strong { overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap; }
.client-mini-list article small { color:var(--text-muted);font-size:8px; }
.horizontal-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.client-inline-empty { min-height:70px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--text-muted);font-size:9px; }
.client-inline-empty .icon { width:17px;height:17px; }
.detail-documents { margin:0;padding:0 14px 14px; }
.client-activity-list { max-height:none;padding-bottom:14px; }

/* Company notification and user access configuration */
.admin-config-modal { width:min(1040px,100%); }
.admin-config-modal>form { min-width:0; }
.admin-form-tabs { padding:0 22px;display:flex;gap:5px;border-bottom:1px solid var(--border-subtle);background:rgba(7,13,26,.26); }
.admin-form-tabs button { position:relative;min-height:52px;padding:0 14px;display:flex;align-items:center;gap:8px;border:0;color:var(--text-muted);background:transparent;font-size:10px;font-weight:800;transition:color var(--transition),background var(--transition); }
.admin-form-tabs button::after { content:"";position:absolute;right:10px;bottom:-1px;left:10px;height:2px;border-radius:2px;background:transparent; }
.admin-form-tabs button:hover { color:var(--text-primary);background:rgba(143,163,199,.04); }
.admin-form-tabs button.active { color:var(--gold); }
.admin-form-tabs button.active::after { background:var(--gold);box-shadow:0 0 15px var(--gold-glow); }
.admin-form-tabs .icon { width:15px;height:15px; }
.admin-form-tabs b { min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;color:var(--text-secondary);background:rgba(143,163,199,.1);font-size:8px; }
.admin-form-tabs button.active b { color:#111827;background:var(--gold); }
.admin-form-panel { display:none; }
.admin-form-panel.active { display:block;animation:authEnter .2s ease both; }
.template-helper { margin-bottom:13px;padding:14px;border:1px solid rgba(59,130,246,.25);border-radius:11px;background:rgba(59,130,246,.06); }
.template-helper>div:first-child { display:flex;align-items:flex-start;gap:9px; }
.template-helper .icon { width:17px;height:17px;flex:0 0 auto;color:var(--info); }
.template-helper span { display:grid; }
.template-helper strong { font-size:10px; }
.template-helper small { color:var(--text-muted);font-size:8px; }
.template-chips { margin-top:11px;display:flex;flex-wrap:wrap;gap:6px; }
.template-chips code { padding:5px 8px;border:1px solid var(--border);border-radius:7px;color:#9bbcff;background:#0b1426;font-size:8px; }
.notification-template-list { display:grid;gap:10px; }
.notification-template-card { padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:5px 10px;border:1px solid var(--border-subtle);border-radius:11px;background:rgba(7,13,26,.25); }
.notification-template-icon { width:38px;height:38px;grid-row:1;display:grid;place-items:center;border-radius:10px;color:var(--gold);background:rgba(242,188,59,.08); }
.notification-template-icon .icon { width:17px;height:17px; }
.notification-template-copy { min-width:0;grid-row:1;display:grid;align-content:center; }
.notification-template-copy strong { color:var(--text-primary);font-size:10px; }
.notification-template-copy small { color:var(--text-muted);font-size:8px; }
.notification-template-card textarea { width:100%;min-height:92px;padding:10px;grid-column:1/-1;border:1px solid var(--border);border-radius:9px;outline:0;color:var(--text-primary);background:#0b1426;resize:vertical;font-size:10px;line-height:1.55; }
.notification-template-card textarea:focus { border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(242,188,59,.08); }
.notification-rules-head,.access-panel-head { margin-bottom:14px;display:flex;align-items:center;gap:11px; }
.notification-rules-head .module-hero-icon,.access-panel-head .module-hero-icon { width:42px;height:42px;border-radius:11px; }
.notification-rules-head h3,.access-panel-head h3,.permission-panel-head h3 { margin:0 0 2px;font-size:14px; }
.notification-rules-head p,.access-panel-head p,.permission-panel-head p { margin:0;color:var(--text-muted);font-size:9px; }
.notification-rules-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.notification-rules-grid>label { min-height:76px;padding:11px;display:flex;align-items:center;gap:10px;border:1px solid var(--border-subtle);border-radius:10px;background:rgba(7,13,26,.25);transition:opacity var(--transition),border-color var(--transition); }
.notification-rules-grid>label>span { min-width:0;flex:1;display:grid; }
.notification-rules-grid strong { font-size:9px; }
.notification-rules-grid small { color:var(--text-muted);font-size:8px;line-height:1.4; }
.notification-rules-grid select { width:min(150px,42%);min-height:38px;padding:0 9px;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);background:#0b1426;font-size:9px; }
.notification-rules-grid .danger-rule { border-color:rgba(239,68,68,.2); }
.notification-rules-grid .danger-rule strong { color:#ff9c9c; }
.notification-rules-grid .rule-disabled { opacity:.42; }
.notification-rule-note,.self-protection-note { margin-top:13px;padding:11px 12px;display:flex;align-items:flex-start;gap:8px;border:1px solid var(--border-subtle);border-radius:9px;color:var(--text-secondary);background:rgba(7,13,26,.24);font-size:9px;line-height:1.45; }
.notification-rule-note .icon,.self-protection-note .icon { width:15px;height:15px;flex:0 0 auto;color:var(--gold-dark); }
.self-protection-note { border-color:rgba(245,158,11,.25);color:#ffc970;background:rgba(245,158,11,.06); }
.company-access-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.company-access-card { min-height:70px;padding:10px;display:flex;align-items:center;gap:9px;border:1px solid var(--border-subtle);border-radius:10px;background:rgba(7,13,26,.25);transition:border-color var(--transition),background var(--transition),transform var(--transition); }
.company-access-card.selected { border-color:rgba(242,188,59,.38);background:linear-gradient(135deg,rgba(242,188,59,.07),rgba(7,13,26,.28)); }
.company-access-card:hover { transform:translateY(-1px); }
.company-access-check { width:18px;height:18px;flex:0 0 auto; }
.company-access-check input { position:absolute;opacity:0;pointer-events:none; }
.company-access-check span { width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:5px;background:#0b1426; }
.company-access-check input:checked+span { border-color:var(--gold);background:var(--gold); }
.company-access-check input:checked+span::after { content:"✓";color:#07101f;font-size:12px;font-weight:900; }
.company-access-icon { width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:var(--gold);background:rgba(242,188,59,.08); }
.company-access-icon .icon { width:16px;height:16px; }
.company-access-copy { min-width:0;flex:1;display:grid; }
.company-access-copy strong { overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap; }
.company-access-copy small { overflow:hidden;color:var(--text-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap; }
.company-primary { display:grid;justify-items:center;gap:3px;color:var(--text-muted);cursor:pointer; }
.company-primary input { position:absolute;opacity:0;pointer-events:none; }
.company-primary i { width:15px;height:15px;border:1px solid var(--border-strong);border-radius:50%;background:#0b1426; }
.company-primary input:checked+i { border:4px solid var(--gold); }
.company-primary small { font-size:7px; }
.permission-panel-head { margin-bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px; }
.permission-actions { display:flex;gap:7px; }
.permission-groups { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.permission-group { overflow:hidden;border:1px solid var(--border-subtle);border-radius:11px;background:rgba(7,13,26,.25); }
.permission-group>header { min-height:54px;padding:9px 11px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--border-subtle);background:rgba(17,26,46,.55); }
.permission-group-icon { width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:var(--gold);background:rgba(242,188,59,.08); }
.permission-group-icon .icon { width:15px;height:15px; }
.permission-group header>span:nth-child(2) { min-width:0;flex:1;display:grid; }
.permission-group header strong { font-size:9px; }
.permission-group header small { color:var(--text-muted);font-size:7px; }
.permission-group header button { border:0;color:var(--gold-dark);background:transparent;font-size:7px;font-weight:800;cursor:pointer; }
.permission-group>div { padding:8px;display:grid;gap:5px; }
.permission-group>div>label { min-height:48px;padding:7px 9px;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:1px 9px;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:border-color var(--transition),background var(--transition); }
.permission-group>div>label:hover { border-color:var(--border-subtle);background:var(--surface-hover); }
.permission-group input { position:absolute;opacity:0;pointer-events:none; }
.permission-toggle { position:relative;width:42px;height:23px;grid-row:1/3;display:block;border:1px solid var(--border-strong);border-radius:999px;background:#0b1426;box-shadow:inset 0 2px 5px rgba(0,0,0,.24);transition:border-color var(--transition),background var(--transition),box-shadow var(--transition); }
.permission-toggle b { position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#71809b;box-shadow:0 2px 5px rgba(0,0,0,.35);transition:transform .22s ease,background .22s ease; }
.permission-group input:checked+.permission-toggle { border-color:rgba(242,188,59,.75);background:linear-gradient(135deg,#d99b18,var(--gold));box-shadow:0 0 17px rgba(242,188,59,.2); }
.permission-group input:checked+.permission-toggle b { transform:translateX(19px);background:#07101f; }
.permission-group input:focus-visible+.permission-toggle { outline:2px solid var(--gold);outline-offset:2px; }
.permission-group input:disabled+.permission-toggle { opacity:.55;cursor:not-allowed; }
.permission-group label span { font-size:8px;font-weight:700; }
.permission-group label small { overflow:hidden;color:var(--text-muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap; }

.permission-denied { position:relative;min-height:calc(100vh - 120px);padding:clamp(24px,5vw,70px);display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);align-items:center;gap:clamp(28px,6vw,80px);overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 20%,rgba(239,68,68,.09),transparent 30%),linear-gradient(145deg,rgba(17,26,46,.98),rgba(7,13,26,.98));box-shadow:var(--shadow);isolation:isolate; }
.permission-denied-glow { position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none;z-index:-1; }
.permission-denied-glow.glow-one { width:260px;height:260px;left:-100px;bottom:-100px;background:rgba(239,68,68,.08); }
.permission-denied-glow.glow-two { width:220px;height:220px;right:-80px;top:-90px;background:rgba(242,188,59,.06); }
.permission-denied-visual { position:relative;width:min(330px,75vw);aspect-ratio:1;margin:auto;display:grid;place-items:center;border:1px solid rgba(239,68,68,.16);border-radius:50%;background:radial-gradient(circle,rgba(239,68,68,.11),rgba(17,26,46,.34) 52%,transparent 53%);box-shadow:0 0 70px rgba(239,68,68,.08); }
.permission-orbit { position:absolute;inset:12%;border:1px dashed rgba(242,188,59,.22);border-radius:50%;animation:permissionOrbit 24s linear infinite; }
.permission-orbit.orbit-two { inset:25%;border-color:rgba(59,130,246,.2);animation-direction:reverse;animation-duration:18s; }
.permission-shield { width:112px;height:112px;display:grid;place-items:center;border:1px solid rgba(239,68,68,.32);border-radius:32px;color:#ff7474;background:linear-gradient(145deg,rgba(239,68,68,.16),rgba(7,13,26,.8));box-shadow:0 20px 55px rgba(0,0,0,.32),0 0 40px rgba(239,68,68,.1);transform:rotate(-4deg); }
.permission-shield .icon { width:54px;height:54px; }
.permission-lock,.permission-user { position:absolute;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--border);border-radius:15px;background:#111c33;box-shadow:0 12px 28px rgba(0,0,0,.28); }
.permission-lock { right:12%;top:19%;color:var(--gold); }
.permission-user { left:11%;bottom:20%;color:#6ea8ff; }
.permission-lock .icon,.permission-user .icon { width:22px;height:22px; }
.permission-denied-copy { max-width:570px; }
.permission-code { display:block;margin:15px 0 0;color:rgba(255,116,116,.22);font-size:clamp(60px,9vw,118px);font-weight:900;line-height:.8;letter-spacing:-.08em; }
.permission-denied h1 { margin:18px 0 10px;font-size:clamp(26px,3.7vw,46px);line-height:1.05;letter-spacing:-.045em; }
.permission-denied-copy>p { max-width:530px;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.7; }
.permission-denied-note { margin-top:20px;padding:12px 14px;display:flex;align-items:flex-start;gap:9px;border:1px solid rgba(242,188,59,.19);border-radius:10px;color:#dfc98e;background:rgba(242,188,59,.055);font-size:9px;line-height:1.5; }
.permission-denied-note .icon { width:17px;height:17px;flex:0 0 auto;color:var(--gold); }
.permission-denied-actions { margin-top:24px;display:flex;flex-wrap:wrap;gap:9px; }
@keyframes permissionOrbit { to { transform:rotate(360deg); } }

@media(max-width:760px){.notification-rules-grid,.company-access-grid,.permission-groups{grid-template-columns:1fr}.notification-rules-grid>label{align-items:stretch;flex-direction:column}.notification-rules-grid select{width:100%}.permission-panel-head{align-items:stretch;flex-direction:column}.permission-actions{display:grid;grid-template-columns:1fr 1fr}.admin-form-tabs{padding-inline:12px;overflow-x:auto}.admin-form-tabs button{flex:0 0 auto;white-space:nowrap}}
@media(max-width:820px){.permission-denied{min-height:auto;padding:34px 20px;grid-template-columns:1fr;text-align:center}.permission-denied-visual{width:min(245px,68vw)}.permission-denied-copy{margin:auto}.permission-denied-copy>p{margin-inline:auto}.permission-denied-note{text-align:left}.permission-denied-actions{justify-content:center}}

@media(max-width:1080px){.client-detail-layout{grid-template-columns:1fr}.client-detail-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.client-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.client-profile-hero{align-items:stretch;flex-direction:column}.client-profile-hero .page-actions{display:flex}.client-related-grid,.client-detail-aside{grid-template-columns:1fr}.horizontal-list{grid-template-columns:1fr}}

/* Public client portal */
.portal-body { min-height:100vh;background:radial-gradient(circle at 20% 0,rgba(59,130,246,.08),transparent 26%),radial-gradient(circle at 80% 15%,rgba(242,188,59,.06),transparent 24%),var(--bg-primary); }
.portal-header { height:72px;padding:0 max(20px,calc((100vw - 1140px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border-subtle);background:rgba(7,13,26,.82);backdrop-filter:blur(22px); }
.portal-container { width:min(1140px,calc(100% - 28px));margin:0 auto;padding:28px 0 55px; }
.portal-hero { padding:28px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg,rgba(19,31,58,.98),rgba(13,24,46,.95));box-shadow:var(--shadow); }
.portal-hero h1 { margin:14px 0 6px;font-size:clamp(28px,3.4vw,43px);letter-spacing:-.045em; }
.portal-hero h1 em { color:var(--gold);font-style:normal; }
.portal-hero p { color:var(--text-secondary); }
.portal-meta { display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;color:var(--text-secondary);font-size:10px; }
.portal-meta span { display:flex;align-items:center;gap:6px; }
.portal-meta .icon { width:14px;color:var(--gold-dark); }
.portal-totals { display:grid;gap:10px; }
.portal-totals article { padding:18px;border:1px solid var(--border);border-radius:12px;background:rgba(7,13,26,.38); }
.portal-totals article:first-child { border-color:rgba(242,188,59,.45);background:linear-gradient(135deg,rgba(242,188,59,.08),rgba(7,13,26,.3)); }
.portal-totals small,.portal-totals span { display:block;color:var(--text-muted);font-size:9px; }
.portal-totals strong { display:block;margin:5px 0;color:var(--text-primary);font-size:27px; }
.portal-totals article:first-child strong { color:var(--gold); }
.portal-tabs { width:fit-content;margin:18px 0;padding:4px;display:flex;gap:3px;border:1px solid var(--border);border-radius:11px;background:var(--surface); }
.portal-tabs button { min-height:38px;padding:0 15px;border:0;border-radius:8px;color:var(--text-secondary);background:transparent;font-size:11px;font-weight:700; }
.portal-tabs button b { margin-left:5px;padding:2px 6px;border-radius:999px;background:rgba(143,163,199,.1);font-size:8px; }
.portal-tabs button.active { color:#07101f;background:var(--gold);box-shadow:0 7px 20px var(--gold-glow); }
.portal-tab-panel { display:none; }
.portal-tab-panel.active { display:block;animation:authEnter .22s ease both; }
.portal-grid { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;align-items:start; }
.portal-charges { display:grid;gap:11px; }
.portal-charge { overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:rgba(17,26,46,.9); }
.portal-charge > header { padding:16px 18px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-subtle); }
.portal-charge header small { color:var(--text-muted);font:8px "JetBrains Mono",Consolas,monospace; }
.portal-charge h2 { margin:3px 0 0;font-size:14px; }
.charge-summary { padding:14px 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.charge-summary span { color:var(--text-muted);font-size:8px;text-transform:uppercase;letter-spacing:.07em; }
.charge-summary strong { display:block;margin-top:4px;color:var(--text-primary);font-size:12px;text-transform:none;letter-spacing:0; }
.charge-summary span:last-child { text-align:right; }
.charge-summary span:last-child strong { color:var(--gold);font-size:18px; }
.portal-charge > footer { padding:13px 18px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border-subtle); }
.gateway-waiting { display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:9px; }
.pix-panel { position:sticky;top:88px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg,#15213e,#0e1930);text-align:center;box-shadow:var(--shadow); }
.pix-panel[hidden] { display:none; }
.pix-panel h2 { margin:12px 0;font-size:20px; }
.pix-panel p,.pix-panel > small { color:var(--text-muted);font-size:9px; }
.pix-panel > small { margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--success); }
.pix-qr { width:210px;aspect-ratio:1;margin:14px auto;display:grid;place-items:center;border:10px solid #fff;border-radius:12px;color:#07101f;background:#fff; }
.pix-qr .icon { width:150px;height:150px; }
.pix-qr img { width:100%;height:100%;object-fit:contain; }
.pix-code { margin-top:14px;padding:7px;display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:9px;background:#080f1e; }
.pix-code code { flex:1;overflow:hidden;color:var(--text-secondary);font-size:8px;text-align:left;text-overflow:ellipsis;white-space:nowrap; }
.portal-empty { min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);text-align:center; }
.portal-empty .icon { width:45px;height:45px;color:var(--success); }
.portal-empty h2 { margin:12px 0 3px; }
.portal-empty p { color:var(--text-muted); }
.portal-error { width:min(520px,calc(100% - 30px));min-height:100vh;margin:auto;display:flex;flex-direction:column;justify-content:center;gap:22px; }
.portal-error .panel { padding:35px;text-align:center; }
.portal-error .module-hero-icon { margin:0 auto 18px; }
.portal-error p { color:var(--text-secondary); }

/* Responsive */
@media (max-width: 1180px) {
  :root { --sidebar: 244px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-button { min-width: 46px; width: 46px; }
  .profile-copy, .profile-button > .icon { display: none; }
  .dashboard-bottom { grid-template-columns: 1fr; }
  .activity-list { max-height: none; }
}

@media (max-width: 900px) {
  .mobile-only { display: grid !important; }
  .sidebar { transform: translateX(-102%); box-shadow: 25px 0 60px rgba(0,0,0,.45); }
  .sidebar-open .sidebar { transform: translateX(0); }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: 35; background: rgba(1,5,12,.68); backdrop-filter: blur(3px); }
  .sidebar-open .sidebar-backdrop { display: block; }
  .sidebar-close { margin-left: auto; }
  .main-area { margin-left: 0; }
  .menu-toggle { display: grid !important; }
  .topbar { padding-inline: 14px; }
  .global-search { width: 220px; }
  .auth-shell { grid-template-columns: 1fr; }
  .auth-showcase { min-height: 550px; padding: 36px; }
  .auth-form-side { min-height: 650px; padding: 50px 25px; }
  .portal-hero,.portal-grid { grid-template-columns:1fr; }
  .pix-panel { position:static; }
}

@media (max-width: 640px) {
  :root { --topbar: 62px; }
  .topbar-title small, .global-search, .notification-button { display: none; }
  .topbar { gap: 8px; }
  .page-content { padding: 18px 13px 35px; }
  .page-heading { align-items: stretch; flex-direction: column; }
  .page-heading h1 { font-size: 23px; }
  .page-actions { display: grid; grid-template-columns: 1fr 1fr; justify-content: stretch; }
  .period-form { grid-column: 1 / -1; }
  .select-button, .select-button select { width: 100%; }
  .select-button select { flex: 1; }
  .stats-grid { grid-template-columns: 1fr; gap: 9px; }
  .stat-card { min-height: 122px; padding: 15px; }
  .stat-card > strong { font-size: 26px; }
  .panel-header { padding: 14px; }
  .bar-chart { height: 240px; margin-inline: 8px; padding-inline: 2px; gap: 3px; overflow-x: auto; justify-content: flex-start; }
  .bar-group { flex: 0 0 53px; }
  .chart-legend { gap: 12px; flex-wrap: wrap; }
  .toast { right: 16px; top: 74px; }
  .auth-showcase { min-height: auto; padding: 28px 22px 42px; gap: 55px; }
  .auth-hero h1 { font-size: 36px; }
  .auth-hero > p { font-size: 14px; }
  .auth-features { grid-template-columns: 1fr; }
  .auth-features article { min-height: 80px; }
  .auth-version { display: none; }
  .auth-form-side { min-height: 590px; padding: 42px 20px; }
  .login-card h2 { font-size: 27px; }
  .filter-bar { align-items: stretch; flex-direction: column; }
  .search-field, .filter-bar > select { width: 100%; }
  .result-count { margin-left: 0; text-align: right; }
  .form-grid-ui { grid-template-columns: 1fr; }
  .form-grid-ui .span-full { grid-column: auto; }
  .client-info-grid { grid-template-columns:1fr;padding-inline:12px; }
  .client-info-grid>div.span-full { grid-column:auto; }
  .client-profile-main { align-items:flex-start; }
  .client-profile-avatar { width:48px;height:48px;border-radius:13px;font-size:13px; }
  .client-profile-hero .page-actions { display:grid;grid-template-columns:1fr; }
  .delete-client-heading { align-items:flex-start; }
  .modal-backdrop { padding: 0; }
  .modal-card, .modal-wide { min-height: 100vh; margin: 0; border-radius: 0; }
  .modal-card > header, .modal-body, .modal-card footer { padding-inline: 15px; }
  .modal-card footer { position: sticky; bottom: 0; z-index: 2; background: rgba(11,19,36,.96); }
  .portal-header { height:auto;min-height:68px;padding:10px 14px; }
  .portal-header .brand-copy strong { max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .portal-header .btn { padding-inline:10px;font-size:0; }
  .portal-header .btn .icon { margin:0; }
  .portal-container { width:min(100% - 20px,1140px);padding-top:14px; }
  .portal-hero { padding:19px; }
  .portal-meta { display:grid; }
  .portal-tabs { width:100%;overflow-x:auto; }
  .portal-tabs button { flex:1;white-space:nowrap; }
  .charge-summary { grid-template-columns:1fr 1fr; }
  .charge-summary span:last-child { grid-column:1/-1;text-align:left; }
  .portal-charge > footer .btn { flex:1; }
  .pix-qr { width:min(210px,80vw); }
  .portal-link-banner { align-items:stretch;flex-direction:column; }
}

/* Advanced billing, schedules and observability */
.metric-grid { margin-bottom:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.metric-card { position:relative;min-height:112px;padding:18px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--surface),#0d172b);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition); }
a.metric-card:hover,.metric-card.selected { transform:translateY(-3px);border-color:var(--gold-dark);box-shadow:0 14px 35px rgba(0,0,0,.22); }
.metric-card::after { content:"";position:absolute;width:110px;height:110px;right:-50px;bottom:-65px;border-radius:50%;background:currentColor;filter:blur(35px);opacity:.12; }
.metric-card>span { margin-bottom:7px;color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.09em; }
.metric-card>strong { font-size:25px;letter-spacing:-.04em; }
.metric-card>small { margin-top:5px;color:var(--text-secondary);font-size:9px; }
.metric-card.gold { color:var(--gold); }.metric-card.success { color:var(--success); }.metric-card.warning { color:var(--warning); }.metric-card.danger { color:#ff6470; }.metric-card.info { color:#62a0ff; }
.subscription-metrics,.charge-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.log-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); }
.advanced-filter { margin-bottom:16px;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface); }
.advanced-filter .search-field { min-width:240px;flex:1; }
.advanced-filter select,.advanced-filter>input,.compact-field { min-height:42px; }
.compact-field { min-width:145px;padding:5px 10px;display:grid;gap:1px;border:1px solid var(--border);border-radius:9px;background:#0b1426; }
.compact-field span { color:var(--text-muted);font-size:7px;font-weight:800;text-transform:uppercase; }
.compact-field input { min-height:22px;padding:0;border:0;background:transparent; }
.result-count { margin-left:auto;color:var(--text-muted);font-size:9px;white-space:nowrap; }
.btn-success { color:#032c1c;background:linear-gradient(135deg,#4ade9a,#20c77a);box-shadow:0 8px 24px rgba(32,199,122,.2); }
.money-action { color:var(--success); }.gold-action { color:var(--gold); }
.data-table td small { margin-top:3px;display:block;color:var(--text-muted);font-size:8px; }
.form-card { margin-bottom:14px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(145deg,rgba(17,26,46,.98),rgba(11,19,36,.98));box-shadow:0 12px 35px rgba(0,0,0,.12); }
.form-card-title { margin:-2px 0 17px;padding-bottom:14px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--border-subtle); }
.form-card-title>span { width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(242,188,59,.25);border-radius:11px;color:var(--gold);background:rgba(242,188,59,.08); }
.form-card-title>div { min-width:0;flex:1; }.form-card-title h2 { margin:0 0 2px;font-size:14px; }.form-card-title p { margin:0;color:var(--text-muted);font-size:9px; }
.form-card-title>.btn { margin-left:auto; }
.form-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.subscription-form { display:grid;gap:0; }.subscription-items { display:grid;gap:8px; }
.subscription-item { display:grid;grid-template-columns:minmax(0,1fr) 170px 40px;gap:8px;align-items:center; }
.subscription-item input { width:100%;min-height:42px;padding:0 11px;border:1px solid var(--border);border-radius:9px;outline:0;color:var(--text-primary);background:#0b1426; }
.subscription-item input:focus { border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(242,188,59,.07); }
.toggle-card { min-height:68px;padding:12px;display:flex!important;align-items:center;gap:10px;border:1px solid var(--border)!important;border-radius:10px;background:#0b1426;cursor:pointer; }
.toggle-card input { position:absolute;opacity:0;pointer-events:none; }.toggle-card>i { position:relative;width:43px;height:24px;flex:0 0 auto;border-radius:999px;background:#27334c;transition:.2s; }.toggle-card>i::after { content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0008;transition:.2s; }
.toggle-card input:checked+i { background:linear-gradient(135deg,var(--gold),var(--gold-dark));box-shadow:0 0 18px var(--gold-glow); }.toggle-card input:checked+i::after { transform:translateX(19px); }
.toggle-card>span { min-width:0;display:grid;gap:2px;flex:1; }.toggle-card strong { display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:10px; }.toggle-card strong>.icon { width:14px;height:14px;color:var(--gold); }.toggle-card small { color:var(--text-muted);font-size:8px;line-height:1.45; }
.pro-data-card { transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }.pro-data-card.is-active { border-color:rgba(242,188,59,.45)!important;background:linear-gradient(135deg,rgba(242,188,59,.08),#0b1426);box-shadow:0 0 22px rgba(242,188,59,.07); }
.toggle-state { margin-left:auto;padding:3px 6px;border-radius:999px;color:#9aabc9;background:#26324a;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.06em; }.toggle-state.active { color:#08291b;background:#49d99b; }
.toggle-summary { margin-top:2px;color:#8195bb;font-size:8px;letter-spacing:.04em; }.pro-data-card.is-active .toggle-summary { color:#f2c963; }
.gateway-notice { margin-top:13px;padding:13px;display:flex;gap:10px;border:1px solid var(--border);border-radius:10px;background:#0a1324; }.gateway-notice.success { border-color:rgba(32,199,122,.35); }.gateway-notice.warning { border-color:rgba(245,158,11,.35); }.gateway-notice.danger { border-color:rgba(239,68,68,.35); }
.gateway-notice strong { display:block;margin-bottom:3px;font-size:10px; }.gateway-notice p { margin:0;color:var(--text-secondary);font-size:9px; }
.sticky-form-actions,.form-footer,.bulk-actions { position:sticky;bottom:0;z-index:12;padding:14px 0 5px;display:flex;align-items:center;justify-content:flex-end;gap:10px;background:linear-gradient(180deg,transparent,var(--bg-primary) 22%); }
.inline-check { margin-right:auto;display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:9px; }.inline-check input { accent-color:var(--gold); }
.subscription-history { margin-top:20px; }.panel-heading { padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-subtle); }.panel-heading h2 { margin:0 0 2px;font-size:13px; }.panel-heading p { margin:0;color:var(--text-muted);font-size:8px; }
.charge-detail-grid { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:15px; }.detail-status-text { font-size:18px!important;text-transform:uppercase; }
.detail-list { margin:0 0 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }.detail-list>div { min-width:0;padding:12px;border:1px solid var(--border-subtle);border-radius:9px;background:#0b1426; }.detail-list dt { margin-bottom:4px;color:var(--text-muted);font-size:7px;font-weight:800;text-transform:uppercase; }.detail-list dd { margin:0;overflow-wrap:anywhere;font-size:10px;font-weight:700; }
.bank-data { margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle); }.bank-data h3 { font-size:12px; }.bank-data label { margin-bottom:10px;display:grid;gap:5px;color:var(--text-secondary);font-size:8px; }
.copy-field { padding:8px;border:1px solid var(--border);border-radius:9px;background:#07101f; }.copy-field code { min-width:0;flex:1;overflow-wrap:anywhere;color:#b9caff;font-size:9px; }.copy-field .icon-button { flex:0 0 auto; }
.inline-alert { margin:13px 0;padding:12px;display:flex;align-items:flex-start;gap:9px;border:1px solid rgba(59,130,246,.25);border-radius:10px;color:#a7c5ff;background:rgba(59,130,246,.07); }.inline-alert.warning { border-color:rgba(245,158,11,.3);color:#ffd081;background:rgba(245,158,11,.06); }.inline-alert.danger { border-color:rgba(239,68,68,.3);color:#ff9da4;background:rgba(239,68,68,.07); }.inline-alert.success { border-color:rgba(32,199,122,.34);color:#7cf0ba;background:rgba(32,199,122,.08); }.inline-alert .icon { margin-top:2px; }.inline-alert strong { font-size:10px; }.inline-alert p { margin:3px 0 0;font-size:9px; }
.contact-list { padding:0;display:grid;gap:10px;list-style:none;color:var(--text-secondary);font-size:9px; }.contact-list li { display:flex;align-items:center;gap:8px; }.contact-list .icon { width:15px;height:15px;color:var(--gold); }.muted-text { color:var(--text-muted); }.detail-qr { width:min(100%,220px);margin:18px auto 0;padding:10px;display:block;border-radius:12px;background:#fff; }
.payment-confirm-card header { align-items:center; }.success-symbol { color:var(--success)!important;border-color:rgba(32,199,122,.35)!important;background:rgba(32,199,122,.08)!important; }.payment-summary { margin-bottom:14px;padding:15px;display:grid;gap:3px;border:1px solid var(--border);border-radius:11px;background:#0a1324; }.payment-summary small { color:var(--text-muted);font-size:8px; }.payment-summary strong { font-size:13px; }.payment-summary span { color:var(--text-secondary);font-size:9px; }.payment-summary b { margin-top:7px;color:var(--gold);font-size:22px; }
.bulk-summary { margin-bottom:14px;padding:16px;display:flex;align-items:center;gap:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface); }.bulk-icon { width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:var(--gold);background:rgba(242,188,59,.1); }.bulk-summary>div:nth-child(2) { display:grid; }.bulk-summary>div strong { font-size:18px; }.bulk-summary>div span { color:var(--text-secondary);font-size:9px; }.bulk-summary ul { margin-left:auto;padding:0;display:flex;gap:9px;list-style:none; }.bulk-summary li { padding:7px 9px;display:flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:8px; }.bulk-summary li .icon { width:13px;height:13px;color:var(--gold); }
.schedule-rules { margin-bottom:9px;padding:11px 13px;display:flex;align-items:center;gap:16px;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface);white-space:nowrap; }.schedule-rules span { display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:8px; }.schedule-rules .icon { width:13px;height:13px;color:var(--gold); }.schedule-rules .schedule-month { margin-left:auto;color:var(--gold); }
.schedule-status-tabs { margin-bottom:10px;display:flex;gap:8px;overflow-x:auto; }.schedule-status-tabs span { padding:6px 9px;display:flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);background:#0a1324;font-size:8px;font-weight:800;white-space:nowrap; }.schedule-status-tabs .icon { width:12px;height:12px; }.schedule-status-tabs .success { color:#75eab7; }.schedule-status-tabs .warning { color:#ffd071; }.schedule-status-tabs .danger { color:#ff8d96; }
.month-navigator { margin-bottom:11px;display:flex;align-items:center;justify-content:flex-end;gap:7px; }.month-navigator input { min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:#0b1426;color:var(--text-primary); }
.old-overdue-panel { margin-bottom:12px;overflow:hidden;border:1px solid rgba(239,68,68,.35);border-radius:12px;background:rgba(70,12,24,.17); }.old-overdue-panel>header { padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#ff7d88;background:rgba(239,68,68,.09); }.old-overdue-panel>header>div { display:flex;align-items:center;gap:7px; }.old-overdue-panel>header span { width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--danger);color:#fff;font-size:8px; }.old-overdue-panel>div article { padding:9px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(239,68,68,.12); }.old-overdue-panel article>span:first-child { display:grid; }.old-overdue-panel article strong { font-size:9px; }.old-overdue-panel article small { color:#ff947c;font-size:8px; }
.schedule-calendar { display:grid;gap:10px; }.schedule-day { overflow:hidden;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface); }.schedule-day>header { padding:10px 13px;display:flex;align-items:center;justify-content:space-between;background:#0d172b; }.schedule-day>header div { display:flex;align-items:center;gap:8px; }.schedule-day>header strong { font-size:11px; }.schedule-day>header span { padding:3px 6px;border-radius:999px;color:#8fb7ff;background:rgba(59,130,246,.1);font-size:7px; }.schedule-day>header b { color:var(--text-muted);font-size:8px; }.danger-text { color:#ff7d88!important; }
.schedule-row { padding:10px 13px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--border-subtle);transition:background var(--transition); }.schedule-row:hover { background:var(--surface-hover); }.schedule-state { width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:var(--info);background:rgba(59,130,246,.09); }.schedule-state.vencido { color:var(--danger);background:rgba(239,68,68,.09); }.schedule-state .icon { width:15px;height:15px; }.schedule-row>span:nth-child(2) { min-width:0;display:grid; }.schedule-row strong { font-size:9px; }.schedule-row small { overflow:hidden;color:var(--text-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap; }.schedule-charge-meta { margin-left:auto;display:flex;align-items:center;gap:11px;white-space:nowrap; }.schedule-charge-meta b { color:var(--gold);font-size:9px; }
.log-tabs { margin-bottom:12px;display:flex;gap:7px;overflow-x:auto; }.log-tabs a { padding:9px 11px;display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:9px;color:var(--text-secondary);background:#0b1426;font-size:9px;font-weight:700;white-space:nowrap; }.log-tabs a.active,.log-tabs a:hover { border-color:var(--gold-dark);color:var(--gold);background:rgba(242,188,59,.08); }.log-tabs .icon { width:14px;height:14px; }
.log-list { display:grid;gap:9px; }.log-entry { padding:13px;display:flex;align-items:flex-start;gap:11px;border:1px solid var(--border-subtle);border-radius:12px;background:linear-gradient(145deg,var(--surface),#0c1629);transition:border-color var(--transition),transform var(--transition); }.log-entry:hover { transform:translateY(-1px);border-color:var(--border-strong); }.log-entry.erro { border-left:3px solid var(--danger); }.log-entry.sucesso { border-left:3px solid var(--success); }.log-entry.aviso { border-left:3px solid var(--warning); }.log-entry.info { border-left:3px solid var(--info); }.log-icon { width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--gold);background:rgba(242,188,59,.08); }.log-main { min-width:0;flex:1; }.log-main>header { display:flex;justify-content:space-between;gap:12px; }.log-main>header>div { display:grid; }.log-main header strong { font-size:10px; }.log-main header span,.log-main time { color:var(--text-muted);font-size:8px; }.log-main code { color:#a9c2ff; }.log-badges { margin:8px 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text-muted);font-size:7px; }.log-level { padding:4px 6px;border-radius:999px;font-weight:900; }.log-level.sucesso { color:#75eab7;background:rgba(32,199,122,.1); }.log-level.erro { color:#ff8d96;background:rgba(239,68,68,.1); }.log-level.aviso { color:#ffd071;background:rgba(245,158,11,.1); }.log-level.info { color:#8fb7ff;background:rgba(59,130,246,.1); }.log-main>p { color:var(--text-secondary);font-size:9px; }.log-error { padding:9px;display:flex;align-items:flex-start;gap:8px;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#ff9da4;background:rgba(239,68,68,.06); }.log-error code { min-width:0;flex:1;overflow-wrap:anywhere;color:#ffb0b6;font-size:8px; }.log-main details { margin-top:8px; }.log-main summary { display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:8px;cursor:pointer; }.log-main summary .icon { width:13px;height:13px; }.log-payload-grid { margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }.log-payload-grid section { min-width:0;padding:9px;border:1px solid var(--border);border-radius:8px;background:#07101f; }.log-payload-grid strong { font-size:8px; }.log-payload-grid pre { max-height:250px;margin:7px 0 0;overflow:auto;color:#a9c2ff;font-size:8px;white-space:pre-wrap;word-break:break-word; }
.notification-template-editor-list { display:grid;gap:12px; }.notification-template-editor { padding:14px;border:1px solid var(--border-subtle);border-radius:12px;background:#0c1629; }.notification-template-editor>header { margin-bottom:11px;display:flex;align-items:center;justify-content:space-between;gap:10px; }.notification-template-editor>div { display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:12px; }.notification-template-editor label { display:grid;gap:5px;color:var(--text-secondary);font-size:8px; }.notification-template-editor textarea { min-height:260px;padding:11px;border:1px solid var(--border);border-radius:10px;outline:0;color:var(--text-primary);background:#07101f;resize:vertical;font:10px/1.55 inherit; }.notification-template-editor textarea:focus { border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(242,188,59,.07); }.notification-template-editor label>small { margin-left:auto;color:var(--text-muted); }.whatsapp-preview { min-height:310px;padding:12px;display:flex;flex-direction:column;border:1px solid rgba(32,199,122,.24);border-radius:12px;background:radial-gradient(circle at 15% 20%,rgba(32,199,122,.08),transparent 28%),#061a16; }.whatsapp-preview>header { display:flex;align-items:center;gap:8px;color:#75eab7; }.whatsapp-preview>header span { display:grid; }.whatsapp-preview>header strong { font-size:9px; }.whatsapp-preview>header small { color:#73a998;font-size:7px; }.whatsapp-preview>div { margin-top:10px;padding:10px;flex:1;border-radius:9px 9px 2px 9px;color:#e8fff5;background:#075e54;box-shadow:0 6px 20px rgba(0,0,0,.18);font-size:9px;white-space:pre-wrap;overflow-wrap:anywhere; }.whatsapp-preview>time { margin-top:4px;align-self:flex-end;color:#73a998;font-size:7px; }.template-chips button { padding:0;border:0;background:transparent;cursor:pointer;transition:transform .16s ease,filter .16s ease; }.template-chips button:hover { transform:translateY(-1px);filter:brightness(1.2); }.gateway-notice span { color:var(--text-secondary);font-size:9px;line-height:1.45; }.compact-template-editors .notification-template-editor>div { grid-template-columns:minmax(0,1fr) minmax(230px,.72fr); }.compact-template-editors .notification-template-editor textarea { min-height:210px; }.compact-template-editors .whatsapp-preview { min-height:260px; }
.payment-page { width:min(100% - 30px,620px);margin:35px auto;display:grid;gap:14px; }.payment-brand { display:flex;align-items:center;justify-content:center;gap:10px; }.payment-brand>div { display:grid; }.payment-brand small { color:var(--text-muted);font-size:7px;text-align:center; }.payment-hero,.payment-method,.payment-success,.payment-warning { padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface),#0a1324);box-shadow:var(--shadow); }.payment-title { margin:12px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }.payment-title h1 { margin:0;font-size:22px; }.payment-title p { margin:3px 0 0;color:var(--text-secondary);font-size:10px; }.payment-hero dl { margin:0;display:grid;gap:0; }.payment-hero dl>div { padding:8px 0;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border-subtle); }.payment-hero dt { color:var(--text-muted);font-size:8px; }.payment-hero dd { margin:0;text-align:right;font-size:9px;font-weight:700; }.payment-hero .payment-total dd { color:var(--gold);font-size:20px; }.payment-methods { display:grid;gap:12px; }.payment-method>header { margin-bottom:12px;display:flex;align-items:center;gap:10px; }.payment-method>header>.icon { width:28px;height:28px;color:var(--gold); }.payment-method h2 { margin:0;font-size:13px; }.payment-method p { margin:2px 0 0;color:var(--text-muted);font-size:8px; }.payment-method>.btn { margin-top:10px;width:100%; }.payment-qr { width:190px;margin:0 auto 13px;padding:8px;display:block;border-radius:10px;background:#fff; }.payment-success,.payment-warning { display:flex;align-items:center;gap:12px; }.payment-success>.icon { width:36px;height:36px;color:var(--success); }.payment-warning>.icon { width:36px;height:36px;color:var(--warning); }.payment-success h2,.payment-warning h2 { margin:0;font-size:13px; }.payment-success p,.payment-warning p { margin:2px 0 0;color:var(--text-secondary);font-size:9px; }.payment-security { display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-size:8px; }.payment-security .icon { width:14px;height:14px;color:var(--success); }

@media (max-width: 1200px) { .log-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.form-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }.detail-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .metric-grid,.subscription-metrics,.charge-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.advanced-filter { align-items:stretch;flex-wrap:wrap; }.advanced-filter .search-field { flex-basis:100%; }.advanced-filter .result-count { margin:0;align-self:center; }.charge-detail-grid { grid-template-columns:1fr; }.notification-template-editor>div { grid-template-columns:1fr; }.bulk-summary { align-items:flex-start;flex-wrap:wrap; }.bulk-summary ul { width:100%;margin:0;overflow-x:auto; }.schedule-charge-meta .mono { display:none; } }
@media (max-width: 640px) { .metric-grid,.subscription-metrics,.charge-metrics,.log-metrics { grid-template-columns:1fr 1fr; }.metric-card { min-height:96px;padding:14px; }.metric-card>strong { font-size:20px; }.advanced-filter>* { width:100%; }.compact-field { min-width:0; }.form-grid-4 { grid-template-columns:1fr; }.subscription-item { grid-template-columns:minmax(0,1fr) 100px 38px; }.form-card-title { align-items:flex-start;flex-wrap:wrap; }.form-card-title>.btn { width:100%;margin:0; }.sticky-form-actions,.form-footer,.bulk-actions { align-items:stretch;flex-direction:column; }.sticky-form-actions .btn,.form-footer .btn,.bulk-actions .btn { width:100%; }.first-charge-toggle { width:100%;min-width:0;margin:0; }.inline-check { margin:0; }.detail-list { grid-template-columns:1fr; }.schedule-rules .schedule-month { margin-left:0; }.old-overdue-panel>div article,.schedule-row { align-items:flex-start;flex-direction:column; }.schedule-charge-meta { width:100%;margin:0;justify-content:space-between; }.log-entry { position:relative;flex-wrap:wrap; }.log-main { flex-basis:calc(100% - 50px); }.log-entry>form { width:100%; }.log-entry>form .btn { width:100%; }.log-payload-grid { grid-template-columns:1fr; }.notification-template-editor { padding:11px; }.whatsapp-preview { min-height:250px; }.payment-page { width:min(100% - 20px,620px);margin:16px auto; }.payment-title { flex-direction:column; }.payment-hero dl>div { align-items:flex-start;flex-direction:column; }.payment-hero dd { text-align:left; }.payment-method .copy-field { padding:8px; }.bulk-summary ul { flex-direction:column; }.bulk-summary li { width:fit-content; } }

.plan-locked { color:#d9e4ff!important;background:linear-gradient(135deg,#111d34,#0b1528)!important;border-color:rgba(59,130,246,.35)!important;box-shadow:inset 3px 0 0 var(--info);cursor:not-allowed; }
.automatic-send-card { cursor:default; }
.automatic-send-icon { width:42px;height:42px;display:grid!important;place-items:center;border:1px solid rgba(32,199,122,.3);border-radius:11px;color:var(--success);background:rgba(32,199,122,.08); }
.automatic-send-icon .icon { width:20px;height:20px; }
.first-charge-toggle { min-width:min(100%,390px);margin-right:auto; }.observations-card textarea { min-height:112px;resize:vertical; }
.total-delete-action { width:auto!important;min-width:40px;padding:0 9px!important;gap:6px;border-color:rgba(239,68,68,.32)!important;background:rgba(239,68,68,.08)!important; }
.total-delete-action span { font-size:8px;font-weight:800;white-space:nowrap; }
.charge-confirm-backdrop { padding:18px;display:grid;place-items:center; }
.charge-confirm-modal { width:min(560px,100%);min-height:0!important;margin:auto!important;border-radius:17px!important;box-shadow:0 38px 120px rgba(0,0,0,.7),0 0 55px rgba(239,68,68,.1); }
.charge-confirm-modal>header { min-height:0;padding:22px 24px; }
.charge-confirm-modal .delete-client-body { padding:22px 24px; }
.charge-confirm-modal .delete-client-body>strong { font-size:13px; }
.charge-confirm-backdrop[data-tone="success"] .delete-client-icon { color:#6be4ae;border-color:rgba(32,199,122,.36);background:rgba(32,199,122,.09);box-shadow:0 0 28px rgba(32,199,122,.12); }
.charge-confirm-backdrop[data-tone="success"] .danger-eyebrow { color:var(--success); }
.charge-confirm-backdrop[data-tone="success"] .delete-warning { color:#8ce6bf;border-color:rgba(32,199,122,.28);background:rgba(32,199,122,.07); }
.charge-confirm-backdrop[data-tone="success"] .delete-warning b { color:#c8f8e4; }
.charge-confirm-backdrop[data-tone="warning"] .delete-client-icon { color:var(--gold);border-color:rgba(242,188,59,.36);background:rgba(242,188,59,.09);box-shadow:0 0 28px var(--gold-glow); }
.charge-confirm-backdrop[data-tone="warning"] .danger-eyebrow { color:var(--gold); }
.charge-confirm-backdrop[data-tone="warning"] .delete-warning { color:#f6d98e;border-color:rgba(242,188,59,.28);background:rgba(242,188,59,.07); }
.charge-confirm-backdrop[data-tone="warning"] .delete-warning b { color:#ffedbd; }
.btn-info { color:#06152c;background:linear-gradient(135deg,#70b6ff,#4b8ff0);box-shadow:0 8px 24px rgba(59,130,246,.2); }
.payment-page { position:relative; }
.payment-page::before { content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 50% 0,rgba(36,76,139,.18),transparent 34%),linear-gradient(180deg,#080f1c,#070d17); }
.payment-brand { padding:5px 0 12px;border-bottom:1px solid var(--border-subtle); }
.payment-brand .brand-mark { box-shadow:0 8px 28px var(--gold-glow); }
.payment-brand strong { font-size:13px; }
.payment-hero { border-color:rgba(72,96,143,.5);background:linear-gradient(155deg,#121e35,#0a1324 76%); }
.payment-title { padding-bottom:4px; }
.payment-overdue-note { margin:0 0 10px;padding:10px 12px;display:flex;align-items:center;gap:9px;border:1px solid rgba(239,68,68,.28);border-radius:9px;color:#ff858e;background:rgba(239,68,68,.07); }
.payment-overdue-note .icon { width:18px;height:18px;flex:0 0 auto; }
.payment-overdue-note span { display:grid;gap:2px; }.payment-overdue-note strong { font-size:9px; }.payment-overdue-note small { color:#d8949a;font-size:7px; }
.payment-hero .payment-addition dt,.payment-hero .payment-addition dd { color:#ff777f; }
.payment-hero .payment-discount dt,.payment-hero .payment-discount dd { color:#69dfad; }
.payment-hero .payment-total { margin-top:3px;padding-top:12px;border-top-color:var(--border-strong); }
.payment-hero .payment-total dt { color:var(--text-primary);font-weight:800; }
.payment-method { border-color:rgba(72,96,143,.46); }
.payment-method>header>span { width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--gold);background:rgba(242,188,59,.09); }
.payment-method>header>span .icon { width:20px;height:20px; }
.payment-method .copy-field { display:grid;gap:9px; }
.payment-method .copy-field code { min-height:44px;padding:7px;display:block;border:1px solid var(--border-subtle);border-radius:7px;background:#07101f; }
.payment-method .copy-field .btn { width:100%; }

@media (max-width: 640px) {
  .charge-confirm-backdrop { padding:10px; }
  .charge-confirm-modal { width:100%;max-height:calc(100vh - 20px);overflow:auto;border-radius:14px!important; }
  .charge-confirm-modal>header,.charge-confirm-modal .delete-client-body { padding-inline:16px; }
  .charge-confirm-modal footer { display:grid;grid-template-columns:1fr; }
  .charge-confirm-modal footer .btn { width:100%; }
  .total-delete-action span { display:none; }
  .payment-page { margin:12px auto 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Notifications center, system identity and global footer */
.app-footer { margin-top:28px;padding:15px 8px 2px;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:9px;text-align:center; }
.app-footer strong { color:var(--text-secondary);font-weight:700; }
.portal-footer { padding:22px;color:var(--text-muted);font-size:10px;text-align:center; }
.super-admin-only { padding:8px 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(242,188,59,.25);border-radius:999px;color:var(--gold);background:rgba(242,188,59,.07);font-size:9px;font-weight:800; }
.super-admin-only .icon { width:14px;height:14px; }
.system-settings-form { display:grid;gap:14px;scroll-margin-top:18px; }
.system-config-section { padding:18px; }
.system-config-section>header { margin-bottom:17px;padding-bottom:13px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--border-subtle); }
.system-config-section>header>span { width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--gold);background:rgba(242,188,59,.08); }
.system-config-section>header .icon { width:17px;height:17px; }
.system-config-section h2 { margin:0 0 3px;font-size:13px; }
.system-config-section p { margin:0;color:var(--text-muted);font-size:9px; }
.system-config-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.system-config-grid label,.system-footer-field { display:grid;gap:6px;color:var(--text-secondary);font-size:9px;font-weight:700; }
.system-config-grid input,.system-footer-field input { width:100%;min-height:40px;padding:0 11px;border:1px solid var(--border);border-radius:9px;outline:0;color:var(--text-primary);background:#0b1426;font-size:10px; }
.system-config-grid input:focus,.system-footer-field input:focus { border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(242,188,59,.07); }
.system-config-grid small,.system-footer-field small { color:var(--text-muted);font-size:8px;font-weight:500; }
.brand-grid { grid-template-columns:.6fr 1.2fr 1fr; }
.system-brand-preview { margin-top:15px;padding:15px;display:flex;align-items:center;gap:10px;border:1px dashed var(--border-strong);border-radius:11px;background:#091225; }
.system-brand-preview em { margin-left:auto;color:var(--text-muted);font-size:8px;font-style:normal; }
.system-footer-field small { margin-top:7px;padding:12px;border:1px dashed var(--border);border-radius:8px;background:#091225; }
.system-config-save { position:sticky;bottom:0;z-index:12;padding:13px 0 5px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,transparent,var(--bg-primary) 22%); }
.system-config-save>span { display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:8px; }
.system-config-save .icon { width:14px;height:14px; }
.notification-page-heading strong { color:var(--gold); }
.notification-connection { margin-bottom:13px;padding:16px;display:flex;align-items:center;gap:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(17,26,46,.97),rgba(11,19,36,.97)); }
.notification-connection.connected { border-color:rgba(16,185,129,.38);background:linear-gradient(135deg,rgba(6,78,59,.19),rgba(11,19,36,.97)); }
.notification-connection.disconnected { border-color:rgba(239,68,68,.25); }
.notification-connection-icon { width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:var(--success);background:rgba(16,185,129,.1); }
.notification-connection.disconnected .notification-connection-icon { color:var(--danger);background:rgba(239,68,68,.09); }
.notification-connection-icon .icon { width:19px;height:19px; }
.notification-connection>div { min-width:0;flex:1; }
.notification-connection h2 { margin:3px 0;font-size:13px; }
.notification-connection p { margin:0;color:var(--text-muted);font-size:9px; }
.connection-pill { padding:6px 9px;border-radius:999px;color:#6ee7b7;background:rgba(16,185,129,.1);font-size:8px;font-weight:900; }
.disconnected .connection-pill { color:#ff9c9c;background:rgba(239,68,68,.1); }
.notification-stat-grid { margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.notification-stat-grid article { min-height:78px;padding:13px;display:flex;align-items:center;gap:11px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface); }
.notification-stat-grid article>span { width:35px;height:35px;display:grid;place-items:center;border-radius:9px;color:var(--gold);background:rgba(242,188,59,.08); }
.notification-stat-grid .icon { width:17px;height:17px; }
.notification-stat-grid div { display:grid;gap:4px; }
.notification-stat-grid small { color:var(--text-muted);font-size:8px; }
.notification-stat-grid strong { font-size:18px; }
.notification-stat-grid .has-error { border-color:rgba(239,68,68,.28); }
.notification-stat-grid .has-error>span { color:var(--danger);background:rgba(239,68,68,.09); }
.notification-settings-form { display:grid;gap:14px; }
.notification-rules-overview { padding:0 17px 17px; }
.notification-rules-overview .panel-header { padding-right:0;padding-left:0; }
.notification-rules-overview .panel-header>div { display:flex;align-items:center;gap:10px; }
.notification-rules-overview .panel-header h2 { margin:0 0 2px;font-size:13px; }
.notification-rules-overview .panel-header p { margin:0;color:var(--text-muted);font-size:8px; }

/* Auditoria */
.audit-heading h1 { display:flex;align-items:center;gap:9px; }.audit-heading h1 .icon { width:27px;height:27px;color:var(--gold); }
.audit-security-banner { margin-bottom:14px;padding:16px 18px;display:flex;align-items:center;gap:13px;border:1px solid rgba(32,199,122,.3);border-radius:14px;background:radial-gradient(circle at 8% 20%,rgba(32,199,122,.09),transparent 30%),linear-gradient(135deg,#0b1c22,#0c1629);box-shadow:0 15px 40px rgba(0,0,0,.14); }
.audit-security-icon { width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(32,199,122,.35);border-radius:12px;color:var(--success);background:rgba(32,199,122,.08); }.audit-security-icon .icon { width:23px;height:23px; }
.audit-security-banner>div { min-width:0;display:grid;gap:2px; }.audit-security-banner>div>span { color:#75eab7;font-size:7px;font-weight:900;letter-spacing:.16em; }.audit-security-banner strong { font-size:12px; }.audit-security-banner p { margin:0;color:var(--text-muted);font-size:8px; }
.audit-live { margin-left:auto;padding:6px 9px;display:flex;align-items:center;gap:6px;border-radius:999px;color:#75eab7;background:rgba(32,199,122,.09);font-size:7px;font-weight:900;white-space:nowrap; }.audit-live i { width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(32,199,122,.09),0 0 12px rgba(32,199,122,.55);animation:auditPulse 1.8s ease-in-out infinite; }
@keyframes auditPulse { 50% { opacity:.42;transform:scale(.82); } }
.audit-metrics { margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px; }.audit-metric { min-height:108px;padding:15px;display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border-subtle);border-radius:13px;background:linear-gradient(145deg,var(--surface),#0c1629);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition); }.audit-metric:hover { transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 15px 34px rgba(0,0,0,.16); }
.audit-metric-icon { width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid currentColor;border-radius:10px; }.audit-metric-icon .icon { width:18px;height:18px; }.audit-metric.total .audit-metric-icon { color:var(--gold);background:rgba(242,188,59,.07); }.audit-metric.today .audit-metric-icon { color:var(--info);background:rgba(59,130,246,.07); }.audit-metric.users .audit-metric-icon { color:var(--success);background:rgba(32,199,122,.07); }.audit-metric.sensitive .audit-metric-icon { color:var(--danger);background:rgba(239,68,68,.07); }
.audit-metric>div { min-width:0;display:grid; }.audit-metric small { color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.1em; }.audit-metric strong { margin:4px 0 1px;font-size:25px;line-height:1; }.audit-metric p { margin:0;color:var(--text-muted);font-size:8px; }
.audit-filter-panel { margin-bottom:14px;padding:12px;display:grid;grid-template-columns:minmax(240px,1fr) minmax(160px,.38fr) 135px 135px auto auto;align-items:end;gap:9px;border:1px solid var(--border-subtle);border-radius:13px;background:var(--surface); }.audit-filter-panel label { min-width:0;display:grid;gap:5px; }.audit-filter-panel label>span { color:var(--text-muted);font-size:7px;font-weight:800;text-transform:uppercase; }.audit-filter-panel select,.audit-filter-panel input { min-height:40px; }.audit-filter-panel .search-field { height:40px; }.audit-filter-panel .btn { min-height:40px;white-space:nowrap; }
.audit-timeline-panel { overflow:hidden;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface); }.audit-timeline-panel>header { padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,#101c32,#0d172b); }.audit-timeline-panel>header>div { display:flex;align-items:center;gap:10px; }.audit-timeline-panel h2 { margin:0 0 2px;font-size:13px; }.audit-timeline-panel header p { margin:0;color:var(--text-muted);font-size:8px; }.audit-panel-icon { width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(242,188,59,.28);border-radius:10px;color:var(--gold);background:rgba(242,188,59,.07); }.audit-panel-icon .icon { width:17px;height:17px; }.audit-result-count { color:var(--text-muted);font-size:8px;white-space:nowrap; }
.audit-timeline { padding:5px 16px 12px; }.audit-event { display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px; }.audit-event-rail { display:flex;align-items:center;flex-direction:column; }.audit-event-rail>span { width:34px;height:34px;margin-top:13px;display:grid;place-items:center;z-index:1;border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);background:#0a1324; }.audit-event-rail>span .icon { width:16px;height:16px; }.audit-event-rail>i { width:1px;min-height:20px;flex:1;background:linear-gradient(var(--border-strong),transparent); }.audit-event:last-child .audit-event-rail>i { display:none; }.audit-event.danger .audit-event-rail>span { border-color:rgba(239,68,68,.35);color:#ff8d96;background:rgba(239,68,68,.08); }.audit-event.success .audit-event-rail>span { border-color:rgba(32,199,122,.35);color:#75eab7;background:rgba(32,199,122,.08); }.audit-event.info .audit-event-rail>span { border-color:rgba(59,130,246,.35);color:#8fb7ff;background:rgba(59,130,246,.08); }.audit-event.warning .audit-event-rail>span { border-color:rgba(245,158,11,.35);color:#ffd071;background:rgba(245,158,11,.08); }
.audit-event-content { margin:8px 0 0;padding:12px 13px;border:1px solid var(--border-subtle);border-radius:11px;background:linear-gradient(145deg,#0e192d,#0b1527);transition:border-color var(--transition),transform var(--transition); }.audit-event-content:hover { transform:translateY(-1px);border-color:var(--border-strong); }.audit-event-content>header { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }.audit-event-content>header>div { min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap; }.audit-event-title { color:var(--text-primary);font-size:10px;font-weight:800; }.audit-event-content code { padding:4px 6px;border-radius:999px;color:#a9c2ff;background:rgba(59,130,246,.08);font-size:7px; }.audit-event-content time { color:var(--text-muted);font-size:8px;white-space:nowrap; }
.audit-event-meta { margin-top:9px;display:flex;align-items:center;gap:7px;flex-wrap:wrap; }.audit-event-meta>span { min-width:0;padding:6px 8px;display:flex;align-items:center;gap:5px;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-muted);background:#091222;font-size:7px; }.audit-event-meta .icon { width:12px;height:12px;color:var(--gold); }.audit-event-meta b { max-width:260px;overflow:hidden;color:var(--text-secondary);font-size:8px;text-overflow:ellipsis;white-space:nowrap; }.audit-event-meta small { color:var(--text-muted);font-size:7px; }
.audit-event-details { margin-top:9px;border-top:1px solid var(--border-subtle); }.audit-event-details summary { width:fit-content;margin-top:8px;padding:6px 8px;display:flex;align-items:center;gap:6px;border-radius:8px;color:var(--text-secondary);font-size:8px;font-weight:700;cursor:pointer;transition:color var(--transition),background var(--transition); }.audit-event-details summary:hover { color:var(--gold);background:rgba(242,188,59,.06); }.audit-event-details summary .icon { width:13px;height:13px; }.audit-event-details summary .icon:last-child { transition:transform var(--transition); }.audit-event-details[open] summary .icon:last-child { transform:rotate(180deg); }.audit-detail-grid { margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }.audit-detail-grid section { min-width:0;padding:10px;border:1px solid var(--border-subtle);border-radius:9px;background:#07101f; }.audit-detail-grid header { display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:8px;font-weight:800; }.audit-detail-grid header .icon { width:13px;height:13px;color:var(--gold); }.audit-detail-grid pre { max-height:280px;margin:8px 0 0;overflow:auto;color:#a9c2ff;font:8px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere; }.audit-detail-grid p { margin:8px 0 0;color:var(--text-muted);font-size:8px;overflow-wrap:anywhere; }.audit-detail-grid .audit-agent { grid-column:1/-1; }
.audit-empty { min-height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--text-muted); }.audit-empty>.icon { width:40px;height:40px;margin-bottom:10px;color:var(--border-strong); }.audit-empty strong { color:var(--text-secondary);font-size:11px; }.audit-empty span { margin:3px 0 12px;font-size:8px; }
@media (max-width:1200px) { .audit-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.audit-filter-panel { grid-template-columns:minmax(220px,1fr) minmax(150px,.45fr) 130px 130px; }.audit-filter-panel .btn { width:100%; } }
@media (max-width:760px) { .audit-security-banner { align-items:flex-start; }.audit-live { display:none; }.audit-filter-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }.audit-filter-panel .search-field { grid-column:1/-1; }.audit-event-content>header { flex-direction:column; }.audit-event-meta { align-items:stretch;flex-direction:column; }.audit-event-meta>span { width:100%; }.audit-event-meta b { max-width:100%; }.audit-detail-grid { grid-template-columns:1fr; }.audit-detail-grid .audit-agent { grid-column:auto; } }
@media (max-width:520px) { .audit-metrics { grid-template-columns:1fr; }.audit-filter-panel { grid-template-columns:1fr; }.audit-filter-panel .search-field { grid-column:auto; }.audit-timeline-panel>header { align-items:flex-start;flex-direction:column; }.audit-timeline { padding:4px 9px 10px; }.audit-event { grid-template-columns:30px minmax(0,1fr);gap:6px; }.audit-event-rail>span { width:29px;height:29px; }.audit-event-content { padding:10px; }.audit-security-banner { padding:13px; }.audit-security-icon { width:38px;height:38px; }.audit-security-banner p { display:none; } }
.isolation-badge { display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:8px; }
.isolation-badge .icon { width:14px;height:14px;color:var(--gold); }
.notification-page-rules { grid-template-columns:repeat(2,minmax(0,1fr)); }
.notification-models-section { padding:17px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface); }
.notification-models-section>header { margin-bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px; }
.notification-models-section h2 { margin:4px 0;font-size:15px; }
.notification-models-section p { margin:0;color:var(--text-muted);font-size:9px; }
.notification-model-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px; }
.notification-model-card { padding:13px;display:grid;gap:11px;border:1px solid var(--border-subtle);border-radius:11px;background:rgba(7,13,26,.28); }
.notification-model-top { display:flex;align-items:center;gap:9px; }
.notification-model-top>i { width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:var(--gold);background:rgba(242,188,59,.08);font-style:normal; }
.notification-model-top .icon { width:17px;height:17px; }
.notification-model-top>span { min-width:0;flex:1;display:grid; }
.notification-model-top b { font-size:10px; }
.notification-model-top small { color:var(--text-muted);font-size:8px; }
.notification-model-top em { padding:5px 7px;border-radius:999px;color:#9bbcff;background:rgba(59,130,246,.09);font-size:7px;font-style:normal;font-weight:800; }
.notification-model-card textarea { min-height:110px;padding:10px;border:1px solid var(--border);border-radius:9px;outline:0;color:var(--text-primary);background:#091225;resize:vertical;font:10px/1.55 inherit; }
.notification-model-card textarea:focus { border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(242,188,59,.07); }
.notification-model-card textarea:disabled { opacity:.82;cursor:not-allowed; }
.notification-model-foot { display:flex;align-items:center;justify-content:space-between; }
.notification-model-foot small:first-child { display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:8px; }
.notification-model-foot .icon { width:13px;height:13px; }
.notification-save-bar { position:sticky;bottom:0;z-index:10;padding:13px 0 4px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,transparent,var(--bg-primary) 20%); }
.notification-save-bar>span { display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:8px; }
.notification-save-bar>span .icon { width:14px;height:14px;color:var(--gold); }
.notification-test-note { padding:11px 12px;display:flex;align-items:flex-start;gap:8px;border:1px solid rgba(59,130,246,.22);border-radius:9px;color:#9bbcff;background:rgba(59,130,246,.06);font-size:9px;line-height:1.45; }
.notification-test-note .icon { width:15px;height:15px;flex:0 0 auto; }
.suspension-helper { border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.05); }
.suspension-template { border-color:rgba(245,158,11,.19); }
.admin-form-tabs { overflow-x:auto;scrollbar-width:thin; }
.admin-form-tabs button { flex:0 0 auto;white-space:nowrap; }

@media (max-width: 900px) {
  .notification-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .notification-model-grid { grid-template-columns:1fr; }
  .brand-grid { grid-template-columns:1fr 1fr; }
  .brand-grid label:last-child { grid-column:1/-1; }
}
@media (max-width: 640px) {
  .system-config-grid,.brand-grid,.notification-page-rules { grid-template-columns:1fr; }
  .brand-grid label:last-child { grid-column:auto; }
  .system-config-save,.notification-save-bar,.notification-models-section>header { align-items:stretch;flex-direction:column; }
  .system-config-save .btn,.notification-save-bar .btn { width:100%;justify-content:center; }
  .notification-connection { align-items:flex-start;flex-wrap:wrap; }
  .connection-pill { margin-left:52px; }
  .notification-stat-grid { grid-template-columns:1fr 1fr; }
  .notification-rules-grid>label { align-items:stretch;flex-direction:column; }
  .notification-rules-grid select { width:100%; }
  .notification-model-top { align-items:flex-start; }
  .notification-model-top em { display:none; }
  .system-brand-preview em { display:none; }
  .super-admin-only { margin-top:8px; }
}

/* Detalhes da cobrança e baixa manual — padrão operacional compacto */
.btn-warning { color:#2b1a00;background:linear-gradient(135deg,#ffd15b,#f2bc3b);box-shadow:0 8px 24px rgba(242,188,59,.2); }
.btn-warning:hover { transform:translateY(-1px);box-shadow:0 11px 30px rgba(242,188,59,.3); }
.charge-detail-heading { padding:3px 0 2px;align-items:center; }
.charge-detail-heading>div:first-child { min-width:0; }
.charge-detail-heading h1 { margin:5px 0 4px;font-size:clamp(22px,2vw,31px); }
.charge-detail-heading h1 b { color:var(--gold);font-weight:900; }
.charge-detail-actions { max-width:760px; }
.charge-detail-actions form { display:flex; }
.charge-detail-actions .btn { min-height:38px;padding-inline:13px;white-space:nowrap; }
.charge-detail-actions .btn .icon { width:14px;height:14px; }

.payment-confirm-backdrop { padding:18px;display:grid;place-items:center; }
.payment-confirm-compact { width:min(440px,100%);min-height:0!important;max-height:calc(100vh - 36px);margin:auto!important;overflow:auto;border-color:rgba(76,101,151,.75);border-radius:15px!important;background:linear-gradient(155deg,#121d34,#091222 76%);box-shadow:0 35px 110px rgba(0,0,0,.68),0 0 65px rgba(30,76,145,.15); }
.payment-confirm-compact .payment-confirm-header { position:relative;min-height:0;padding:22px 24px 18px;display:flex;align-items:center;flex-direction:column;gap:10px;text-align:center; }
.payment-confirm-icon { width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(32,199,122,.38);border-radius:14px;color:#52e6a3;background:radial-gradient(circle,rgba(32,199,122,.2),rgba(32,199,122,.06));box-shadow:0 0 26px rgba(32,199,122,.12); }
.payment-confirm-icon .icon { width:27px;height:27px; }
.payment-confirm-header .eyebrow { margin:0 auto; }
.payment-confirm-compact .payment-confirm-header h2 { margin:7px 0 4px;font-size:18px; }
.payment-confirm-compact .payment-confirm-header p { max-width:340px;margin:0 auto;line-height:1.5; }
.payment-confirm-close { position:absolute;top:13px;right:13px; }
.payment-confirm-body { padding:16px 20px!important; }
.payment-summary-compact { margin:0;padding:14px;text-align:left;background:linear-gradient(145deg,#0a1427,#07101e); }
.payment-summary-compact b { margin-top:9px;font-size:24px; }
.payment-adjustments { margin-top:11px;border:1px solid var(--border-subtle);border-radius:9px;background:rgba(7,13,26,.35); }
.payment-adjustments summary { padding:10px 12px;display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:9px;font-weight:700;cursor:pointer;list-style:none; }
.payment-adjustments summary::-webkit-details-marker { display:none; }
.payment-adjustments summary .icon { width:13px;height:13px;color:var(--gold); }
.payment-adjustments[open] summary { border-bottom:1px solid var(--border-subtle);color:var(--gold); }
.payment-adjustments .form-grid-ui { padding:12px;grid-template-columns:1fr 1fr; }
.payment-adjustments textarea { min-height:70px; }
.payment-confirm-compact .payment-confirm-footer { min-height:64px;padding:12px 20px;justify-content:center;background:rgba(4,9,18,.34); }
.payment-confirm-footer .btn { min-width:145px; }
.payment-shortcuts { padding:0 20px 12px;display:flex;align-items:center;justify-content:center;gap:13px;color:var(--text-muted);font-size:7px; }
.payment-shortcuts kbd { padding:2px 5px;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);background:#07101e;font:inherit;font-weight:800; }

@media (max-width: 900px) {
  .charge-detail-heading { align-items:flex-start;flex-direction:column; }
  .charge-detail-actions { width:100%;justify-content:flex-start; }
}
@media (max-width: 560px) {
  .payment-confirm-backdrop { padding:10px; }
  .payment-confirm-compact { width:100%;max-height:calc(100vh - 20px);border-radius:14px!important; }
  .payment-confirm-compact .payment-confirm-header { padding:18px 16px 15px; }
  .payment-confirm-body { padding:12px!important; }
  .payment-adjustments .form-grid-ui { grid-template-columns:1fr; }
  .payment-confirm-compact .payment-confirm-footer { position:static;padding:11px 12px;display:grid;grid-template-columns:1fr; }
  .payment-confirm-footer .btn { width:100%;min-width:0; }
  .payment-shortcuts { display:none; }
  .charge-detail-actions { display:grid;grid-template-columns:1fr 1fr; }
  .charge-detail-actions form,.charge-detail-actions .btn { width:100%; }
}
/* Relatórios avançados */
.report-heading{align-items:flex-end}.report-filter{display:flex;align-items:flex-end;gap:12px;padding:15px;margin-bottom:18px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,rgba(17,31,57,.95),rgba(10,20,38,.95));box-shadow:0 12px 30px #02071155}.report-filter label{min-width:150px;flex:1;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.report-filter label span{display:block;margin:0 0 7px}.report-filter input,.report-filter select{width:100%;min-height:42px}.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.report-kpi{position:relative;display:flex;align-items:center;gap:14px;min-height:116px;padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,#111e36,#0d182c);overflow:hidden;box-shadow:0 12px 30px #02071140}.report-kpi:after{content:"";position:absolute;inset:auto -28px -45px auto;width:110px;height:110px;border-radius:50%;background:currentColor;opacity:.06;filter:blur(4px)}.report-kpi-icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid currentColor;border-radius:13px;background:currentColor;color:inherit}.report-kpi-icon svg{width:22px;height:22px;filter:brightness(2.4)}.report-kpi div{display:grid;gap:4px}.report-kpi small{color:var(--muted);font-size:10px;letter-spacing:.12em}.report-kpi strong{font-size:25px;color:#fff}.report-kpi em{font-style:normal;color:var(--muted);font-size:11px}.report-kpi.gold{color:#ffc43d}.report-kpi.green{color:#22d99a}.report-kpi.blue{color:#4b8df8}.report-kpi.red{color:#ff4d67}.report-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:16px}.report-panel{border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,rgba(17,30,54,.98),rgba(10,20,37,.98));box-shadow:0 14px 36px #02071140;overflow:hidden}.report-panel>header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 18px;border-bottom:1px solid var(--border)}.report-panel h2{margin:0 0 4px;font-size:15px}.report-panel header p{margin:0;color:var(--muted);font-size:11px}.report-live,.report-count{padding:6px 9px;border:1px solid #20d99a44;border-radius:999px;color:#20d99a;font-size:9px;font-weight:800;letter-spacing:.08em}.report-live i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#20d99a;box-shadow:0 0 9px #20d99a}.report-legend{display:flex;justify-content:flex-end;gap:16px;padding:14px 20px 0;color:var(--muted);font-size:10px}.report-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%}.gold-dot:before{background:#ffc43d}.green-dot:before{background:#20d99a}.red-dot:before{background:#ff4d67}.report-bars{display:flex;align-items:flex-end;gap:14px;height:260px;padding:22px 22px 18px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,#263752 64px)}.report-month{display:grid;grid-template-rows:1fr auto;gap:8px;align-items:end;flex:1;height:100%;min-width:28px;text-align:center;color:var(--muted);font-size:10px}.report-bar-stack{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:100%}.report-bar-stack i{display:block;width:min(12px,30%);min-height:3px;border-radius:5px 5px 1px 1px;transition:filter .2s,transform .2s}.report-bar-stack i:hover{filter:brightness(1.2);transform:translateY(-2px)}.bar-billed{background:linear-gradient(#ffcf57,#e79d13)}.bar-received{background:linear-gradient(#35e8aa,#0e9f71)}.bar-overdue{background:linear-gradient(#ff7184,#d52b49)}.report-donut-wrap{display:grid;grid-template-columns:155px 1fr;align-items:center;gap:22px;padding:25px 20px}.report-donut{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;box-shadow:0 0 28px #0008;position:relative}.report-donut:after{content:"";position:absolute;inset:25px;border-radius:50%;background:#0d192d;border:1px solid #293a58}.report-donut span{z-index:1;display:grid;text-align:center}.report-donut strong{font-size:25px}.report-donut small{color:var(--muted);font-size:9px;text-transform:uppercase}.report-status-list{display:grid;gap:9px}.report-status-list>div{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #263752;color:#c7d2e8;font-size:11px}.report-status-list span{display:flex;align-items:center;gap:7px}.report-status-list i{width:7px;height:7px;border-radius:50%}.report-status-list strong{text-align:right}.report-status-list strong small{display:block;color:var(--muted);font-weight:400}.gateway-list{display:grid;gap:15px;padding:20px}.gateway-list>div>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:11px}.gateway-list span{display:flex;align-items:center;gap:7px}.gateway-list svg{width:15px;height:15px;color:#ffc43d}.gateway-list small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.progress-track{height:7px;border-radius:999px;background:#07101f;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d99310,#ffd15b);box-shadow:0 0 10px #ffc43d55}.progress-track.danger i{background:linear-gradient(90deg,#b82742,#ff6278)}.aging-list{display:grid;gap:14px;padding:20px}.aging-list>div{display:grid;grid-template-columns:75px 1fr 90px;align-items:center;gap:10px;font-size:10px}.aging-list strong{text-align:right}.report-clients-panel,.report-insights{margin-top:16px}.report-table .text-success{color:#20d99a}.report-table .text-danger{color:#ff6a7d}.conversion-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#163c36;color:#36e0a9;font-size:10px;font-weight:800}.report-insights>header>svg{width:24px;height:24px;color:#ffc43d}.report-insights>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px}.report-insights p{display:flex;gap:10px;align-items:flex-start;margin:0;padding:13px;border:1px solid #263752;border-radius:12px;background:#0b1629;color:#c8d4e8;font-size:11px;line-height:1.55}.report-insights p svg{flex:0 0 auto;width:17px;height:17px;color:#20d99a}.report-empty{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout{grid-template-columns:1fr}.report-insights>div{grid-template-columns:1fr}.report-filter{flex-wrap:wrap}.report-filter label{min-width:calc(50% - 12px)}}
@media(max-width:640px){.report-kpis{grid-template-columns:1fr}.report-filter{align-items:stretch}.report-filter label{min-width:100%}.report-filter .btn{width:100%}.report-bars{height:220px;padding-inline:12px;gap:7px}.report-month{font-size:8px}.report-donut-wrap{grid-template-columns:1fr;justify-items:center;width:100%}.report-status-list{width:100%}.aging-list>div{grid-template-columns:65px 1fr}.aging-list strong{grid-column:2}.report-panel>header{align-items:flex-start}.report-heading .page-actions{width:100%}.report-heading .btn{flex:1}.report-kpi strong{font-size:22px}}

/* Contratos, modelos e assinatura digital */
.contracts-heading .btn-secondary{border-color:#1bb6ef;color:#45c8ff;background:#0c1728}.contract-metric{min-height:100px;margin-bottom:14px;padding:20px;display:flex;align-items:center;gap:16px}.contract-metric small{display:block;color:var(--text-muted);font-size:8px;letter-spacing:.15em}.contract-metric strong{display:block;font-size:29px;line-height:1.05}.contract-metric p{margin:3px 0 0;color:var(--text-secondary);font-size:10px}.contract-list-panel{overflow:hidden}.contracts-table .actions-column{text-align:center}.contract-number{color:#74a7ff;font-size:11px}.contract-actions{display:flex;align-items:center;justify-content:center;gap:2px}.contract-actions .icon-button{width:33px;height:33px}.contract-actions .icon-button:hover{color:#71b7ff}.icon-button.danger,.danger-link{color:#ff6377}.icon-button.danger:hover{border-color:#ff526c55;background:#ff526c12}.btn-danger{color:#fff;border-color:#ef4444;background:linear-gradient(135deg,#ef4444,#c72f46);box-shadow:0 9px 24px #ef444433}.btn-small{min-height:34px;padding:7px 11px;font-size:10px}
.contract-models-modal,.contract-confirm-modal{padding:18px;display:grid;place-items:center}.contract-models-card{width:min(920px,100%);max-height:calc(100vh - 36px);overflow:auto;border-top:2px solid var(--gold)}.contract-models-card>header{padding:17px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.contract-models-card>header>div{flex:1}.contract-models-card h2{margin:0;font-size:17px}.contract-models-card header p{margin:2px 0 0;color:var(--text-muted);font-size:9px}.modal-symbol{width:37px;height:37px;display:grid;place-items:center;border:1px solid #36bffa;border-radius:10px;color:#36bffa;background:#139ddd16}.contract-models-toolbar{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:10px}.contract-models-toolbar>span{display:flex;align-items:center;gap:6px}.contract-model-table{margin:0 18px 18px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.contract-model-row{min-height:58px;padding:11px 13px;display:grid;grid-template-columns:1.3fr .55fr 1.2fr 1fr;align-items:center;gap:12px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:10px}.contract-model-row:first-child{border-top:0}.contract-model-row.heading{min-height:37px;color:var(--text-muted);background:#091225;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.contract-model-row strong{color:#fff}.contract-model-row a{display:flex;align-items:center;gap:5px;color:#47c7ff;overflow:hidden;text-overflow:ellipsis}.contract-model-row a .icon{width:12px}.contract-model-actions{display:flex;gap:10px}.contract-model-actions button{padding:4px;border:0;display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);background:transparent;font-size:9px}.contract-model-actions .danger-link{color:#ff6377}.contract-model-actions .icon{width:11px}.empty-inline{margin:0 18px 18px;padding:25px;border:1px dashed var(--border);border-radius:11px;color:var(--text-muted);text-align:center}.contract-model-form{margin:0 18px 18px;padding:18px;border:1px solid var(--border);border-radius:13px;background:#0b1528}.form-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.form-section-title h3{margin:0}.form-section-title p{margin:3px 0 0;color:var(--text-muted);font-size:9px}.contract-model-form textarea,.contract-clauses textarea{resize:vertical}
.contract-form{padding:22px}.contract-primary-fields{display:grid;grid-template-columns:1.4fr .75fr .8fr 1.2fr;gap:14px}.contract-form label,.contract-model-form label,.public-sign-card label{display:grid;gap:7px;color:var(--text-secondary);font-size:10px;font-weight:700}.contract-form input,.contract-form select,.contract-form textarea,.contract-model-form input,.contract-model-form select,.contract-model-form textarea,.public-sign-card input{width:100%;min-width:0;border:1px solid var(--border);border-radius:9px;outline:0;color:#fff;background:#081122;transition:border-color .18s,box-shadow .18s}.contract-form input,.contract-form select,.contract-model-form input,.contract-model-form select,.public-sign-card input{min-height:42px;padding:0 12px}.contract-form textarea,.contract-model-form textarea{padding:12px}.contract-form input:focus,.contract-form select:focus,.contract-form textarea:focus,.contract-model-form input:focus,.contract-model-form textarea:focus,.public-sign-card input:focus{border-color:#4a86dc;box-shadow:0 0 0 3px #3b82f61c}.contract-clauses{margin-top:16px}.contract-signed-check{width:fit-content!important;margin-top:13px;display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important}.contract-signed-check input{width:17px;height:17px;min-height:0;accent-color:var(--gold)}.contract-signed-check span{display:flex;align-items:center;gap:6px}.contract-items-head{margin-top:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.contract-items-head h2,.contract-items-head h3{margin:0 0 3px;font-size:16px}.contract-items-head p{margin:0;color:var(--text-muted);font-size:9px}.contract-items{display:grid;gap:8px;margin-top:11px}.contract-item-row{padding:10px;display:grid;grid-template-columns:minmax(180px,1fr) 120px 160px 38px;align-items:end;gap:10px;border:1px solid var(--border-subtle);border-radius:10px;background:#081122}.contract-item-row .icon-button{margin-bottom:2px}.contract-form-footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px}.contract-form-footer>div:last-child{display:flex;gap:9px}.contract-total{display:grid}.contract-total span{color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.contract-total strong{font-size:22px;color:var(--gold)}
.confirm-card{width:min(440px,100%);padding:28px;text-align:center;background:linear-gradient(150deg,#142039,#091224)}.confirm-icon{width:58px;height:58px;margin:0 auto 15px;display:grid;place-items:center;border:1px solid #ef444466;border-radius:17px;color:#ff6377;background:#ef444414;box-shadow:0 0 30px #ef444418}.confirm-icon .icon{width:27px;height:27px}.confirm-card h2{margin-bottom:7px}.confirm-card p{color:var(--text-secondary)}.confirm-actions{margin-top:22px;display:flex;justify-content:center;gap:10px}
.contract-view-heading{align-items:flex-end}.contract-document{width:min(820px,100%);min-height:1000px;margin:0 auto;padding:52px 48px;border-radius:10px;color:#111827;background:#fff;box-shadow:0 28px 75px #0008;font:12px/1.55 Arial,sans-serif}.contract-document *{color:inherit}.contract-document>header{padding-bottom:12px;border-bottom:1px solid #c78c17}.contract-document>header div{display:grid;gap:7px}.contract-document>header span,.contract-document h2{color:#b87300}.contract-document>header span{font-weight:800}.contract-document h2{margin:25px 0 10px;padding-bottom:5px;border-bottom:1px solid #d59c2c;font:800 13px Georgia,serif}.contract-document table{width:100%;border-collapse:collapse}.contract-document th,.contract-document td{padding:8px;border:1px solid #c7c7c7;text-align:left}.contract-document th,.contract-document tr.total{background:#f5e6bc;font-weight:800}.contract-document tr.total td:first-child{text-align:right}.contract-clause-text{white-space:normal}.contract-signatures{margin-top:45px;display:grid;grid-template-columns:1fr 1fr;gap:25px;text-align:center}.contract-signatures span{height:50px;display:block;border-bottom:1px solid #111}.contract-signatures img{display:block;width:100%;height:50px;object-fit:contain;border-bottom:1px solid #111}.contract-signatures p{font-size:10px}.contract-document>footer{margin-top:35px;color:#64748b;text-align:center;font-size:9px}
.contract-send-card{width:min(620px,100%);padding:24px}.contract-send-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid #f2bc3b55;border-radius:14px;color:var(--gold);background:#f2bc3b11}.contract-send-card h2{margin:16px 0 5px;font-size:18px}.contract-send-card>div>p{color:var(--text-secondary)}.contract-send-card dl{margin:20px 0;border:1px solid var(--border);border-radius:11px;overflow:hidden}.contract-send-card dl>div{min-height:49px;display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--border)}.contract-send-card dl>div:first-child{border-top:0}.contract-send-card dt,.contract-send-card dd{margin:0;padding:13px}.contract-send-card dt{color:var(--text-muted);background:#081122;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.signature-link-result{margin:18px 0;padding:14px;border:1px solid #f59e0b55;border-radius:11px;background:#f59e0b0d}.signature-link-result.success{border-color:#20c77a55;background:#20c77a0d}.signature-link-result label{display:grid;gap:7px;margin-top:10px;color:var(--text-secondary);font-size:9px}.signature-link-result label>div{display:flex;gap:8px}.signature-link-result input{min-width:0;flex:1;padding:9px;border:1px solid var(--border);border-radius:8px;color:#fff;background:#07101f}.contract-send-actions{display:flex;justify-content:flex-end;gap:9px}
.public-body{min-height:100vh;background:radial-gradient(circle at 50% 8%,#152746,#070d1a 45%)}.public-contract-page{width:min(760px,calc(100% - 28px));margin:0 auto;padding:24px 0 60px}.public-brand{padding:0 2px 20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--border)}.public-brand strong{color:var(--gold)}.public-brand span{color:var(--text-muted);font-size:10px}.public-contract-intro{padding:28px 0 18px}.public-contract-intro h1{margin:13px 0 5px;font-size:25px}.public-contract-intro h1 .icon{width:23px}.public-contract-intro p{color:var(--text-secondary)}.public-contract-intro>div{display:flex;flex-wrap:wrap;gap:8px}.public-contract-intro>div span{padding:6px 10px;border:1px solid #f2bc3b55;border-radius:999px;color:var(--gold);background:#f2bc3b0a;font-size:10px;font-weight:800}.public-contract-card,.public-sign-card{margin-top:14px;padding:24px;border:1px solid var(--border);border-radius:15px;background:#111a2e;box-shadow:var(--shadow)}.public-contract-card h2,.public-contract-card h3,.public-sign-card h2{color:var(--gold)}.public-contract-card table{width:100%;border-collapse:collapse}.public-contract-card th,.public-contract-card td{padding:9px;border:1px solid var(--border);text-align:left}.public-sign-card>p{color:var(--text-secondary)}.signature-canvas-wrap{position:relative;margin:13px 0;border:2px dashed #466084;border-radius:12px;overflow:hidden;background:#fff;touch-action:none}.signature-canvas-wrap canvas{display:block;width:100%;height:210px;touch-action:none}.signature-canvas-wrap>span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:#94a3b8;pointer-events:none}.public-sign-actions{display:flex;justify-content:flex-end;gap:9px}.public-message{width:min(560px,calc(100% - 28px));margin:14vh auto 0;padding:38px;border:1px solid var(--border);border-radius:18px;text-align:center;background:#111a2e;box-shadow:var(--shadow)}.public-message>.icon{width:54px;height:54px;color:#20c77a}.public-message.error>.icon{color:#ff6377}.public-message p{margin:0;color:var(--text-secondary)}
@media(max-width:1050px){.contract-primary-fields{grid-template-columns:1fr 1fr}.contract-model-row{grid-template-columns:1.2fr .6fr 1fr}.contract-model-row>*:last-child{grid-column:1/-1}.contract-model-row.heading>*:last-child{display:none}}
@media(max-width:700px){.contracts-heading,.contract-view-heading{align-items:stretch;flex-direction:column}.contracts-heading .page-actions,.contract-view-heading .page-actions{width:100%;display:grid;grid-template-columns:1fr}.contract-primary-fields{grid-template-columns:1fr}.contract-form{padding:14px}.contract-item-row{grid-template-columns:1fr 90px 120px 36px}.contract-item-row label:first-child{grid-column:1/-1}.contract-form-footer{align-items:stretch;flex-direction:column}.contract-form-footer>div:last-child{display:grid;grid-template-columns:1fr}.contract-items-head{align-items:stretch;flex-direction:column}.contract-model-row{grid-template-columns:1fr 1fr}.contract-model-row.heading{display:none}.contract-model-row>*:last-child{grid-column:1/-1}.contract-document{padding:30px 20px;min-height:0}.contract-signatures{grid-template-columns:1fr}.contract-send-card dl>div{grid-template-columns:105px 1fr}.contract-send-actions,.confirm-actions,.public-sign-actions{display:grid;grid-template-columns:1fr}.signature-link-result label>div{flex-direction:column}.public-contract-card,.public-sign-card{padding:16px;overflow:auto}.public-brand{align-items:flex-start;flex-direction:column;gap:3px}}
@media print{body.app-body{background:#fff}.sidebar,.topbar,.no-print,.page-heading,.app-footer,.floating-support{display:none!important}.main-area,.page-content{margin:0!important;padding:0!important;width:100%!important}.contract-document{width:100%;min-height:0;margin:0;padding:12mm;border:0;border-radius:0;box-shadow:none}.contract-document h2{break-after:avoid}.contract-document table,.contract-signatures{break-inside:avoid}}

/* Modelos de contratos: lista compacta + editor avançado */
.form-alert[hidden],.model-list-message[hidden],.model-current-file[hidden],.model-form-section[hidden]{display:none!important}
.contract-models-modal,.contract-model-editor-modal{padding:20px;display:grid;place-items:center;background:rgba(1,6,15,.82);backdrop-filter:blur(10px) saturate(.8)}
.contract-models-card{width:min(650px,100%);max-height:min(76vh,610px);overflow:hidden;border:1px solid #29405f;border-top:2px solid var(--gold);border-radius:13px;background:linear-gradient(150deg,#111c32 0%,#0a1426 100%);box-shadow:0 28px 90px #000b,0 0 45px #12305b24;animation:authEnter .22s ease}
.contract-models-card>header,.contract-model-editor-card header{min-height:66px;padding:14px 17px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #213451;background:linear-gradient(90deg,#13203a,#0c172a)}
.contract-models-card>header>div,.contract-model-editor-card header>div{min-width:0;flex:1}.contract-models-card h2,.contract-model-editor-card h2{margin:0;color:#fff;font-size:17px;line-height:1.2}.contract-models-card header p,.contract-model-editor-card header p{margin:3px 0 0;color:#7284a2;font-size:9px}.contract-models-card .modal-symbol,.contract-model-editor-card .modal-symbol{width:36px;height:36px;flex:0 0 36px;border-color:#32bfff;border-radius:10px;color:#5bcfff;background:linear-gradient(145deg,#16304d,#0b2038);box-shadow:inset 0 0 16px #1eaef51c}
.contract-models-toolbar{padding:15px 18px 12px;font-size:10px}.contract-models-toolbar .btn{box-shadow:0 8px 22px #f2bc3b22}.contract-models-card>[data-contract-model-list]{max-height:445px;overflow:auto;padding-bottom:1px}.contract-model-table{margin:0 18px 18px;border-color:#29405f;background:#0b162a}.contract-model-row{grid-template-columns:1.3fr .58fr 1.1fr 1fr;min-height:57px;padding:10px 13px;border-color:#20324d}.contract-model-row.heading{min-height:36px;background:#081225}.contract-model-row:hover:not(.heading){background:#12203a}.contract-model-actions{justify-content:flex-end}.contract-model-actions button{border-radius:6px;cursor:pointer;transition:.18s}.contract-model-actions button:hover{color:#fff;background:#ffffff0c}.contract-model-actions .danger-link:hover{color:#ff8795;background:#ef444414}.model-list-message{margin:0 18px 12px;padding:10px 12px;border:1px solid #20c77a55;border-radius:8px;color:#8eebbd;background:#20c77a0d;font-size:10px}.model-list-message.error{border-color:#ef444455;color:#ff9da9;background:#ef44440d}.empty-inline.loading{position:relative;color:#9babc4}.empty-inline.error{border-color:#ef444455;color:#ff9da9}
.contract-model-editor-card{width:min(620px,100%);height:min(88vh,860px);max-height:860px;overflow:hidden;border:1px solid #29405f;border-top:2px solid var(--gold);border-radius:13px;background:#0b1527;box-shadow:0 30px 100px #000c,0 0 55px #11336a25;animation:authEnter .22s ease}.contract-model-editor-card>form{height:100%;display:flex;flex-direction:column;min-height:0}.contract-model-editor-card header{flex:0 0 auto}.contract-model-editor-body{min-height:0;padding:14px 17px 18px;overflow-y:auto;scrollbar-color:#536986 #0a1425;scrollbar-width:thin}.contract-model-editor-card footer{flex:0 0 auto;min-height:64px;padding:11px 17px;display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid #243854;background:#0a1425;box-shadow:0 -12px 28px #02071155}.contract-model-editor-card footer .btn-primary{min-width:130px;box-shadow:0 9px 25px #f2bc3b22}
.model-form-section{position:relative;margin-bottom:10px;padding:13px;border:1px solid #263a57;border-left:3px solid #38bdf8;border-radius:9px;background:linear-gradient(145deg,#101c32,#0b1629);box-shadow:inset 0 1px #ffffff05}.model-form-section.tariffs{border-left-color:var(--gold)}.model-form-section.clauses{border-left-color:#a78bfa}.model-form-section.standard{border-left-color:#22c55e}.model-form-section.attachment{border-left-color:#38bdf8;margin-bottom:0}.model-form-section h3{margin:0 0 11px;display:flex;align-items:center;gap:7px;color:#8ea0ba;font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.model-form-section h3>.icon{width:13px;height:13px;color:inherit}.model-form-section h3 small{font-size:7px;font-weight:600;letter-spacing:0;text-transform:none}.model-form-grid{display:grid;gap:9px}.model-form-grid.columns-2{grid-template-columns:1fr 1fr}.model-form-grid.columns-3{grid-template-columns:repeat(3,1fr)}.model-form-grid .span-full{grid-column:1/-1}.model-form-grid .span-2{grid-column:span 2}.model-form-section label{display:grid;gap:6px;color:#8fa2c0;font-size:8px;font-weight:700}.model-form-section label b{color:#ff6377}.model-form-section input,.model-form-section select,.model-form-section textarea{width:100%;min-width:0;border:1px solid #2b4264;border-radius:7px;outline:0;color:#eef4ff;background:#091326;transition:border-color .18s,box-shadow .18s,background .18s}.model-form-section input,.model-form-section select{min-height:34px;padding:0 10px;font-size:10px}.model-form-section textarea{padding:10px;resize:vertical;font:10px/1.5 inherit}.model-form-section input:focus,.model-form-section select:focus,.model-form-section textarea:focus{border-color:#40baf4;background:#0b1830;box-shadow:0 0 0 3px #38bdf814}.model-form-section input::placeholder,.model-form-section textarea::placeholder{color:#52637e}.model-form-section select option{background:#0b1527}.model-form-section input[type=file]{padding:6px;height:auto}.model-form-section input[type=file]::file-selector-button{margin-right:9px;padding:6px 9px;border:0;border-radius:5px;color:#fff;background:#41506a;cursor:pointer}.model-form-section label>small{color:#71829d;font-size:7px}.model-form-section .contract-items{margin:0 0 9px}.model-form-section .contract-item-row{grid-template-columns:minmax(150px,1fr) 75px 110px 32px;padding:8px;gap:7px;background:#081225}.model-form-section .contract-item-row label{font-size:7px}.model-form-section .contract-item-row input{min-height:32px}.model-add-item{margin-bottom:11px}.model-standard-clauses{margin-top:2px}.model-current-file{margin:0 0 10px;padding:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #38bdf844;border-radius:7px;background:#38bdf80a}.model-current-file a{min-width:0;display:flex;align-items:center;gap:6px;color:#55c9ff;font-size:9px;overflow:hidden}.model-current-file a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-current-file label{display:flex;align-items:center;grid-template-columns:auto 1fr;color:#ff8795;white-space:nowrap}.model-current-file input{width:14px;min-height:14px;accent-color:#ef4444}.model-editor-alert{margin:11px 0 0;min-height:38px;font-size:10px}
@media(max-width:720px){.contract-models-modal,.contract-model-editor-modal{padding:10px}.contract-model-row{grid-template-columns:1.25fr .7fr}.contract-model-row.heading{display:none}.contract-model-row>*:nth-child(3){grid-column:1/-1}.contract-model-row>*:last-child{grid-column:1/-1}.contract-model-actions{justify-content:flex-start}.contract-model-editor-card{width:100%;height:min(94vh,900px)}.model-form-grid.columns-3{grid-template-columns:1fr 1fr}.model-form-grid.columns-3 .span-2{grid-column:1/-1}}
@media(max-width:480px){.contract-models-modal,.contract-model-editor-modal{padding:0}.contract-models-card,.contract-model-editor-card{width:100%;height:100dvh;max-height:none;border-radius:0;border-inline:0}.contract-models-card>[data-contract-model-list]{max-height:calc(100dvh - 145px)}.contract-models-toolbar{align-items:stretch}.contract-models-toolbar .btn{min-width:126px}.model-form-grid.columns-2,.model-form-grid.columns-3{grid-template-columns:1fr}.model-form-grid .span-2{grid-column:auto}.contract-model-editor-body{padding:11px}.model-form-section{padding:11px}.model-form-section .contract-item-row{grid-template-columns:1fr 70px 95px 32px}.model-form-section .contract-item-row label:first-child{grid-column:1/-1}.contract-model-editor-card footer{padding-bottom:max(11px,env(safe-area-inset-bottom))}.contract-model-editor-card footer .btn{flex:1}.model-current-file{align-items:flex-start;flex-direction:column}}

/* API Traccar dentro de Configurações */
.traccar-module{grid-column:1/-1;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,#111b30,#0a1425);box-shadow:0 18px 44px #02071155;overflow:hidden}.traccar-heading{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border)}.traccar-heading h2{margin:10px 0 3px;font-size:27px}.traccar-heading h2 .icon{width:25px;height:25px;color:var(--gold)}.traccar-heading p{margin:0;color:var(--text-muted);font-size:10px}.traccar-tabs{margin:14px;display:flex;gap:5px;padding:5px;border:1px solid var(--border);border-radius:10px;background:#0b1426;overflow:auto}.traccar-tabs button{min-height:34px;padding:0 12px;border:0;border-radius:7px;display:flex;align-items:center;gap:6px;color:var(--text-secondary);background:transparent;font-size:9px;white-space:nowrap}.traccar-tabs button.active{color:var(--gold);background:#f2bc3b18;box-shadow:inset 0 0 0 1px #f2bc3b1d}.traccar-tabs .icon{width:13px}.traccar-panel{display:none;margin:0 14px 14px;padding:18px;border:1px solid var(--border);border-radius:12px;background:#0d172a}.traccar-panel.active{display:block;animation:authEnter .25s ease}.traccar-panel[data-traccar-panel=dashboard]{min-height:120px}.traccar-panel[data-traccar-panel=dashboard].active{display:flex;align-items:center;justify-content:space-between;gap:18px}.traccar-active-card{display:grid}.traccar-active-card span{color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.14em}.traccar-active-card strong{font-size:29px}.traccar-active-card small{color:var(--text-secondary);font-size:9px}.traccar-dashboard-actions{display:flex;align-items:center;gap:10px}.traccar-config-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border)}.traccar-config-head>div{flex:1}.traccar-config-head h3{margin:0}.traccar-config-head p{margin:3px 0 0;color:var(--text-muted);font-size:9px}.traccar-config-form{margin-top:15px}.traccar-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.traccar-config-grid label{display:grid;gap:7px;color:var(--text-secondary);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.traccar-config-grid input,.traccar-config-grid select{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--border);border-radius:8px;outline:0;color:#fff;background:#081122}.traccar-config-grid .span-full{grid-column:1/-1}.traccar-config-grid small{color:var(--text-muted);font-size:8px;font-weight:400;letter-spacing:0;text-transform:none}.traccar-config-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:10px}.traccar-list-toolbar{margin-bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.traccar-list-toolbar h3{margin:0 0 3px}.traccar-list-toolbar p{margin:0;color:var(--text-muted);font-size:9px}.traccar-search{min-width:270px;height:40px;padding:0 10px;border:1px solid var(--border);border-radius:9px;display:flex;align-items:center;gap:7px;background:#081122}.traccar-search .icon{width:14px;color:var(--text-muted)}.traccar-search input{width:100%;border:0;outline:0;color:#fff;background:transparent;font-size:10px}.traccar-table{border:1px solid var(--border);border-radius:10px;overflow:hidden}.traccar-row{min-height:51px;padding:10px 12px;display:grid;grid-template-columns:1fr 1.2fr .6fr .75fr;align-items:center;gap:12px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:10px}.traccar-row:first-child{border-top:0}.traccar-row.heading{min-height:35px;color:var(--text-muted);background:#081122;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.traccar-row.device{grid-template-columns:1.1fr 1fr .55fr 1fr}.traccar-row strong{color:#fff}.traccar-row .status-badge{font-style:normal}.traccar-row-actions{display:flex;gap:5px}.traccar-row-actions button{min-height:29px;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--text-secondary);background:#101b30;font-size:8px}.traccar-row-actions button:hover{color:var(--gold);border-color:#f2bc3b55}.traccar-loading,.traccar-empty{padding:30px;border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);text-align:center}.traccar-empty.error{color:#ff6377}.traccar-pagination{display:flex;justify-content:center;gap:5px;margin-top:13px}.traccar-pagination button{width:30px;height:30px;border:1px solid var(--border);border-radius:7px;color:var(--text-secondary);background:#081122}.traccar-pagination button.active{color:#07101f;border-color:var(--gold);background:var(--gold)}.traccar-modal{padding:18px;display:grid;place-items:center}.traccar-status-choice{margin:18px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.traccar-devices-card{width:min(650px,100%);max-height:calc(100vh - 36px);overflow:auto}.traccar-devices-card>header{padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.traccar-devices-card h2{margin:0}.traccar-devices-card header p{margin:2px 0 0;color:var(--text-muted)}.traccar-devices-card>[data-traccar-user-devices]{padding:16px}.traccar-device-list{display:grid;gap:7px}.traccar-device-list>div{padding:11px;border:1px solid var(--border);border-radius:9px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;color:var(--text-secondary);font-size:10px}.traccar-device-list strong{color:#fff}
@media(max-width:780px){.traccar-heading,.traccar-panel[data-traccar-panel=dashboard].active,.traccar-list-toolbar{align-items:stretch;flex-direction:column}.traccar-search{min-width:0;width:100%}.traccar-config-grid{grid-template-columns:1fr}.traccar-config-grid .span-full{grid-column:auto}.traccar-row,.traccar-row.device{grid-template-columns:1fr 1fr}.traccar-row.heading{display:none}.traccar-row-actions{grid-column:1/-1}.traccar-dashboard-actions{align-items:stretch;flex-direction:column}.traccar-device-list>div{grid-template-columns:1fr}.traccar-config-actions{display:grid;grid-template-columns:1fr}}

/* Leitura de anexos dos modelos */
.model-file-status{margin:9px 0 0;padding:9px 10px;border:1px solid #38bdf844;border-radius:7px;color:#9bdcff;background:#38bdf80b;font-size:8px;line-height:1.45}.model-file-status[hidden]{display:none!important}.model-file-status.success{border-color:#20c77a55;color:#8eebbd;background:#20c77a0d}.model-file-status.error{border-color:#ef444455;color:#ff9da9;background:#ef44440d}

/* Assinatura pública no padrão do contrato de referência */
.public-body{min-height:100vh;background:radial-gradient(circle at 50% 8%,#152746,#070d1a 45%)}
.public-site-header{min-height:70px;padding:13px clamp(14px,3vw,34px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #263753;background:#111a2e;box-shadow:0 8px 28px #02071155}.public-site-header>div{display:grid;gap:3px}.public-site-header strong{color:var(--gold);font-size:16px}.public-site-header>div span{color:#8396b6;font-size:8px}.public-site-header>span{display:flex;align-items:center;gap:6px;color:#6f84a6;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.public-site-header .icon{width:13px;height:13px;color:var(--gold)}
.public-contract-page{width:min(570px,calc(100% - 28px));margin:0 auto;padding:22px 0 42px}.public-contract-intro{padding:0 0 13px}.public-contract-intro h1{margin:0 0 4px;display:flex;align-items:center;gap:7px;color:#fff;font-size:21px}.public-contract-intro h1 .icon{width:20px;height:20px;color:#fff}.public-contract-intro p{margin:0;color:#7f93b5;font-size:10px}.public-contract-intro>div{margin-top:13px;display:flex;flex-wrap:wrap;gap:7px}.public-contract-intro>div span{padding:5px 8px;border:1px solid #f2bc3b66;border-radius:999px;color:var(--gold);background:#f2bc3b0b;font-size:8px;font-weight:800}.public-contract-intro>div span.info{color:#69a9ff;border-color:#3b82f666;background:#3b82f60c}
.public-contract-card{margin:0;padding:0;overflow:hidden;border:1px solid #2a3b58;border-radius:12px;background:#111a2e;box-shadow:0 18px 50px #02071166}.public-contract-card>header{padding:13px 17px;color:#07101f;background:linear-gradient(135deg,#f2bc3b,#dda01b);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.public-contract-content{padding:15px 17px 17px}.public-contract-content section+section{margin-top:14px}.public-contract-content h2{margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #293b58;color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.public-contract-content p{margin:6px 0;color:#9bafd0;font-size:9px;line-height:1.55}.public-contract-content p strong{color:#f2f6ff}.public-contract-clauses{white-space:normal}.public-contract-table{width:100%;overflow:auto}.public-contract-card table{width:100%;min-width:410px;border-collapse:collapse;font-size:8px}.public-contract-card th,.public-contract-card td{padding:8px;border:1px solid #2a3b58;text-align:left}.public-contract-card thead th{color:#879bbc;background:#19243a}.public-contract-card tbody td{color:#f0f5ff}.public-contract-card tfoot th{color:var(--gold);background:#1b263c}.public-contract-card tfoot th:first-child{text-align:right}
.public-sign-card{margin-top:14px;padding:18px;border:1px solid #2a3b58;border-radius:12px;background:#111a2e;box-shadow:0 18px 50px #02071155}.public-sign-card h2{margin:0 0 8px;display:flex;align-items:center;gap:7px;color:var(--gold);font-size:17px}.public-sign-card h2 .icon{width:18px;height:18px}.public-sign-card>p{margin:0 0 14px;color:#8da1c2;font-size:9px;line-height:1.55}.public-sign-card>p strong{color:#dce7f8}.public-sign-card label{gap:6px;color:#b9c7dc;font-size:8px}.public-sign-card label small{color:#7185a6;font-size:7px}.public-sign-card label small strong{color:#eaf1fc}.public-sign-card input{min-height:38px;padding:0 10px;border-color:#2a3f60;border-radius:7px;font-size:9px}.public-signature-label{margin-top:13px}.signature-canvas-wrap{position:relative;margin:6px 0 7px;border:2px dashed #506889;border-radius:8px;overflow:hidden;background:#fff;touch-action:none}.signature-canvas-wrap canvas{display:block;width:100%;height:180px;touch-action:none}.signature-canvas-wrap>span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;gap:2px;width:max-content;color:#91a1bb;text-align:center;pointer-events:none}.signature-canvas-wrap>span .icon{width:27px;height:27px;margin-bottom:4px;color:#d59c2c}.signature-canvas-wrap>span strong{font-size:9px}.signature-canvas-wrap>span small{font-size:7px}.public-sign-clear{display:flex;align-items:center;gap:9px}.public-sign-clear .btn{min-height:28px;padding:5px 9px;font-size:8px}.public-sign-clear>span{color:#7185a5;font-size:7px}.public-sign-submit{width:100%;margin-top:14px;justify-content:center;min-height:42px;font-weight:900}.public-sign-security{margin:13px 0 0!important;text-align:center!important;color:#7185a5!important;font-size:7px!important}.public-sign-security .icon{width:10px;height:10px;color:var(--gold)}.public-sign-security span{color:#6680a8}.public-contract-footer{padding:22px 8px 0;color:#5f7497;text-align:center;font-size:7px;line-height:1.55}.public-message{width:100%;margin:12vh auto 0}.public-message>.icon{width:48px;height:48px}
@media(max-width:600px){.public-site-header{align-items:flex-start;flex-direction:column;gap:6px}.public-site-header>span{display:none}.public-contract-page{width:min(100% - 20px,570px);padding-top:17px}.public-contract-intro h1{font-size:19px}.public-contract-card,.public-sign-card{overflow:hidden}.public-contract-content,.public-sign-card{padding:14px}.public-contract-card table{min-width:360px}.signature-canvas-wrap canvas{height:165px}.public-sign-clear{align-items:flex-start;flex-direction:column}}

/* Três blocos recolhíveis de Configurações, no mesmo padrão dos gateways */
.settings-collapsible{padding:0!important;overflow:hidden}.settings-collapsible[open]{border-color:var(--border-strong);box-shadow:var(--shadow)}.settings-collapsible>summary{min-height:74px;padding:13px 16px;display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;background:linear-gradient(150deg,rgba(17,26,46,.98),rgba(11,19,36,.98))}.settings-collapsible>summary::-webkit-details-marker{display:none}.settings-collapsible>summary>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--gold);background:rgba(242,188,59,.09)}.settings-collapsible>summary>span .icon{width:18px;height:18px}.settings-collapsible>summary>div{min-width:0;flex:1}.settings-collapsible>summary h2{margin:0 0 3px;font-size:12px}.settings-collapsible>summary p{margin:0;color:var(--text-muted);font-size:9px}.settings-collapsible>summary>.icon{width:16px;height:16px;color:var(--text-muted);transition:transform .2s ease}.settings-collapsible[open]>summary>.icon{transform:rotate(180deg);color:var(--gold)}.settings-collapsible-body{padding:18px;border-top:1px solid var(--border-subtle)}.settings-general.settings-collapsible{margin-top:14px}.settings-general.settings-collapsible .integration-actions{margin-top:14px}
@media(max-width:600px){.settings-collapsible>summary{padding:11px}.settings-collapsible-body{padding:13px}}
 .traccar-dashboard-metrics{margin-bottom:18px}.traccar-dashboard-metrics .metric-card>span.traccar-metric-label{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:9px;font-weight:800;letter-spacing:.09em}.traccar-metric-icon{width:30px;height:30px;border:1px solid currentColor;border-radius:9px;display:grid;place-items:center;background:currentColor;color:currentColor;box-shadow:0 8px 18px color-mix(in srgb,currentColor 18%,transparent)}.traccar-metric-icon .icon{width:16px;height:16px;color:var(--bg-primary);stroke-width:2.5}.traccar-metric-icon.danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 15%,transparent)}.traccar-metric-icon.danger .icon{color:var(--danger)}.traccar-metric-icon.success{color:var(--success);background:color-mix(in srgb,var(--success) 15%,transparent)}.traccar-metric-icon.success .icon{color:var(--success)}.traccar-metric-icon.gold{color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent)}.traccar-metric-icon.gold .icon{color:var(--gold)}.traccar-metric-icon.info{color:var(--info);background:color-mix(in srgb,var(--info) 15%,transparent)}.traccar-metric-icon.info .icon{color:var(--info)}.traccar-dashboard-panel{padding:0}.traccar-dashboard-panel .panel-heading{padding:18px 20px}.traccar-dashboard-user-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.traccar-dashboard-user-tools .traccar-search{min-width:260px}.traccar-dashboard-panel .data-table{margin:0}.traccar-dashboard-modal{display:grid;place-items:center}.traccar-dashboard-devices{width:min(900px,100%);max-height:calc(100vh - 36px);overflow:auto}.traccar-dashboard-devices>header{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.traccar-dashboard-devices>header h2{margin:0;display:flex;align-items:center;gap:8px}.traccar-dashboard-devices>header h2 .icon{color:var(--gold);filter:drop-shadow(0 0 8px #f2bc3b66)}.traccar-dashboard-devices>header p{margin:3px 0 0;color:var(--text-muted);font-size:10px}.traccar-dashboard-devices>[data-traccar-dashboard-results],.traccar-dashboard-all-body{padding:20px}.traccar-dashboard-all-body .data-table tbody tr{transition:background var(--transition)}.traccar-dashboard-all-body .data-table tbody tr:hover{background:#ffffff08}.traccar-vehicle-button .traccar-button-icon{color:var(--info);filter:drop-shadow(0 0 7px #62a0ff88)}.sidebar .menu-item[href$="#vehicles"] .icon{color:var(--gold);filter:drop-shadow(0 0 7px #f2bc3b77)}.sidebar .menu-item[href$="#vehicles"].active{color:var(--gold);background:#f2bc3b15;box-shadow:inset 3px 0 var(--gold)}.traccar-dashboard-user-pagination{margin:0;padding:14px 20px;border-top:1px solid var(--border);align-items:center;gap:12px}.traccar-page-button{min-width:30px;height:30px;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);background:#081122;cursor:pointer}.traccar-page-button:hover:not(:disabled){color:var(--gold);border-color:var(--gold)}.traccar-page-button:disabled{opacity:.45;cursor:not-allowed}.traccar-page-count{color:var(--text-muted);font-size:10px}.btn-small{min-height:32px;padding:0 10px;font-size:9px}@media(max-width:760px){.traccar-dashboard-panel .panel-heading{align-items:flex-start;flex-direction:column}.traccar-dashboard-user-tools{width:100%;align-items:stretch}.traccar-dashboard-user-tools .traccar-search{min-width:0;flex:1}.traccar-dashboard-devices{width:100%;max-height:100vh}.traccar-dashboard-devices>[data-traccar-dashboard-results],.traccar-dashboard-all-body{padding:12px}}
.portal-contract-modal{padding:18px;display:grid;place-items:center;background:rgba(1,6,15,.84);backdrop-filter:blur(10px) saturate(.82);z-index:40}.portal-contract-modal-card{width:min(1080px,100%);height:min(92vh,900px);max-height:900px;overflow:hidden;border:1px solid var(--border-strong);border-top:2px solid var(--gold);border-radius:15px;background:#0b1527;box-shadow:0 30px 100px #000c;animation:authEnter .22s ease;display:flex;flex-direction:column}.portal-contract-modal-header{padding:15px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#13203a,#0c172a)}.portal-contract-modal-header>div{min-width:0;flex:1}.portal-contract-modal-header h2{margin:3px 0;color:#fff;font-size:18px}.portal-contract-modal-header p{margin:0;color:var(--text-muted);font-size:10px}.portal-contract-modal-actions{padding:11px 20px;display:flex;justify-content:flex-end;gap:9px;border-bottom:1px solid var(--border-subtle);background:#0a1425}.portal-contract-modal-body{min-height:0;overflow:auto;padding:24px;background:radial-gradient(circle at 50% 0,#132746,#07101f 50%)}.portal-contract-modal-body .contract-document{margin:0 auto;width:min(820px,100%);box-shadow:0 18px 55px #0009}@media(max-width:700px){.portal-contract-modal{padding:0}.portal-contract-modal-card{width:100%;height:100dvh;max-height:none;border-radius:0;border-inline:0}.portal-contract-modal-header{padding:12px 14px}.portal-contract-modal-actions{padding:10px 14px;display:grid;grid-template-columns:1fr 1.25fr}.portal-contract-modal-actions .btn{justify-content:center}.portal-contract-modal-body{padding:12px}.portal-contract-modal-body .contract-document{padding:30px 20px;min-height:0}}@media print{body.portal-body>*:not(.portal-contract-modal){display:none!important}.portal-contract-modal{position:static!important;display:block!important;padding:0!important;background:#fff!important}.portal-contract-modal-card{width:100%!important;height:auto!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.portal-contract-modal-header,.portal-contract-modal-actions{display:none!important}.portal-contract-modal-body{padding:0!important;background:#fff!important;overflow:visible!important}.portal-contract-modal-body .contract-document{width:100%!important;min-height:0!important;margin:0!important;padding:12mm!important;border:0!important;border-radius:0!important;box-shadow:none!important}}
.traccar-dashboard-modal-actions{padding:11px 20px;display:flex;justify-content:flex-end;gap:9px;border-bottom:1px solid var(--border-subtle);background:#0a1425}.traccar-user-device-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.traccar-user-device-stats .stat-card{min-height:108px;padding:14px 16px}.traccar-user-device-stats .stat-card>strong{font-size:24px}.traccar-print-mode>*{display:none!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]){display:block!important;position:static!important;padding:0!important;background:#fff!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-devices{width:100%!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]) header,.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-modal-actions{display:none!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]) [data-traccar-dashboard-results]{padding:0!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .stat-card,.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table{border-color:#ccc!important;background:#fff!important;box-shadow:none!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .stat-card>span,.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table td,.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table th{color:#111!important}@media(max-width:980px){.traccar-user-device-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.traccar-dashboard-modal-actions{padding:10px 12px}.traccar-dashboard-modal-actions .btn{width:100%;justify-content:center}.traccar-user-device-stats{grid-template-columns:1fr 1fr}.traccar-user-device-stats .stat-card{min-height:92px}}
.portal-vehicle-button .portal-vehicle-icon{color:var(--gold);filter:drop-shadow(0 0 7px #f2bc3b88)}.portal-vehicle-button:hover .portal-vehicle-icon{color:var(--info)}.portal-vehicle-button.active{color:#07101f;background:var(--gold);border-color:var(--gold);box-shadow:0 7px 20px var(--gold-glow)}.portal-vehicle-button.active .portal-vehicle-icon{color:#07101f;filter:none}.portal-vehicles-tab .portal-tab-icon{color:var(--gold);vertical-align:-2px}.portal-tabs button.active.portal-vehicles-tab .portal-tab-icon{color:#07101f}.portal-vehicles-panel .panel-heading{margin:-1px -1px 16px;padding:16px 18px;border-bottom:1px solid var(--border-subtle)}.portal-vehicles-panel .panel-heading h2{display:flex;align-items:center;gap:8px}.portal-vehicles-panel .portal-empty{min-height:220px}.portal-vehicles-modal{z-index:45}.portal-vehicles-modal .traccar-dashboard-devices{max-width:1100px}.portal-vehicles-modal .traccar-dashboard-modal-actions{position:sticky;top:0;z-index:2}@media print{body.traccar-print-mode>*.traccar-dashboard-modal:not([hidden]){display:block!important;visibility:visible!important;opacity:1!important;position:static!important;padding:0!important;background:#fff!important}body.traccar-print-mode>*.traccar-dashboard-modal:not([hidden]) .traccar-dashboard-devices{display:block!important;visibility:visible!important;opacity:1!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table{color:#111!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table td,.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table th{color:#111!important;border-color:#ccc!important}.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .status-badge{color:#111!important;background:#eee!important;border-color:#ccc!important}}
@media print{body.traccar-print-mode{background:#fff!important}body.traccar-print-mode> *{display:block!important;visibility:hidden!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]){display:block!important;visibility:visible!important;position:fixed!important;inset:0!important;width:100%!important;height:auto!important;min-height:100vh!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;z-index:2147483647!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) *{visibility:visible!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-devices{display:block!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-devices>header{display:flex!important;padding:0 0 10px!important;border-bottom:1px solid #ccc!important;background:#fff!important;color:#111!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-devices>header h2,body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-devices>header p{color:#111!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-devices>header .icon-button,body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-modal-actions{display:none!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) [data-traccar-dashboard-results],body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .traccar-dashboard-all-body{display:block!important;padding:14px 0!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .table-scroll{overflow:visible!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .stat-card,body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table{border-color:#ccc!important;background:#fff!important;box-shadow:none!important;color:#111!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .stat-card>span,body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .stat-card>strong,body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table td,body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table th,body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .data-table strong{color:#111!important}body.traccar-print-mode .traccar-dashboard-modal:not([hidden]) .status-badge{color:#111!important;background:#eee!important;border-color:#ccc!important}}
.traccar-provider-icon{color:#20c77a!important;background:rgba(32,199,122,.1)!important;border-color:rgba(32,199,122,.35)!important;box-shadow:0 0 18px rgba(32,199,122,.12)}.traccar-provider-icon .icon{color:inherit!important}
@media(max-width:600px){.traccar-status-confirm-card{width:100%;min-height:0;border-radius:0}.traccar-status-modal-header{padding:14px}.traccar-status-modal-body{padding:14px}.traccar-status-context>div{grid-template-columns:1fr;gap:3px}.traccar-status-context dd{text-align:left}.traccar-status-choice{grid-template-columns:1fr}.traccar-status-modal-footer{padding:11px 14px}.traccar-status-modal-footer .btn{width:100%}}
.traccar-dashboard-metrics .metric-card[data-traccar-dashboard-filter]{cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),outline-color var(--transition)}.traccar-dashboard-metrics .metric-card[data-traccar-dashboard-filter]:hover,.traccar-dashboard-metrics .metric-card[data-traccar-dashboard-filter].active{transform:translateY(-2px);outline:1px solid currentColor;box-shadow:0 12px 30px rgba(0,0,0,.22)}.traccar-dashboard-metrics .metric-card[data-traccar-dashboard-filter]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.traccar-status-button{white-space:nowrap}.traccar-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.traccar-dashboard-status-modal{z-index:50}.traccar-dashboard-status-modal .confirm-card{width:min(420px,100%);text-align:center}.traccar-dashboard-status-modal .confirm-card>input{display:none}.traccar-dashboard-status-modal .confirm-card .btn-small{margin-top:5px}
.traccar-dashboard-status-modal{z-index:50}.traccar-status-confirm-card{width:min(500px,100%);padding:0;overflow:hidden;border-top:2px solid var(--gold);background:linear-gradient(150deg,#142039,#091224);box-shadow:0 30px 90px rgba(0,0,0,.62),0 0 55px rgba(242,188,59,.1)}.traccar-status-modal-header{min-height:78px;padding:16px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(110deg,#172643,#0d172b)}.traccar-status-modal-header>div:nth-child(2){min-width:0;flex:1}.traccar-status-modal-header h2{margin:4px 0 0;font-size:17px}.traccar-status-modal-header .eyebrow{margin:0;color:#ff8793}.traccar-status-modal-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid currentColor;border-radius:12px;background:currentColor;color:#ff6377}.traccar-status-modal-icon.danger{background:#ef444418}.traccar-status-modal-icon .icon{width:21px;height:21px}.traccar-status-modal-header .icon-button{flex:0 0 auto}.traccar-status-modal-body{padding:18px}.traccar-status-question{margin:0 0 14px;color:var(--text-secondary);font-size:11px;line-height:1.5}.traccar-status-context{margin:0;display:grid;gap:7px;padding:12px;border:1px solid var(--border-subtle);border-radius:11px;background:#081122}.traccar-status-context>div{display:grid;grid-template-columns:112px 1fr;align-items:start;gap:10px}.traccar-status-context dt{color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.traccar-status-context dd{margin:0;overflow-wrap:anywhere;color:var(--text-primary);font-size:10px;font-weight:700;text-align:right}.traccar-status-choice{margin:16px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.traccar-status-choice .btn{justify-content:center;min-height:42px}.traccar-status-progress{margin:12px 0;padding:11px 12px;border:1px solid rgba(98,160,255,.3);border-radius:10px;background:rgba(98,160,255,.07)}.traccar-status-progress[hidden]{display:none!important}.traccar-status-progress-track{height:6px;overflow:hidden;border-radius:999px;background:#0a1425}.traccar-status-progress-track span{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--info),var(--gold),var(--info));box-shadow:0 0 13px rgba(98,160,255,.6);animation:traccarStatusProgress 1.15s ease-in-out infinite}@keyframes traccarStatusProgress{0%{transform:translateX(-110%)}100%{transform:translateX(290%)}}.traccar-status-progress p{margin:8px 0 0;display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:9px}.traccar-status-progress p .icon{width:13px;height:13px;color:var(--info);animation:spin .8s linear infinite}.traccar-status-modal-footer{padding:12px 18px;display:flex;justify-content:flex-end;border-top:1px solid var(--border-subtle);background:rgba(7,13,26,.25)}.traccar-status-modal-footer .btn{min-width:100px;justify-content:center}.traccar-status-confirm-card .inline-alert{margin:11px 0 0;text-align:left;font-size:9px}.traccar-status-confirm-card .inline-alert[hidden]{display:none!important}
