body.login-page {
            min-height: 100vh;
            margin: 0;
            display: grid;
            place-items: center;
            background:
                linear-gradient(90deg, rgba(7, 9, 14, .92), rgba(7, 9, 14, .66)),
                url("../../config/img/operacionalmtp.png") center / cover no-repeat fixed,
                #07090e;
            color: #e8f0f8;
            font-family: Arial, sans-serif;
        }
        .login-page .login-box { width: min(420px, calc(100vw - 32px)); padding: 28px; border: 1px solid rgba(184, 222, 24, .18); border-radius: 10px; background: rgba(11, 14, 22, .88); box-shadow: 0 24px 80px rgba(0, 0, 0, .45); backdrop-filter: blur(10px); }
        .login-page .eyebrow { color: #b8de18; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; }
        .login-page h1 { margin: 10px 0 8px; font-size: 28px; }
        .login-page p { color: #8da3c4; line-height: 1.5; }
        .login-page a { display: inline-flex; margin-top: 14px; padding: 12px 14px; border: 1px solid rgba(184,222,24,.35); border-radius: 8px; color: #b8de18; text-decoration: none; font-weight: 700; background: rgba(184,222,24,.08); }
        .login-page .error { margin-top: 14px; color: #ff9b9b; }
        .login-page code { color: #c5d5e8; }
:root {
            color-scheme: dark;
            --bg: #07090e;
            --bg-soft: #0b0e16;
            --surface: #0b0e16;
            --surface-strong: #141b2c;
            --surface-muted: #0f1420;
            --border: #1a2235;
            --border-strong: #22304a;
            --text: #c5d5e8;
            --muted: #6a80a0;
            --snow: #e8f0f8;
            --accent: #b8de18;
            --accent-2: #f5a020;
            --accent-3: #00c4ff;
            --accent-4: #a060f8;
            --danger: #e84040;
            --warning: #f5a020;
            --success: #20c060;
            --info: #00c4ff;
            --accent-soft: rgba(184, 222, 24, .08);
            --cyan-soft: rgba(0, 196, 255, .08);
            --violet-soft: rgba(160, 96, 248, .08);
            --amber-soft: rgba(245, 160, 32, .08);
            --shadow: 0 18px 48px rgba(0, 0, 0, .36);
            --sidebar: 236px;
        }

        [data-theme="light"] {
            color-scheme: dark;
            --bg: #07090e;
            --bg-soft: #0b0e16;
            --surface: #0b0e16;
            --surface-strong: #141b2c;
            --surface-muted: #0f1420;
            --border: #1a2235;
            --border-strong: #22304a;
            --text: #c5d5e8;
            --muted: #6a80a0;
            --shadow: 0 18px 48px rgba(0, 0, 0, .36);
        }

        * {
            box-sizing: border-box;
        }

        html,
        body {
            min-height: 100%;
        }

        body {
            margin: 0;
            background:
                linear-gradient(180deg, var(--bg), var(--bg-soft));
            color: var(--text);
            font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            letter-spacing: 0;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        button,
        input,
        select,
        textarea {
            font: inherit;
        }

        .app {
            min-height: 100vh;
            display: grid;
            grid-template-columns: var(--sidebar) minmax(0, 1fr);
        }

        .sidebar {
            position: sticky;
            top: 0;
            height: 100vh;
            padding: 18px;
            border-right: 1px solid var(--border);
            background: rgba(16, 18, 21, .92);
            backdrop-filter: blur(16px);
            z-index: 30;
            overflow-y: auto;
            overflow-x: hidden;
        }

        [data-theme="light"] .sidebar {
            background: rgba(255, 255, 255, .92);
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 12px;
            min-height: 54px;
            padding: 10px 10px 18px;
            border-bottom: 1px solid var(--border);
        }

        .brand-mark {
            width: 42px;
            height: 42px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(184, 222, 24, .45);
            background: #13251f;
            color: var(--accent);
        }

        [data-theme="light"] .brand-mark {
            background: #e8fff6;
        }

        .brand-title {
            display: block;
            color: var(--text);
            font-size: 15px;
            font-weight: 800;
            line-height: 1.05;
            text-transform: uppercase;
        }

        .brand-subtitle {
            display: block;
            margin-top: 3px;
            color: var(--muted);
            font-size: 12px;
        }

        .nav-label {
            margin: 20px 10px 8px;
            color: var(--muted);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
        }

        .side-nav {
            display: grid;
            gap: 4px;
        }

        .submenu-nav {
            display: grid;
            gap: 3px;
            margin: 6px 0 0 18px;
            padding-left: 10px;
            border-left: 1px solid var(--border);
        }

        .submenu-nav .nav-link {
            min-height: 34px;
            padding: 8px 10px;
            font-size: 12px;
        }

        .nav-accordion {
            display: grid;
            gap: 4px;
        }

        .nav-accordion summary {
            list-style: none;
            cursor: pointer;
        }

        .nav-accordion summary::-webkit-details-marker {
            display: none;
        }

        .nav-accordion > summary > .chevron {
            margin-left: auto;
            transition: transform .18s ease;
        }

        .nav-accordion[open] > summary > .chevron {
            transform: rotate(180deg);
        }

        .nav-link {
            min-height: 42px;
            display: flex;
            align-items: center;
            gap: 11px;
            padding: 10px 12px;
            border: 1px solid transparent;
            border-radius: 8px;
            color: var(--muted);
            font-size: 14px;
            font-weight: 650;
        }

        .nav-link:hover,
        .nav-link.active {
            border-color: var(--border);
            background: var(--surface);
            color: var(--text);
        }

        .nav-link.active {
            box-shadow: inset 3px 0 0 var(--accent);
        }

        .nav-link .nav-count {
            margin-left: auto;
            min-width: 24px;
            padding: 2px 7px;
            border-radius: 999px;
            background: rgba(184, 222, 24, .12);
            color: var(--accent);
            text-align: center;
            font-size: 11px;
        }

        .sidebar-foot {
            position: static;
            left: 18px;
            right: 18px;
            bottom: 18px;
            margin-top: 18px;
            padding: 14px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
        }

        .pulse-line {
            height: 34px;
            width: 100%;
            margin-top: 10px;
            background:
                linear-gradient(90deg, transparent, rgba(184, 222, 24, .28), transparent),
                repeating-linear-gradient(90deg, transparent 0 12px, rgba(255, 255, 255, .08) 12px 13px);
            clip-path: polygon(0 62%, 9% 62%, 13% 28%, 18% 78%, 23% 52%, 30% 52%, 34% 14%, 40% 86%, 46% 58%, 100% 58%, 100% 100%, 0 100%);
            background-size: 180% 100%, auto;
            animation: pulseGraph 2.4s linear infinite;
        }

        @keyframes pulseGraph { to { background-position: -180% 0, 0 0; } }
        @keyframes onlineBlink { 0%,100% { opacity:1; filter:drop-shadow(0 0 4px currentColor); } 50% { opacity:.28; filter:none; } }
        .sidebar-foot .badge-done svg { animation:onlineBlink 1.15s ease-in-out infinite; }

        .main {
            min-width: 0;
            padding: 20px;
        }

        .topbar {
            position: sticky;
            top: 0;
            z-index: 20;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 14px;
            align-items: center;
            padding: 12px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: rgba(27, 32, 40, .82);
            backdrop-filter: blur(16px);
            box-shadow: var(--shadow);
        }

        [data-theme="light"] .topbar {
            background: rgba(255, 255, 255, .86);
        }

        .mobile-menu {
            display: none;
        }

        .mobile-sidebar-toggle {
            display: none;
            position: sticky;
            top: 10px;
            z-index: 800;
            margin: 0 0 12px;
        }

        body.map-view .mobile-sidebar-toggle {
            display: none !important;
        }

        .search-wrap {
            position: relative;
            min-width: 0;
        }

        .search-field {
            width: 100%;
            height: 46px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
            color: var(--text);
            padding: 0 14px 0 46px;
            outline: none;
        }

        .search-field:focus {
            border-color: rgba(184, 222, 24, .52);
            box-shadow: 0 0 0 3px rgba(184, 222, 24, .12);
        }

        .search-icon {
            position: absolute;
            top: 50%;
            left: 15px;
            transform: translateY(-50%);
            color: var(--muted);
        }

        .global-results {
            position: absolute;
            top: calc(100% + 8px);
            left: 0;
            right: 0;
            max-height: 360px;
            overflow: auto;
            display: none;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
            box-shadow: var(--shadow);
            z-index: 50;
        }

        .global-result {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr) auto;
            gap: 10px;
            align-items: center;
            width: 100%;
            padding: 12px;
            border: 0;
            border-bottom: 1px solid var(--border);
            background: transparent;
            color: var(--text);
            text-align: left;
        }

        .global-result:hover {
            background: var(--surface-strong);
        }

        .top-actions {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 8px;
        }

        .icon-btn,
        .action-btn {
            min-height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
            color: var(--text);
            padding: 0 12px;
            font-weight: 750;
        }

        .icon-btn {
            width: 42px;
            padding: 0;
        }

        .action-btn.primary {
            border-color: rgba(184, 222, 24, .45);
            background: #1c6b56;
            color: #f8fffc;
        }

        .action-btn.warn {
            border-color: rgba(245, 160, 32, .45);
            background: rgba(245, 160, 32, .14);
            color: var(--accent-2);
        }

        .view {
            display: none;
            padding-top: 20px;
        }

        .view.active {
            display: block;
        }

        .page-head {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 16px;
            align-items: end;
            margin: 4px 0 18px;
        }

        .eyebrow {
            color: var(--accent);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        h1,
        h2,
        h3,
        p {
            overflow-wrap: anywhere;
        }

        h1 {
            margin: 5px 0 6px;
            font-size: 48px;
            line-height: 1;
            letter-spacing: 0;
            font-weight: 900;
        }

        .page-copy {
            max-width: 760px;
            margin: 0;
            color: var(--muted);
            font-size: 15px;
            line-height: 1.55;
        }

        .status-strip {
            display: grid;
            grid-template-columns: 1.25fr repeat(3, minmax(150px, .5fr));
            gap: 12px;
            margin-bottom: 14px;
        }

        .mission {
            min-height: 132px;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 190px;
            gap: 16px;
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
        }

        .mission-content {
            padding: 18px;
        }

        .mission h2 {
            margin: 4px 0 8px;
            font-size: 30px;
            line-height: 1.08;
            font-weight: 900;
        }

        .mission p {
            margin: 0;
            color: var(--muted);
            line-height: 1.5;
        }

        .city-visual {
            position: relative;
            min-height: 132px;
            background:
                linear-gradient(90deg, rgba(16, 18, 21, .2), rgba(16, 18, 21, .8)),
                url("https://images.unsplash.com/photo-1519501025264-65ba15a82390?auto=format&fit=crop&w=640&q=75") center / cover;
            isolation: isolate;
        }

        .city-visual::before,
        .city-visual::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            border: 2px solid rgba(184, 222, 24, .7);
            background: rgba(184, 222, 24, .18);
        }

        .city-visual::before {
            width: 18px;
            height: 18px;
            right: 78px;
            top: 36px;
        }

        .city-visual::after {
            width: 13px;
            height: 13px;
            right: 34px;
            bottom: 34px;
            border-color: rgba(245, 160, 32, .82);
            background: rgba(245, 160, 32, .18);
        }

        .mini-stat,
        .kpi,
        .panel,
        .metric-tile {
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
            box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
        }

        .mini-stat {
            min-height: 132px;
            padding: 16px;
            display: grid;
            align-content: space-between;
        }

        .mini-stat span,
        .kpi span,
        .metric-tile span {
            color: var(--muted);
            font-size: 12px;
            font-weight: 800;
            text-transform: uppercase;
        }

        .mini-stat strong {
            display: block;
            margin-top: 6px;
            font-size: 30px;
            line-height: 1;
        }

        .delta {
            display: inline-flex;
            width: fit-content;
            align-items: center;
            gap: 5px;
            padding: 5px 8px;
            border-radius: 999px;
            background: rgba(184, 222, 24, .12);
            color: var(--accent);
            font-size: 12px;
            font-weight: 800;
        }

        .delta.danger {
            background: rgba(232, 64, 64, .12);
            color: var(--danger);
        }

        .kpi-grid {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 12px;
            margin-bottom: 12px;
        }

        .kpi {
            position: relative;
            min-height: 112px;
            padding: 16px;
            overflow: hidden;
        }

        .kpi::after {
            content: "";
            position: absolute;
            right: 14px;
            bottom: 14px;
            width: 44px;
            height: 44px;
            border: 1px solid var(--border);
            background:
                linear-gradient(90deg, transparent 46%, rgba(255, 255, 255, .1) 47% 53%, transparent 54%),
                linear-gradient(0deg, transparent 46%, rgba(255, 255, 255, .1) 47% 53%, transparent 54%);
            opacity: .52;
        }

        .kpi strong {
            display: block;
            margin-top: 14px;
            font-size: 42px;
            line-height: .9;
        }

        .kpi small {
            display: block;
            margin-top: 10px;
            color: var(--muted);
        }

        .grid-12 {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: 12px;
        }

        .span-3 {
            grid-column: span 3;
        }

        .span-4 {
            grid-column: span 4;
        }

        .span-5 {
            grid-column: span 5;
        }

        .span-6 {
            grid-column: span 6;
        }

        .span-7 {
            grid-column: span 7;
        }

        .span-8 {
            grid-column: span 8;
        }

        .span-12 {
            grid-column: span 12;
        }

        .panel {
            min-height: 100%;
            padding: 16px;
        }

        .grafana-frame-card {
            overflow: hidden;
        }

        .grafana-frame-wrap {
            position: relative;
            width: 100%;
            min-height: 320px;
            border: 1px solid var(--border);
            border-radius: 14px;
            overflow: hidden;
            background: rgba(0, 0, 0, .24);
        }

        .grafana-frame-wrap iframe {
            display: block;
            width: 100%;
            height: clamp(320px, 42vh, 560px);
            border: 0;
            background: var(--surface-muted);
        }

        .grafana-empty {
            display: grid;
            place-items: center;
            min-height: 220px;
            color: var(--muted);
            text-align: center;
            border: 1px dashed var(--border);
            border-radius: 14px;
            background: rgba(255, 255, 255, .02);
        }

        .grafana-help {
            margin-top: 10px;
            padding: 10px 12px;
            border: 1px solid rgba(255, 193, 7, .25);
            border-radius: 12px;
            color: var(--muted);
            background: rgba(255, 193, 7, .06);
            font-size: 12px;
        }

        .panel-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 14px;
        }

        .panel-title {
            margin: 0;
            font-size: 16px;
            line-height: 1.2;
            font-weight: 850;
        }

        .panel-subtitle {
            margin: 4px 0 0;
            color: var(--muted);
            font-size: 13px;
        }

        .chart-box {
            position: relative;
            min-height: 280px;
        }

        .chart-box.compact {
            min-height: 230px;
        }

        .queue {
            display: grid;
            gap: 10px;
        }

        .queue-item {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr) auto;
            gap: 10px;
            align-items: center;
            padding: 11px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
        }

        .rank {
            width: 34px;
            height: 34px;
            display: grid;
            place-items: center;
            border-radius: 8px;
            background: rgba(0, 196, 255, .14);
            color: var(--accent-3);
            font-weight: 900;
        }

        .truncate {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .badge-soft {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 5px 9px;
            border-radius: 999px;
            border: 1px solid var(--border);
            background: rgba(255, 255, 255, .04);
            color: var(--text);
            font-size: 12px;
            font-weight: 800;
            white-space: nowrap;
        }

        .tag-row {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .tag-pill {
            display: inline-flex;
            align-items: center;
            min-height: 32px;
            padding: 6px 10px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
            color: var(--text);
            font: inherit;
            font-weight: 800;
            cursor: pointer;
        }

        .tag-pill.active {
            border-color: rgba(172, 255, 0, .55);
            background: rgba(172, 255, 0, .12);
            color: var(--accent);
        }

        .badge-open {
            color: var(--info);
            background: rgba(0, 196, 255, .12);
        }

        .badge-review {
            color: var(--accent-2);
            background: rgba(245, 160, 32, .12);
        }

        .badge-waiting {
            color: #c792ea;
            background: rgba(160, 96, 248, .12);
        }

        .badge-done {
            color: var(--success);
            background: rgba(32, 192, 96, .12);
        }

        .badge-archived {
            color: var(--muted);
            background: rgba(157, 168, 181, .12);
        }

        .priority-critical {
            color: var(--danger);
            background: rgba(232, 64, 64, .12);
        }

        .priority-high {
            color: var(--accent-2);
            background: rgba(245, 160, 32, .12);
        }

        .priority-medium {
            color: var(--accent-3);
            background: rgba(0, 196, 255, .12);
        }

        .priority-low {
            color: var(--success);
            background: rgba(32, 192, 96, .12);
        }

        .timeline {
            display: grid;
            gap: 11px;
        }

        .timeline-item {
            display: grid;
            grid-template-columns: 12px minmax(0, 1fr);
            gap: 11px;
        }

        .timeline-dot {
            width: 12px;
            height: 12px;
            margin-top: 5px;
            border-radius: 50%;
            background: var(--accent);
            box-shadow: 0 0 0 5px rgba(184, 222, 24, .12);
        }

        .timeline-card {
            padding-bottom: 10px;
            border-bottom: 1px solid var(--border);
        }

        .timeline-card strong {
            display: block;
            font-size: 14px;
        }

        .timeline-card small {
            color: var(--muted);
        }

        .filters {
            display: grid;
            grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
            gap: 10px;
            align-items: end;
            margin-bottom: 12px;
        }

        .form-control,
        .form-select {
            min-height: 42px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background-color: var(--surface-muted);
            color: var(--text);
        }

        .form-control:focus,
        .form-select:focus {
            border-color: rgba(184, 222, 24, .5);
            box-shadow: 0 0 0 3px rgba(184, 222, 24, .12);
            background-color: var(--surface-muted);
            color: var(--text);
        }

        .form-label {
            color: var(--muted);
            font-size: 12px;
            font-weight: 800;
            text-transform: uppercase;
        }

        .field-label-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            margin-bottom: 6px;
        }

        .field-label-row .form-label {
            margin-bottom: 0;
        }

        .field-actions {
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .icon-btn.compact {
            width: 30px;
            min-height: 30px;
        }

        .table-wrap {
            overflow: auto;
        }

        table.dataTable {
            color: var(--text) !important;
        }

        table.dataTable thead th {
            border-bottom: 1px solid var(--border) !important;
            color: var(--muted);
            font-size: 12px;
            text-transform: uppercase;
        }

        table.dataTable tbody td {
            border-top: 1px solid var(--border) !important;
            vertical-align: middle;
        }

        .dt-container .dt-search input,
        .dt-container .dt-length select {
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
            color: var(--text);
        }

        .dt-info,
        .dt-length label,
        .dt-search label {
            color: var(--muted) !important;
        }

        .page-link {
            border-color: var(--border);
            background: var(--surface);
            color: var(--text);
        }

        .active > .page-link,
        .page-link.active {
            border-color: rgba(184, 222, 24, .45);
            background: #1c6b56;
        }

        .player-grid,
        .evidence-grid,
        .wiki-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }

        .profile-card,
        .evidence-card,
        .wiki-card,
        .suggestion-card {
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
            padding: 16px;
        }

        .profile-top {
            display: flex;
            gap: 12px;
            align-items: center;
            margin-bottom: 12px;
        }

        .avatar {
            width: 46px;
            height: 46px;
            display: grid;
            place-items: center;
            border-radius: 8px;
            background: rgba(184, 222, 24, .12);
            color: var(--accent);
            font-weight: 900;
        }

        .meta-list {
            display: grid;
            gap: 7px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .meta-list li {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            color: var(--muted);
            font-size: 13px;
        }

        .meta-list strong {
            color: var(--text);
            text-align: right;
        }

        .evidence-thumb {
            height: 132px;
            display: grid;
            place-items: center;
            margin: -2px -2px 14px;
            border-radius: 8px;
            border: 1px solid var(--border);
            background:
                linear-gradient(135deg, rgba(0, 196, 255, .18), transparent),
                repeating-linear-gradient(45deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 11px),
                var(--surface-muted);
            color: var(--accent-3);
        }

        .assistant-layout {
            display: block;
        }

        .assistant-input {
            min-height: 210px;
            resize: vertical;
        }

        .score {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            color: var(--accent);
            font-weight: 900;
        }

        .score-bar {
            width: 88px;
            height: 8px;
            overflow: hidden;
            border-radius: 999px;
            background: rgba(255, 255, 255, .08);
        }

        .score-bar i {
            display: block;
            height: 100%;
            width: var(--score);
            background: var(--accent);
        }

        .template-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
        }

        .suggestions-section {
            margin-top: 18px;
            padding-top: 18px;
            border-top: 1px solid var(--border);
        }

        .suggestions-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }

        .suggestion-card {
            display: flex;
            min-width: 0;
            flex-direction: column;
            border-radius: 14px;
            background: rgba(15, 18, 15, .94);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            transform: translateZ(0);
        }

        .suggestion-card .suggestion-content {
            max-height: 150px;
            overflow: auto;
            color: var(--text);
            font-size: 13px;
        }

        .suggestion-card .template-actions { margin-top: auto; padding-top: 12px; }

        .ademiro-assistant {
            position: fixed;
            right: 22px;
            bottom: 22px;
            z-index: 1040;
            display: grid;
            justify-items: end;
            gap: 10px;
        }

        .ademiro-assistant-button {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            min-height: 54px;
            padding: 8px 14px 8px 8px;
            border: 1px solid rgba(184, 222, 24, .35);
            border-radius: 999px;
            background: rgba(13, 17, 13, .94);
            color: var(--snow);
            box-shadow: 0 18px 50px rgba(0, 0, 0, .42);
            font: inherit;
        }

        .ademiro-assistant-button:hover,
        .ademiro-assistant-button:focus-visible {
            border-color: rgba(184, 222, 24, .7);
            background: rgba(28, 36, 19, .96);
        }

        .ademiro-assistant-button span:last-child,
        .ademiro-popup-head > div {
            display: grid;
            gap: 1px;
            text-align: left;
        }

        .ademiro-assistant-button strong,
        .ademiro-popup-head strong {
            color: var(--snow);
            font-size: 14px;
            line-height: 1.1;
        }

        .ademiro-assistant-button small,
        .ademiro-popup-head small {
            color: var(--accent);
            font-size: 11px;
            font-weight: 800;
        }

        .ademiro-avatar {
            position: relative;
            display: grid;
            width: 40px;
            height: 40px;
            min-width: 40px;
            place-items: center;
            overflow: hidden;
            border: 1px solid rgba(184, 222, 24, .38);
            border-radius: 50%;
            background: radial-gradient(circle at 30% 20%, rgba(184, 222, 24, .22), rgba(255, 255, 255, .04));
            color: var(--accent);
        }

        .ademiro-avatar.large {
            width: 52px;
            height: 52px;
            min-width: 52px;
        }

        .ademiro-avatar img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .ademiro-avatar svg {
            width: 20px;
            height: 20px;
        }

        .ademiro-avatar.has-error img {
            display: none;
        }

        .ademiro-popup {
            display: none;
            width: min(390px, calc(100vw - 28px));
            padding: 14px;
            border: 1px solid rgba(184, 222, 24, .22);
            border-radius: 14px;
            background: rgba(13, 17, 13, .96);
            box-shadow: 0 24px 70px rgba(0, 0, 0, .52);
        }

        .ademiro-assistant.is-open .ademiro-popup {
            display: grid;
            gap: 12px;
        }

        .ademiro-popup-head {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr) auto;
            align-items: center;
            gap: 10px;
        }

        .ademiro-message {
            padding: 12px;
            border: 1px solid var(--border);
            border-radius: 10px;
            background: rgba(255, 255, 255, .035);
        }

        .ademiro-message p {
            margin: 0;
            color: var(--text);
            font-size: 13px;
            line-height: 1.45;
        }

        .ademiro-question {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 44px;
            gap: 8px;
        }

        .ademiro-question .form-control {
            min-height: 42px;
            font-size: 13px;
        }

        .ademiro-question .action-btn {
            min-width: 44px;
            padding: 0;
            justify-content: center;
        }

        .ademiro-answer {
            display: flex;
            flex-direction: column;
            gap: 10px;
            min-height: 78px;
            max-height: 250px;
            overflow-y: auto;
            padding: 10px;
            border: 1px solid var(--border);
            border-radius: 10px;
            background: rgba(255, 255, 255, .025);
            color: var(--text);
            font-size: 13px;
            scroll-behavior: smooth;
        }

        .ademiro-answer .markdown-view {
            font-size: 13px;
        }

        .ademiro-chat-empty {
            margin: auto;
            color: var(--muted);
            font-size: 12px;
            text-align: center;
        }

        .ademiro-chat-message {
            display: grid;
            gap: 4px;
            width: fit-content;
            max-width: 88%;
        }

        .ademiro-chat-message.is-user {
            align-self: flex-end;
        }

        .ademiro-chat-message.is-assistant {
            align-self: flex-start;
        }

        .ademiro-chat-author {
            padding: 0 4px;
            color: var(--accent);
            font-size: 10px;
            font-weight: 800;
            line-height: 1.2;
        }

        .ademiro-chat-message.is-user .ademiro-chat-author {
            color: var(--snow);
            text-align: right;
        }

        .ademiro-chat-content {
            min-width: 54px;
            padding: 9px 11px;
            border: 1px solid var(--border);
            border-radius: 10px 10px 10px 3px;
            background: rgba(255, 255, 255, .045);
            color: var(--text);
            line-height: 1.45;
            overflow-wrap: anywhere;
        }

        .ademiro-chat-message.is-user .ademiro-chat-content {
            border-color: rgba(184, 222, 24, .48);
            border-radius: 10px 10px 3px 10px;
            background: rgba(184, 222, 24, .14);
        }

        .ademiro-chat-content p,
        .ademiro-chat-content .markdown-view {
            margin: 0;
        }

        .ademiro-chat-actions {
            display: flex;
            padding: 2px 3px 0;
        }

        .ademiro-draft-action {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            min-height: 30px;
            padding: 5px 9px;
            border: 1px solid rgba(184, 222, 24, .42);
            border-radius: 8px;
            background: rgba(184, 222, 24, .1);
            color: var(--accent);
            font-size: 11px;
            font-weight: 800;
        }

        .ademiro-draft-action:hover,
        .ademiro-draft-action:focus-visible {
            border-color: var(--accent);
            background: rgba(184, 222, 24, .18);
        }

        .ademiro-draft-action svg {
            width: 14px;
            height: 14px;
        }

        .ademiro-typing {
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--muted);
            font-size: 12px;
        }

        .ademiro-typing-dots {
            display: inline-flex;
            align-items: center;
            gap: 3px;
        }

        .ademiro-typing-dots i {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--accent);
            animation: ademiro-typing-dot 1.1s infinite ease-in-out;
        }

        .ademiro-typing-dots i:nth-child(2) {
            animation-delay: .15s;
        }

        .ademiro-typing-dots i:nth-child(3) {
            animation-delay: .3s;
        }

        @keyframes ademiro-typing-dot {
            0%, 60%, 100% {
                opacity: .35;
                transform: translateY(0);
            }

            30% {
                opacity: 1;
                transform: translateY(-3px);
            }
        }

        .ademiro-stats {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
        }

        .ademiro-stats span {
            min-width: 0;
            padding: 9px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: rgba(255, 255, 255, .025);
            color: var(--muted);
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
        }

        .ademiro-stats b {
            display: block;
            margin-bottom: 4px;
            color: var(--accent);
            font-size: 18px;
            line-height: 1;
        }

        @media (max-width: 1200px) { .suggestions-grid { grid-template-columns: 1fr; } }

        @media (max-width: 680px) {
            .ademiro-assistant {
                right: 12px;
                bottom: 12px;
            }

            .ademiro-assistant-button {
                padding-right: 10px;
            }

            .ademiro-assistant-button span:last-child {
                display: none;
            }
        }

        #view-responses .panel,
        #view-responses .page-head,
        #view-responses .action-btn,
        #view-responses .form-control {
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }

        #view-responses .panel { background: rgba(15, 18, 15, .91); }
        #view-responses .page-head { background: rgba(10, 12, 10, .86); }

        .discord-editor {
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
        }

        .discord-toolbar {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            align-items: center;
            padding: 8px;
            border-bottom: 1px solid var(--border);
            background: var(--surface);
        }

        .discord-tool {
            width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
            color: var(--text);
            font-size: 13px;
            font-weight: 850;
        }

        .discord-tool:hover,
        .discord-copy:hover,
        .discord-template:hover {
            border-color: rgba(184, 222, 24, .5);
            color: var(--accent);
        }

        .discord-template {
            min-width: 188px;
            max-width: 260px;
            height: 34px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
            color: var(--text);
            padding: 0 9px;
            font-size: 12px;
            font-weight: 750;
        }

        .discord-copy {
            height: 34px;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
            color: var(--text);
            padding: 0 9px;
            font-size: 12px;
            font-weight: 800;
        }

        .discord-body {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            min-height: 230px;
        }

        .discord-textarea {
            min-height: 230px;
            border: 0;
            border-radius: 0;
            background: transparent;
            resize: vertical;
        }

        .discord-preview {
            min-height: 230px;
            padding: 12px;
            border-left: 1px solid var(--border);
            background: var(--surface);
            overflow: auto;
        }

        .report-rich-editor .discord-body {
            display: block;
        }

        .report-rich-editor .discord-textarea {
            display: none !important;
        }

        .report-rich-editor .discord-preview,
        .report-rich-input {
            width: 100%;
            min-height: 260px;
            border-left: 0;
            white-space: normal;
        }

        .report-rich-input[contenteditable="true"] {
            cursor: text;
        }

        .report-rich-input[contenteditable="true"]:focus {
            outline: 2px solid rgba(184, 222, 24, .32);
            outline-offset: -2px;
        }

        .report-rich-input:empty::before {
            content: attr(data-placeholder);
            color: var(--muted);
        }

        .discord-footer {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            padding: 8px 10px;
            border-top: 1px solid var(--border);
            color: var(--muted);
            font-size: 12px;
            font-weight: 750;
        }

        .markdown-view {
            color: var(--text);
            font-size: 14px;
            line-height: 1.55;
            overflow-wrap: anywhere;
        }

        .markdown-view.empty {
            color: var(--muted);
        }

        .markdown-view p {
            margin: 0 0 10px;
        }

        .markdown-view p:last-child,
        .markdown-view ul:last-child,
        .markdown-view ol:last-child,
        .markdown-view pre:last-child,
        .markdown-view blockquote:last-child {
            margin-bottom: 0;
        }

        .markdown-view h4,
        .markdown-view h5,
        .markdown-view h6 {
            margin: 0 0 8px;
            font-weight: 900;
            line-height: 1.2;
        }

        .markdown-view ul,
        .markdown-view ol {
            margin: 0 0 10px;
            padding-left: 22px;
        }

        .markdown-view blockquote {
            margin: 0 0 10px;
            padding: 8px 10px;
            border-left: 3px solid var(--accent);
            background: rgba(184, 222, 24, .08);
            color: var(--text);
        }

        .markdown-view code {
            border: 1px solid var(--border);
            border-radius: 6px;
            background: rgba(0, 0, 0, .22);
            color: var(--accent-2);
            padding: 1px 5px;
            font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
            font-size: .92em;
        }

        .markdown-view pre {
            margin: 0 0 10px;
            padding: 12px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: #0b0f14;
            color: #dce7f3;
            overflow: auto;
        }

        .markdown-view pre code {
            border: 0;
            background: transparent;
            color: inherit;
            padding: 0;
        }

        .markdown-spoiler {
            border-radius: 4px;
            background: var(--text);
            color: transparent;
            padding: 0 4px;
            cursor: pointer;
        }

        .markdown-spoiler:hover,
        .markdown-spoiler.revealed {
            background: rgba(255, 255, 255, .12);
            color: var(--text);
        }

        .markdown-mention {
            display: inline-flex;
            border-radius: 5px;
            background: rgba(0, 196, 255, .18);
            color: var(--accent-3);
            padding: 0 5px;
            font-weight: 850;
        }

        .markdown-view a {
            color: var(--accent-3);
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .kanban {
            display: grid;
            grid-template-columns: repeat(5, minmax(180px, 1fr));
            gap: 12px;
            overflow-x: auto;
            padding-bottom: 2px;
        }

        .kanban-col {
            min-height: 220px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
            padding: 12px;
        }

        .kanban-col h3 {
            margin: 0 0 10px;
            color: var(--muted);
            font-size: 12px;
            font-weight: 900;
            text-transform: uppercase;
        }

        .case-chip {
            display: grid;
            gap: 8px;
            padding: 11px;
            border-radius: 8px;
            border: 1px solid var(--border);
            background: var(--surface-muted);
            margin-bottom: 8px;
        }

        .metric-row {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 12px;
        }

        .metric-tile {
            padding: 16px;
        }

        .metric-tile strong {
            display: block;
            margin-top: 8px;
            font-size: 28px;
        }

        .identity-kv {
            display: grid;
            gap: 8px;
            margin: 0;
        }

        .identity-kv div {
            display: grid;
            grid-template-columns: 150px minmax(0, 1fr);
            gap: 10px;
            padding: 8px 0;
            border-bottom: 1px solid var(--border);
        }

        .identity-kv dt {
            color: var(--muted);
            font-size: 12px;
            font-weight: 850;
            text-transform: uppercase;
        }

        .identity-kv dd {
            min-width: 0;
            margin: 0;
            overflow-wrap: anywhere;
            color: var(--text);
        }

        .identity-raw {
            max-height: 280px;
            overflow: auto;
            margin: 0;
            padding: 12px;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: #0b0f14;
            color: #dce7f3;
            font-size: 12px;
        }

        .economy-shell {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 12px;
            align-items: start;
        }

        .economy-actions,
        .mode-grid {
            display: grid;
            gap: 8px;
        }

        .economy-actions {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .mode-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .mode-card {
            display: grid;
            gap: 7px;
            padding: 12px;
            border: 1px solid var(--border);
            border-radius: 9px;
            background: var(--surface-muted);
        }

        .mode-card input {
            width: 18px;
            height: 18px;
            accent-color: var(--accent);
        }

        .route-options-bar {
            display: grid;
            grid-template-columns: repeat(2, minmax(180px, 1fr));
            gap: 10px;
        }

        .route-options-bar .mode-card {
            min-height: 54px;
            align-content: center;
        }

        .route-indicator-select {
            width: min(420px, 100%);
        }

        .markdown-preview {
            min-height: 520px;
            max-height: 720px;
            overflow: auto;
            white-space: pre-wrap;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface-muted);
            color: var(--text);
            padding: 14px;
            font-size: 13px;
            line-height: 1.55;
        }

        .editable-table {
            width: 100%;
            min-width: 620px;
            border-collapse: separate;
            border-spacing: 0 8px;
        }

        .editable-table th {
            padding: 0 8px;
            color: var(--muted);
            font-family: "DM Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
            font-size: 11px;
            font-weight: 500;
            letter-spacing: 1.6px;
            text-transform: uppercase;
        }

        .editable-table td {
            padding: 8px;
            border-top: 1px solid var(--border);
            border-bottom: 1px solid var(--border);
            background: var(--surface-muted);
            vertical-align: middle;
        }

        .editable-table td:first-child {
            border-left: 1px solid var(--border);
            border-radius: 9px 0 0 9px;
        }

        .editable-table td:last-child {
            border-right: 1px solid var(--border);
            border-radius: 0 9px 9px 0;
        }

        .money-cell {
            color: var(--accent);
            font-family: "DM Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
            font-size: 13px;
            font-weight: 500;
            white-space: nowrap;
        }

        .economy-note {
            padding: 10px 12px;
            border: 1px solid var(--border);
            border-radius: 9px;
            background: var(--surface-muted);
            color: var(--muted);
            font-size: 13px;
        }

        .balance-line {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 10px;
            align-items: center;
            padding: 10px 0;
            border-bottom: 1px solid var(--border);
        }

        .modal-content {
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
            color: var(--text);
            font-family: inherit;
            line-height: 1.55;
            padding: 14px;
        }

        .discord-rendered h1, .discord-rendered h2, .discord-rendered h3 { color: var(--text); font-weight: 700; margin: 0 0 10px; line-height: 1.25; }
        .discord-rendered h1 { font-size: 1.55rem; }
        .discord-rendered h2 { font-size: 1.3rem; }
        .discord-rendered h3 { font-size: 1.1rem; }
        .discord-rendered p { margin: 0 0 12px; }
        .discord-rendered strong { color: #f3f7ff; font-weight: 700; }
        .discord-rendered em { color: #dce7f8; }
        .discord-rendered code { color: #d5e5ff; background: #090f19; border-radius: 4px; padding: 2px 5px; }

        .modal-header,
        .modal-footer {
            border-color: var(--border);
        }

        /* Tema Operacional Metropole */
        .sidebar {
            padding: 0;
            background: var(--surface);
            border-right-color: var(--border);
            backdrop-filter: none;
        }

        .brand {
            min-height: 86px;
            padding: 22px 20px;
            border-bottom-color: var(--border);
        }

        .brand-mark {
            width: 38px;
            height: 38px;
            border-radius: 9px;
            border-color: rgba(184, 222, 24, .22);
            background: var(--accent-soft);
            color: var(--accent);
        }

        .brand-title,
        h1,
        .mission h2 {
            font-family: "Syne", "DM Sans", sans-serif;
        }

        .brand-title {
            color: var(--snow);
            font-size: 11px;
            letter-spacing: 2px;
            line-height: 1;
        }

        .brand-subtitle,
        .nav-label,
        .eyebrow,
        .mini-stat span,
        .kpi span,
        .metric-tile span,
        .form-label,
        table.dataTable thead th,
        .sidebar-foot,
        .footer-txt {
            font-family: "DM Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
        }

        .brand-subtitle {
            color: var(--muted);
            font-size: 9px;
            letter-spacing: 2.5px;
            text-transform: uppercase;
        }

        .nav-label {
            margin: 24px 20px 9px;
            color: #3a4d68;
            font-size: 9px;
            letter-spacing: 3px;
            font-weight: 500;
        }

        .side-nav {
            padding: 0 14px;
            gap: 3px;
        }

        .nav-link {
            min-height: 39px;
            padding: 10px 12px;
            border-radius: 9px;
            color: var(--muted);
            font-size: 13px;
            font-weight: 500;
        }

        .nav-link:hover {
            border-color: var(--border);
            background: var(--surface-muted);
            color: var(--text);
        }

        .nav-link.active {
            border-color: rgba(184, 222, 24, .2);
            background: var(--accent-soft);
            color: var(--accent);
            box-shadow: none;
        }

        .nav-link.active::before {
            content: "";
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--accent);
            box-shadow: 0 0 5px var(--accent);
        }

        .nav-link .nav-count {
            background: rgba(184, 222, 24, .12);
            color: var(--accent);
            border: 1px solid rgba(184, 222, 24, .18);
        }

        .sidebar-foot {
            left: 0;
            right: 0;
            bottom: 0;
            border-width: 1px 0 0;
            border-radius: 0;
            background: transparent;
            padding: 14px 18px;
        }

        .sidebar::-webkit-scrollbar {
            width: 8px;
        }

        .sidebar::-webkit-scrollbar-track {
            background: transparent;
        }

        .sidebar::-webkit-scrollbar-thumb {
            border-radius: 999px;
            background: rgba(119, 145, 181, .38);
            border: 2px solid var(--surface);
        }

        .sidebar .submenu-nav {
            margin: 4px 0 0 12px;
            padding-left: 10px;
            gap: 2px;
            border-left: 1px solid rgba(119, 145, 181, .18);
        }

        .sidebar .submenu-nav .submenu-nav {
            margin-left: 8px;
            padding-left: 8px;
        }

        .sidebar .nav-accordion {
            gap: 2px;
        }

        .sidebar .nav-link {
            min-width: 0;
        }

        .sidebar .nav-link > span {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .sidebar .nav-link.active::before {
            flex: 0 0 auto;
        }

        .sidebar .submenu-nav .nav-link {
            min-height: 35px;
            padding: 8px 10px;
            font-size: 12px;
        }

        .sidebar .submenu-nav .nav-link.active {
            border-color: rgba(184, 222, 24, .18);
            background: rgba(184, 222, 24, .09);
        }

        .sidebar .economy-category-group {
            margin-top: 2px;
        }

        .sidebar .economy-category-link {
            min-height: 34px;
            padding: 7px 9px;
            font-size: 12px;
        }

        .sidebar .economy-category-link.active {
            color: var(--text);
            background: rgba(119, 145, 181, .08);
            border-color: rgba(119, 145, 181, .18);
        }

        .sidebar .economy-category-link.active::before {
            display: none;
        }

        .sidebar .economy-job-list {
            margin-top: 2px;
            margin-left: 11px;
            padding-left: 9px;
        }

        .sidebar .economy-job-link {
            min-height: 31px;
            padding: 6px 8px;
            border-radius: 7px;
            font-size: 11px;
        }

        .sidebar .economy-job-link svg {
            width: 15px;
            height: 15px;
        }

        .sidebar .economy-job-link.active {
            color: var(--accent);
            background: rgba(184, 222, 24, .11);
            border-color: rgba(184, 222, 24, .22);
        }

        .sidebar .nav-empty {
            display: block;
            padding: 6px 8px;
            font-size: 11px;
            opacity: .78;
        }

        .main {
            padding: 18px;
            background: var(--bg);
        }

        .topbar {
            border-radius: 0;
            border-color: var(--border);
            background: rgba(11, 14, 22, .96);
            box-shadow: none;
        }

        [data-theme="light"] .topbar {
            background: rgba(11, 14, 22, .96);
        }

        .search-field,
        .form-control,
        .form-select,
        .dt-container .dt-search input,
        .dt-container .dt-length select {
            border-color: var(--border);
            border-radius: 9px;
            background-color: var(--surface-muted);
            color: var(--text);
        }

        .form-control:disabled,
        .form-select:disabled,
        textarea.form-control:disabled {
            border-color: #1d2a3d;
            background-color: #0d1420;
            color: #c8d4e7;
            opacity: 1;
            cursor: not-allowed;
            -webkit-text-fill-color: #c8d4e7;
        }

        .search-field:focus,
        .form-control:focus,
        .form-select:focus {
            border-color: rgba(184, 222, 24, .35);
            box-shadow: 0 0 0 3px rgba(184, 222, 24, .08);
        }

        .icon-btn,
        .action-btn,
        .discord-tool,
        .discord-copy,
        .discord-template {
            border-color: var(--border);
            border-radius: 9px;
            background: var(--surface-muted);
            color: var(--text);
            font-weight: 600;
        }

        .icon-btn:hover,
        .action-btn:hover,
        .discord-tool:hover,
        .discord-copy:hover {
            border-color: rgba(184, 222, 24, .28);
            color: var(--accent);
            background: var(--accent-soft);
        }

        .action-btn.primary {
            border-color: rgba(184, 222, 24, .32);
            background: var(--accent-soft);
            color: var(--accent);
        }

        .action-btn.warn {
            border-color: rgba(245, 160, 32, .32);
            background: var(--amber-soft);
            color: var(--accent-2);
        }

        .eyebrow {
            color: var(--accent);
            font-size: 9px;
            letter-spacing: 3px;
            font-weight: 500;
        }

        h1 {
            color: var(--snow);
            letter-spacing: 0;
        }

        .page-copy,
        .panel-subtitle,
        .dt-info,
        .dt-length label,
        .dt-search label {
            color: var(--muted) !important;
        }

        .mission,
        .mini-stat,
        .kpi,
        .panel,
        .metric-tile,
        .profile-card,
        .evidence-card,
        .wiki-card,
        .suggestion-card,
        .kanban-col,
        .modal-content,
        .discord-editor,
        .global-results {
            border-color: var(--border);
            border-radius: 16px;
            background: var(--surface);
            box-shadow: none;
        }

        .mission {
            background: linear-gradient(135deg, var(--surface), var(--surface-muted));
        }

        .city-visual {
            filter: saturate(.85) contrast(1.05);
            opacity: .72;
        }

        .kpi::after {
            border-color: var(--border);
            opacity: .28;
        }

        .kpi strong,
        .mini-stat strong,
        .metric-tile strong {
            color: var(--snow);
            font-family: "Syne", "DM Sans", sans-serif;
        }

        .panel-title {
            color: var(--snow);
            font-weight: 700;
        }

        .queue-item,
        .case-chip,
        .timeline-card,
        .global-result {
            border-color: var(--border);
            background: var(--surface-muted);
        }

        .rank,
        .avatar {
            border: 1px solid rgba(0, 196, 255, .18);
            background: var(--cyan-soft);
            color: var(--accent-3);
            border-radius: 9px;
        }

        .badge-soft {
            border-color: var(--border);
            background: rgba(255, 255, 255, .03);
            color: var(--text);
            font-family: "DM Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
            font-weight: 500;
        }

        .badge-open {
            color: var(--accent-3);
            background: var(--cyan-soft);
        }

        .badge-review,
        .priority-high {
            color: var(--accent-2);
            background: var(--amber-soft);
        }

        .badge-waiting {
            color: var(--accent-4);
            background: var(--violet-soft);
        }

        .badge-done,
        .priority-low {
            color: var(--success);
            background: rgba(32, 192, 96, .08);
        }

        .priority-critical {
            color: var(--danger);
            background: rgba(232, 64, 64, .08);
        }

        .priority-medium {
            color: var(--accent-3);
            background: var(--cyan-soft);
        }

        .delta {
            background: var(--accent-soft);
            color: var(--accent);
        }

        .delta.danger {
            background: rgba(232, 64, 64, .08);
            color: var(--danger);
        }

        table.dataTable {
            color: var(--text) !important;
        }

        table.dataTable thead th {
            color: var(--muted);
            letter-spacing: 2px;
            font-weight: 500;
        }

        table.dataTable tbody td {
            border-color: var(--border) !important;
        }

        .page-link {
            border-color: var(--border);
            background: var(--surface-muted);
            color: var(--text);
        }

        .active > .page-link,
        .page-link.active {
            border-color: rgba(184, 222, 24, .32);
            background: var(--accent-soft);
            color: var(--accent);
        }

        .discord-toolbar,
        .discord-footer,
        .discord-preview,
        .modal-header,
        .modal-footer {
            border-color: var(--border);
            background: var(--surface);
        }

        .markdown-view code {
            border-color: var(--border);
            color: var(--accent-2);
            background: rgba(0, 0, 0, .24);
        }

        .markdown-view blockquote {
            border-left-color: var(--accent);
            background: var(--accent-soft);
        }

        .offcanvas {
            background: var(--surface) !important;
            color: var(--text) !important;
        }

        .btn-close {
            filter: invert(1);
        }

        .toast-container {
            z-index: 1080;
        }

        .toast {
            border: 1px solid var(--border);
            background: var(--surface);
            color: var(--text);
        }

        :root { --bg:#080a08; --bg-soft:#101210; --surface:#101210; --surface-strong:#191c19; --surface-muted:#141714; --border:rgba(255,255,255,.09); --border-strong:rgba(187,222,26,.28); --text:#f2f4ef; --muted:#92988e; --snow:#fff; --accent:#bbde1a; --accent-soft:rgba(187,222,26,.10); --shadow:0 24px 70px rgba(0,0,0,.42); --sidebar:252px; }
        body {
            background:
                linear-gradient(rgba(8,10,8,.58),rgba(8,10,8,.72)),
                url("../../config/img/operacionalmtp.png") center / cover no-repeat,
                var(--bg);
        }
        .sidebar { padding:20px 16px; background:rgba(10,12,10,.76); backdrop-filter:blur(14px); }
        .brand { min-height:66px; }
        .brand-logo { display:block; width:100%; max-width:195px; height:auto; }
        .brand-mark { border:0; border-radius:10px; background:var(--accent-soft); }
        .brand-title,h1,.mission h2,.panel-title { letter-spacing:-.035em; }
        .nav-label,.eyebrow,table.dataTable thead th { letter-spacing:.1em; }
        .nav-link { border-radius:10px; }
        .nav-link:hover,.nav-link.active { border-color:rgba(255,255,255,.12); background:rgba(45,38,28,.48); backdrop-filter:blur(10px); }
        .nav-link.active { color:#fff; box-shadow:inset 3px 0 var(--accent); }
        .main {
            padding:24px clamp(18px,2.5vw,40px);
            background:
                linear-gradient(rgba(8,10,8,.48),rgba(8,10,8,.65)),
                url("../../config/img/operacionalmtp.png") center / cover no-repeat;
        }
        .topbar { border-radius:14px; background:rgba(24,22,17,.62); backdrop-filter:blur(14px); }
        .panel,.metric-tile,.kpi,.mission,.modal-content { border-radius:16px; }
        .panel,.metric-tile,.kpi,.mission { background:rgba(15,18,15,.76); backdrop-filter:blur(8px); }
        .page-head {
            padding:18px 20px;
            border:1px solid rgba(255,255,255,.08);
            border-radius:16px;
            background:linear-gradient(90deg,rgba(10,12,10,.44),rgba(10,12,10,.68));
            backdrop-filter:blur(5px);
        }
        .sidebar .submenu-nav { background:rgba(25,22,16,.20); border-radius:0 10px 10px 0; }
        .action-btn,.icon-btn,.form-control,.form-select { border-radius:9px; }
        .action-btn.primary { border-color:var(--accent); background:var(--accent); color:#11140a; font-weight:800; }
        .form-control:focus,.form-select:focus { border-color:rgba(187,222,26,.55); box-shadow:0 0 0 3px rgba(187,222,26,.11); }
        .route-item-requirement { display:none; padding:14px 16px; border:1px solid rgba(187,222,26,.24); border-radius:12px; background:linear-gradient(135deg,rgba(187,222,26,.10),rgba(187,222,26,.025)); }
        .route-item-requirement.is-visible { display:block; }
        .route-item-requirement strong { color:var(--accent); }
        .sidebar.open{z-index:1250}.backdrop.show{z-index:1240}#view-settings>.grid-12{display:none}.taxonomy-list{display:grid;gap:10px}.taxonomy-category{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted)}
        .map-workspace .leaflet-top.leaflet-left{left:auto;right:14px}
        @media(max-width:900px){.map-side-panel{top:auto!important}}
        .illegal-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px}.illegal-group-card{position:relative;overflow:hidden;padding:22px;border:1px solid rgba(0,194,255,.22);border-radius:16px;background:linear-gradient(145deg,rgba(14,22,27,.96),rgba(10,13,15,.96));box-shadow:0 18px 40px rgba(0,0,0,.28)}.illegal-group-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0,rgba(0,194,255,.08),transparent 34%);pointer-events:none}.illegal-card-head{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center}.illegal-card-avatar{width:54px;height:54px;display:grid;place-items:center;border:2px solid rgba(0,194,255,.55);border-radius:10px;background:rgba(0,194,255,.08);color:#00d5ff;font-size:22px;font-weight:900}.illegal-group-card h3{margin:0;font-size:22px;letter-spacing:.02em}.illegal-card-id{font-family:var(--mono);font-size:12px;color:#8eb6ff}.illegal-group-meta{position:relative;display:grid;gap:0;margin:22px 0}.illegal-group-meta div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(117,142,180,.16)}.illegal-group-meta span{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:#41628e}.illegal-group-meta strong{color:#fff}.illegal-xp-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(187,222,26,.35);border-radius:8px;background:rgba(187,222,26,.08);color:var(--accent);font-family:var(--mono);font-weight:900}.illegal-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.illegal-history-list{display:grid;gap:8px;max-height:240px;overflow:auto}.illegal-history-item{padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-muted)}
        .map-workspace{position:relative;height:calc(100vh - 150px);min-height:620px;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#050706;box-shadow:var(--shadow)}.map-static-fallback{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:contain;opacity:.98;pointer-events:none;background:#050706}#operationsMap{position:absolute;inset:0;z-index:1;min-height:100%;background:transparent}#operationsMap.leaflet-container{background:transparent!important}.map-hud{position:absolute;top:18px;left:18px;z-index:500;width:min(370px,calc(100% - 36px));padding:16px;border:1px solid rgba(187,222,26,.22);border-radius:14px;background:rgba(7,9,8,.9);box-shadow:0 18px 50px rgba(0,0,0,.4)}.map-hud-title{display:flex;align-items:center;gap:12px}.map-hud-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.map-hud h1{margin:0;font-size:22px}.map-tools{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.map-side-panel{position:absolute;top:18px;right:18px;z-index:500;width:min(330px,calc(100% - 36px));padding:15px;border:1px solid var(--border);border-radius:14px;background:rgba(7,9,8,.9)}.map-legend-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.map-status-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.map-workspace .leaflet-control-zoom a{background:#0d110e;color:#fff;border-color:var(--border)}.map-workspace .leaflet-control-zoom a:hover{background:var(--accent);color:#111}@media(max-width:900px){.map-workspace{height:calc(100dvh - 24px);min-height:520px}.map-side-panel{top:auto;bottom:18px}.map-hud{padding:12px}}
        .map-compact-tools{position:absolute;top:14px;left:14px;z-index:510;display:flex;gap:5px}.map-compact-tools .icon-btn,.map-right-tools .icon-btn{width:34px;height:34px;min-height:34px;background:rgba(7,9,8,.9)}.map-right-tools{position:absolute;top:14px;right:58px;z-index:510}.map-side-panel{top:68px}.map-pin-marker{display:grid;width:30px;height:30px;place-items:center;border:2px solid #111;border-radius:50% 50% 50% 0;background:var(--accent);color:#111;transform:rotate(-45deg);box-shadow:0 4px 16px rgba(0,0,0,.5)}.map-pin-marker.is-expired-alert{border-color:#ff365f;box-shadow:0 0 0 2px rgba(255,54,95,.25),0 8px 22px rgba(255,54,95,.45)}.map-pin-marker svg{transform:rotate(45deg)}
        .map-pin-marker span{transform:rotate(45deg);font-size:16px}.map-popup-card{min-width:240px}.map-popup-card img{display:block;width:100%;max-height:180px;margin:8px 0;border-radius:9px;object-fit:cover}.map-popup-card code{display:block;margin:7px 0;color:#ff4f87}.map-popup-card small{display:block;color:var(--muted);margin-top:4px}.map-popup-card button{width:100%;margin-top:7px}.map-workspace .leaflet-popup-content-wrapper,.map-workspace .leaflet-popup-tip{background:#171a17;color:#fff}.map-workspace .leaflet-popup-content{margin:14px}.progress{height:12px;background:rgba(255,255,255,.08);border:1px solid var(--border)}.progress .bg-brand{background:var(--accent)!important;color:#111;font-size:10px;font-weight:900}
        emoji-picker{width:100%;max-width:420px;height:440px;--background:#101310;--border-color:rgba(255,255,255,.1);--input-border-color:rgba(255,255,255,.12);--input-font-color:#fff;--outline-color:#bbde1a;--category-font-color:#bbde1a;--indicator-color:#bbde1a}
        .map-filter-tabs{display:flex;gap:5px;margin:12px 0 8px;overflow-x:auto;padding-bottom:4px}.map-filter-tabs button{flex:0 0 auto;min-height:30px;padding:5px 9px;border:1px solid var(--border);border-radius:8px;background:#1a1d1a;color:var(--muted);font-size:11px;font-weight:800}.map-filter-tabs button.active{border-color:var(--accent);background:var(--accent);color:#111}.map-pin-list{display:grid;max-height:430px;overflow:auto}.map-pin-list button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;width:100%;padding:11px 3px;border:0;border-bottom:1px solid var(--border);background:transparent;color:#fff;text-align:left}.map-pin-list button:hover{color:var(--accent)}.map-pin-list code{display:block;color:#ff4f87;font-size:11px;white-space:normal}.map-pin-list .pin-emoji{font-size:18px}
        body.map-view .topbar{display:none}body.map-view .view{padding-top:0}body.map-view .main{padding-top:14px}body.map-view .map-workspace{height:calc(100vh - 28px)}.map-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-panel-toggle{flex:0 0 auto}.map-side-panel.is-collapsed{width:auto;min-width:210px}.map-side-panel.is-collapsed>:not(.map-panel-header){display:none}.map-side-panel.is-collapsed .map-panel-toggle svg{transform:rotate(180deg)}
        #recordModal .modal-dialog { width:calc(100vw - 48px); max-width:1500px; margin:24px auto; }
        #recordModal .modal-content { max-height:calc(100vh - 48px); }
        #recordModal .modal-body { overflow-x:hidden; }
        #recordModal .discord-editor { min-width:0; }
        #recordModal .discord-body { min-height:220px; }
        #recordModal .discord-source,#recordModal .discord-preview { min-width:0; overflow-wrap:anywhere; }
        #recordModal .record-editor-section {
            margin-top:8px;
            padding-top:20px;
            border-top:1px solid var(--border);
        }
        #recordModal .record-editor-section .form-label {
            display:block;
            margin-bottom:10px;
            color:var(--accent);
            font-size:13px;
        }
        #recordModal .record-editor-section .discord-editor { width:100%; }
        #recordModal .record-editor-section .discord-body { min-height:190px; }
        @media (max-width: 991.98px) {
            #recordModal .modal-dialog { width:calc(100vw - 24px); margin:12px auto; }
            #recordModal .modal-content { max-height:calc(100vh - 24px); }
            #recordModal .discord-body { grid-template-columns:1fr; }
            #recordModal .discord-preview { border-left:0; border-top:1px solid var(--border); }
        }

        .backdrop {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, .52);
            z-index: 25;
        }

        @media (max-width: 1280px) {
            h1 {
                font-size: 40px;
            }

            .mission h2 {
                font-size: 27px;
            }

            .kpi strong {
                font-size: 36px;
            }

            .status-strip {
                grid-template-columns: 1fr 1fr;
            }

            .kpi-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .span-3,
            .span-4,
            .span-5,
            .span-6,
            .span-7,
            .span-8 {
                grid-column: span 6;
            }

            .player-grid,
            .evidence-grid,
            .wiki-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .assistant-layout {
                grid-template-columns: 1fr;
            }

            .economy-shell {
                grid-template-columns: 1fr;
            }

        }

        @media (max-width: 960px) {
            .app {
                grid-template-columns: 1fr;
            }

            .sidebar {
                position: fixed;
                left: 0;
                top: 0;
                width: min(var(--sidebar), calc(100vw - 34px));
                transform: translateX(-105%);
                transition: transform .22s ease;
            }

            .sidebar.open {
                transform: translateX(0);
            }

            .sidebar-foot {
                position: static;
                margin-top: 18px;
            }

            .backdrop.show {
                display: block;
            }

            .main {
                min-width: 0;
                padding: 12px;
            }

            .topbar {
                grid-template-columns: 1fr;
            }

            .mobile-menu {
                display: inline-flex;
            }

            .mobile-sidebar-toggle {
                display: inline-flex;
            }

            .top-actions {
                justify-content: stretch;
            }

            .top-actions .action-btn {
                flex: 1 1 auto;
            }

            .page-head,
            .mission {
                grid-template-columns: 1fr;
            }

            .city-visual {
                min-height: 160px;
            }

            .filters,
            .status-strip,
            .kpi-grid,
            .metric-row,
            .mode-grid,
            .economy-actions,
            .player-grid,
            .evidence-grid,
            .wiki-grid {
                grid-template-columns: 1fr;
            }

            .discord-body {
                grid-template-columns: 1fr;
            }

            .discord-preview {
                border-left: 0;
                border-top: 1px solid var(--border);
            }

            .span-3,
            .span-4,
            .span-5,
            .span-6,
            .span-7,
            .span-8,
            .span-12 {
                grid-column: span 12;
            }
        }

        @media (max-width: 768px) {
            .main {
                padding: 10px;
            }

            .topbar {
                gap: 10px;
                padding: 10px;
            }

            .page-head {
                padding: 14px;
                gap: 10px;
            }

            .panel {
                padding: 14px;
            }

            .table-wrap {
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }

            .map-workspace {
                height: calc(100dvh - 20px);
                min-height: 520px;
                border-radius: 14px;
            }

            .map-side-panel {
                left: 12px;
                right: 12px;
                bottom: 12px;
                width: auto;
                max-height: min(58dvh, 520px);
                overflow: auto;
            }
        }

        @media (max-width: 560px) {
            h1 {
                font-size: 30px;
            }

            .mission h2 {
                font-size: 24px;
            }

            .kpi strong {
                font-size: 32px;
            }

            .top-actions {
                display: grid;
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }

            .top-actions .action-btn.primary {
                grid-column: span 4;
            }

            .action-btn span {
                display: none;
            }

            .action-btn.primary span {
                display: inline;
            }
        }

/* Responsividade final do layout modular */
html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

.main,
.view,
.panel,
.page-head,
.table-wrap {
    min-width: 0;
}

.grid-12 {
    width: 100%;
}

.table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.economic-cost-category-list {
    display: grid;
    gap: 10px;
}

.economic-cost-category-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.economic-intel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.economic-intel-head h2{margin:3px 0 4px;font-size:26px}.economic-intel-head p{margin:0;color:var(--muted)}.economic-intel-grid,.economic-sim-results{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.economic-intel-kpi{min-width:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.economic-intel-kpi span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.economic-intel-kpi strong{display:block;font-size:20px;overflow-wrap:anywhere}.economic-intel-kpi.positive strong,.economic-flow-list .source{color:#8fd14f}.economic-intel-kpi.negative strong,.economic-flow-list .sink{color:#ff6b88}.economic-intel-layout,.economic-simulator{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.economic-flow-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.economic-flow-list article div{display:flex;gap:14px;font-family:"DM Mono",monospace;font-size:12px}.economic-ranking h4{font-size:12px;color:var(--muted);text-transform:uppercase;margin:16px 0 8px}.economic-ranking>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.economic-ranking b{color:var(--muted)}.economic-simulator .economic-sim-results{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.economic-sim-wide,.economic-object-wide{grid-column:1/-1}.economic-impact-tree{list-style:none;margin:12px 0 0;padding:0}.economic-impact-tree ul{list-style:none;margin:8px 0 0 16px;padding-left:14px;border-left:1px solid var(--border)}.economic-impact-tree li{margin:8px 0;color:var(--text)}.economic-impact-tree span{color:var(--muted)}.economic-object-intelligence{display:grid;gap:16px}.economic-object-sections{display:grid;gap:16px}.economic-object-sections>section{padding:14px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02)}.economic-object-table{max-height:360px;overflow:auto}.economic-relationship-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.economic-relationship-map article{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px}.economic-relationship-map h5{margin:0 0 8px;font-size:12px;color:var(--muted);text-transform:uppercase}.economic-relation-chip{display:flex;width:100%;justify-content:space-between;gap:10px;margin:6px 0;padding:8px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.03);color:var(--text);text-align:left}.economic-relation-chip span{color:var(--muted);font-size:11px}
.economic-sim-builder{grid-column:1/-1}.economic-sim-presets{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.economic-sim-rows{display:grid;gap:10px}.economic-sim-row{padding:12px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.economic-sim-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.economic-sim-row-head strong{font-size:13px;color:var(--snow)}.economic-sim-row-grid{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(180px,1fr) minmax(170px,1fr) minmax(140px,.7fr) minmax(110px,.55fr);gap:10px}.economic-sim-row-grid label{min-width:0}.economic-sim-row-grid label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}.economic-sim-results{display:block;margin:0}.economic-simulator .economic-sim-results{display:block}.economic-delta-table td,.economic-delta-table th{white-space:nowrap}
.economic-sim-overview{margin-bottom:16px}.economic-sim-browser-head{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.6fr);gap:12px;align-items:start;margin-top:6px}.economic-sim-type-tabs{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.economic-sim-browser-table{max-height:520px;overflow:auto;border:1px solid var(--border);border-radius:8px}.economic-sim-browser-table table{margin-bottom:0}.economic-sim-browser-table th{position:sticky;top:0;z-index:2;background:var(--surface)}.economic-sim-link-stack{display:grid;gap:3px;color:var(--muted);font-size:12px}.economic-sim-link-stack span{white-space:nowrap}.economic-sim-empty{padding:26px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);text-align:center}
.economic-sim-nav{position:sticky;top:10px;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px;padding:8px;border:1px solid var(--border);border-radius:8px;background:rgba(10,14,12,.92);backdrop-filter:blur(10px)}.economic-sim-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid var(--border);border-radius:8px;color:var(--text);font-weight:800;text-decoration:none}.economic-sim-nav b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:rgba(187,222,26,.15);color:var(--accent)}.economic-sim-result-section{margin:0 0 16px}.economic-sim-result-section h4{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.economic-sim-change-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.economic-sim-change-card{padding:14px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.economic-sim-change-card.applied{border-color:rgba(143,209,79,.45)}.economic-sim-change-card.empty{border-color:rgba(255,107,136,.35)}.economic-sim-change-card span,.economic-sim-change-card small{display:block;color:var(--muted);font-size:12px}.economic-sim-change-card strong{display:block;margin:5px 0;font-size:16px;overflow-wrap:anywhere}.economic-sim-change-card p{margin:0 0 6px;color:var(--text)}.economic-sim-change-card b{color:var(--accent)}.economic-sim-delta-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.economic-sim-delta-strip>span,.economic-sim-delta-strip article{padding:14px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.economic-sim-delta-strip>span{grid-column:1/-1;color:var(--muted)}.economic-sim-delta-strip article span,.economic-sim-delta-strip article small{display:block;color:var(--muted);font-size:12px}.economic-sim-delta-strip article strong{display:block;margin:6px 0;font-size:18px;overflow-wrap:anywhere}
.economic-sim-delta-strip article.positive{border-color:rgba(143,209,79,.38);background:rgba(143,209,79,.055)}.economic-sim-delta-strip article.negative{border-color:rgba(255,107,136,.38);background:rgba(255,107,136,.055)}.economic-sim-delta-strip article.positive small{color:#8fd14f}.economic-sim-delta-strip article.negative small{color:#ff6b88}.economic-delta-verdict{display:inline-block!important;margin-left:5px;padding:2px 5px;border-radius:999px;background:rgba(255,255,255,.07);font-size:8px!important}

@media (max-width:1100px){.economic-intel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.economic-intel-layout,.economic-simulator{grid-template-columns:1fr}.economic-sim-row-grid,.economic-sim-browser-head{grid-template-columns:repeat(2,minmax(0,1fr))}.economic-sim-delta-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.economic-intel-head{align-items:stretch;flex-direction:column}.economic-intel-grid{grid-template-columns:1fr 1fr}.economic-flow-list article{align-items:flex-start;flex-direction:column}.economic-sim-row-head{align-items:flex-start;flex-direction:column}.economic-sim-row-grid,.economic-sim-browser-head,.economic-sim-change-list,.economic-sim-delta-strip{grid-template-columns:1fr}.economic-sim-type-tabs{justify-content:flex-start}.economic-sim-nav{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.economic-sim-nav a{justify-content:flex-start;padding:0 10px}}

/* Workspace executivo da Visao Macro */
.economic-macro-head{margin-bottom:14px}.economic-workspace-tabs{position:sticky;top:8px;z-index:6;display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:6px;margin-bottom:12px;padding:7px;border:1px solid var(--border);border-radius:12px;background:rgba(10,14,12,.94);box-shadow:0 12px 35px rgba(0,0,0,.2);backdrop-filter:blur(14px)}.economic-workspace-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;padding:7px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:850;cursor:pointer;transition:.2s ease}.economic-workspace-tabs button svg{width:17px;height:17px;flex:0 0 auto}.economic-workspace-tabs button:hover{border-color:var(--border);color:var(--text);background:rgba(255,255,255,.035)}.economic-workspace-tabs button.active{border-color:rgba(187,222,26,.42);background:rgba(187,222,26,.12);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(187,222,26,.06)}
.economic-filter-drawer{margin-bottom:16px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.018)}.economic-filter-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 14px;list-style:none;cursor:pointer}.economic-filter-drawer>summary::-webkit-details-marker{display:none}.economic-filter-drawer>summary>span{display:flex;align-items:center;gap:9px}.economic-filter-drawer>summary svg{width:17px;height:17px;color:var(--accent)}.economic-filter-drawer>summary small{padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.055);color:var(--muted);font-size:10px}.economic-filter-drawer[open]>summary{border-bottom:1px solid var(--border)}.economic-filter-drawer[open]>summary>svg{transform:rotate(180deg)}.economic-filter-drawer .executive-filters{margin:0;padding:14px}.economic-macro-workspace{display:grid;gap:16px;animation:economic-workspace-in .2s ease}@keyframes economic-workspace-in{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.economic-executive-status{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:stretch;padding:14px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:10px;background:linear-gradient(110deg,rgba(187,222,26,.08),rgba(255,255,255,.018))}.economic-executive-status.negative{border-left-color:#ff6b88;background:linear-gradient(110deg,rgba(255,107,136,.09),rgba(255,255,255,.018))}.economic-executive-status.warning{border-left-color:#f5a020;background:linear-gradient(110deg,rgba(245,160,32,.09),rgba(255,255,255,.018))}.economic-executive-status>div{display:flex;align-items:center;gap:11px;min-width:0}.economic-executive-status>div:first-child>svg{width:28px;height:28px;color:var(--accent)}.economic-executive-status.negative>div:first-child>svg{color:#ff6b88}.economic-executive-status.warning>div:first-child>svg{color:#f5a020}.economic-executive-status span{min-width:0}.economic-executive-status small,.economic-executive-status em,.economic-executive-status>div:not(:first-child)>span{display:block;color:var(--muted);font-size:11px;font-style:normal}.economic-executive-status span strong{display:block;margin:2px 0;font-size:17px}.economic-executive-status>div:not(:first-child){display:block;min-width:145px;padding:8px 14px;border-left:1px solid var(--border)}.economic-executive-status>div:not(:first-child)>strong{display:block;margin-top:5px;font-size:18px}
.economic-kpis-primary{margin:0}.economic-kpis-primary .economic-intel-kpi{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))}.economic-kpis-primary .economic-intel-kpi:after{position:absolute;right:-20px;bottom:-25px;width:70px;height:70px;border-radius:50%;background:rgba(187,222,26,.04);content:""}.economic-kpis-primary .economic-intel-kpi.positive{border-bottom-color:rgba(143,209,79,.55)}.economic-kpis-primary .economic-intel-kpi.negative{border-bottom-color:rgba(255,107,136,.55)}.economic-highlight-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.economic-highlight-strip article{display:flex;gap:10px;align-items:center;min-width:0;padding:12px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.018)}.economic-highlight-strip svg{width:20px;height:20px;flex:0 0 auto;color:var(--accent)}.economic-highlight-strip span{min-width:0}.economic-highlight-strip small{display:block;color:var(--muted);font-size:10px}.economic-highlight-strip strong{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.economic-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.economic-dashboard-grid.flush{gap:24px}.economic-dashboard-grid>.span-4{grid-column:span 4}.economic-dashboard-grid>.span-5{grid-column:span 5}.economic-dashboard-grid>.span-6{grid-column:span 6}.economic-dashboard-grid>.span-7{grid-column:span 7}.economic-dashboard-grid>.span-8{grid-column:span 8}.economic-visual-card{min-width:0}.economic-visual-card>.panel-head{margin-bottom:14px}.economic-chart-empty{display:grid;min-height:150px;place-items:center;align-content:center;gap:9px;padding:22px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);text-align:center}.economic-chart-empty svg{width:24px;height:24px}
.economic-bar-chart{display:grid;gap:12px}.economic-bar-chart article{min-width:0}.economic-bar-label{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:5px;font-size:11px}.economic-bar-label b{display:grid;width:20px;height:20px;place-items:center;border-radius:6px;background:rgba(255,255,255,.05);color:var(--muted);font-size:9px}.economic-bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.economic-bar-label strong{font-size:11px}.economic-bar-track{height:6px;margin-left:30px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.06)}.economic-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(187,222,26,.55),var(--accent));box-shadow:0 0 10px rgba(187,222,26,.18)}.economic-bar-track i.negative{background:linear-gradient(90deg,rgba(255,107,136,.5),#ff6b88);box-shadow:0 0 10px rgba(255,107,136,.15)}
.economic-line-chart svg,.economic-scatter svg{display:block;width:100%;height:auto;min-height:220px;overflow:visible}.economic-chart-guides line{stroke:rgba(255,255,255,.08);stroke-width:1}.economic-chart-guides text,.economic-chart-axis text,.economic-scatter text{fill:var(--muted);font-size:9px}.economic-line-chart polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.economic-line-chart polyline.source{stroke:#8fd14f}.economic-line-chart polyline.sink{stroke:#ff6b88}.economic-line-chart polyline.balance{stroke:#42c6ff}.economic-chart-legend{display:flex;justify-content:center;gap:18px;color:var(--muted);font-size:10px}.economic-chart-legend span:before{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor;content:""}.economic-chart-legend .source{color:#8fd14f}.economic-chart-legend .sink{color:#ff6b88}.economic-chart-legend .balance{color:#42c6ff}.economic-scatter svg>line{stroke:rgba(255,255,255,.14)}.economic-scatter circle{fill:rgba(143,209,79,.42);stroke:#8fd14f;stroke-width:2}.economic-scatter .negative circle{fill:rgba(255,107,136,.4);stroke:#ff6b88}.economic-scatter p{text-align:center}
.economic-donut-layout{display:grid;grid-template-columns:minmax(145px,.85fr) minmax(150px,1fr);gap:16px;align-items:center}.economic-donut{display:grid;width:min(170px,100%);aspect-ratio:1;margin:auto;place-items:center;border-radius:50%;background:conic-gradient(var(--economic-donut));box-shadow:0 0 35px rgba(0,0,0,.18)}.economic-donut:before{grid-area:1/1;width:66%;height:66%;border:1px solid var(--border);border-radius:50%;background:var(--surface);content:""}.economic-donut>div{z-index:1;grid-area:1/1;text-align:center}.economic-donut strong,.economic-donut span{display:block}.economic-donut strong{font-size:18px}.economic-donut span{margin-top:2px;color:var(--muted);font-size:9px}.economic-donut-legend{display:grid;gap:7px}.economic-donut-legend>div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:7px;align-items:center;font-size:10px}.economic-donut-legend i{width:8px;height:8px;border-radius:3px}.economic-donut-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.economic-sankey{display:grid;grid-template-columns:minmax(135px,.8fr) minmax(60px,.7fr) minmax(145px,.9fr) minmax(60px,.7fr) minmax(150px,1fr);gap:10px;align-items:center;min-height:240px;padding:20px;background:radial-gradient(circle at 50% 50%,rgba(187,222,26,.08),transparent 32%)}.economic-sankey-node{position:relative;z-index:1;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:center}.economic-sankey-node span,.economic-sankey-node small,.economic-sankey-node strong{display:block}.economic-sankey-node span,.economic-sankey-node small{color:var(--muted);font-size:10px}.economic-sankey-node strong{margin:5px 0;font-size:15px}.economic-sankey-node.source{border-color:rgba(143,209,79,.45)}.economic-sankey-node.sink{border-color:rgba(255,107,136,.45)}.economic-sankey-node.transfer{border-color:rgba(66,198,255,.42)}.economic-sankey-node.engine{display:grid;min-height:130px;place-items:center;align-content:center;border-color:rgba(187,222,26,.5);background:rgba(187,222,26,.08)}.economic-sankey-node.engine svg{color:var(--accent)}.economic-sankey-outputs{display:grid;gap:7px}.economic-sankey-lines{display:grid;gap:15px}.economic-sankey-lines i{display:block;height:5px;border-radius:999px;background:linear-gradient(90deg,rgba(143,209,79,.25),rgba(187,222,26,.75));transform-origin:right}.economic-sankey-lines i:first-child{transform:rotate(-10deg)}.economic-sankey-lines i:last-child{transform:rotate(10deg)}.economic-sankey-lines.outbound i{background:linear-gradient(90deg,rgba(187,222,26,.72),rgba(66,198,255,.2));transform-origin:left}
.economic-waterfall{display:grid;gap:12px}.economic-waterfall article{display:grid;grid-template-columns:90px minmax(0,1fr) 120px;gap:10px;align-items:center}.economic-waterfall article>span{color:var(--muted);font-size:11px}.economic-waterfall article>div{height:26px;padding:4px;border-radius:6px;background:rgba(255,255,255,.045)}.economic-waterfall i{display:block;height:100%;min-width:0;border-radius:4px;background:#42c6ff}.economic-waterfall i.positive{background:linear-gradient(90deg,rgba(143,209,79,.55),#8fd14f)}.economic-waterfall i.negative{background:linear-gradient(90deg,rgba(255,107,136,.5),#ff6b88)}.economic-waterfall strong{text-align:right;font-size:11px}.economic-waterfall strong.positive{color:#8fd14f}.economic-waterfall strong.negative{color:#ff6b88}
.economic-heatmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.economic-heatmap article{min-height:100px;padding:12px;border:1px solid rgba(187,222,26,calc(var(--heat) * .65));border-radius:8px;background:rgba(187,222,26,var(--heat));box-shadow:inset 0 0 30px rgba(0,0,0,.22)}.economic-heatmap span,.economic-heatmap strong,.economic-heatmap small{display:block}.economic-heatmap span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:11px}.economic-heatmap strong{margin:12px 0;font-size:15px}.economic-heatmap small{display:flex;gap:8px;font-size:9px}.economic-heatmap b{color:#b8f47b}.economic-heatmap em{color:#ff8da5;font-style:normal}
.economic-craft-cards,.economic-shop-cards{display:grid;gap:7px;max-height:480px;overflow:auto;padding-right:3px}.economic-craft-cards article{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(75px,.7fr));gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.018)}.economic-craft-cards article>div{min-width:0}.economic-craft-cards strong,.economic-craft-cards span,.economic-craft-cards small,.economic-craft-cards b{display:block}.economic-craft-cards span,.economic-craft-cards small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.economic-craft-cards strong,.economic-craft-cards b{margin-top:2px;font-size:11px}.economic-dependency-list{display:grid;gap:8px}.economic-dependency-list article{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.8fr) 22px minmax(120px,.8fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px}.economic-dependency-list article>div{display:flex;flex-wrap:wrap;gap:5px}.economic-dependency-list span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.055);color:var(--muted);font-size:9px}.economic-dependency-list svg{width:16px;color:var(--accent)}.economic-dependency-list strong,.economic-dependency-list b{font-size:11px}.economic-shop-cards article{display:grid;grid-template-columns:9px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--border)}.economic-shop-cards article>span{width:8px;height:8px;border-radius:50%;background:#667085}.economic-shop-cards article>span.active{background:#8fd14f;box-shadow:0 0 8px rgba(143,209,79,.45)}.economic-shop-cards strong,.economic-shop-cards small,.economic-shop-cards b{display:block}.economic-shop-cards small{color:var(--muted);font-size:9px}.economic-shop-cards article>div:not(:first-of-type){min-width:42px;text-align:right}
.economic-impact-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center}.economic-impact-chain article{display:grid;min-height:120px;place-items:center;align-content:center;gap:5px;padding:12px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(145deg,rgba(187,222,26,.07),rgba(255,255,255,.015));text-align:center}.economic-impact-chain article svg{color:var(--accent)}.economic-impact-chain article span{font-size:12px;font-weight:850}.economic-impact-chain article small{color:var(--muted);font-size:9px}.economic-impact-chain>b{color:var(--muted)}.economic-influence-list{display:grid;gap:8px}.economic-influence-list article{display:grid;grid-template-columns:22px minmax(115px,.9fr) minmax(80px,1fr) auto;gap:8px;align-items:center}.economic-influence-list article>b{color:var(--muted);font-size:10px}.economic-influence-list span{min-width:0}.economic-influence-list strong,.economic-influence-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.economic-influence-list strong{font-size:11px}.economic-influence-list small{color:var(--muted);font-size:9px}.economic-influence-list article>div{height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.06)}.economic-influence-list article>div i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.economic-influence-list em{font-size:10px;font-style:normal}.economic-impact-callout{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid rgba(66,198,255,.3);border-radius:10px;background:linear-gradient(110deg,rgba(66,198,255,.08),rgba(187,222,26,.035))}.economic-impact-callout>svg{color:#42c6ff}.economic-impact-callout>div{flex:1}.economic-impact-callout p{margin:3px 0 0;color:var(--muted);font-size:11px}

/* Painel executivo do resultado do simulador */
.economic-simulation-result-workspace{display:grid;gap:14px}.economic-simulation-hero{display:grid;grid-template-columns:minmax(0,1fr) auto 108px;gap:18px;align-items:center;padding:18px;border:1px solid rgba(143,209,79,.4);border-radius:12px;background:linear-gradient(120deg,rgba(143,209,79,.1),rgba(255,255,255,.018))}.economic-simulation-hero.negative{border-color:rgba(255,107,136,.42);background:linear-gradient(120deg,rgba(255,107,136,.1),rgba(255,255,255,.018))}.economic-simulation-hero.neutral{border-color:rgba(66,198,255,.38);background:linear-gradient(120deg,rgba(66,198,255,.08),rgba(255,255,255,.018))}.economic-simulation-hero>div:first-child{display:flex;align-items:center;gap:13px;min-width:0}.economic-simulation-icon{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border-radius:12px;background:rgba(143,209,79,.13);color:#8fd14f}.economic-simulation-hero.negative .economic-simulation-icon{background:rgba(255,107,136,.13);color:#ff6b88}.economic-simulation-hero small,.economic-simulation-hero p,.economic-simulation-profit span{display:block;color:var(--muted);font-size:10px}.economic-simulation-hero h3{margin:3px 0;font-size:20px}.economic-simulation-hero p{margin:0}.economic-simulation-profit{padding:5px 18px;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:right}.economic-simulation-profit strong,.economic-simulation-profit b{display:block}.economic-simulation-profit strong{margin:3px 0;font-size:19px}.economic-simulation-profit b{color:#8fd14f}.economic-simulation-hero.negative .economic-simulation-profit b{color:#ff6b88}.economic-impact-meter{display:grid;width:88px;height:88px;margin:auto;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) var(--score),rgba(255,255,255,.07) 0)}.economic-impact-meter:before{grid-area:1/1;width:70px;height:70px;border-radius:50%;background:var(--surface);content:""}.economic-impact-meter span{z-index:1;grid-area:1/1;text-align:center}.economic-impact-meter strong,.economic-impact-meter small{display:block}.economic-impact-meter strong{font-size:22px}.economic-impact-meter small{max-width:62px;margin-top:1px;font-size:8px}.economic-simulation-warning{display:flex;gap:11px;padding:13px;border:1px solid rgba(245,160,32,.42);border-radius:9px;background:rgba(245,160,32,.08)}.economic-simulation-warning svg{flex:0 0 auto;color:#f5a020}.economic-simulation-warning p{margin:3px 0 0;color:var(--muted);font-size:11px}
.economic-result-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.018)}.economic-result-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:850;cursor:pointer}.economic-result-tabs button svg{width:16px}.economic-result-tabs button b{display:grid;min-width:19px;height:19px;padding:0 5px;place-items:center;border-radius:999px;background:rgba(255,255,255,.07);font-size:9px}.economic-result-tabs button.active{border-color:rgba(187,222,26,.4);background:rgba(187,222,26,.1);color:var(--accent)}.economic-result-panel{display:grid;gap:14px}.economic-result-panel[hidden]{display:none}.economic-result-summary-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.economic-result-summary-grid>.panel{min-width:0}.economic-affected-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.economic-affected-summary article{display:grid;min-height:86px;place-items:center;align-content:center;gap:3px;padding:8px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02)}.economic-affected-summary svg{width:17px;color:var(--accent)}.economic-affected-summary span{color:var(--muted);font-size:9px}.economic-affected-summary strong{font-size:17px}
.economic-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.economic-compare-card{padding:12px;border:1px solid var(--border);border-top:3px solid #42c6ff;border-radius:9px;background:rgba(255,255,255,.018)}.economic-compare-card.positive{border-top-color:#8fd14f}.economic-compare-card.negative{border-top-color:#ff6b88}.economic-compare-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.economic-compare-head>span{font-size:11px;font-weight:850}.economic-compare-head b{display:flex;align-items:center;gap:4px;color:#42c6ff;font-size:9px}.economic-compare-card.positive .economic-compare-head b{color:#8fd14f}.economic-compare-card.negative .economic-compare-head b{color:#ff6b88}.economic-compare-head svg{width:13px}.economic-compare-values{display:grid;grid-template-columns:1fr 18px 1fr;gap:5px;align-items:center;margin:13px 0}.economic-compare-values>svg{width:15px;color:var(--muted)}.economic-compare-values>div:last-child{text-align:right}.economic-compare-values small,.economic-compare-values strong{display:block}.economic-compare-values small{color:var(--muted);font-size:9px}.economic-compare-values strong{margin-top:3px;font-size:12px}.economic-compare-bars{display:grid;gap:3px}.economic-compare-bars i{display:block;height:3px;border-radius:999px;background:rgba(255,255,255,.15)}.economic-compare-bars i:last-child{background:#42c6ff}.economic-compare-card.positive .economic-compare-bars i:last-child{background:#8fd14f}.economic-compare-card.negative .economic-compare-bars i:last-child{background:#ff6b88}.economic-compare-card>p{display:flex;justify-content:space-between;margin:9px 0 0;color:var(--muted);font-size:9px}.economic-compare-card>p strong{color:var(--text)}
.economic-propagation-map{display:grid;grid-template-columns:minmax(145px,1fr) 22px minmax(145px,1fr) 22px minmax(145px,1fr) 22px minmax(145px,1fr);gap:7px;align-items:center;overflow-x:auto;padding-bottom:5px}.economic-propagation-map>svg{width:18px;color:var(--muted)}.economic-propagation-map>section{align-self:stretch;min-width:145px;padding:10px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.018)}.economic-propagation-map section.changed{border-color:rgba(66,198,255,.35)}.economic-propagation-map section.direct{border-color:rgba(245,160,32,.35)}.economic-propagation-map section.indicator{border-color:rgba(187,222,26,.4)}.economic-propagation-map header{display:flex;justify-content:space-between;gap:6px;font-size:11px;font-weight:850}.economic-propagation-map header b{display:grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:rgba(255,255,255,.07);font-size:9px}.economic-propagation-map section>small{display:block;margin:2px 0 9px;color:var(--muted);font-size:8px}.economic-propagation-map section>div{display:grid;gap:5px}.economic-propagation-map article{display:flex;gap:6px;align-items:center;min-width:0;padding:7px;border-radius:6px;background:rgba(255,255,255,.035)}.economic-propagation-map article svg{width:14px;flex:0 0 auto;color:var(--accent)}.economic-propagation-map article span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.economic-propagation-map article small{display:block;color:var(--muted);font-size:7px}.economic-propagation-map section p{color:var(--muted);font-size:9px}
.economic-affected-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.economic-affected-groups details{border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.018)}.economic-affected-groups summary{display:flex;justify-content:space-between;padding:10px;cursor:pointer;font-size:11px;font-weight:850}.economic-affected-groups summary b{display:grid;min-width:21px;height:21px;place-items:center;border-radius:999px;background:rgba(187,222,26,.1);color:var(--accent);font-size:9px}.economic-affected-groups details>div{display:grid;gap:5px;padding:0 8px 8px}.economic-affected-groups article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;align-items:center;padding:8px;border-radius:7px;background:rgba(255,255,255,.035)}.economic-affected-groups article strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.economic-affected-groups article small{grid-column:2;color:var(--muted);font-size:8px}.economic-depth-badge{grid-row:1/3;padding:3px 6px;border-radius:999px;background:rgba(245,160,32,.11);color:#f5a020;font-size:7px;font-weight:850}.economic-depth-badge.depth-2,.economic-depth-badge.depth-3{background:rgba(167,139,250,.12);color:#c4b5fd}
.economic-path-list{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:4px}.economic-path-list>article{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.018)}.economic-path-list>article>b{display:grid;width:24px;height:24px;place-items:center;border-radius:7px;background:rgba(187,222,26,.1);color:var(--accent);font-size:9px}.economic-path-list>article>div{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:3px}.economic-path-list>article>div>svg{width:14px;min-width:14px;color:var(--muted)}.economic-path-list span{min-width:110px;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:rgba(255,255,255,.025)}.economic-path-list small,.economic-path-list strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.economic-path-list small{color:var(--muted);font-size:7px}.economic-path-list strong{margin-top:2px;font-size:9px}
@media(max-width:1180px){.economic-workspace-tabs{grid-template-columns:repeat(3,minmax(130px,1fr));position:static}.economic-dashboard-grid>.span-4,.economic-dashboard-grid>.span-5,.economic-dashboard-grid>.span-7,.economic-dashboard-grid>.span-8{grid-column:span 6}.economic-highlight-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.economic-heatmap{grid-template-columns:repeat(3,minmax(0,1fr))}.economic-simulation-hero{grid-template-columns:minmax(0,1fr) auto 92px}.economic-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.economic-dashboard-grid{grid-template-columns:1fr}.economic-dashboard-grid>.span-4,.economic-dashboard-grid>.span-5,.economic-dashboard-grid>.span-6,.economic-dashboard-grid>.span-7,.economic-dashboard-grid>.span-8{grid-column:auto}.economic-executive-status{grid-template-columns:1fr 1fr}.economic-executive-status>div:first-child{grid-column:1/-1}.economic-executive-status>div:not(:first-child){border-left:0;border-top:1px solid var(--border)}.economic-sankey{grid-template-columns:1fr;gap:6px}.economic-sankey-lines{height:38px;justify-items:center}.economic-sankey-lines i{width:4px;height:100%;grid-row:1;transform:none!important}.economic-sankey-outputs{grid-template-columns:repeat(3,minmax(0,1fr))}.economic-donut-layout{grid-template-columns:1fr}.economic-impact-chain{grid-template-columns:1fr}.economic-impact-chain>b{display:grid;place-items:center;transform:rotate(90deg)}.economic-simulation-hero{grid-template-columns:1fr auto}.economic-impact-meter{grid-column:2;grid-row:1/3}.economic-simulation-profit{grid-column:1;border:0;text-align:left}.economic-result-summary-grid{grid-template-columns:1fr}.economic-result-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.economic-affected-groups{grid-template-columns:1fr}}
@media(max-width:560px){.economic-workspace-tabs{display:flex;overflow-x:auto}.economic-workspace-tabs button{min-width:148px}.economic-filter-drawer>summary small{display:none}.economic-highlight-strip,.economic-compare-grid{grid-template-columns:1fr}.economic-heatmap{grid-template-columns:repeat(2,minmax(0,1fr))}.economic-waterfall article{grid-template-columns:70px minmax(0,1fr);gap:7px}.economic-waterfall strong{grid-column:2}.economic-craft-cards article{grid-template-columns:1fr 1fr}.economic-craft-cards article>div:first-child{grid-column:1/-1}.economic-dependency-list article{grid-template-columns:1fr}.economic-dependency-list article>svg{transform:rotate(90deg)}.economic-impact-callout{align-items:flex-start;flex-wrap:wrap}.economic-impact-callout .action-btn{width:100%}.economic-simulation-hero{grid-template-columns:1fr}.economic-impact-meter{grid-column:auto;grid-row:auto}.economic-result-tabs{display:flex;overflow-x:auto}.economic-result-tabs button{min-width:145px}.economic-affected-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Rotas dos empregos */
.route-hero .panel-head select{max-width:300px}.route-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.route-stats>div{padding:16px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.route-stats span{display:block;color:var(--muted);font-size:12px}.route-stats strong{display:block;margin-top:6px;font-size:21px}.route-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:16px;margin-top:16px}.route-pack-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:center;margin-bottom:18px}.route-checks{display:flex;gap:12px;white-space:nowrap;color:var(--muted);font-size:13px}.route-checks label{display:flex;gap:6px;align-items:center}.route-pack-grid{display:grid;gap:10px}.route-pack-card{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.025)}.route-pack-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:rgba(187,222,26,.12);color:var(--accent)}.route-pack-card h4{margin:0 0 3px;font-size:15px}.route-pack-card p{margin:0;color:var(--muted);font-size:12px}.route-tags{display:flex;gap:5px;margin-top:7px}.route-tags span{padding:3px 7px;border-radius:20px;background:rgba(255,255,255,.06);font-size:10px}.route-pack-actions{display:flex;gap:6px}.route-empty{display:grid;place-items:center;gap:5px;padding:30px;color:var(--muted);border:1px dashed var(--border);border-radius:12px}.route-history{display:grid;gap:4px}.route-history article{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.route-history-main{display:flex;gap:9px}.route-status-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--accent)}.route-history p{margin:3px 0 0;color:var(--muted);font-size:11px}.route-history-values{text-align:right}.route-history-values span{display:block;color:#ff7b86;font-size:11px}.route-run-section{padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.route-run-section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--accent)}
@media(max-width:1100px){.route-layout{grid-template-columns:1fr}.route-pack-form{grid-template-columns:1fr 1fr}.route-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.route-stats,.route-pack-form{grid-template-columns:1fr}.route-pack-card{grid-template-columns:42px 1fr}.route-pack-actions{grid-column:1/-1}.route-pack-actions .action-btn{flex:1}.route-hero .panel-head{align-items:stretch;flex-direction:column}.route-hero .panel-head select{max-width:none}}
.route-metric-tabs{margin-top:16px}.route-stats[hidden]{display:none!important}
.route-history-blip{color:var(--warning,#f5a020);white-space:nowrap}.route-history-item-name{display:block;max-width:100%;margin-top:3px;font-size:12px;font-weight:900;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-history-item-vehicle{color:var(--accent-3)}.route-history-item-received{color:var(--accent)}.route-history-item-separator{color:var(--muted)}.route-history-item-expense{color:#ff7b86}
.route-collection-panel{margin-top:16px}.route-collection-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.route-collection-kpis>div{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.route-collection-kpis span,.route-collection-row span,.route-collection-row small,.route-collection-blips small{display:block;color:var(--muted);font-size:11px}.route-collection-kpis strong{display:block;margin-top:4px;font-size:18px}.route-collection-list{display:grid;gap:8px;margin-top:10px}.route-collection-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 84px 118px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.route-collection-row>div{min-width:0}.route-collection-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-collection-row>b,.route-collection-row>em{font-style:normal;font-weight:900;color:var(--snow);text-align:right}.route-collection-row>small{text-align:right}.route-collection-bar{height:5px;margin-top:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.route-collection-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.route-pack-items-detail{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--border)}.route-pack-items-detail summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;color:var(--text);font-weight:800}.route-pack-items-detail summary::-webkit-details-marker{display:none}.route-pack-items-detail summary span{display:flex;align-items:center;gap:7px}.route-pack-items-detail summary b{color:var(--muted);font-size:12px}.route-pack-items-detail[open] summary{margin-bottom:10px;color:var(--accent)}.route-collection-blips{display:grid;gap:6px;margin-top:10px}.route-collection-blips>strong{font-size:12px;color:var(--muted);text-transform:uppercase}.route-collection-blips>div{display:grid;grid-template-columns:70px minmax(0,1fr) 90px 76px;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02)}.route-collection-blips b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-collection-blips>div>strong,.route-collection-blips em{font-style:normal;text-align:right;font-weight:900;color:var(--snow)}
@media(max-width:900px){.route-collection-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.route-collection-row{grid-template-columns:minmax(0,1fr) 80px 70px}.route-collection-row>small{grid-column:1/-1;text-align:left}.route-collection-blips>div{grid-template-columns:60px minmax(0,1fr) 70px}.route-collection-blips em{grid-column:1/-1;text-align:left}}@media(max-width:650px){.route-collection-kpis,.route-collection-row,.route-collection-blips>div{grid-template-columns:1fr}.route-collection-row>b,.route-collection-row>em,.route-collection-row>small,.route-collection-blips strong,.route-collection-blips em{text-align:left}.route-pack-items-detail{grid-column:1/-1}.route-pack-items-detail summary{align-items:flex-start;flex-direction:column}}
.route-collection-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.route-collection-kpis>div{padding:10px 12px;border-radius:8px}.route-collection-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:10px}.route-collection-cards.is-compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px}.route-collection-card{min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.route-collection-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-item-icon{display:grid;width:28px;height:28px;min-width:28px;place-items:center;border-radius:7px;background:rgba(187,222,26,.13);color:var(--accent)}.route-item-icon svg{width:16px;height:16px}.route-collection-card-head strong{padding:3px 7px;border-radius:999px;background:rgba(187,222,26,.12);color:var(--accent);font-size:12px}.route-collection-card h4{margin:8px 0 7px;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-collection-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.route-collection-card-grid span{min-width:0;color:var(--muted);font-size:10px}.route-collection-card-grid b{display:block;margin-top:2px;color:var(--snow);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-pack-items-detail{padding-top:8px}.route-pack-items-detail summary{font-size:13px}.route-collection-blips>div{grid-template-columns:28px minmax(0,1fr) 70px 58px 86px;padding:7px 8px}.route-collection-blips>div>strong,.route-collection-blips em,.route-collection-blips>div>b{text-align:right;font-size:12px}.route-history-pager{display:flex;align-items:center;gap:6px}.route-history-pager .icon-btn{width:32px;height:32px;min-height:32px}.route-history-pager span{min-width:38px;text-align:center;color:var(--muted);font-size:12px;font-weight:800}
@media(max-width:900px){.route-collection-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.route-collection-blips>div{grid-template-columns:28px minmax(0,1fr) 64px 76px}.route-collection-blips em{display:none}}@media(max-width:650px){.route-collection-cards,.route-collection-cards.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.route-collection-card-grid{grid-template-columns:1fr}.route-history-pager{width:100%;justify-content:flex-end}}
.route-item-icon.has-image{background:rgba(255,255,255,.06);overflow:hidden}.route-item-icon img{display:block;width:22px;height:22px;object-fit:contain}.route-collection-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.route-collection-card-grid .route-collection-card-value{grid-column:1/-1}.route-collection-card-grid b{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.route-collection-card-grid .route-collection-card-value b{font-size:12.5px}.route-pack-route-detail{grid-column:1/-1;margin-top:9px}.route-pack-route-detail>summary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.03);color:var(--text);font-size:12px}.route-pack-route-detail>summary svg{width:15px;height:15px}.route-pack-route-detail>summary b{font-size:11px;color:var(--muted)}.route-pack-items-detail[open] .route-pack-route-detail:not([open])>summary{margin-bottom:0;color:var(--text)}.route-pack-items-detail[open] .route-pack-route-detail[open]>summary{margin-bottom:8px;border-color:rgba(187,222,26,.35);background:rgba(187,222,26,.08);color:var(--accent)}.route-pack-saved-route{margin-top:8px;padding:8px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.018)}.route-pack-saved-route .route-saved-blips-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--accent);font-size:12px}.route-pack-saved-route .route-saved-blips-head span{display:block;margin-top:2px;color:var(--muted);font-size:11px}.route-pack-saved-route .route-saved-blips-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;max-height:160px;overflow:auto;padding-right:3px}.route-pack-saved-route .route-saved-blip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 7px;align-items:center;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:rgba(187,222,26,.055)}.route-pack-saved-route .route-saved-blip b{color:var(--accent)}.route-pack-saved-route .route-saved-blip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.route-pack-saved-route .route-saved-blip strong{grid-column:1/-1;font-size:12px}.route-collection-blips>div{grid-template-columns:28px minmax(0,1fr) 56px 52px minmax(82px,auto)}.route-collection-blips>div>b{overflow:visible;text-overflow:clip;white-space:nowrap}
@media(max-width:900px){.route-collection-blips>div{grid-template-columns:28px minmax(0,1fr) 58px minmax(82px,auto)}.route-collection-blips em{display:none}}@media(max-width:650px){.route-collection-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-collection-blips>div{grid-template-columns:28px minmax(0,1fr) minmax(82px,auto)}.route-collection-blips>div>strong{grid-column:2/3;text-align:left}.route-collection-blips>div>b{grid-column:3/4}.route-pack-route-detail>summary{width:100%;flex-direction:row;align-items:center}.route-pack-saved-route .route-saved-blips-list{grid-template-columns:1fr}}
.route-pack-route-detail .route-collection-blips{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));max-height:190px;overflow:auto;padding-right:3px}.route-pack-route-detail .route-collection-blips>strong{grid-column:1/-1;margin-top:2px}.route-pack-route-detail .route-collection-blips>div{grid-template-columns:24px minmax(0,1fr) auto;gap:5px;padding:6px;min-height:50px}.route-pack-route-detail .route-collection-blips .route-item-icon{width:24px;height:24px;min-width:24px;border-radius:6px}.route-pack-route-detail .route-collection-blips .route-item-icon img{width:20px;height:20px}.route-pack-route-detail .route-collection-blips b{font-size:11px}.route-pack-route-detail .route-collection-blips small{font-size:9.5px;line-height:1.1}.route-pack-route-detail .route-collection-blips>div>strong{grid-column:3;grid-row:1;text-align:right;font-size:11px}.route-pack-route-detail .route-collection-blips em{display:block;grid-column:3;grid-row:2;text-align:right;color:var(--accent);font-size:10px;font-weight:900}.route-pack-route-detail .route-collection-blips>div>b{grid-column:1/-1;text-align:right;font-size:11px;line-height:1;white-space:nowrap}.route-saved-blip small{grid-column:1/-1;display:flex;align-items:center;gap:5px;min-width:0;color:var(--muted);font-size:10px;line-height:1}.route-saved-blip small .route-item-icon{width:18px;height:18px;min-width:18px;border-radius:5px}.route-saved-blip small .route-item-icon svg{width:12px;height:12px}.route-saved-blip small .route-item-icon img{width:16px;height:16px}.route-saved-blip small span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-saved-blip small em{font-style:normal;color:var(--accent);font-weight:900}.route-pack-saved-route .route-saved-blips-list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:120px}.route-pack-saved-route .route-saved-blip{gap:3px 6px;padding:6px 7px}.route-pack-saved-route .route-saved-blip strong{grid-column:3;font-size:11px}.route-pack-saved-route .route-saved-blip{grid-template-columns:auto minmax(0,1fr) auto}.route-pack-saved-route .route-saved-blip small{font-size:9.5px}
@media(max-width:650px){.route-pack-route-detail .route-collection-blips{grid-template-columns:repeat(2,minmax(0,1fr))}.route-pack-route-detail .route-collection-blips>div{grid-template-columns:22px minmax(0,1fr);}.route-pack-route-detail .route-collection-blips>div>strong,.route-pack-route-detail .route-collection-blips em{grid-column:2;text-align:left}.route-pack-route-detail .route-collection-blips>div>b{grid-column:1/-1;text-align:left}.route-pack-saved-route .route-saved-blips-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.route-pack-saved-route .route-saved-blips-list,#routeRunModal .route-saved-blips-list{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:6px;max-height:190px}.route-pack-saved-route .route-saved-blip,#routeRunModal .route-saved-blip{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:5px;align-items:center;min-height:50px;padding:6px;border-radius:8px}.route-pack-saved-route .route-saved-blip>.route-item-icon,#routeRunModal .route-saved-blip>.route-item-icon{width:24px;height:24px;min-width:24px;border-radius:6px}.route-pack-saved-route .route-saved-blip>.route-item-icon img,#routeRunModal .route-saved-blip>.route-item-icon img{width:20px;height:20px}.route-pack-saved-route .route-saved-blip>div,#routeRunModal .route-saved-blip>div{min-width:0}.route-pack-saved-route .route-saved-blip>div b,#routeRunModal .route-saved-blip>div b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--snow);font-size:11px}.route-pack-saved-route .route-saved-blip>div small,#routeRunModal .route-saved-blip>div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9.5px;line-height:1.1}.route-pack-saved-route .route-saved-blip>strong,#routeRunModal .route-saved-blip>strong{grid-column:3;grid-row:1;text-align:right;color:var(--snow);font-size:11px}.route-pack-saved-route .route-saved-blip>em,#routeRunModal .route-saved-blip>em{display:block;grid-column:3;grid-row:2;text-align:right;color:var(--accent);font-size:10px;font-style:normal;font-weight:900}.route-pack-saved-route .route-saved-blip>.route-saved-blip-value,#routeRunModal .route-saved-blip>.route-saved-blip-value{grid-column:1/-1;display:block;min-width:0;text-align:right;color:var(--snow);font-size:11px;font-weight:900;line-height:1;white-space:nowrap}
@media(max-width:650px){.route-pack-saved-route .route-saved-blips-list,#routeRunModal .route-saved-blips-list{grid-template-columns:repeat(2,minmax(0,1fr))}.route-pack-saved-route .route-saved-blip,#routeRunModal .route-saved-blip{grid-template-columns:22px minmax(0,1fr)}.route-pack-saved-route .route-saved-blip>strong,#routeRunModal .route-saved-blip>strong,.route-pack-saved-route .route-saved-blip>em,#routeRunModal .route-saved-blip>em{grid-column:2;text-align:left}.route-pack-saved-route .route-saved-blip>.route-saved-blip-value,#routeRunModal .route-saved-blip>.route-saved-blip-value{text-align:left}}

.calendar-filter-grid {
    display: grid;
    grid-template-columns: 1.2fr repeat(5, minmax(130px, 1fr)) repeat(2, minmax(130px, .8fr));
    gap: 10px;
}

.calendar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
    gap: 16px;
    align-items: start;
}

.calendar-panel {
    min-height: 720px;
}

#corporateCalendar {
    min-height: 660px;
}

#view-calendar .fc {
    color: var(--text);
}

#view-calendar .fc .fc-toolbar {
    gap: 10px;
    flex-wrap: wrap;
}

#view-calendar .fc .fc-button {
    min-height: 36px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-muted);
    color: var(--text);
    box-shadow: none;
    font-weight: 800;
}

#view-calendar .fc .fc-button-primary:not(:disabled).fc-button-active,
#view-calendar .fc .fc-button-primary:not(:disabled):active,
#view-calendar .fc .fc-button:hover {
    border-color: rgba(184, 222, 24, .45);
    background: rgba(184, 222, 24, .12);
    color: var(--snow);
}

#view-calendar .fc-theme-standard td,
#view-calendar .fc-theme-standard th,
#view-calendar .fc-theme-standard .fc-scrollgrid {
    border-color: var(--border);
}

#view-calendar .fc .fc-daygrid-day,
#view-calendar .fc .fc-timegrid-slot,
#view-calendar .fc .fc-list-day-cushion,
#view-calendar .fc .fc-list-event:hover td {
    background: transparent;
}

#view-calendar .fc .fc-col-header-cell,
#view-calendar .fc .fc-list-day-cushion {
    background: rgba(255, 255, 255, .025);
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
}

#view-calendar .fc .fc-daygrid-day-number,
#view-calendar .fc .fc-list-event-title,
#view-calendar .fc .fc-list-event-time {
    color: var(--text);
}

#view-calendar .fc .fc-event {
    border: 0;
    border-radius: 7px;
    padding: 2px 4px;
    font-weight: 800;
}

#view-calendar .fc .fc-day-today {
    background: rgba(184, 222, 24, .06);
}

.calendar-side {
    display: grid;
    gap: 16px;
}

.calendar-list,
.calendar-legend,
.calendar-attachments {
    display: grid;
    gap: 8px;
}

.calendar-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.calendar-detail-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .045);
}

.calendar-detail-item.is-wide {
    grid-column: 1 / -1;
}

.calendar-detail-item.is-strong {
    border-color: rgba(187, 222, 26, .35);
    background: rgba(187, 222, 26, .08);
}

.calendar-detail-item>i {
    width: 18px;
    height: 18px;
    color: var(--accent);
}

.calendar-detail-item small {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.calendar-detail-item strong {
    display: block;
    color: var(--text);
    font-size: .9rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.calendar-detail-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 8px;
    color: var(--text);
    font-weight: 800;
}

.calendar-detail-pill::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--event-color, var(--accent));
    box-shadow: 0 0 12px var(--event-color, var(--accent));
}

.calendar-detail-subtitle-text {
    color: var(--muted);
}

.calendar-detail-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 3px 8px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: var(--text);
    background: rgba(255, 255, 255, .06);
    font-size: .75rem;
    font-weight: 800;
}

.calendar-notification-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.calendar-notification-option {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
    color: var(--text);
    font-size: .84rem;
    font-weight: 800;
}

.calendar-notification-option input {
    width: 16px;
    height: 16px;
    accent-color: var(--accent);
}

@media (max-width: 700px) {
    .calendar-detail-grid {
        grid-template-columns: 1fr;
    }

    .calendar-notification-options {
        grid-template-columns: 1fr;
    }
}

.calendar-list-item,
.calendar-legend-item,
.calendar-attachment-item {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.calendar-list-item strong,
.calendar-legend-item strong,
.calendar-attachment-item strong {
    display: block;
    overflow-wrap: anywhere;
}

.calendar-dot {
    width: 10px;
    height: 10px;
    margin-top: 5px;
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 0 10px currentColor;
}

.calendar-category-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px 44px;
    gap: 8px;
}

.calendar-category-form .form-control-color {
    min-height: 42px;
    padding: 6px;
}

.calendar-multi-select {
    min-height: 96px;
}

.toast-message {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1080;
    max-width: min(360px, calc(100vw - 36px));
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    box-shadow: var(--shadow);
}

body.is-saving {
    cursor: progress;
}

.save-overlay {
    position: fixed;
    inset: 0;
    z-index: 7000;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(3, 5, 9, .58);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    transition: opacity .16s ease, visibility .16s ease;
}

.save-overlay.is-active {
    opacity: 1;
    pointer-events: all;
    visibility: visible;
}

.save-overlay-panel {
    display: grid;
    justify-items: center;
    gap: 10px;
    width: min(280px, calc(100vw - 40px));
    padding: 22px 20px;
    border: 1px solid rgba(184, 222, 24, .24);
    border-radius: 8px;
    background: rgba(11, 14, 22, .92);
    box-shadow: 0 22px 70px rgba(0, 0, 0, .45);
    text-align: center;
}

.save-overlay-panel strong {
    color: var(--snow);
    font-size: 17px;
    font-weight: 900;
}

.save-overlay-panel span:last-child {
    color: var(--muted);
    font-size: 13px;
}

.save-overlay-spinner {
    width: 42px;
    height: 42px;
    border: 4px solid rgba(255, 255, 255, .16);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: save-overlay-spin .8s linear infinite;
}

@keyframes save-overlay-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .save-overlay,
    .save-overlay-spinner {
        transition: none;
        animation-duration: 1.6s;
    }
}

@media (max-width: 1200px) {
    .calendar-filter-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .calendar-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .calendar-filter-grid {
        grid-template-columns: 1fr;
    }

    .calendar-panel {
        min-height: 620px;
        padding: 12px;
    }

    #corporateCalendar {
        min-height: 560px;
    }

    #view-calendar .fc .fc-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    #view-calendar .fc .fc-toolbar-chunk {
        display: flex;
        justify-content: center;
    }
}
.route-food-scenarios{grid-column:1/-1;display:grid;gap:6px;margin-top:6px}
.route-food-scenarios>div{display:grid;grid-template-columns:minmax(160px,1fr) 70px repeat(3,minmax(120px,.6fr));gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}
.route-food-scenarios>div:first-child{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;background:transparent}
.route-food-scenarios span,.route-food-scenarios strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-food-scenarios input{height:34px;min-width:0;text-align:center}
@media(max-width:800px){.route-food-scenarios{overflow-x:auto}.route-food-scenarios>div{min-width:700px}}

.player-items-general-filters {
    display: grid;
    grid-template-columns: minmax(210px, 1.2fr) minmax(170px, .9fr) minmax(100px, .5fr) minmax(80px, .4fr) minmax(320px, 2fr) minmax(130px, .7fr);
    gap: 8px;
    margin: 0 0 10px;
}

.player-items-general-filters .form-control {
    min-height: 34px;
    padding: 6px 9px;
    font-size: 12px;
}

#view-player-items-general .data-table {
    table-layout: fixed;
    min-width: 1180px;
}

#view-player-items-general .data-table th:nth-child(1),
#view-player-items-general .data-table td:nth-child(1) { width: 20%; }
#view-player-items-general .data-table th:nth-child(2),
#view-player-items-general .data-table td:nth-child(2) { width: 17%; }
#view-player-items-general .data-table th:nth-child(3),
#view-player-items-general .data-table td:nth-child(3) { width: 9%; }
#view-player-items-general .data-table th:nth-child(4),
#view-player-items-general .data-table td:nth-child(4) { width: 7%; }
#view-player-items-general .data-table th:nth-child(5),
#view-player-items-general .data-table td:nth-child(5) { width: 37%; }
#view-player-items-general .data-table th:nth-child(6),
#view-player-items-general .data-table td:nth-child(6) { width: 10%; }

#view-player-items-general .data-table td {
    padding-top: 9px;
    padding-bottom: 9px;
    vertical-align: top;
}

.table-sort-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
}

.table-sort-btn::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    opacity: .35;
}

.table-sort-btn[data-sort-direction="asc"]::after {
    border-bottom: 6px solid currentColor;
    opacity: .9;
}

.table-sort-btn[data-sort-direction="desc"]::after {
    border-top: 6px solid currentColor;
    opacity: .9;
}

.player-items-distribution {
    display: grid;
    gap: 8px;
    align-items: start;
}

.player-items-distribution.can-expand {
    grid-template-columns: 30px minmax(0, 1fr);
}

.player-items-distribution.no-expand {
    grid-template-columns: minmax(0, 1fr);
}

.player-items-expand-btn {
    font-family: var(--mono);
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.player-items-distribution > div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    max-height: 54px;
    overflow: hidden;
}

.player-items-distribution.expanded > div {
    max-height: 220px;
    overflow: auto;
    padding-right: 3px;
}

.player-items-location-chip,
.player-items-location-more {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
    padding: 3px 6px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px;
    background: rgba(255,255,255,.035);
    color: var(--muted);
    font-size: 11px;
    line-height: 1.2;
}

.player-items-location-chip code {
    max-width: 150px;
    overflow: hidden;
    color: #ff4f9a;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.player-items-location-chip strong {
    color: var(--text);
    font-size: 11px;
}

.player-items-location-more {
    color: var(--accent);
    font-weight: 800;
}

.player-items-general-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
}

.player-items-general-footer .form-select {
    width: 92px;
    min-height: 34px;
    padding: 5px 28px 5px 9px;
    font-size: 12px;
}

@media (max-width: 900px) {
    .player-items-general-filters,
    .player-items-general-footer {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }
}

#routeRunModal .route-run-modal-dialog{width:calc(100vw - 32px);max-width:1600px;margin:16px auto}
#routeRunModal .modal-content{height:calc(100dvh - 32px);max-height:none}
#routeRunModal .modal-header,#routeRunModal .modal-footer{padding:14px 20px}
#routeRunModal .modal-body.pt-0{padding:0 20px 16px}
#routeRunModal .route-run-blips-head{position:sticky;top:0;z-index:6;padding:10px 0;background:var(--surface)}
#routeRunModal .route-run-blips-head .route-run-section-title{justify-content:space-between;margin-bottom:0}
#routeRunModal [data-route-blips]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#routeRunModal [data-route-saved-blips]{margin-bottom:14px}
#routeRunModal .route-saved-blips-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--accent)}
#routeRunModal .route-saved-blips-head span{display:block;margin-top:2px;color:var(--muted);font-size:12px}
#routeRunModal .route-saved-blips-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:190px;overflow:auto;padding-right:4px}
#routeRunModal .route-saved-blip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:rgba(187,222,26,.06)}
#routeRunModal .route-saved-blip b{color:var(--accent)}
#routeRunModal .route-saved-blip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}
#routeRunModal .route-saved-blip strong{font-size:12px}
#routeRunModal .route-saved-blips-list{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:6px}
#routeRunModal .route-saved-blip{grid-template-columns:24px minmax(0,1fr) auto;gap:5px;min-height:50px;padding:6px}
#routeRunModal .route-saved-blip>.route-item-icon{width:24px;height:24px;min-width:24px;border-radius:6px}
#routeRunModal .route-saved-blip>.route-item-icon img{width:20px;height:20px}
#routeRunModal .route-saved-blip>div{min-width:0}
#routeRunModal .route-saved-blip>div b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--snow);font-size:11px}
#routeRunModal .route-saved-blip>div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9.5px;line-height:1.1}
#routeRunModal .route-saved-blip>strong{grid-column:3;grid-row:1;text-align:right;color:var(--snow);font-size:11px}
#routeRunModal .route-saved-blip>em{display:block;grid-column:3;grid-row:2;text-align:right;color:var(--accent);font-size:10px;font-style:normal;font-weight:900}
#routeRunModal .route-saved-blip>.route-saved-blip-value{grid-column:1/-1;display:block;min-width:0;text-align:right;color:var(--snow);font-size:11px;font-weight:900;line-height:1;white-space:nowrap}
#routeRunModal .route-blip-card{min-width:0;padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}
#routeRunModal .route-blip-head{display:grid;grid-template-columns:auto minmax(140px,1fr) auto 90px auto;gap:8px;align-items:center;margin-bottom:8px}
#routeRunModal .route-tool-used{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;margin:6px 0;font-size:12px}
#routeRunModal .route-tool-used span{color:var(--muted)}
#routeRunModal .route-consumable-fields{display:grid;grid-template-columns:minmax(180px,1.4fr) 90px 110px auto;gap:8px;align-items:end;margin:8px 0}
#routeRunModal .route-blip-fields{grid-template-columns:minmax(180px,1.4fr) 90px 110px auto;gap:8px}
#routeRunModal .route-blip-costs{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:8px}
#routeRunModal .route-blip-costs>[data-blip-food-details],#routeRunModal .route-blip-costs>[data-blip-tool-break-details]{flex-basis:100%}
#routeRunModal .route-food-items{display:grid;gap:6px}
#routeRunModal .route-food-items>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.03)}
#routeRunModal .route-food-items span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#routeRunModal .route-food-items strong{white-space:nowrap}
#routeRunModal .route-food-prices{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;text-align:right}
@media(max-width:1100px){#routeRunModal [data-route-blips],#routeRunModal .route-saved-blips-list{grid-template-columns:1fr}}
@media(max-width:650px){#routeRunModal .route-run-modal-dialog{width:calc(100vw - 12px);margin:6px auto}#routeRunModal .modal-content{height:calc(100dvh - 12px)}#routeRunModal .modal-header,#routeRunModal .modal-footer{padding:12px}#routeRunModal .modal-body.pt-0{padding:0 12px 12px}#routeRunModal .route-blip-head{grid-template-columns:auto 1fr auto}#routeRunModal .route-blip-head .badge-soft,#routeRunModal .route-blip-head [name="blipMinutes"]{grid-column:2/-1}#routeRunModal .route-consumable-fields,#routeRunModal .route-blip-fields{grid-template-columns:1fr}}

.economic-cost-category {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-muted);
    color: var(--text);
    text-align: left;
}

.economic-cost-category.active,
.economic-cost-category:hover {
    border-color: rgba(184, 222, 24, .42);
    background: var(--accent-soft);
}

.economic-cost-category strong,
.economic-cost-category small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.economic-cost-category small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
}

.economic-cost-category-row .template-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.economic-cost-category-row .action-btn[aria-label] {
    width: 38px;
    height: 38px;
    padding: 0;
    justify-content: center;
}

.economic-cost-item-name {
    min-width: 180px;
    max-width: 280px;
}

.economic-cost-item-description {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.badge-soft.economic-status-badge {
    border-color: rgba(32, 192, 96, .5);
    background: rgba(32, 192, 96, .14);
    color: #47d87a;
}

.salary-workspace {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.salary-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(184, 222, 24, .09), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01)),
        var(--surface);
    box-shadow: var(--shadow);
}

.salary-hero-copy h2 {
    margin: 3px 0 6px;
    color: var(--snow);
    font-size: 24px;
    line-height: 1.12;
    font-weight: 900;
}

.salary-hero-copy p {
    max-width: 640px;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.salary-hero-actions {
    display: grid;
    grid-template-columns: minmax(220px, 300px) auto;
    gap: 10px;
    align-items: end;
}

.salary-filter {
    min-width: 0;
}

.salary-filter span,
.salary-section-label,
.salary-stat span,
.salary-money-grid span,
.salary-snapshot-row span,
.salary-snapshot-highlight span {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.salary-filter span {
    margin-bottom: 6px;
}

.salary-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.salary-stat {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.salary-stat-icon,
.salary-company-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(184, 222, 24, .26);
    border-radius: 8px;
    background: rgba(184, 222, 24, .09);
    color: var(--accent);
}

.salary-stat:nth-child(2) .salary-stat-icon {
    border-color: rgba(0, 196, 255, .24);
    background: rgba(0, 196, 255, .08);
    color: var(--info);
}

.salary-stat:nth-child(3) .salary-stat-icon {
    border-color: rgba(245, 160, 32, .28);
    background: rgba(245, 160, 32, .09);
    color: var(--warning);
}

.salary-stat:nth-child(4) .salary-stat-icon {
    border-color: rgba(32, 192, 96, .24);
    background: rgba(32, 192, 96, .08);
    color: var(--success);
}

.salary-stat strong {
    display: block;
    margin-top: 5px;
    color: var(--snow);
    font-size: 21px;
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.salary-stat small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}

.salary-board {
    display: grid;
    grid-template-columns: minmax(260px, .42fr) minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
}

.salary-snapshot,
.salary-record,
.salary-empty {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.salary-snapshot {
    display: grid;
    align-content: start;
    gap: 0;
    min-width: 0;
    padding: 16px;
}

.salary-snapshot h3,
.salary-list-head h3,
.salary-record h3 {
    margin: 4px 0 0;
    color: var(--snow);
    font-size: 16px;
    line-height: 1.25;
    font-weight: 850;
}

.salary-snapshot p {
    margin: 6px 0 12px;
    color: var(--muted);
    font-size: 13px;
}

.salary-snapshot-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-top: 1px solid var(--border);
}

.salary-snapshot-row strong {
    color: var(--text);
    font-size: 13px;
    text-align: right;
    overflow-wrap: anywhere;
}

.salary-snapshot-highlight {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(184, 222, 24, .24);
    border-radius: 8px;
    background: rgba(184, 222, 24, .07);
}

.salary-snapshot-highlight strong {
    display: block;
    margin: 6px 0 4px;
    color: var(--accent);
    font-size: 18px;
    line-height: 1.1;
}

.salary-snapshot-highlight small {
    display: block;
    color: var(--muted);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.salary-register {
    min-width: 0;
}

.salary-list-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: end;
    margin-bottom: 10px;
    padding: 0 2px;
}

.salary-page-indicator {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--muted);
    background: rgba(255, 255, 255, .025);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.salary-record-list {
    display: grid;
    gap: 10px;
}

.salary-record {
    display: grid;
    grid-template-columns: minmax(240px, .9fr) minmax(340px, 1.2fr) auto;
    gap: 14px;
    align-items: center;
    min-width: 0;
    padding: 14px;
}

.salary-record.is-inactive {
    opacity: .68;
}

.salary-record-main {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.salary-record p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.salary-record-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.salary-record-meta > span:not(.badge-soft) {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    background: rgba(255, 255, 255, .025);
    font-size: 11px;
    font-weight: 750;
}

.salary-money-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.salary-money-grid > div {
    min-width: 0;
    padding: 9px 10px;
    border-left: 2px solid rgba(184, 222, 24, .34);
    border-radius: 6px;
    background: rgba(255, 255, 255, .025);
}

.salary-money-grid strong {
    display: block;
    margin-top: 4px;
    color: var(--text);
    font-size: 13px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.salary-record-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.salary-record-actions .action-btn {
    min-height: 38px;
}

.salary-record-actions .action-btn.danger {
    border-color: rgba(232, 64, 64, .42);
    background: rgba(232, 64, 64, .12);
    color: #ff9b9b;
}

.salary-empty {
    display: grid;
    place-items: center;
    gap: 7px;
    min-height: 190px;
    padding: 28px;
    color: var(--muted);
    text-align: center;
}

.salary-empty strong {
    color: var(--snow);
    font-size: 15px;
}

.salary-pager {
    justify-content: flex-end;
    margin-top: 12px;
}

@media (max-width: 1180px) {
    .salary-board,
    .salary-record {
        grid-template-columns: 1fr;
    }

    .salary-record-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 780px) {
    .salary-hero,
    .salary-hero-actions {
        grid-template-columns: 1fr;
    }

    .salary-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .salary-money-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .salary-overview,
    .salary-money-grid {
        grid-template-columns: 1fr;
    }

    .salary-list-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .salary-record-main {
        grid-template-columns: 1fr;
    }

    .salary-record-actions .action-btn {
        flex: 1 1 120px;
    }
}

.ai-module-shell {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.ai-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.ai-tabs button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--muted);
    font-weight: 850;
}

.ai-tabs button.active,
.ai-tabs button:hover {
    border-color: rgba(184, 222, 24, .32);
    background: rgba(184, 222, 24, .08);
    color: var(--accent);
}

.ai-metric-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.ai-metric {
    min-width: 0;
    min-height: 106px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.ai-metric span,
.ai-topic-card small,
.ai-roadmap span {
    color: var(--muted);
    font-size: 12px;
}

.ai-metric > span {
    display: block;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ai-metric strong {
    display: block;
    margin-top: 12px;
    color: var(--snow);
    font-size: 24px;
    line-height: 1;
    overflow-wrap: anywhere;
}

.ai-metric small {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-size: 12px;
}

.ai-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 14px;
    min-width: 0;
}

.ai-chart {
    min-width: 0;
}

.ai-ranking {
    display: grid;
    gap: 8px;
}

.ai-ranking-item,
.ai-roadmap article {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.ai-ranking-item {
    width: 100%;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ai-ranking-item:hover,
.ai-ranking-item:focus-visible {
    background: rgba(184, 222, 24, .06);
}

.ai-ranking-item:focus-visible {
    outline: 1px solid rgba(184, 222, 24, .5);
    outline-offset: -1px;
}

.ai-ranking b,
.ai-roadmap b {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 8px;
    background: rgba(184, 222, 24, .1);
    color: var(--accent);
    font-size: 12px;
}

.ai-ranking-item span,
.ai-roadmap strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ai-ranking-item strong,
.ai-roadmap em {
    color: var(--snow);
    font-style: normal;
    font-weight: 850;
    white-space: nowrap;
}

.ai-bar-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 9px 0 13px;
    border-bottom: 1px solid var(--border);
}

.ai-bar-row span,
.ai-bar-row strong {
    position: relative;
    z-index: 1;
}

.ai-bar-row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ai-bar-row i {
    position: absolute;
    left: 0;
    bottom: 4px;
    height: 4px;
    border-radius: 999px;
    background: var(--accent);
    opacity: .76;
}

.ai-topic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ai-topic-grid.one-column {
    grid-template-columns: 1fr;
}

.ai-topic-card {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.ai-topic-head {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.ai-topic-head > span {
    width: 10px;
    height: 42px;
    border-radius: 999px;
    background: var(--topic-color, var(--accent));
}

.ai-topic-head h3 {
    margin: 0 0 5px;
    color: var(--snow);
    font-size: 16px;
    line-height: 1.25;
}

.ai-topic-head p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.ai-topic-head strong {
    color: var(--accent);
    font-size: 20px;
    line-height: 1;
}

.ai-topic-meta,
.keyword-cloud.compact {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.ai-form,
.ai-settings,
.ai-assistant {
    display: grid;
    gap: 12px;
}

.ai-form label,
.ai-settings label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.ai-inline-select {
    width: auto;
    min-width: 160px;
}

.ai-list-section {
    display: grid;
    gap: 12px;
}

.ai-list-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.ai-list-footer > span {
    white-space: nowrap;
}

.ai-pager {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.ai-pager .action-btn {
    min-height: 34px;
    padding: 7px 10px;
}

.ai-official-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 440px);
    align-items: start;
}

.ai-official-list {
    min-width: 0;
}

.ai-official-form {
    position: sticky;
    top: 12px;
    gap: 10px;
    padding: 16px;
}

.ai-official-form .panel-head {
    margin-bottom: 0;
}

.ai-official-form-grid {
    gap: 10px;
}

.ai-official-form .form-control,
.ai-official-form .form-select {
    min-height: 38px;
}

.ai-official-form textarea.form-control {
    min-height: 84px;
    resize: vertical;
}

.ai-official-form textarea[name="notes"] {
    min-height: 66px;
}

.ai-roadmap {
    display: grid;
    gap: 4px;
}

.ai-assistant-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.ai-answer {
    min-height: 160px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.ai-summary-list {
    display: grid;
    gap: 10px;
}

.ai-summary-list article {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.ai-summary-list strong,
.ai-summary-list span {
    display: block;
}

.ai-summary-list span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
}

.ai-summary-list p {
    margin: 10px 0 0;
    white-space: pre-wrap;
}

.ai-topic-detail {
    display: grid;
    gap: 14px;
}

.ai-topic-detail-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.ai-topic-detail-summary > div,
.ai-topic-detail-block,
.ai-topic-suggestion {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.ai-topic-detail-summary span,
.ai-topic-suggestion-head span {
    display: block;
    color: var(--muted);
    font-size: 12px;
}

.ai-topic-detail-summary strong {
    display: block;
    margin-top: 6px;
    color: var(--snow);
    font-size: 20px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.ai-topic-detail-block > p,
.ai-topic-suggestion p {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.55;
}

.ai-topic-suggestion-list {
    display: grid;
    gap: 10px;
}

.ai-topic-suggestion-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.ai-topic-suggestion-head strong {
    min-width: 0;
    color: var(--snow);
    line-height: 1.35;
}

.ai-topic-suggestion-head span {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 1200px) {
    .ai-metric-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .ai-layout,
    .ai-topic-grid {
        grid-template-columns: 1fr;
    }

    .ai-official-form {
        position: static;
    }
}

@media (max-width: 680px) {
    .ai-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ai-tabs {
        align-items: stretch;
        flex-direction: column;
    }

    .ai-assistant-form {
        grid-template-columns: 1fr;
    }

    .ai-list-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .ai-pager {
        justify-content: flex-start;
    }

    .ai-assistant-form .action-btn {
        width: 100%;
    }

    .ai-topic-detail-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ai-topic-suggestion-head {
        display: grid;
    }
}

.topbar {
    max-width: 100%;
}

.search-wrap {
    min-width: 0;
}

.search-field {
    min-width: 0;
}

@media (max-width: 1440px) {
    :root {
        --sidebar: 236px;
    }

    .main {
        padding: 18px clamp(14px, 2vw, 28px);
    }

    h1 {
        font-size: clamp(32px, 3vw, 46px);
    }

    .illegal-group-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }
}

@media (max-width: 1180px) {
    .status-strip,
    .kpi-grid,
    .metric-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grid-12 > [class*="span-"] {
        grid-column: span 6;
    }

    .page-head {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 960px) {
    body:not(.login-page) .app {
        display: block;
    }

    body:not(.login-page) .main {
        width: 100%;
        padding: 12px;
    }

    .sidebar {
        max-width: calc(100vw - 32px);
    }

    .topbar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        position: sticky;
        top: 8px;
        z-index: 800;
    }

    .top-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .top-actions .icon-btn,
    .top-actions .action-btn {
        flex: 1 1 44px;
    }

    .filters,
    .status-strip,
    .kpi-grid,
    .metric-row,
    .mode-grid,
    .player-grid,
    .evidence-grid,
    .wiki-grid,
    .assistant-layout,
    .economy-shell {
        grid-template-columns: 1fr;
    }

    .grid-12 > [class*="span-"] {
        grid-column: 1 / -1;
    }

    .modal-dialog {
        margin: 10px;
    }

    .modal-xl,
    .modal-lg {
        --bs-modal-width: calc(100vw - 20px);
    }
}

@media (max-width: 720px) {
    body:not(.login-page) .main {
        padding: 8px;
    }

    .page-head,
    .panel,
    .metric-tile,
    .kpi,
    .mission {
        border-radius: 12px;
        padding: 12px;
    }

    h1 {
        font-size: clamp(27px, 8vw, 34px);
        line-height: 1.05;
    }

    .page-copy,
    .panel-subtitle {
        font-size: 13px;
    }

    .illegal-group-grid {
        grid-template-columns: 1fr;
    }

    .illegal-group-card {
        padding: 16px;
    }

    .illegal-card-head {
        grid-template-columns: 46px minmax(0, 1fr);
    }

    .illegal-card-avatar {
        width: 46px;
        height: 46px;
    }

    .illegal-group-meta div {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4px;
    }

    #recordModal .modal-dialog {
        width: calc(100vw - 16px);
        margin: 8px auto;
    }

    .discord-body {
        grid-template-columns: 1fr !important;
    }

    .discord-preview {
        border-left: 0;
        border-top: 1px solid var(--border);
    }
}

@media (max-width: 560px) {
    .top-actions {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .top-actions .action-btn {
        min-width: 0;
    }

    .top-actions .action-btn span {
        display: none;
    }

    .search-field {
        font-size: 14px;
    }

    .map-workspace {
        height: calc(100dvh - 16px) !important;
        min-height: 500px;
        border-radius: 12px;
    }

    .map-compact-tools {
        top: 10px;
        left: 10px;
    }

    .map-right-tools {
        top: 10px;
        right: 10px;
    }

    .map-side-panel {
        left: 10px !important;
        right: 10px !important;
        bottom: 10px;
        width: auto !important;
        max-height: 52dvh;
        padding: 12px;
    }

    .map-side-panel.is-collapsed {
        min-width: 0;
        width: auto !important;
    }

    .map-filter-tabs {
        gap: 6px;
    }

    .map-filter-tabs button {
        font-size: 11px;
        padding: 6px 9px;
    }
}

/* Correções finais de responsividade pós-modularização */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body:not(.login-page) .app,
body:not(.login-page) .main,
.view,
.page-head,
.status-strip,
.mission,
.kpi-grid,
.grid-12,
.panel,
.metric-tile,
.table-wrap {
    max-width: 100%;
    min-width: 0;
}

.page-head > *,
.mission > *,
.status-strip > *,
.kpi-grid > *,
.grid-12 > *,
.panel > *,
.topbar > * {
    min-width: 0;
    max-width: 100%;
}

h1,
h2,
h3,
p,
.panel-title,
.mission h2,
.page-copy {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none;
}

#view-map.active .map-workspace {
    display: block !important;
}

#view-map.active .map-static-fallback {
    display: block !important;
    visibility: visible !important;
}

#view-map.active .map-static-fallback.is-loaded,
.map-static-fallback.is-loaded {
    display: none !important;
    visibility: hidden !important;
}

@media (max-width: 960px) {
    body:not(.login-page) .app {
        display: block !important;
        width: 100%;
    }

    body:not(.login-page) .main {
        width: 100% !important;
        max-width: 100vw !important;
        padding: 10px !important;
    }

    .view.active {
        display: block;
        width: 100%;
    }

    .topbar {
        width: 100%;
        max-width: 100%;
        grid-template-columns: 1fr !important;
        align-items: stretch;
    }

    .top-actions {
        width: 100%;
        justify-content: stretch;
    }

    .page-head,
    .status-strip,
    .mission,
    .kpi-grid,
    .metric-row,
    .filters,
    .assistant-layout,
    .economy-shell {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .mission {
        min-height: 0;
        overflow: visible;
    }

    .city-visual {
        display: none;
    }

    .grid-12 {
        grid-template-columns: 1fr !important;
    }

    .grid-12 > *,
    .grid-12 > [class*="span-"] {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 640px) {
    .topbar {
        padding: 10px;
        border-radius: 14px;
    }

    .top-actions {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .top-actions .icon-btn,
    .top-actions .action-btn {
        width: 100%;
        min-width: 0;
        padding: 0 8px;
    }

    .search-field {
        height: 48px;
        font-size: 15px;
        text-overflow: ellipsis;
    }

    .page-head {
        margin-top: 12px;
        padding: 16px !important;
        border-radius: 16px !important;
    }

    h1 {
        max-width: 100%;
        font-size: clamp(32px, 10vw, 44px) !important;
        line-height: 1.02 !important;
        letter-spacing: -.04em;
    }

    .mission h2 {
        font-size: clamp(26px, 8vw, 36px) !important;
        line-height: 1.05 !important;
    }

    .page-copy,
    .mission p {
        max-width: 100%;
        font-size: 14px;
        line-height: 1.45;
    }

    .panel,
    .metric-tile,
    .mini-stat,
    .kpi,
    .mission {
        width: 100% !important;
        padding: 14px !important;
        border-radius: 16px !important;
    }

    .map-workspace {
        width: 100% !important;
        height: calc(100dvh - 20px) !important;
        min-height: 520px !important;
        border-radius: 16px !important;
    }
}

@media (max-width: 420px) {
    body:not(.login-page) .main {
        padding: 8px !important;
    }

    h1 {
        font-size: clamp(30px, 11vw, 40px) !important;
    }

    .mission h2 {
        font-size: clamp(24px, 9vw, 34px) !important;
    }
}

/* ==========================================================================
   Auditoria responsiva - camada de compatibilidade
   Mantem o visual existente, mas normaliza largura, overflow e mapa em
   mobile/tablet/desktop apos a separacao dos modulos PHP.
   ========================================================================== */

:root {
    --content-max: 2200px;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

body:not(.login-page) {
    min-width: 0;
}

body:not(.login-page) .main {
    inline-size: 100%;
    max-inline-size: var(--content-max);
}

.view.active,
.page-head,
.panel,
.metric-tile,
.mini-stat,
.kpi,
.mission,
.table-wrap,
.grafana-frame-card,
.modal-content {
    min-inline-size: 0;
    max-inline-size: 100%;
}

.table-wrap,
.dataTables_wrapper,
.dt-layout-table,
.table-responsive {
    max-inline-size: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-wrap table,
.dataTables_wrapper table {
    inline-size: 100%;
}

.action-btn,
.icon-btn,
.nav-link,
.badge-soft,
.delta {
    white-space: normal;
}

.modal-dialog {
    max-width: min(var(--bs-modal-width, 900px), calc(100vw - 24px));
}

.modal-content {
    max-height: calc(100dvh - 24px);
    overflow: hidden;
}

.modal-body {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.form-control,
.form-select,
textarea,
input,
select {
    min-width: 0;
    max-width: 100%;
}

.map-workspace {
    isolation: isolate;
}

.map-static-fallback {
    object-fit: contain;
}

#operationsMap {
    touch-action: none;
}

.map-compact-tools,
.map-right-tools,
.map-side-panel {
    max-width: calc(100% - 24px);
}

.map-workspace .leaflet-container,
.map-workspace .leaflet-pane,
.map-workspace .leaflet-map-pane {
    max-width: 100%;
}

.leaflet-popup-content-wrapper {
    max-width: min(320px, calc(100vw - 32px));
}

.leaflet-popup-content {
    max-width: calc(100vw - 64px);
}

@media (min-width: 1920px) {
    body:not(.login-page) .main {
        margin-inline: auto;
    }

    .grid-12 {
        gap: 16px;
    }
}

@media (max-width: 1200px) {
    .status-strip {
        grid-template-columns: 1fr 1fr !important;
    }

    .kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .illegal-group-grid {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)) !important;
    }
}

@media (max-width: 1024px) {
    body:not(.login-page) .app {
        grid-template-columns: 1fr !important;
    }

    .sidebar {
        position: fixed !important;
        inset: 0 auto 0 0;
        width: min(var(--sidebar), calc(100vw - 34px));
        transform: translateX(-110%);
        transition: transform .22s ease;
        z-index: 1000;
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .backdrop.show {
        display: block;
        opacity: 1;
        pointer-events: auto;
        z-index: 990;
    }

    .mobile-menu {
        display: inline-flex !important;
    }

    .mobile-sidebar-toggle {
        display: inline-flex !important;
    }

    .topbar {
        grid-template-columns: 1fr auto !important;
        position: sticky;
        top: 8px;
    }
}

@media (max-width: 768px) {
    body:not(.login-page) .main {
        padding: 10px !important;
    }

    .topbar {
        grid-template-columns: 1fr !important;
        gap: 10px;
        border-radius: 16px;
    }

    .top-actions {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        justify-content: stretch;
    }

    .top-actions > * {
        min-width: 0;
    }

    .search-field {
        padding-right: 10px;
    }

    .page-head {
        grid-template-columns: 1fr !important;
        align-items: start;
    }

    .status-strip,
    .kpi-grid,
    .metric-row,
    .filters,
    .mode-grid,
    .player-grid,
    .evidence-grid,
    .wiki-grid,
    .assistant-layout,
    .economy-shell,
    .mission {
        grid-template-columns: 1fr !important;
    }

    .city-visual {
        min-height: 110px;
    }

    .chart-box,
    .chart-box.compact {
        min-height: 220px;
    }

    .map-workspace {
        height: calc(100dvh - 20px) !important;
        min-height: 540px !important;
        border-radius: 16px;
    }

    body.map-view .main {
        padding: 8px !important;
    }

    .map-compact-tools {
        top: 12px;
        left: 12px;
        z-index: 700;
    }

    .map-right-tools {
        top: 12px;
        right: 12px;
        z-index: 700;
    }

    .map-side-panel {
        top: auto !important;
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        width: auto !important;
        max-height: min(52dvh, 430px);
        z-index: 650;
        overflow: auto;
    }

    .map-side-panel.is-collapsed {
        min-width: 0 !important;
        width: auto !important;
    }
}

@media (max-width: 480px) {
    body:not(.login-page) .main {
        padding: 8px !important;
    }

    .top-actions {
        grid-template-columns: repeat(4, minmax(42px, 1fr));
    }

    .top-actions .action-btn span {
        display: none;
    }

    .page-head,
    .panel,
    .metric-tile,
    .mini-stat,
    .kpi,
    .mission {
        padding: 12px !important;
        border-radius: 14px !important;
    }

    h1 {
        font-size: clamp(30px, 12vw, 42px) !important;
        line-height: 1.03 !important;
    }

    .mission h2 {
        font-size: clamp(24px, 10vw, 34px) !important;
    }

    .panel-head,
    .queue-item,
    .illegal-group-meta div {
        grid-template-columns: 1fr !important;
        flex-direction: column;
        align-items: flex-start;
    }

    .map-filter-tabs {
        display: flex;
        overflow-x: auto;
        white-space: nowrap;
    }

    .map-pin-list {
        max-height: 34dvh;
    }
}

/* Mantem a navegação lateral presa ao viewport em páginas longas. */
@media (min-width: 1024.02px) {
    body:not(.login-page) .app {
        display: block;
        min-height: 100dvh;
    }

    body:not(.login-page) .sidebar {
        position: fixed !important;
        inset: 0 auto 0 0;
        width: var(--sidebar);
        height: 100dvh;
        max-height: 100dvh;
        transform: none !important;
        z-index: 1000;
    }

    body:not(.login-page) .main {
        margin-left: var(--sidebar);
        width: calc(100vw - var(--sidebar));
        max-width: calc(100vw - var(--sidebar));
        min-height: 100dvh;
        box-sizing: border-box;
        overflow-x: hidden;
    }
}

/* Ajuste responsivo especifico da listagem de grupos ilegais. */
#view-illegal-list {
    max-width: 100%;
    overflow-x: hidden;
}

#view-illegal-list .page-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    min-width: 0;
}

#view-illegal-list .page-head > div:first-child {
    min-width: min(100%, 320px);
    flex: 1 1 360px;
}

#view-illegal-list .template-actions {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    max-width: 100%;
    margin-left: auto;
}

#view-illegal-list .template-actions .action-btn {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
}

#view-illegal-list .filters,
.illegal-member-filters {
    grid-template-columns: minmax(260px, 1.6fr) minmax(180px, .7fr) minmax(180px, .7fr);
    max-width: 100%;
}

#view-illegal-list .illegal-filters {
    max-width: 100%;
}

#view-illegal-list .illegal-group-grid {
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
}

#view-illegal-list .illegal-group-card,
#view-illegal-list .illegal-card-head,
#view-illegal-list .illegal-card-head > div,
#view-illegal-list .illegal-group-meta,
#view-illegal-list .illegal-group-meta div,
#view-illegal-list .illegal-group-meta strong {
    min-width: 0;
}

#view-illegal-list .illegal-group-card h3,
#view-illegal-list .illegal-card-id,
#view-illegal-list .illegal-group-meta strong {
    overflow-wrap: anywhere;
}

#view-illegal-list .illegal-group-meta div {
    align-items: flex-start;
}

#view-illegal-list .illegal-group-meta span {
    flex: 0 0 auto;
}

#view-illegal-list .illegal-group-meta strong {
    text-align: right;
}

.illegal-members-list {
    min-width: 0;
}

#illegalMembersModal .modal-content {
    max-height: calc(100dvh - 32px);
}

#illegalMembersModal .modal-body {
    overflow-y: auto;
}

.illegal-members-table {
    max-height: min(62dvh, 680px);
    overflow: auto;
}

.illegal-members-table th {
    white-space: nowrap;
}

.illegal-members-table td {
    overflow-wrap: anywhere;
}

@media (max-width: 1280px) {
    #view-illegal-list .page-head {
        align-items: flex-start;
    }

    #view-illegal-list .template-actions {
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }

    #view-illegal-list .illegal-group-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
        gap: 14px;
    }
}

@media (max-width: 640px) {
    #view-illegal-list .template-actions .action-btn,
    #view-illegal-list .illegal-filters .action-btn {
        width: 100%;
    }

    #view-illegal-list .filters,
    .illegal-member-filters {
        grid-template-columns: 1fr;
    }

    #view-illegal-list .illegal-group-meta div {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4px;
    }

    #view-illegal-list .illegal-group-meta strong {
        text-align: left;
    }
}

/* Ajustes finais do mapa em telas pequenas. */
.map-side-panel {
    box-sizing: border-box;
}

.map-side-panel .panel-title {
    font-size: clamp(18px, 5vw, 24px);
    line-height: 1.1;
}

.map-side-panel .search-field,
.map-side-panel code,
.map-popup-card code {
    overflow-wrap: anywhere;
}

.map-pin-list-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--border);
}

.map-pin-list .map-pin-list-item > button[data-focus-map-pin] {
    border-bottom: 0;
}

.map-pin-list .map-pin-list-item > .map-pin-edit-btn {
    width: auto;
    min-width: 0;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.map-pin-list .map-pin-list-item > .map-pin-edit-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.map-filter-tabs button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.map-filter-tabs button strong {
    min-width: 20px;
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: inherit;
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
}

.map-filter-tabs button.active strong {
    background: rgba(0, 0, 0, .18);
}

.map-pin-group {
    display: grid;
    gap: 2px;
    padding-top: 8px;
}

.map-pin-group + .map-pin-group {
    margin-top: 8px;
}

.map-pin-group-title {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(13, 17, 14, .96);
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.map-pin-group-title strong {
    color: #fff;
}

.map-pin-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 4px 0 2px;
}

.map-pin-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 20px;
    padding: 2px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, .05);
    color: #dfe5df;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

.map-pin-chip.is-server::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--pin-server-color, var(--accent));
}

.map-pin-chip.is-warning {
    border-color: #f5a020;
    color: #f5a020;
}

.map-pin-chip.is-danger {
    border-color: #ff365f;
    color: #ff6b88;
}

.map-area-center-marker {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    background: transparent;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .8)) drop-shadow(0 0 3px rgba(255, 255, 255, .75));
    font-size: 24px;
    line-height: 1;
}

.relevance-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin: 10px 0 12px;
}

.relevance-track {
    height: 9px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
}

.relevance-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #ff365f;
}

.relevance-wrap.excellent .relevance-track span { background: #47d16c; }
.relevance-wrap.good .relevance-track span { background: #00c4ff; }
.relevance-wrap.medium .relevance-track span { background: #f5c542; }
.relevance-wrap.low .relevance-track span { background: #ff365f; }

.relevance-wrap strong {
    min-width: 44px;
    color: #fff;
    font-family: var(--mono);
    font-size: 12px;
    text-align: right;
}

mark {
    padding: 0 3px;
    border-radius: 4px;
    background: rgba(187, 222, 26, .26);
    color: #fff;
}

.skeleton-line,
.skeleton-block {
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(90deg, rgba(255,255,255,.07), rgba(255,255,255,.15), rgba(255,255,255,.07));
    background-size: 200% 100%;
    animation: skeletonPulse 1.1s linear infinite;
}

.skeleton-line {
    height: 16px;
    margin-bottom: 10px;
}

.skeleton-line.short {
    width: 45%;
}

.skeleton-block {
    height: 90px;
}

@keyframes skeletonPulse {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}

.taxonomy-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.taxonomy-card-head .action-btn {
    min-height: 34px;
    padding: 7px 10px;
}

.taxonomy-edit-chip {
    cursor: pointer;
}

.taxonomy-edit-chip i {
    width: 13px;
    height: 13px;
    margin-left: 4px;
    vertical-align: -2px;
}

.item-shop-combobox {
    position: relative;
}

#economicCostItemModal .modal-content {
    display: flex;
    max-height: calc(100dvh - 32px);
    overflow: hidden;
    background: var(--surface);
}

#economicCostItemModal .modal-body {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--surface);
    padding-bottom: 18px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

#economicCostItemModal .modal-header,
#economicCostItemModal .modal-footer {
    flex: 0 0 auto;
    background: var(--surface);
}

#economicCostItemModal .modal-footer {
    position: relative;
    z-index: 4;
}

#economicCostItemModal #economicItemShopRows,
#economicCostItemModal #economicItemCraftRows {
    position: relative;
    z-index: 1;
}

#managementItemCraftModal .modal-body {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 18px 22px 22px;
    padding-bottom: 18px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

#managementItemCraftModal .craft-modal-dialog {
    max-width: min(1180px, calc(100vw - 32px));
}

#managementItemCraftModal .modal-content {
    overflow-x: hidden;
}

#managementItemCraftModal .cost-item-section {
    position: relative;
    min-width: 0;
    overflow-x: clip;
    z-index: 1;
}

#managementItemCraftModal .cost-item-section:has(.item-shop-combobox.open) {
    z-index: 40;
}

#managementItemCraftModal .cost-item-section.has-open-combobox {
    z-index: 40;
}

.craft-modal-main-grid {
    grid-template-columns: minmax(180px, .9fr) minmax(260px, 1.1fr);
}

.craft-modal-output-field,
.craft-modal-item-category-field {
    grid-column: 1 / -1;
}

#managementItemCraftModal .item-shop-combobox-options {
    width: 100%;
    min-width: 100%;
    z-index: 5000;
    border-color: rgba(187,222,26,.7);
    background: #020403;
    box-shadow: 0 22px 46px rgba(0,0,0,.86);
}

#managementItemCraftModal .item-shop-combobox-option {
    align-items: center;
    min-height: 42px;
    white-space: normal;
    word-break: break-word;
}

.craft-requirement-row {
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) minmax(90px, .45fr) minmax(230px, 1fr) minmax(120px, .55fr);
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background: rgba(0,0,0,.16);
    max-width: 100%;
    overflow-x: hidden;
}

.craft-requirement-config-field {
    grid-column: 1 / -1;
}

.craft-requirement-row > div:not(.craft-requirement-quantity-field):not(.craft-requirement-remove-field) {
    min-width: 0;
}

@media (max-width: 768px) {
    #managementItemCraftModal {
        padding: 0 !important;
    }

    #managementItemCraftModal .craft-modal-dialog {
        width: auto;
        max-width: none;
        height: calc(100dvh - 16px);
        min-height: 0;
        margin: 8px;
    }

    #managementItemCraftModal .modal-content {
        height: 100%;
        max-height: 100%;
    }

    #economicCostItemModal {
        padding: 0 !important;
    }

    #economicCostItemModal .modal-dialog {
        width: auto;
        max-width: none;
        height: calc(100dvh - 16px);
        min-height: 0;
        margin: 8px;
    }

    #economicCostItemModal .modal-content {
        height: 100%;
        max-height: 100%;
    }
}

.item-shop-combobox .form-control {
    padding-right: 42px;
}

.item-shop-combobox-toggle {
    position: absolute;
    top: 1px;
    right: 1px;
    display: grid;
    width: 38px;
    height: calc(100% - 2px);
    place-items: center;
    border: 0;
    border-left: 1px solid var(--border);
    border-radius: 0 8px 8px 0;
    background: transparent;
    color: var(--muted);
}

.item-shop-combobox-toggle svg {
    width: 16px;
    height: 16px;
    transition: transform .14s ease;
}

.item-shop-combobox.open .item-shop-combobox-toggle svg {
    transform: rotate(180deg);
}

.economic-config-section {
    display: grid;
    gap: 12px;
}

.economic-switch {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--text);
    font-weight: 700;
}

.economic-switch input[type="checkbox"] {
    width: 42px;
    height: 22px;
    appearance: none;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    background: var(--surface-muted);
    position: relative;
    cursor: pointer;
}

.economic-switch input[type="checkbox"]::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--muted);
    transition: transform .18s ease, background .18s ease;
}

.economic-switch input[type="checkbox"]:checked {
    border-color: rgba(184, 222, 24, .55);
    background: rgba(184, 222, 24, .14);
}

.economic-switch input[type="checkbox"]:checked::before {
    transform: translateX(20px);
    background: var(--accent);
}

#economicJobConfigForm .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text);
    --bs-table-hover-bg: rgba(255, 255, 255, .025);
    --bs-table-hover-color: var(--snow);
    margin-bottom: 0;
    color: var(--text);
}

#economicJobConfigForm .table thead th {
    color: var(--snow);
    background: var(--surface-strong);
    border-color: var(--border-strong);
    font-size: 12px;
    white-space: nowrap;
}

#economicJobConfigForm .table tbody td {
    color: var(--text);
    background: var(--surface-muted);
    border-color: var(--border);
    vertical-align: middle;
}

#economicJobConfigForm .item-shop-combobox {
    min-width: 220px;
}

#economicJobConfigForm .item-shop-combobox .form-control {
    color: var(--snow);
    background: var(--surface);
}

#economicJobConfigForm .item-shop-combobox .form-control::placeholder {
    color: #8da3c4;
    opacity: 1;
}

.economic-multi-select {
    position: relative;
}

.economic-multi-select-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    width: 100%;
    min-height: 44px;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--snow);
    text-align: left;
}

.economic-multi-select-control span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.economic-multi-select-control svg {
    width: 18px;
    height: 18px;
    color: var(--muted);
    transition: transform .16s ease;
}

.economic-multi-select.open .economic-multi-select-control svg {
    transform: rotate(180deg);
}

.economic-multi-select-panel {
    position: absolute;
    z-index: 1300;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    display: grid;
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(187, 222, 26, .38);
    border-radius: 8px;
    background: #050706;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .55);
}

.economic-multi-select-options {
    display: grid;
    max-height: 240px;
    overflow: auto;
}

.economic-multi-select-option {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 36px;
    padding: 8px 9px;
    border-radius: 6px;
    color: var(--text);
    cursor: pointer;
}

.economic-multi-select-option:hover {
    background: rgba(187, 222, 26, .14);
    color: var(--accent);
}

.economic-multi-select-option input {
    width: 16px;
    height: 16px;
    accent-color: var(--accent);
}

@media (max-width: 768px) {
    #economicJobConfigForm [data-economic-conditional="usesVehicle"] .table-wrap,
    #economicJobConfigForm [data-economic-conditional="needsTools"] .table-wrap,
    #economicJobConfigForm [data-economic-conditional="needsConsumables"] .table-wrap {
        overflow: visible;
        border: 0;
    }

    #economicJobConfigForm [data-economic-conditional="usesVehicle"] table,
    #economicJobConfigForm [data-economic-conditional="needsTools"] table,
    #economicJobConfigForm [data-economic-conditional="needsConsumables"] table,
    #economicJobConfigForm [data-economic-conditional="usesVehicle"] tbody,
    #economicJobConfigForm [data-economic-conditional="needsTools"] tbody,
    #economicJobConfigForm [data-economic-conditional="needsConsumables"] tbody {
        display: block;
        width: 100%;
    }

    #economicJobConfigForm [data-economic-conditional] thead {
        display: none;
    }

    #economicJobConfigForm [data-economic-vehicle-row],
    #economicJobConfigForm [data-economic-requirement-row] {
        display: grid;
        gap: 10px;
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: var(--surface-muted);
    }

    #economicJobConfigForm [data-economic-vehicle-row] td,
    #economicJobConfigForm [data-economic-requirement-row] td {
        display: grid;
        gap: 6px;
        width: 100%;
        padding: 0;
        border: 0;
        background: transparent;
    }

    #economicJobConfigForm [data-economic-vehicle-row] td::before,
    #economicJobConfigForm [data-economic-requirement-row] td::before {
        color: var(--muted);
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
    }

    #economicJobConfigForm [data-economic-vehicle-row] td:nth-child(1)::before { content: "Tipo de veiculo"; }
    #economicJobConfigForm [data-economic-vehicle-row] td:nth-child(2)::before { content: "Nivel necessario"; }
    #economicJobConfigForm [data-economic-vehicle-row] td:nth-child(3)::before { content: "Combustivel"; }
    #economicJobConfigForm [data-economic-vehicle-row] td:nth-child(4)::before { content: "Alugado"; }
    #economicJobConfigForm [data-economic-vehicle-row] td:nth-child(5)::before { content: "Valor"; }
    #economicJobConfigForm [data-economic-vehicle-row] td:nth-child(6)::before { content: "Acoes"; }
    #economicJobConfigForm [data-economic-requirement-row] td:nth-child(1)::before { content: "Item"; }
    #economicJobConfigForm [data-economic-requirement-row] td:nth-child(2)::before { content: "Quantidade"; }
    #economicJobConfigForm [data-economic-requirement-row="tools"] td:nth-child(3)::before { content: "Nivel necessario"; }
    #economicJobConfigForm [data-economic-requirement-row="tools"] td:nth-child(4)::before,
    #economicJobConfigForm [data-economic-requirement-row="consumables"] td:nth-child(3)::before { content: "Acoes"; }

    #economicJobConfigForm .item-shop-combobox {
        width: 100%;
        min-width: 0;
    }

    #economicJobConfigForm .item-shop-combobox-options {
        width: min(100%, calc(100vw - 64px));
        max-height: 260px;
    }

    #economicJobConfigForm [data-economic-vehicle-row] .action-btn,
    #economicJobConfigForm [data-economic-requirement-row] .action-btn {
        width: 100%;
        justify-content: center;
    }
}

.item-shop-combobox-options {
    position: absolute;
    z-index: 1300;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 220px;
    overflow: auto;
    padding: 6px;
    border: 1px solid rgba(187, 222, 26, .38);
    border-radius: 8px;
    background: #050706;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .55);
}

.item-shop-combobox-option {
    display: block;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #fff;
    text-align: left;
}

.item-shop-combobox-option:hover,
.item-shop-combobox-option.active {
    background: rgba(187, 222, 26, .14);
    color: var(--accent);
}

.item-shop-combobox-option-media {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
}

.item-shop-combobox-option-media img,
.item-shop-combobox-option-media > span:first-child {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.item-shop-combobox-empty {
    padding: 9px 10px;
    color: var(--muted);
}

#economicCostItemModal .modal-dialog {
    max-width: min(1180px, calc(100vw - 32px));
}

#economicCostItemModal .modal-body {
    padding: 18px 22px 22px;
}

.cost-item-modal-body {
    background: linear-gradient(180deg, rgba(255,255,255,.018), transparent 180px);
}

.cost-item-config-layout {
    display: grid;
    gap: 14px;
}

.cost-item-section {
    padding: 16px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.cost-item-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.cost-item-section-head strong {
    display: block;
    color: var(--text);
    font-size: 14px;
}

.cost-item-section-head span,
.cost-item-note {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
}

.cost-item-grid {
    display: grid;
    gap: 12px;
}

.cost-item-grid label,
.cost-item-wide-field {
    display: grid;
    min-width: 0;
}

.cost-item-grid-main {
    grid-template-columns: minmax(260px, 1.2fr) minmax(220px, 1fr) minmax(140px, .45fr);
}

.cost-item-grid-six {
    grid-template-columns: repeat(3, minmax(170px, 1fr));
}

.cost-item-note {
    margin: 12px 0 10px;
}

.cost-item-actions-head {
    align-items: center;
}

.cost-item-craft-block {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.08);
}

#economicCostItemModal textarea.form-control {
    min-height: 92px;
    resize: vertical;
}

#economicCostItemModal .economic-item-shop-row {
    display: grid !important;
    grid-template-columns: minmax(220px, 1.35fr) minmax(115px, .7fr) repeat(6, minmax(90px, .55fr)) minmax(115px, .55fr);
    gap: 10px;
    align-items: end;
    margin: 0;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background: rgba(0,0,0,.16);
}

#economicCostItemModal .economic-item-shop-row > div {
    width: auto;
    max-width: none;
    padding: 0;
    flex: none;
    min-width: 0;
}

#economicCostItemModal .economic-item-shop-row .form-label,
#economicCostItemModal .cost-item-grid .form-label,
#economicCostItemModal .cost-item-wide-field .form-label {
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.25;
}

#economicCostItemModal .economic-item-shop-row .form-control,
#economicCostItemModal .economic-item-shop-row .form-select {
    min-height: 40px;
}

#economicCostItemModal .cost-shop-actions {
    align-self: end;
}

@media (max-width: 1100px) {
    .cost-item-grid-main,
    .craft-modal-main-grid,
    .cost-item-grid-six,
    .craft-requirement-row,
    #economicCostItemModal .economic-item-shop-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #economicCostItemModal .economic-item-shop-row .cost-shop-main,
    #economicCostItemModal .economic-item-shop-row .cost-shop-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    #economicCostItemModal .modal-dialog {
        max-width: calc(100vw - 12px);
        margin: 6px auto;
    }

    #economicCostItemModal .modal-body {
        padding: 14px;
    }

    .cost-item-grid-main,
    .craft-modal-main-grid,
    .cost-item-grid-six,
    .craft-requirement-row,
    #economicCostItemModal .economic-item-shop-row {
        grid-template-columns: 1fr;
    }

    .cost-item-actions-head {
        align-items: stretch;
        flex-direction: column;
    }
}

.route-blip-fields {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(110px, .5fr) minmax(130px, .6fr) auto;
    gap: 10px;
    align-items: end;
}

.route-consumable-fields {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(110px, .5fr) minmax(130px, .6fr) auto;
    gap: 10px;
    align-items: end;
    margin: 8px 0;
}

.route-blip-fields label {
    min-width: 0;
}

.route-consumable-fields label {
    min-width: 0;
}

.route-item-combobox {
    width: 100%;
}

.route-item-combobox .item-shop-combobox-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.route-item-combobox .item-shop-combobox-option small {
    color: var(--accent);
    white-space: nowrap;
}

@media (max-width: 650px) {
    .route-consumable-fields,
    .route-blip-fields {
        grid-template-columns: 1fr;
    }

    .route-blip-fields [data-route-item-total] {
        justify-self: start;
    }

    .route-item-combobox .item-shop-combobox-options {
        max-height: 260px;
    }
}

.craft-hud {
    min-height: 640px;
}

.craft-hud-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.craft-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, 280px) minmax(170px, 220px) auto;
    gap: 8px;
    align-items: center;
}

.craft-toolbar .search-wrap {
    margin: 0;
}

.users-access-form {
    display: grid;
    grid-template-columns: minmax(240px, 420px) auto;
    gap: 10px;
    align-items: end;
}

.access-user {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 190px;
}

.access-user-avatar {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--surface-muted);
}

.access-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.craft-hud-head h2,
.craft-history-panel h2 {
    margin: 0;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
}

.craft-hud-layout {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(330px, .95fr);
    gap: 16px;
}

.craft-grid-panel,
.craft-detail-card,
.craft-history-panel {
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(18,18,18,.88), rgba(8,10,9,.94));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 18px 50px rgba(0,0,0,.34);
    backdrop-filter: blur(8px);
}

.craft-grid-panel {
    padding: 16px;
}

.craft-slot-grid {
    --craft-slot-size: 104px;
    --craft-visible-rows: 8;
    display: grid;
    grid-template-columns: repeat(5, minmax(88px, 1fr));
    grid-auto-rows: var(--craft-slot-size);
    gap: 8px;
    max-height: calc((var(--craft-slot-size) * var(--craft-visible-rows)) + ((var(--craft-visible-rows) - 1) * 8px));
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
            scrollbar-color: var(--accent) rgba(255,255,255,.08);
}

.craft-slot-grid::-webkit-scrollbar {
    width: 8px;
}

.craft-slot-grid::-webkit-scrollbar-track {
    background: rgba(255,255,255,.08);
    border-radius: 8px;
}

.craft-slot-grid::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 8px;
}

.craft-slot {
    position: relative;
    min-height: 0;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 6px;
    background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.12), transparent 34%), rgba(28,28,28,.82);
    color: #d9dde0;
    box-shadow: inset 0 0 18px rgba(255,255,255,.05);
}

.craft-slot.active {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(184,222,24,.28), inset 0 0 20px rgba(184,222,24,.08);
}

.craft-slot.empty {
    opacity: .55;
}

.craft-slot-icon svg {
    width: 28px;
    height: 28px;
}

.craft-item-img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    filter: drop-shadow(0 3px 7px rgba(0,0,0,.55));
}

.craft-item-img.large {
    width: 58px;
    height: 58px;
}

.craft-slot strong {
    display: -webkit-box;
    max-width: 94%;
    min-height: 24px;
    overflow: hidden;
    color: #f5f7f7;
    font-size: 11px;
    line-height: 1.12;
    text-align: center;
    text-overflow: ellipsis;
    white-space: normal;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.craft-slot-name.is-small {
    font-size: 10px;
}

.craft-slot-name.is-compact {
    font-size: 9px;
    line-height: 1.08;
}

.craft-slot-check {
    position: absolute;
    top: 3px;
    left: 3px;
    display: none;
    width: 18px;
    height: 18px;
    place-items: center;
    border-radius: 4px;
    background: var(--accent);
    color: #101010;
}

.craft-slot-category {
    position: absolute;
    top: 5px;
    right: 5px;
    max-width: 62%;
    overflow: hidden;
    padding: 2px 6px;
    border: 1px solid rgba(184,222,24,.45);
    border-radius: 999px;
    background: rgba(12,14,12,.78);
    color: var(--accent);
    font-size: 9px;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.craft-slot.active .craft-slot-check {
    display: grid;
}

.craft-detail-panel {
    display: grid;
    gap: 14px;
}

.craft-detail-card {
    padding: 16px;
}

.craft-detail-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.craft-product-preview {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
}

.craft-product-icon {
    position: relative;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 8px;
    background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.14), transparent 38%), rgba(35,35,35,.88);
}

.craft-product-icon svg {
    width: 44px;
    height: 44px;
}

.craft-product-icon span {
    position: absolute;
    right: 8px;
    bottom: 6px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.craft-product-icon.small {
    width: 70px;
}

.craft-stepper {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    gap: 8px;
    align-items: center;
    margin-bottom: 14px;
}

.craft-stepper button {
    height: 34px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 6px;
    background: rgba(255,255,255,.06);
    color: #fff;
}

.craft-stepper strong {
    text-align: center;
}

.craft-materials h3 {
    margin: 0 0 10px;
    color: #ddd;
    font-size: 15px;
}

.craft-material-list {
    display: grid;
    gap: 8px;
    max-height: 210px;
    overflow: auto;
    padding-right: 6px;
}

.craft-material {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 7px;
    border-radius: 8px;
    background: rgba(255,255,255,.08);
}

.craft-material-icon {
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 8px;
    background: rgba(255,255,255,.06);
}

.craft-material small {
    display: block;
    margin-top: 3px;
    color: #ff6b88;
    font-weight: 900;
}

.craft-material small.ok {
    color: #47d87a;
}

.craft-limit-warning {
    margin: -6px 0 12px;
    color: #f5c542;
    font-size: 12px;
    font-weight: 950;
    text-align: center;
}

.craft-financial-summary {
    display: grid;
    gap: 7px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.22);
}

.craft-financial-summary > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    color: var(--muted);
    font-size: 0.78rem;
}

.craft-financial-summary strong {
    color: var(--text);
    text-align: right;
}

.craft-financial-summary .positive {
    color: #72d99b;
}

.craft-financial-summary .negative {
    color: #ff7185;
}

.craft-start-btn {
    width: 100%;
    min-height: 50px;
    margin-top: 14px;
    border: 0;
    border-radius: 7px;
    background: #f2f2f2;
    color: #111;
    font-weight: 950;
}

.craft-start-btn span {
    margin-left: 10px;
}

.craft-history-panel {
    padding: 16px;
}

.craft-history-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.craft-history-filters {
    display: flex;
    gap: 5px;
}

.craft-history-filters button {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 6px;
    background: rgba(255,255,255,.07);
    color: #fff;
}

.craft-history-filters button.active,
.craft-history-filters button:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.craft-timer-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: rgba(255,255,255,.05);
}

.craft-timer-row strong {
    color: var(--accent);
    font-family: var(--mono);
}

.craft-history-panel .search-wrap {
    margin: 12px 0 16px;
}

.craft-failure-row {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(255,83,126,.55);
    border-radius: 8px;
    background: rgba(255,83,126,.08);
}

.craft-failure-row + .craft-failure-row {
    margin-top: 8px;
}

.craft-failure-row b {
    display: block;
    color: #ff6b88;
}

.executive-dashboard {
    margin-bottom: 24px;
    padding: 18px;
    border: 1px solid rgba(187, 222, 26, 0.28);
    background: var(--surface);
}

.executive-filters {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 10px;
    margin: 16px 0;
}

.executive-filters label {
    min-width: 0;
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.executive-filters .form-control,
.executive-filters .form-select {
    margin-top: 5px;
}

[data-executive-results].is-loading {
    opacity: 0.55;
    pointer-events: none;
}

[data-economic-macro-workspace].is-loading {
    opacity: 0.55;
    pointer-events: none;
}

@media (max-width: 1180px) {
    .executive-filters {
        grid-template-columns: repeat(3, minmax(130px, 1fr));
    }
    .craft-hud-layout {
        grid-template-columns: 1fr;
    }

    .craft-slot-grid {
        --craft-slot-size: 96px;
        --craft-visible-rows: 8;
        grid-template-columns: repeat(5, minmax(76px, 1fr));
    }
}

@media (max-width: 900px) {
    .executive-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .craft-hud-head {
        align-items: stretch;
        flex-direction: column;
    }

    .craft-toolbar {
        grid-template-columns: 1fr;
    }

    .craft-slot-grid {
        --craft-visible-rows: 5;
        grid-template-columns: repeat(4, minmax(68px, 1fr));
    }

    .users-access-form {
        grid-template-columns: 1fr;
    }
    body.map-view .main {
        padding: 8px !important;
    }

    body.map-view .map-workspace {
        height: calc(100dvh - 16px) !important;
        min-height: 0 !important;
    }

    .map-side-panel {
        top: auto !important;
        left: max(8px, env(safe-area-inset-left)) !important;
        right: max(8px, env(safe-area-inset-right)) !important;
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        width: auto !important;
        max-width: none !important;
        max-height: min(46dvh, 380px) !important;
        padding: 12px !important;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .map-side-panel.is-collapsed {
        left: auto !important;
        width: min(320px, calc(100vw - 16px)) !important;
        min-width: 0 !important;
    }

    .map-filter-tabs {
        margin: 8px 0 6px;
    }

    .map-pin-list {
        max-height: 22dvh !important;
    }

    .map-pin-list .map-pin-list-item > .map-pin-edit-btn span {
        display: none;
    }

    .taxonomy-card-head {
        align-items: flex-start;
    }
}

@media (max-width: 480px), (max-height: 740px) {
    .executive-filters {
        grid-template-columns: 1fr;
    }
    .map-side-panel {
        max-height: min(38dvh, 300px) !important;
    }

    .map-side-panel .map-legend-row,
    .map-side-panel .search-wrap,
    .map-side-panel .panel-subtitle.mt-3 {
        display: none !important;
    }

    .map-side-panel .map-filter-tabs {
        padding-bottom: 2px;
    }

    .map-pin-list {
        max-height: 16dvh !important;
    }
}

.keyword-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.keyword-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .04);
    color: var(--text);
    font-size: .86rem;
}

.keyword-chip strong,
.insight-row strong {
    color: var(--accent);
    font-family: "DM Mono", monospace;
}

.insight-list {
    display: grid;
    gap: 10px;
}

.insight-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.insight-row:last-child {
    border-bottom: 0;
}

.insight-row span {
    min-width: 0;
    color: var(--text);
    overflow-wrap: anywhere;
}

.insight-row.stacked {
    display: grid;
    grid-template-columns: 1fr auto;
}

.insight-row.stacked small {
    grid-column: 1 / -1;
    color: var(--muted);
}

/* Midias Sociais */
.social-streamer-name,
.social-live-state,
.social-discord-copy,
.social-channel-link {
    display: inline-flex;
    align-items: center;
}

.social-streamer-name { gap: 10px; }
.social-presence {
    flex: 0 0 auto;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #6d7470;
    box-shadow: 0 0 0 4px rgba(109,116,112,.12);
}
.social-presence.online {
    background: #65e572;
    box-shadow: 0 0 0 4px rgba(101,229,114,.14), 0 0 14px rgba(101,229,114,.85);
    animation: social-online-pulse 1.7s ease-in-out infinite;
}
.social-presence.requirement-approved {
    background: #65e572;
    box-shadow: 0 0 0 4px rgba(101,229,114,.14), 0 0 12px rgba(101,229,114,.65);
}
.social-presence.requirement-attention {
    background: #f5a020;
    box-shadow: 0 0 0 4px rgba(245,160,32,.14), 0 0 12px rgba(245,160,32,.5);
}
.social-presence.requirement-rejected {
    background: #ff5573;
    box-shadow: 0 0 0 4px rgba(255,85,115,.14), 0 0 12px rgba(255,85,115,.5);
}
.social-presence.requirement-analyzing {
    background: #00c4ff;
    box-shadow: 0 0 0 4px rgba(0,196,255,.12);
}
@keyframes social-online-pulse { 50% { opacity: .6; transform: scale(.85); } }

.social-live-state {
    gap: 7px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.social-live-state > span { width: 7px; height: 7px; border-radius: 50%; background: #6d7470; }
.social-live-state.online { color: #65e572; }
.social-live-state.online > span { background: #65e572; box-shadow: 0 0 9px #65e572; }
.social-live-state.offline { color: var(--muted); }
.social-live-state.error { color: #f5a020; cursor: help; }
.social-live-state.error > span {
    background: #f5a020;
    box-shadow: 0 0 0 4px rgba(245,160,32,.12), 0 0 9px rgba(245,160,32,.55);
}

.social-channel-link.has-error {
    border-color: rgba(245,160,32,.45);
}
.social-channel-warning {
    display: inline-grid;
    place-items: center;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: rgba(245,160,32,.18);
    color: #f5a020;
    font-size: 10px;
    font-weight: 900;
}

.social-discord-copy {
    max-width: 220px;
    gap: 9px;
    padding: 5px 7px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: var(--text);
    text-align: left;
    transition: .2s ease;
}
.social-discord-copy:hover,
.social-discord-copy.copied { border-color: rgba(88,101,242,.55); background: rgba(88,101,242,.12); }
.social-discord-copy > span:last-child { min-width: 0; }
.social-discord-copy strong,
.social-discord-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.social-discord-copy small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.social-discord-copy.copied small { color: #65e572; }
.social-discord-avatar { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.social-avatar-fallback { display: grid; place-items: center; background: rgba(88,101,242,.18); color: #8f99ff; }
.social-avatar-fallback svg { width: 16px; }

.social-channel-list { display: flex; flex-wrap: wrap; gap: 6px; min-width: 170px; }
.social-channel-link {
    gap: 7px;
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: rgba(255,255,255,.025);
    color: var(--text);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    transition: .2s ease;
}
.social-channel-link:hover { border-color: var(--border-strong); color: var(--accent); transform: translateY(-1px); }
.social-channel-link.is-online { border-color: rgba(101,229,114,.45); background: rgba(101,229,114,.08); }
.social-platform-icon { display: grid; place-items: center; width: 18px; height: 18px; color: currentColor; }
.social-platform-icon svg { width: 18px; height: 18px; fill: currentColor; }
.social-platform-twitch { color: #a970ff; }
.social-platform-youtube { color: #ff3040; }
.social-platform-kick { color: #53fc18; }
.social-platform-tiktok { color: #25f4ee; }

.table > tbody > tr.social-qualified-row > * {
    background: rgba(101,229,114,.075) !important;
    border-color: rgba(101,229,114,.18);
}
.table > tbody > tr.social-qualified-row > *:first-child { box-shadow: inset 3px 0 #65e572; }

.social-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.social-metric-card {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    gap: 13px;
    align-items: center;
    min-height: 126px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
    box-shadow: 0 16px 34px rgba(0,0,0,.18);
}
.social-metric-card::after { content: ''; position: absolute; right: -30px; bottom: -45px; width: 105px; height: 105px; border-radius: 50%; background: var(--metric-color, var(--accent)); opacity: .07; }
.social-metric-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 13px; background: color-mix(in srgb, var(--metric-color, var(--accent)) 14%, transparent); color: var(--metric-color, var(--accent)); }
.social-metric-icon svg { width: 23px; height: 23px; }
.social-metric-card span, .social-metric-card small { display: block; color: var(--muted); }
.social-metric-card span { font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.social-metric-card strong { display: block; margin: 3px 0; color: var(--text); font-size: clamp(24px, 2.2vw, 34px); line-height: 1; }
.social-metric-card small { font-size: 10px; }
.social-metric-2 { --metric-color: #65e572; }
.social-metric-3, .social-metric-4 { --metric-color: #00c4ff; }
.social-metric-5, .social-metric-6 { --metric-color: #a970ff; }
.social-metric-7, .social-metric-8 { --metric-color: #f5a020; }
.social-metric-9, .social-metric-10 { --metric-color: #a970ff; }
.social-metric-11, .social-metric-12 { --metric-color: #65e572; }

.social-metric-method {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 13px 15px;
    border: 1px solid rgba(0,196,255,.18);
    border-radius: 12px;
    background: rgba(0,196,255,.045);
    color: #cbd5d6;
}
.social-metrics-filter-panel { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.social-metrics-filter-copy { display: flex; align-items: center; gap: 12px; min-width: 0; }
.social-metrics-filter-copy h2 { margin: 0 0 3px; font-size: 17px; }
.social-metrics-filter-icon { display: grid; flex: 0 0 auto; width: 42px; height: 42px; place-items: center; border-radius: 11px; background: rgba(187,222,26,.1); color: var(--accent); }
.social-metrics-filter-icon svg { width: 20px; height: 20px; }
.social-metrics-filter-controls { display: grid; grid-template-columns: minmax(150px,200px) minmax(170px,220px) auto; align-items: end; gap: 10px; }
.social-metrics-filter-controls .form-label { margin-bottom: 5px; }
.social-metrics-filter-controls .btn { min-height: 38px; white-space: nowrap; }
.social-metric-method > svg { flex: 0 0 auto; width: 19px; height: 19px; color: #00c4ff; }
.social-metric-method strong,.social-metric-method span { display: block; }
.social-metric-method span { margin-top: 2px; color: var(--muted); font-size: 12px; }

@media (max-width: 1200px) { .social-metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 900px) { .social-metrics-filter-panel { align-items: stretch; flex-direction: column; } .social-metrics-filter-controls { grid-template-columns: 1fr 1fr auto; } }
@media (max-width: 620px) { .social-metric-grid { grid-template-columns: 1fr; } .social-metric-card { min-height: 105px; } .social-metrics-filter-controls { grid-template-columns: 1fr; } .social-metrics-filter-controls .btn { width: 100%; } }

.social-prospect-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
}
.social-prospect-stat {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
}
.social-prospect-stat > svg { width: 25px; height: 25px; color: var(--accent); }
.social-prospect-stat.live > svg { color: #65e572; filter: drop-shadow(0 0 6px rgba(101,229,114,.55)); }
.social-prospect-stat.new > svg { color: #00c4ff; }
.social-prospect-stat.metroville > svg { color: #a970ff; }
.social-prospect-stat span { display: block; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.social-prospect-stat strong { display: block; margin-top: 2px; font-size: 25px; }
.social-prospect-title { display: flex; align-items: flex-start; gap: 10px; min-width: 280px; max-width: 440px; }
.social-prospect-title strong, .social-prospect-title small { display: block; }
.social-prospect-title small { margin-top: 4px; color: var(--muted); }
.table > tbody > tr.social-prospect-live-row > * { background: rgba(101,229,114,.035); }
#socialProspectScan.loading svg { animation: spin 1s linear infinite; }
.social-prospect-preview-content { max-height: calc(100dvh - 32px); border: 1px solid rgba(187,222,26,.16); background: #0d110e; }
#socialProspectPreviewModal .modal-dialog { width: min(1280px,calc(100vw - 32px)); max-width: none; margin: 16px auto; }
#socialProspectPreviewModal .modal-body { display: grid; gap: 16px; padding: 20px; }
.social-prospect-preview-loading { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 260px; color: var(--muted); }
.social-prospect-preview-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px; border: 1px solid rgba(101,229,114,.2); border-radius: 13px; background: linear-gradient(125deg,rgba(101,229,114,.07),rgba(255,255,255,.015)); }
.social-prospect-preview-hero p { margin: 9px 0 12px; color: #dce2d9; }
.social-prospect-preview-numbers { display: flex; gap: 9px; }
.social-prospect-preview-numbers > span { min-width: 125px; padding: 11px 13px; border-radius: 9px; background: rgba(255,255,255,.035); }
.social-prospect-preview-numbers small,.social-prospect-preview-numbers strong { display: block; }
.social-prospect-preview-numbers small { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.social-prospect-preview-numbers strong { margin-top: 3px; font-size: 14px; }
.social-prospect-preview-live,.social-prospect-vods { padding: 18px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: #111512; }
.social-prospect-preview-live { border-color: rgba(101,229,114,.22); }
.social-prospect-vod-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.social-prospect-vod { min-width: 0; padding: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; background: rgba(255,255,255,.02); color: var(--text); text-decoration: none; transition: .18s ease; }
.social-prospect-vod:hover { border-color: rgba(169,112,255,.45); color: #fff; transform: translateY(-2px); }
.social-prospect-vod.is-live { border-color: rgba(101,229,114,.52); background: linear-gradient(145deg,rgba(101,229,114,.12),rgba(101,229,114,.035)); box-shadow: 0 0 0 1px rgba(101,229,114,.06),0 12px 28px rgba(0,0,0,.2); color: var(--text); text-align: left; }
.social-prospect-vod.is-live:hover { border-color: #65e572; box-shadow: 0 0 24px rgba(101,229,114,.14); }
.social-prospect-vod-thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; margin-bottom: 9px; border-radius: 8px; background: #070907; }
.social-prospect-vod-thumb img { width: 100%; height: 100%; object-fit: cover; }
.social-prospect-vod-thumb > span { position: absolute; display: grid; inset: 50% auto auto 50%; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: rgba(0,0,0,.72); color: #fff; transform: translate(-50%,-50%); }
.social-prospect-vod-thumb > small { position: absolute; right: 6px; bottom: 6px; padding: 3px 5px; border-radius: 5px; background: rgba(0,0,0,.82); color: #fff; }
.social-prospect-vod-thumb > em { position: absolute; top: 7px; left: 7px; padding: 4px 7px; border-radius: 6px; background: #e91935; color: #fff; font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .05em; box-shadow: 0 4px 12px rgba(233,25,53,.35); }
.social-prospect-vod-thumb > b { position: absolute; right: 7px; bottom: 7px; padding: 5px 7px; border-radius: 6px; background: rgba(0,0,0,.82); color: #fff; font-size: 9px; letter-spacing: .04em; }
.social-prospect-preview-live { scroll-margin-top: 12px; transition: border-color .25s ease,box-shadow .25s ease; }
.social-prospect-preview-live.is-emphasized { border-color: #65e572; box-shadow: 0 0 0 3px rgba(101,229,114,.12),0 0 34px rgba(101,229,114,.16); }
.social-prospect-vod > strong,.social-prospect-vod > small { display: block; overflow: hidden; text-overflow: ellipsis; }
.social-prospect-vod > strong { white-space: nowrap; }
.social-prospect-vod > small { margin-top: 4px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.social-prospect-vod-empty { grid-column: 1/-1; padding: 32px; border: 1px dashed rgba(255,255,255,.1); border-radius: 10px; color: var(--muted); text-align: center; }
@media (max-width: 900px) { .social-prospect-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .social-prospect-preview-hero { align-items: flex-start; flex-direction: column; } .social-prospect-vod-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .social-prospect-summary,.social-prospect-vod-grid { grid-template-columns: 1fr; } .social-prospect-preview-numbers { width: 100%; flex-direction: column; } .social-prospect-preview-numbers > span { width: 100%; } }

.social-metric-search-panel { overflow: visible; }
.social-metric-search-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.social-metric-search-head h2 { margin-bottom: 3px; }
.social-metric-search-box { position: relative; width: min(520px,100%); }
.social-metric-search-box > svg { position: absolute; z-index: 1; top: 50%; left: 13px; width: 18px; color: var(--muted); transform: translateY(-50%); pointer-events: none; }
.social-metric-search-box .form-control { min-height: 46px; padding-left: 42px; border-color: rgba(187,222,26,.22); background: rgba(255,255,255,.035); }
.social-metric-search-box .form-control:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(187,222,26,.08); }
.social-metric-search-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.social-streamer-metric-result { padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,.022); }
.social-streamer-metric-head, .social-streamer-metric-head > div { display: flex; align-items: center; gap: 10px; }
.social-streamer-metric-head { justify-content: space-between; }
.social-streamer-metric-head strong, .social-streamer-metric-head small { display: block; }
.social-streamer-metric-head small { margin-top: 2px; color: var(--muted); }
.social-streamer-metric-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 14px; }
.social-streamer-metric-values > span { padding: 9px 10px; border-radius: 8px; background: rgba(255,255,255,.03); }
.social-streamer-metric-values > span.is-gta { background: rgba(101,229,114,.07); }
.social-streamer-metric-values > span.is-other { background: rgba(169,112,255,.07); }
.social-streamer-metric-values > span.is-unknown { background: rgba(255,255,255,.045); }
.social-streamer-metric-values > span.is-server { background: rgba(187,222,26,.07); }
.social-streamer-metric-values small, .social-streamer-metric-values strong { display: block; }
.social-streamer-metric-values small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.social-streamer-metric-values strong { margin-top: 2px; font-size: 16px; }
.social-streamer-last-live { display: block; margin-top: 11px; color: var(--muted); }
.social-metric-search-empty { grid-column: 1/-1; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 28px; color: var(--muted); border: 1px dashed var(--border); border-radius: 11px; }
.social-scope-ranking-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--border); }
.social-scope-ranking-row > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.social-scope-ranking-row > span:first-child strong,
.social-scope-ranking-row > span:first-child small { display: block; }
.social-scope-ranking-row .social-ranking-character,
.social-viewer-ranking-row .social-ranking-character { margin-top: 2px; color: #cbd4c7; font-size: 10px; font-weight: 700; }
.social-scope-ranking-row > span:last-child { flex: 0 0 auto; text-align: right; }
.social-scope-ranking-row > span:last-child strong,.social-scope-ranking-row > span:last-child small { display: block; }
.social-scope-ranking-row > span:last-child strong { color: #65e572; }
.social-scope-ranking-row > span:last-child small { margin-top: 2px; color: var(--muted); }
.social-comparison-table { min-width: 760px; }
@media (max-width: 900px) { .social-metric-search-head { align-items: stretch; flex-direction: column; } .social-metric-search-box { width: 100%; } .social-metric-search-results { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .social-streamer-metric-values { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Tabelas sociais: contraste consistente no tema escuro */
#view-social-streamers .social-pane .table {
    --bs-table-bg: #101410;
    --bs-table-color: #edf1ea;
    --bs-table-border-color: rgba(255,255,255,.09);
    --bs-table-hover-bg: #181d18;
    --bs-table-hover-color: #fff;
    margin-bottom: 0;
}
#view-social-streamers .social-pane .table thead th {
    padding-top: 13px;
    padding-bottom: 13px;
    border-bottom-color: rgba(187,222,26,.24);
    background: #090c09 !important;
    color: #f7f9f4 !important;
    font-size: 11px;
    letter-spacing: .035em;
    white-space: nowrap;
}
#view-social-streamers .social-pane .table tbody td { color: #edf1ea; vertical-align: middle; }
#view-social-streamers .social-pane .table tbody tr { --social-row-accent: transparent; }
#view-social-streamers .social-pane .table tbody tr > td:first-child { box-shadow: inset 3px 0 var(--social-row-accent); }
#view-social-streamers .social-pane .table tbody tr.social-activity-very-active { --social-row-accent: #bbde1a; --bs-table-bg: rgba(187,222,26,.075); }
#view-social-streamers .social-pane .table tbody tr.social-activity-active { --social-row-accent: #39d98a; --bs-table-bg: rgba(57,217,138,.045); }
#view-social-streamers .social-pane .table tbody tr.social-activity-low { --social-row-accent: #f5a020; --bs-table-bg: rgba(245,160,32,.045); }
#view-social-streamers .social-pane .table tbody tr.social-activity-inactive { --social-row-accent: #6d7470; --bs-table-bg: rgba(109,116,112,.025); }
#view-social-streamers .social-pane .table tbody tr.social-qualified-row { --social-row-accent: #65e572; --bs-table-bg: rgba(101,229,114,.09); }
#view-social-streamers .social-pane .table tbody tr.social-requirement-approved { --social-row-accent: #65e572; --bs-table-bg: rgba(101,229,114,.075); }
#view-social-streamers .social-pane .table tbody tr.social-requirement-attention { --social-row-accent: #f5a020; --bs-table-bg: rgba(245,160,32,.065); }
#view-social-streamers .social-pane .table tbody tr.social-requirement-rejected { --social-row-accent: #ff5573; --bs-table-bg: rgba(255,85,115,.06); }
#view-social-streamers .social-pane .table tbody tr.social-requirement-analyzing { --social-row-accent: #00c4ff; --bs-table-bg: rgba(0,196,255,.045); }

/* Lista de streamers inspirada no painel de lives: densa, escura e legível. */
.social-streamer-panel {
    padding: 0;
    overflow: hidden;
    border-color: rgba(187,222,26,.16);
    background: #0d110d;
    box-shadow: 0 22px 54px rgba(0,0,0,.28);
}
.social-streamer-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 18px;
    border-bottom: 1px solid rgba(187,222,26,.13);
    background: linear-gradient(90deg, rgba(187,222,26,.045), transparent 45%);
}
.social-streamer-table-wrap {
    width: 100%;
    border: 0;
    border-radius: 0;
    overflow-x: auto;
    scrollbar-color: rgba(187,222,26,.55) rgba(255,255,255,.05);
}
#view-social-streamers .social-streamer-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}
#view-social-streamers .social-streamer-table th:nth-child(1) { width: 17%; }
#view-social-streamers .social-streamer-table th:nth-child(2) { width: 12%; }
#view-social-streamers .social-streamer-table th:nth-child(3) { width: 11%; }
#view-social-streamers .social-streamer-table th:nth-child(4) { width: 8%; }
#view-social-streamers .social-streamer-table th:nth-child(5) { width: 6%; }
#view-social-streamers .social-streamer-table th:nth-child(6) { width: 7%; }
#view-social-streamers .social-streamer-table th:nth-child(7) { width: 7%; }
#view-social-streamers .social-streamer-table th:nth-child(8) { width: 9%; }
#view-social-streamers .social-streamer-table th:nth-child(9) { width: 5%; }
#view-social-streamers .social-streamer-table th:nth-child(10) { width: 7%; }
#view-social-streamers .social-streamer-table th:nth-child(11) { width: 108px; }
#view-social-streamers .social-streamer-table thead th {
    height: 44px;
    padding: 0 8px;
    overflow: hidden;
    border-bottom: 1px solid rgba(187,222,26,.22);
    background: #080b08 !important;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .02em;
    text-overflow: ellipsis;
    text-transform: none;
}
#view-social-streamers .social-streamer-table tbody tr { transition: background-color .16s ease; }
#view-social-streamers .social-streamer-table tbody td {
    height: 62px;
    padding: 7px 8px;
    overflow: hidden;
    border-bottom-color: rgba(255,255,255,.075);
    background-color: color-mix(in srgb, var(--social-row-accent) 5%, #111511) !important;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#view-social-streamers .social-streamer-table tbody tr:hover td {
    background-color: color-mix(in srgb, var(--social-row-accent) 10%, #181d18) !important;
}
#view-social-streamers .social-streamer-table tbody tr:last-child td { border-bottom: 0; }
#view-social-streamers .social-streamer-table tbody tr > td:first-child {
    box-shadow: inset 3px 0 var(--social-row-accent), inset 10px 0 18px -16px var(--social-row-accent);
}
.social-identity-cell,
.social-character-cell,
.social-discord-cell { min-width: 0; }
.social-streamer-name { width: 100%; gap: 9px; }
.social-import-progress { height: 10px; background: rgba(255,255,255,.08); }
.social-grafana-check-status {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: rgba(255,255,255,.025);
    color: var(--muted);
    font-size: 11px;
}
.social-grafana-check-status.is-loading { border-color: rgba(0,196,255,.35); color: #70dcff; }
.social-grafana-check-status.is-verified { border-color: rgba(101,229,114,.45); background: rgba(101,229,114,.08); color: #8aee94; }
.social-grafana-check-status.is-error { border-color: rgba(255,85,115,.45); background: rgba(255,85,115,.07); color: #ff8ba0; }
.social-import-table { min-width: 980px; }
.social-import-table td { max-width: 260px; }
.social-import-table td:nth-child(2),
.social-import-table td:nth-child(4),
.social-import-table td:nth-child(5) { word-break: break-word; }
.social-import-grafana-frame {
    position: fixed;
    left: -10000px;
    top: 0;
    width: 900px;
    height: 520px;
    opacity: .01;
    pointer-events: none;
}
.social-streamer-name > div { min-width: 0; }
.social-streamer-open {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
    color: #f1f4ee;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.social-streamer-open:hover { color: var(--accent); }
.social-streamer-name .panel-subtitle {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #8e978c;
    font-size: 10px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.social-grafana-lookup-modal {
    z-index: 1070;
}

.social-grafana-lookup-modal .modal-dialog {
    width: min(1180px, calc(100vw - 24px));
    max-width: none;
}

.social-grafana-visible-panel {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(0, 0, 0, .18);
}

.social-grafana-visible-panel iframe {
    display: block;
    width: 100%;
    height: 320px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #0b0f0c;
}
.social-grafana-character-frames {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.social-grafana-character-frames > div {
    min-width: 0;
}
.social-grafana-character-frames small {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
}

@media (max-width: 700px) {
    .social-grafana-lookup-modal .modal-dialog {
        width: calc(100vw - 12px);
        margin: 6px;
    }

    .social-grafana-visible-panel iframe {
        min-width: 760px;
    }

    .social-grafana-visible-panel {
        overflow-x: auto;
    }

    .social-grafana-character-frames {
        display: flex;
        width: max-content;
    }

    .social-grafana-character-frames > div {
        width: 760px;
    }
}
.social-character-cell strong {
    display: block;
    overflow: hidden;
    color: #dde3da;
    font-size: 13px;
    font-weight: 750;
    text-overflow: ellipsis;
}
.social-character-cell {
    height: auto !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}
.social-character-list {
    display: grid;
    gap: 4px;
    min-width: 180px;
}
.social-character-list span {
    display: block;
    padding: 3px 6px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px;
    background: rgba(255,255,255,.025);
    color: #dde3da;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.25;
    white-space: normal;
}
.social-registration-characters {
    min-height: 92px;
    resize: vertical;
    white-space: pre-wrap;
}
.social-discord-cell .social-discord-copy { width: 100%; max-width: 100%; padding-inline: 2px; }
.social-streamer-table .social-channel-list { width: 100%; min-width: 0; flex-wrap: nowrap; overflow: hidden; }
.social-streamer-table .social-channel-link { min-width: 0; max-width: 100%; padding: 5px 7px; }
.social-streamer-table .social-channel-link > span:not(.social-platform-icon):not(.social-channel-warning) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.social-requirement-cell { min-width: 0; }
.social-requirement-cell .badge-soft {
    max-width: 100%;
    padding: 6px 7px;
    overflow: hidden;
    font-size: 9px;
    line-height: 1;
    letter-spacing: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.social-actions-cell {
    position: sticky;
    right: 0;
    z-index: 2;
    min-width: 0;
    overflow: visible !important;
    box-shadow: -8px 0 16px -16px rgba(0,0,0,.95);
}
#view-social-streamers .social-streamer-table thead th:last-child {
    position: sticky;
    right: 0;
    z-index: 3;
    box-shadow: -8px 0 16px -16px rgba(0,0,0,.95);
}
.social-actions-cell .template-actions {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 4px;
    margin: 0;
}
.social-actions-cell .icon-btn { flex: 0 0 28px; width: 28px; min-height: 28px; height: 28px; }
.social-actions-cell .social-move-prospect-btn {
    border-color: rgba(245,160,32,.3);
    background: rgba(245,160,32,.065);
    color: #f5b35a;
}
.social-actions-cell .social-move-prospect-btn:hover {
    border-color: rgba(245,160,32,.5);
    background: rgba(245,160,32,.14);
    color: #ffe0ad;
}
.social-action-icon { display: block; width: 18px; height: 18px; pointer-events: none; }
.social-streamer-table .social-channel-link {
    border-color: color-mix(in srgb, currentColor 40%, transparent);
    border-radius: 9px;
    background: rgba(255,255,255,.025);
}
.social-streamer-table .social-channel-link:hover { background: rgba(255,255,255,.065); }
.social-streamer-pagination {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 18px;
    border-top: 1px solid rgba(255,255,255,.07);
    background: #0b0e0b;
}
.social-prospect-notes-cell { min-width: 230px; }
.social-prospect-notes-cell textarea {
    min-height: 64px;
    resize: vertical;
}
.social-prospect-notes-cell .btn.saved {
    border-color: rgba(101,229,114,.45);
    background: rgba(101,229,114,.1);
    color: #8aee94;
}
@media (max-width: 700px) {
    .social-streamer-toolbar { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 1280px) {
    #view-social-streamers .social-streamer-table th:nth-child(11) { width: 96px; }
    #view-social-streamers .social-streamer-table thead th { height: 40px; padding-inline: 5px; font-size: 9px; }
    #view-social-streamers .social-streamer-table tbody td { height: 58px; padding: 6px 5px; font-size: 11px; }
    .social-streamer-open { font-size: 13px; }
    .social-character-cell strong { font-size: 12px; }
    .social-discord-avatar { width: 25px; height: 25px; }
    .social-discord-copy { gap: 5px; }
    .social-actions-cell .icon-btn { flex-basis: 26px; width: 26px; min-height: 26px; height: 26px; }
    .social-action-icon { width: 16px; height: 16px; }
}

@media (max-width: 1180px) {
    #view-social-streamers .social-streamer-table th:nth-child(2),
    #view-social-streamers .social-streamer-table td:nth-child(2),
    #view-social-streamers .social-streamer-table th:nth-child(5),
    #view-social-streamers .social-streamer-table td:nth-child(5),
    #view-social-streamers .social-streamer-table th:nth-child(9),
    #view-social-streamers .social-streamer-table td:nth-child(9) { display: none; }
}

@media (max-width: 700px) {
    #view-social-streamers .social-streamer-table th:nth-child(3),
    #view-social-streamers .social-streamer-table td:nth-child(3),
    #view-social-streamers .social-streamer-table th:nth-child(8),
    #view-social-streamers .social-streamer-table td:nth-child(8) { display: none; }
    .social-actions-cell .icon-btn { flex-basis: 25px; width: 25px; min-height: 25px; height: 25px; }
}

/* Em telas estreitas a tabela preserva o layout completo e navega na horizontal. */
@media (max-width: 1180px) {
    #view-social-streamers .social-streamer-table-wrap {
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        touch-action: pan-x pan-y;
    }
    #view-social-streamers .social-streamer-table {
        width: 1280px;
        min-width: 1280px;
        table-layout: fixed;
    }
    #view-social-streamers .social-streamer-table th:nth-child(1) { width: 200px; }
    #view-social-streamers .social-streamer-table th:nth-child(2) { width: 145px; }
    #view-social-streamers .social-streamer-table th:nth-child(3) { width: 135px; }
    #view-social-streamers .social-streamer-table th:nth-child(4) { width: 115px; }
    #view-social-streamers .social-streamer-table th:nth-child(5) { width: 90px; }
    #view-social-streamers .social-streamer-table th:nth-child(6) { width: 80px; }
    #view-social-streamers .social-streamer-table th:nth-child(7) { width: 100px; }
    #view-social-streamers .social-streamer-table th:nth-child(8) { width: 115px; }
    #view-social-streamers .social-streamer-table th:nth-child(9) { width: 75px; }
    #view-social-streamers .social-streamer-table th:nth-child(10) { width: 115px; }
    #view-social-streamers .social-streamer-table th:nth-child(11) { width: 110px; }
    #view-social-streamers .social-streamer-table th,
    #view-social-streamers .social-streamer-table td {
        display: table-cell;
    }
    #view-social-streamers .social-streamer-table .social-actions-cell,
    #view-social-streamers .social-streamer-table thead th:last-child {
        position: static;
        box-shadow: none;
    }
}

/* Modal de desempenho do streamer */
#socialStreamerStatsModal .modal-dialog {
    width: min(1400px, calc(100vw - 32px));
    max-width: none;
    margin: 16px auto;
}
#socialStreamerStatsModal .social-stats-modal-content {
    max-height: calc(100dvh - 32px);
    overflow: hidden;
    border: 1px solid rgba(187,222,26,.16);
    border-radius: 18px;
    background: #0d110e;
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
}
#socialStreamerStatsModal .social-stats-modal-header {
    padding: 20px 24px;
    border-bottom-color: rgba(255,255,255,.08);
    background: linear-gradient(110deg, rgba(187,222,26,.055), transparent 38%);
}
#socialStreamerStatsModal .modal-body {
    display: grid;
    gap: 18px;
    padding: 20px 24px 26px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
#socialStreamerStatsModal .modal-footer {
    padding: 14px 24px;
    border-top-color: rgba(255,255,255,.08);
    background: #0a0d0b;
}
.social-stats-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}
.social-stats-hero.is-live {
    border-color: rgba(101,229,114,.25);
    background: linear-gradient(135deg, rgba(101,229,114,.075), rgba(255,255,255,.012) 55%);
}
.social-stats-profile { display: flex; align-items: center; gap: 14px; min-width: 0; }
.social-stats-avatar {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    border: 2px solid rgba(255,255,255,.16);
    border-radius: 15px;
    object-fit: cover;
}
.social-stats-avatar-fallback { display: grid; place-items: center; background: rgba(187,222,26,.1); color: var(--accent); }
.social-stats-avatar-fallback svg { width: 25px; height: 25px; }
.social-stats-profile-name { display: flex; align-items: center; gap: 11px; }
.social-stats-profile-name > strong { color: #f4f7f1; font-size: 18px; }
.social-stats-profile > div > small { display: block; margin-top: 3px; color: var(--muted); }
.social-stats-channels { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.social-stats-channel {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 170px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    background: rgba(0,0,0,.18);
    color: var(--text);
    text-decoration: none;
}
.social-stats-channel:hover { border-color: var(--border-strong); color: var(--text); }
.social-stats-channel.is-online { border-color: rgba(101,229,114,.38); background: rgba(101,229,114,.07); }
.social-stats-channel > span:nth-child(2) { min-width: 0; flex: 1; }
.social-stats-channel strong, .social-stats-channel small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.social-stats-channel small { color: var(--muted); font-size: 10px; text-transform: capitalize; }
.social-stats-channel-live { color: #65e572; font-size: 9px; font-weight: 900; letter-spacing: .05em; }
.social-stats-live-card,
.social-stats-requirement,
.social-stats-history,
.social-stats-content-breakdown,
.social-stats-audience,
.social-stats-platforms {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 14px;
    background: #111512;
}
.social-stats-live-card { border-color: rgba(101,229,114,.22); }
.social-stats-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.social-stats-section-head small { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.social-stats-section-head h6 { margin: 3px 0 0; color: #f1f4ee; font-size: 16px; }
.social-stats-live-label { display: inline-flex; align-items: center; gap: 7px; color: #65e572; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.social-stats-live-label > span { width: 7px; height: 7px; border-radius: 50%; background: #65e572; box-shadow: 0 0 10px #65e572; }
.social-stats-live-meta { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: 12px; }
.social-stats-live-meta span { display: inline-flex; align-items: center; gap: 5px; }
.social-stats-live-meta svg { width: 15px; height: 15px; }
.social-stats-player { width: 100%; overflow: hidden; border-radius: 11px; background: #050705; aspect-ratio: 16 / 9; }
.social-stats-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.social-stats-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.social-stats-grid article {
    position: relative;
    min-width: 0;
    padding: 15px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
}
.social-stats-grid article > svg { width: 20px; height: 20px; margin-bottom: 13px; color: var(--accent); }
.social-stats-grid article span, .social-stats-grid article strong { display: block; }
.social-stats-grid article span { min-height: 28px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.social-stats-grid article strong { margin-top: 4px; color: #f3f6f0; font-size: 21px; line-height: 1; }
.social-stats-grid article.social-stats-scope-gta > svg { color: #65e572; }
.social-stats-grid article.social-stats-scope-other > svg { color: #a970ff; }
.social-stats-grid article.social-stats-scope-unknown > svg { color: #8b948d; }
.social-stats-grid article.social-stats-scope-server > svg { color: #bbde1a; }
.social-content-hours-bar { display: flex; width: 100%; height: 11px; overflow: hidden; border-radius: 30px; background: rgba(255,255,255,.055); }
.social-content-hours-bar > span { display: block; min-width: 0; height: 100%; }
.social-content-hours-bar .is-gta { background: #65e572; }
.social-content-hours-bar .is-other { background: #a970ff; }
.social-content-hours-bar .is-unknown { background: #59615a; }
.social-content-hours-legend { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 12px; }
.social-content-hours-legend > span { position: relative; min-width: 0; padding: 10px 10px 10px 25px; border-radius: 9px; background: rgba(255,255,255,.025); }
.social-content-hours-legend i { position: absolute; top: 13px; left: 10px; width: 7px; height: 7px; border-radius: 50%; }
.social-content-hours-legend .is-gta i { background: #65e572; box-shadow: 0 0 8px rgba(101,229,114,.55); }
.social-content-hours-legend .is-other i { background: #a970ff; }
.social-content-hours-legend .is-unknown i { background: #59615a; }
.social-content-hours-legend small,.social-content-hours-legend strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.social-content-hours-legend small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.social-content-hours-legend strong { margin-top: 3px; color: #f1f4ee; }
.social-content-scope-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; padding: 11px 12px; border: 1px solid rgba(187,222,26,.14); border-radius: 9px; background: rgba(187,222,26,.035); color: #cbd2c8; font-size: 12px; }
.social-content-scope-note > svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--accent); }
.social-stats-audience-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.social-stats-audience-grid > span { min-width: 0; padding: 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: rgba(255,255,255,.025); }
.social-stats-audience-grid > span.is-server { border-color: rgba(187,222,26,.16); background: rgba(187,222,26,.035); }
.social-stats-audience-grid small,.social-stats-audience-grid strong,.social-stats-audience-grid em { display: block; }
.social-stats-audience-grid small { min-height: 28px; color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.social-stats-audience-grid strong { margin-top: 4px; color: #f1f4ee; font-size: 20px; }
.social-stats-audience-grid em { margin-top: 4px; color: #7f8880; font-size: 9px; font-style: normal; }
.social-stats-audience-region { display: grid; gap: 18px; min-width: 0; }
.social-stats-audience-summary {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 9px;
}
.social-stats-audience-summary > span,
.social-stats-platform-values > span {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
}
.social-stats-audience-summary > span.is-live { border-color: rgba(101,229,114,.2); background: rgba(101,229,114,.045); }
.social-stats-audience-summary small,
.social-stats-audience-summary strong,
.social-stats-audience-summary em,
.social-stats-platform-values small,
.social-stats-platform-values strong,
.social-stats-platform-values em { display: block; min-width: 0; }
.social-stats-audience-summary small,
.social-stats-platform-values small { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.social-stats-audience-summary strong { margin-top: 5px; color: #f3f6f0; font-size: 21px; overflow-wrap: anywhere; }
.social-stats-audience-summary em,
.social-stats-platform-values em { margin-top: 4px; color: #7f8880; font-size: 9px; font-style: normal; line-height: 1.35; }
.social-stats-audience-status { display: block; margin-top: 10px; color: #909991; }
.social-stats-refresh.loading svg { animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.social-stats-platform-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.social-stats-platform-card {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: rgba(0,0,0,.14);
}
.social-stats-platform-twitch { border-color: rgba(145,70,255,.24); }
.social-stats-platform-youtube { border-color: rgba(255,0,51,.22); }
.social-stats-platform-kick { border-color: rgba(83,252,24,.2); }
.social-stats-platform-tiktok { border-color: rgba(0,242,234,.2); }
.social-stats-platform-head { display: flex; align-items: center; gap: 10px; min-width: 0; }
.social-stats-platform-head > div { min-width: 0; }
.social-stats-platform-head strong,
.social-stats-platform-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.social-stats-platform-head strong { color: #f2f5ef; }
.social-stats-platform-head small { color: var(--muted); font-size: 10px; }
.social-stats-platform-values { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; margin-top: 12px; }
.social-stats-platform-values > span { padding: 9px; }
.social-stats-platform-values strong { margin-top: 4px; color: #edf1eb; overflow-wrap: anywhere; }
.social-stats-platform-note { display: block; margin-top: 9px; color: #7f8880; line-height: 1.4; }
.social-stats-platform-empty,
.social-stats-history-loading { padding: 18px; color: var(--muted); text-align: center; }
.social-content-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.badge-soft.social-scope-gta { border-color: rgba(101,229,114,.3); background: rgba(101,229,114,.1); color: #8aee94; }
.badge-soft.social-scope-other { border-color: rgba(169,112,255,.3); background: rgba(169,112,255,.1); color: #c3a1ff; }
.badge-soft.social-scope-mixed { border-color: rgba(0,196,255,.3); background: rgba(0,196,255,.1); color: #73ddff; }
.badge-soft.social-scope-unknown,.badge-soft.social-scope-unidentified { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.045); color: #9aa29b; }
.badge-soft.social-scope-server { border-color: rgba(187,222,26,.28); background: rgba(187,222,26,.08); color: #d4ef61; }
.social-stats-requirement { --requirement-color: #f5a020; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 15px; border-color: color-mix(in srgb, var(--requirement-color) 30%, transparent); }
.social-stats-requirement-approved { --requirement-color: #65e572; }
.social-stats-requirement-rejected { --requirement-color: #ff5573; }
.social-stats-requirement-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 12px; background: color-mix(in srgb, var(--requirement-color) 14%, transparent); color: var(--requirement-color); }
.social-stats-requirement-icon svg { width: 24px; height: 24px; }
.social-stats-requirement-content { min-width: 0; }
.social-stats-requirement-content > p { margin: 0 0 13px; color: #dce2d9; }
.social-stats-progress { height: 7px; overflow: hidden; border-radius: 20px; background: rgba(255,255,255,.07); }
.social-stats-progress span { display: block; height: 100%; border-radius: inherit; background: var(--requirement-color); }
.social-stats-requirement-data { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-top: 13px; }
.social-stats-requirement-data > span { padding: 10px 11px; border-radius: 9px; background: rgba(255,255,255,.03); }
.social-stats-requirement-data small, .social-stats-requirement-data strong { display: block; }
.social-stats-requirement-data small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.social-stats-requirement-data strong { margin-top: 3px; color: #eef2eb; font-size: 13px; }
.social-stats-status-reason { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; color: #cbd2c8; font-size: 12px; }
.social-stats-status-reason svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--requirement-color); }
.social-stats-valid-days { margin-top: 14px; }
.social-stats-valid-days > small { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .06em; }
.social-stats-valid-days > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.social-stats-valid-days span { padding: 5px 8px; border: 1px solid rgba(101,229,114,.18); border-radius: 7px; background: rgba(101,229,114,.055); color: #bcebc1; font-size: 11px; }
.social-stats-history .table-wrap { border-radius: 10px; }
.social-stats-history .table { min-width: 780px; }
.social-stats-history .table > :not(caption) > * > * { padding: 11px 13px; background: #0d110e; color: var(--text); border-color: rgba(255,255,255,.07); }
.social-stats-history .table thead th { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.social-stats-history-toolbar,
.social-stats-history-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.social-stats-history-toolbar { margin-bottom: 10px; }
.social-stats-history-toolbar label { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--muted); font-size: 11px; white-space: nowrap; }
.social-stats-history-toolbar select { width: 76px; }
.social-stats-history-pagination { justify-content: flex-end; margin-top: 12px; }
.social-stats-history-pagination span { min-width: 58px; color: var(--muted); font-size: 11px; text-align: center; }
.social-stats-watch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 112px;
    padding: 7px 10px;
    border: 1px solid rgba(169,112,255,.34);
    border-radius: 8px;
    background: rgba(145,70,255,.09);
    color: #c6a8ff;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
    transition: .18s ease;
}
.social-stats-watch:hover {
    border-color: #a970ff;
    background: rgba(145,70,255,.18);
    color: #fff;
    transform: translateY(-1px);
}
.social-stats-watch svg { width: 14px; height: 14px; fill: currentColor; }
.social-stats-watch-unavailable { color: #626a61; font-size: 10px; text-transform: uppercase; }
@media (max-height: 820px), (max-width: 1050px) {
    #socialStreamerStatsModal .modal-dialog { width: calc(100vw - 18px); margin: 9px auto; }
    #socialStreamerStatsModal .social-stats-modal-content { max-height: calc(100dvh - 18px); border-radius: 15px; }
    #socialStreamerStatsModal .social-stats-modal-header { padding: 14px 18px; }
    #socialStreamerStatsModal .modal-body { gap: 12px; padding: 14px 18px 18px; }
    #socialStreamerStatsModal .modal-footer { padding: 10px 18px; }
    .social-stats-hero,
    .social-stats-live-card,
    .social-stats-requirement,
    .social-stats-history { padding: 14px; }
    .social-stats-grid article { padding: 12px; }
    .social-stats-grid article > svg { margin-bottom: 9px; }
    .social-stats-grid article span { min-height: 22px; }
}
@media (max-width: 1050px) {
    .social-stats-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .social-stats-hero { align-items: flex-start; flex-direction: column; }
    .social-stats-channels { justify-content: flex-start; width: 100%; }
    .social-stats-profile-name { align-items: flex-start; flex-wrap: wrap; }
    .social-stats-profile > div > small { overflow-wrap: anywhere; }
    .social-stats-live-meta { flex-wrap: wrap; }
}
@media (max-width: 767.98px) {
    #socialStreamerStatsModal { padding: 0 !important; }
    #socialStreamerStatsModal .modal-dialog {
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        margin: 0;
    }
    #socialStreamerStatsModal .social-stats-modal-content {
        min-width: 0;
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        border-width: 0;
        border-radius: 0;
    }
    #socialStreamerStatsModal .social-stats-modal-header,
    #socialStreamerStatsModal .modal-body,
    #socialStreamerStatsModal .modal-footer { padding-left: 12px; padding-right: 12px; }
    #socialStreamerStatsModal .social-stats-modal-header { padding-top: 14px; padding-bottom: 14px; }
    #socialStreamerStatsModal .social-stats-modal-header > div { min-width: 0; padding-right: 10px; }
    #socialStreamerStatsModal .modal-title,
    #socialStreamerStatsModal .panel-subtitle {
        overflow: hidden;
        overflow-wrap: anywhere;
        text-overflow: ellipsis;
    }
    #socialStreamerStatsModal .modal-title { font-size: 19px; line-height: 1.2; }
    #socialStreamerStatsModal .modal-body {
        min-width: 0;
        width: 100%;
        gap: 12px;
        padding-top: 12px;
        padding-bottom: 16px;
        overflow-x: clip;
    }
    #socialStreamerStatsModal .modal-body > * { min-width: 0; max-width: 100%; }
    #socialStreamerStatsModal .modal-footer {
        flex-wrap: nowrap;
        gap: 8px;
        padding-top: 10px;
        padding-bottom: max(10px, env(safe-area-inset-bottom));
    }
    #socialStreamerStatsModal .modal-footer .btn { min-width: 0; margin: 0; white-space: nowrap; }
    #socialStreamerStatsModal .modal-footer .btn-primary { flex: 1; }
    .social-stats-hero,
    .social-stats-live-card,
    .social-stats-requirement,
    .social-stats-history,
    .social-stats-content-breakdown,
    .social-stats-audience,
    .social-stats-platforms { padding: 13px; border-radius: 11px; }
    .social-stats-hero { gap: 14px; }
    .social-stats-profile { width: 100%; gap: 11px; }
    .social-stats-profile > div { min-width: 0; }
    .social-stats-avatar { width: 50px; height: 50px; border-radius: 12px; }
    .social-stats-profile-name { min-width: 0; flex-wrap: wrap; gap: 5px 9px; }
    .social-stats-profile-name > strong { max-width: 100%; overflow: hidden; font-size: 16px; overflow-wrap: anywhere; text-overflow: ellipsis; }
    .social-stats-profile > div > small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .social-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .social-stats-requirement { grid-template-columns: 1fr; }
    .social-stats-requirement-data { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .social-stats-section-head { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 11px; }
    .social-stats-section-head > div { min-width: 0; width: 100%; }
    .social-stats-section-head h6 { overflow-wrap: anywhere; font-size: 15px; line-height: 1.3; }
    .social-stats-live-meta { flex-wrap: wrap; gap: 7px 12px; }
    .social-stats-player { border-radius: 8px; }
    .social-stats-player iframe { min-width: 0; max-width: 100%; }
    .social-stats-channel { width: 100%; }
    .social-stats-profile { align-items: flex-start; }
    .social-stats-avatar { width: 48px; height: 48px; }
    .social-stats-grid article strong { font-size: 18px; }
    .social-content-hours-legend { grid-template-columns: 1fr; gap: 6px; }
    .social-stats-audience-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
    .social-stats-audience-region { gap: 12px; }
    .social-stats-audience-summary { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
    .social-stats-platform-grid { grid-template-columns: 1fr; }
    .social-stats-platform-values { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .social-stats-platform-values > span:last-child { grid-column: 1 / -1; }
    .social-stats-refresh { width: 100%; justify-content: center; }
    .social-stats-history-toolbar { align-items: flex-start; flex-direction: column; }
    .social-stats-history-toolbar label { width: 100%; justify-content: space-between; }
    .social-content-hours-legend small,.social-content-hours-legend strong { white-space: normal; }
    .social-stats-history .table-wrap { overflow: visible; border: 0; }
    .social-stats-history-table,
    .social-stats-history-table tbody { display: block; width: 100%; min-width: 0 !important; }
    .social-stats-history-table thead { display: none; }
    .social-stats-history-table tbody { display: grid; gap: 9px; }
    .social-stats-history-table tbody tr { display: grid; gap: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: #0d110e; }
    .social-stats-history-table tbody td[data-label] {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        padding: 8px 10px;
        border: 0;
        border-bottom: 1px solid rgba(255,255,255,.055);
        text-align: right !important;
    }
    .social-stats-history-table tbody td[data-label]::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: var(--muted);
        font-size: 9px;
        font-weight: 850;
        text-transform: uppercase;
    }
    .social-stats-history-table tbody td[data-label="Título"],
    .social-stats-history-table tbody td[data-label="Conteúdo"] { align-items: flex-start; flex-direction: column; text-align: left !important; }
    .social-stats-history-table tbody td[data-label="Assistir"] { border-bottom: 0; }
    .social-stats-history-table .social-stats-watch { width: 100%; }
}

/* Audiência na aba de métricas */
.social-viewer-platform-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.social-viewer-platform-card {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 13px;
    background: linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.social-viewer-platform-twitch { border-color: rgba(145,70,255,.25); }
.social-viewer-platform-youtube { border-color: rgba(255,0,51,.22); }
.social-viewer-platform-kick { border-color: rgba(83,252,24,.2); }
.social-viewer-platform-tiktok { border-color: rgba(0,242,234,.2); }
.social-viewer-platform-head { display: flex; align-items: center; gap: 10px; }
.social-viewer-platform-head > div { min-width: 0; }
.social-viewer-platform-head strong,
.social-viewer-platform-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.social-viewer-platform-head strong { color: #f3f6f0; font-size: 15px; }
.social-viewer-platform-head small { color: var(--muted); font-size: 10px; }
.social-viewer-platform-values { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 13px; }
.social-viewer-platform-values > span { min-width: 0; padding: 10px; border-radius: 9px; background: rgba(0,0,0,.16); }
.social-viewer-platform-values > span.is-live { background: rgba(101,229,114,.055); }
.social-viewer-platform-values small,
.social-viewer-platform-values strong,
.social-viewer-platform-values em { display: block; }
.social-viewer-platform-values small { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.social-viewer-platform-values strong { margin-top: 4px; color: #f1f4ee; font-size: 18px; overflow-wrap: anywhere; }
.social-viewer-platform-values em { margin-top: 4px; color: #788079; font-size: 9px; font-style: normal; line-height: 1.35; }
.social-viewer-platform-empty { grid-column: 1 / -1; padding: 22px; color: var(--muted); text-align: center; }
.social-viewer-ranking-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
}
.social-viewer-ranking-row:last-child { border-bottom: 0; }
.social-viewer-ranking-row > div:first-child { display: flex; align-items: center; gap: 9px; min-width: 0; }
.social-viewer-ranking-row > div:first-child > span:last-child { min-width: 0; }
.social-viewer-ranking-row strong,
.social-viewer-ranking-row small { display: block; }
.social-viewer-ranking-row > div:first-child strong { overflow: hidden; color: #eef2eb; text-overflow: ellipsis; white-space: nowrap; }
.social-viewer-ranking-row small { color: var(--muted); font-size: 9px; }
.social-viewer-ranking-position { display: grid; flex: 0 0 auto; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: rgba(187,222,26,.09); color: var(--accent); font-weight: 900; }
.social-viewer-ranking-values { display: grid; grid-template-columns: repeat(3,minmax(58px,1fr)); gap: 6px; text-align: right; }
.social-viewer-ranking-values > span { min-width: 0; }
.social-viewer-ranking-values strong { color: #f2f5ef; }
@media (max-width: 767.98px) {
    .social-viewer-platform-grid { grid-template-columns: 1fr; }
    .social-viewer-platform-values { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .social-viewer-ranking-row { align-items: stretch; flex-direction: column; }
    .social-viewer-ranking-values { text-align: left; }
}

@media (max-width: 430px) {
    #socialStreamerStatsModal .social-stats-modal-header,
    #socialStreamerStatsModal .modal-body,
    #socialStreamerStatsModal .modal-footer { padding-left: 10px; padding-right: 10px; }
    .social-stats-grid,
    .social-stats-requirement-data { grid-template-columns: 1fr; }
    .social-stats-hero,
    .social-stats-live-card,
    .social-stats-requirement,
    .social-stats-history,
    .social-stats-content-breakdown,
    .social-stats-audience,
    .social-stats-platforms { padding: 12px; }
    .social-stats-profile { align-items: flex-start; width: 100%; }
    .social-stats-avatar { width: 48px; height: 48px; border-radius: 12px; }
    .social-stats-profile-name > strong { font-size: 16px; }
    .social-stats-grid article strong { font-size: 18px; }
    .social-stats-channel { min-width: 0; }
    .social-stats-audience-summary,
    .social-stats-platform-values { grid-template-columns: 1fr; }
    .social-stats-platform-values > span:last-child { grid-column: auto; }
    #socialStreamerStatsModal .modal-footer { align-items: stretch; flex-direction: column; }
    #socialStreamerStatsModal .modal-footer .btn { width: 100%; }
}

@media (max-width: 380px) {
    #socialStreamerStatsModal .modal-footer .btn { padding-left: 10px; padding-right: 10px; font-size: 13px; }
    #socialStreamerStatsModal .modal-footer .btn svg { width: 16px; height: 16px; }
    .social-stats-grid { gap: 7px; }
    .social-stats-grid article { padding: 11px; }
}

.social-alert-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 7px;
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-left: 3px solid #00c4ff;
    border-radius: 9px;
    background: rgba(255,255,255,.022);
}
.social-alert-row > small { flex: 0 0 auto; color: var(--muted); }
.social-alert-success { border-left-color: #65e572; background: rgba(101,229,114,.045); }
.social-alert-warning { border-left-color: #f5a020; background: rgba(245,160,32,.045); }
.social-alert-critical { border-left-color: #ff5573; background: rgba(255,85,115,.045); }
#socialRefreshStreamers.loading,
#socialRefreshMetrics.loading { cursor: wait; }
#socialRefreshStreamers.loading svg,
#socialRefreshMetrics.loading svg { animation: spin 1s linear infinite; }

.social-insight-card {
    --insight-color: var(--accent);
    display: grid;
    grid-template-columns: 46px minmax(0,1fr);
    gap: 13px;
    align-items: center;
    min-height: 126px;
    height: 100%;
    padding: 17px;
    border: 1px solid color-mix(in srgb, var(--insight-color) 23%, var(--border));
    border-radius: 13px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--insight-color) 7%, transparent), rgba(255,255,255,.015));
}
.social-insight-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 12px;
    background: color-mix(in srgb, var(--insight-color) 14%, transparent);
    color: var(--insight-color);
}
.social-insight-icon svg { width: 22px; height: 22px; }
.social-insight-content { min-width: 0; }
.social-insight-content span,
.social-insight-content strong,
.social-insight-content small { display: block; }
.social-insight-content span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.social-insight-content strong { margin: 5px 0 4px; color: var(--text); font-size: clamp(18px,1.6vw,25px); line-height: 1.08; overflow-wrap: anywhere; }
.social-insight-content small { color: var(--muted); font-size: 10px; line-height: 1.25; }
.social-insight-green { --insight-color: #65e572; }
.social-insight-red { --insight-color: #ff5573; }
.social-insight-orange { --insight-color: #f5a020; }
.social-insight-blue { --insight-color: #00c4ff; }

/* Central de Inteligencia de Sugestoes */
.ai-radar-list,.ai-knowledge-tree,.ai-correlation-list,.ai-review-list,.ai-timeline { display:grid; gap:10px; }
.ai-radar-list article { display:grid; grid-template-columns:minmax(120px,1fr) minmax(140px,2fr) 44px; align-items:center; gap:12px; }
.ai-radar-list article>div:first-child,.ai-review-head>div { display:grid; gap:2px; }
.ai-radar-list span,.ai-knowledge-tree small,.ai-review-head span { color:var(--muted); font-size:11px; }
.ai-radar-track { height:9px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.06); }
.ai-radar-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#65e572,#bbde1a); }
.ai-knowledge-tree details { padding:11px 13px; border:1px solid var(--border); border-radius:10px; background:rgba(255,255,255,.02); }
.ai-knowledge-tree summary { cursor:pointer; font-weight:800; }
.ai-knowledge-tree details>div { display:grid; gap:6px; margin:12px 0 0 12px; }
.ai-knowledge-tree button { display:flex; justify-content:space-between; gap:10px; padding:7px 9px; border:0; border-radius:7px; color:var(--text); background:rgba(255,255,255,.035); text-align:left; }
.ai-correlation-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ai-correlation-list article { display:grid; grid-template-columns:1fr auto 1fr auto; align-items:center; gap:9px; padding:11px 13px; border:1px solid var(--border); border-radius:9px; background:rgba(255,255,255,.02); }
.ai-correlation-list svg { width:15px; color:var(--accent); }
.ai-correlation-list span { color:var(--accent); font-weight:800; }
.ai-review-card { padding:16px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,.018); }
.ai-review-head { display:flex; justify-content:space-between; gap:14px; }
.ai-review-head>b { color:var(--accent); font-size:20px; }
.ai-review-card>p { margin:12px 0; color:#dce2d9; }
.ai-review-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; }
.ai-review-card dl>div { padding:9px 10px; border-radius:8px; background:rgba(255,255,255,.03); }
.ai-review-card dt { color:var(--muted); font-size:10px; text-transform:uppercase; }
.ai-review-card dd { margin:2px 0 0; font-weight:750; }
.ai-review-card dd small { color:var(--accent); font-size:10px; }
.ai-roadmap .ai-roadmap-card { grid-template-columns:44px minmax(0,1fr) auto; align-items:start; }
.ai-roadmap-main { display:grid; gap:5px; }
.ai-roadmap-factors { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.ai-roadmap-factors span { padding:5px 7px; border-radius:6px; background:rgba(255,255,255,.04); font-size:10px; }
.ai-roadmap-factors b { margin-left:3px; color:var(--accent); }
.ai-timeline>div { display:grid; grid-template-columns:72px minmax(100px,1fr) 35px; align-items:center; gap:8px; }
.ai-timeline i { height:7px; border-radius:99px; background:rgba(255,255,255,.06); overflow:hidden; }
.ai-timeline i b { display:block; height:100%; border-radius:inherit; background:var(--accent); }
@media (max-width:800px) { .ai-correlation-list{grid-template-columns:1fr}.ai-review-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-roadmap .ai-roadmap-card{grid-template-columns:36px 1fr}.ai-roadmap .ai-roadmap-card>em{grid-column:2} }
@media (max-width:520px) { .ai-radar-list article{grid-template-columns:1fr 36px}.ai-radar-track{grid-column:1/-1;grid-row:2}.ai-review-card dl{grid-template-columns:1fr} }
