@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

html:root {
	/*Prim�rias*/
	--linea-primary-blue: #1d3966;
	--linea-secondary-blue: #024379;
	--linea-primary-red: #de231b;
	--linea-primary-200: #8E949C;
	--linea-primary-300: #5A636E;
	--linea-primary-400: #3A4552;
	--linea-primary-500: #091627;
	--linea-primary-600: #081423;
	--linea-primary-700: #06101C;
	--linea-primary-800: #050C15;
	--linea-primary-900: #040910;
	--linea-blue-variant: #024379;
	--linea-blue-variant-dark: #00294b;
	/*Secund�rias*/
	--linea-secondary: #00cac0;
	--linea-secondary-50: #e0fafa;
	--linea-secondary-100: #b3f1ee;
	--linea-secondary-200: #80e7e2;
	--linea-secondary-300: #4dded6;
	--linea-secondary-400: #26d7cd;
	--linea-secondary-500: #00cac0;
	--linea-secondary-600: #00b4ab;
	--linea-secondary-700: #009c94;
	--linea-secondary-800: #007c76;
	--linea-secondary-900: #005f5b;
	/* neutras */
	--linea-black: #000000;
	--linea-neutral-white: #F1F2F4;
	--linea-neutral-100: #E0E2E6;
	--linea-neutral-200: #D2D5DA;
	--linea-neutral-300: #C1C5CD;
	--linea-neutral-400: #A0A5B1;
	--linea-neutral-500: #7E8695;
	--linea-neutral-600: #636A79;
	--linea-neutral-700: #494F5A;
	--linea-neutral-800: #32363E;
	--linea-neutral-900: #1C1E22;
	--linea-neutral-dark: #0c0e12;
	/*Info*/
	--linea-info-100: #DAEFFF;
	--linea-info-200: #3BA7F9;
	--linea-info-300: #057AD4;
	--linea-info-400: #0067B7;
	--linea-info-500: #004479;
	/*Danger*/
	--linea-danger-50: #FFEEEB;
	--linea-danger-100: #FF8064;
	--linea-danger-200: #E54522;
	--linea-danger-300: #C02300;
	--linea-danger-400: #D4542D;
	--linea-danger-500: #8A1900;
	/*Warning*/
	--linea-warning-100: #FFF6DA;
	--linea-warning-200: #FFDD78;
	--linea-warning-300: #F2B808;
	--linea-warning-400: #D0A62C;
	--linea-warning-500: #AF8300;
	/*Success*/
	--linea-success-100: #DCFFDE;
	--linea-success-200: #A7ECAB;
	--linea-success-300: #55B55B;
	--linea-success-400: #3A8340;
	--linea-success-500: #1E5F23;
	--linea-color-text-primary: #181D27;
	--linea-bg-secondary-color: #FAFAFA;
	--linea-sidebar-color: #cbdbf5;
	--linea-sidebar-hover: #dbe5f8;
	--linea-sidebar-active: #e2eafa;
	--linea-brand-purple: #630ed4;
	--linea-brand-purple-light: #7c3aed;
	--linea-brand-text: #1a1a2e;
	/*Page tokens (listagens)*/
	--linea-page-text: #181d27;
	--linea-page-text-soft: #4a4455;
	--linea-page-muted: #6b7280;
	--linea-page-surface: #ffffff;
	--linea-page-surface-soft: #f3f6fd;
	--linea-page-border: #e6e9f2;
	--linea-page-chip-bg: #e9dcfd;
	--linea-page-link: var(--linea-brand-purple);
	--linea-page-shadow: 0 1px 3px rgba(17, 24, 39, .06);
	--linea-page-card-hover-shadow: 0 8px 24px rgba(17, 24, 39, .12);
	--linea-page-overlay: rgba(24, 29, 39, .72);
	--linea-page-on-overlay: #ffffff;
	--linea-page-danger-soft: rgba(200, 30, 30, .1);
	--linea-page-toolbar-bg: #E6E2E2;
	--linea-page-panel-bg: #ddd3ee;
	--linea-page-stage-bg: #0d0f17;
	--linea-page-card-accent-bg: #ede5fd;
	--linea-page-card-accent-border: #d9c8f8;
	/*Status (online/offline) dos players*/
	--linea-status-online: #4d8a12;
	--linea-status-online-dot: #7ed321;
	--linea-status-offline: #c81e1e;
	--linea-status-offline-dot: #ff4d5e;
	/*Loader (index.html e LoadingBar)*/
	--linea-loader-bg: var(--linea-page-toolbar-bg);
	--linea-loader-text: var(--linea-page-text);
	--linea-loader-text-soft: var(--linea-page-text-soft);
	--linea-loader-track: var(--linea-page-border);
	--linea-loader-halo: #ffffff;
	--linea-loader-shadow: 0 8px 24px rgba(155, 123, 224, .25);
	--linea-loader-progress: linear-gradient(90deg, #5fb8e0, #8bc34a, #f2c14e, #e8758a, #9b7be0);
	/*Tamanhos de layout*/
	--linea-loader-size: min(140px, 40vw);
	--linea-playlist-editor-main-height: clamp(360px, calc(100vh - 430px), 640px);
	--linea-playlist-editor-item-width: clamp(200px, 20vw, 250px);
	--linea-playlist-editor-tab-overlap: 16px;
	--linea-playlist-reorder-item-width: 210px;
	/*Cores por tipo de item da playlist*/
	--linea-type-content: var(--linea-brand-purple);
	--linea-type-ready: #f0b429;
	--linea-type-ready-text: #3b2a00;
	--linea-type-news: #8cc63f;
	--linea-type-news-text: #1f3300;
	--linea-type-subplaylist: #e0559b;
	--linea-type-rss: #14a39a;
	--linea-type-carousel: #3b82f6;
	--linea-type-on-color: #ffffff;
	/*Accent (dashboard / header)*/
	--linea-accent: #630ed4;
	--linea-accent-dark: #4f0aab;
	--linea-accent-100: #e7e9ff;
	--linea-accent-300: #9aa4ff;
	--linea-dashboard-card: #ffffff;
	--linea-on-accent: #ffffff;
	--linea-header-shadow: 0 2px 12px rgba(15, 23, 42, .08);
	/*Dashboard*/
	--linea-dashboard-map-bg: var(--linea-neutral-100);
	--linea-dashboard-map-shadow: 0 24px 40px -18px rgba(15, 23, 42, .45);
	--linea-dashboard-map-shade: linear-gradient(180deg, rgba(15, 23, 42, .10) 0%, rgba(15, 23, 42, .25) 45%, rgba(9, 14, 30, .92) 100%);
	--linea-dashboard-map-control-bg: rgba(30, 36, 50, .85);
	--linea-dashboard-map-control-hover-bg: rgba(30, 36, 50, 1);
	--linea-dashboard-map-control-color: #ffffff;
	--linea-dashboard-card-shadow: 0 4px 20px rgba(15, 23, 42, .05);
	--linea-badge-success-bg: #d9fbc9;
	--linea-badge-success-color: #2f7a12;
	--linea-badge-danger-bg: #ffe4e1;
	--linea-badge-danger-color: #c02300;
	/*Grid*/
	--linea-grid-bg: #ffffff;
	--linea-grid-text: var(--linea-color-text-primary);
	--linea-grid-header-bg: #eef0fb;
	--linea-grid-header-color: #3d4250;
	--linea-grid-border: #eceef5;
	--linea-grid-row-hover: #f7f5ff;
	--linea-grid-icon-color: var(--linea-neutral-600);
	--linea-grid-shadow: 0 4px 24px rgba(15, 23, 42, .06);
	--linea-grid-pager-button-bg: #ffffff;
	--linea-grid-pager-button-border: var(--linea-neutral-200);
	--linea-grid-pager-button-color: var(--linea-color-text-primary);
	--linea-grid-odd-bg: #ffffff;
	/*Geral (superfícies, bordas, textos)*/
	--linea-surface: #ffffff;
	--linea-border-light: #cccccc;
	--linea-bg-light-gray: #f1f1f1;
	--linea-bg-light-primary: #b3c1e5;
	--linea-sidebar-header-border: #0000003d;
	--linea-form-label-color: #9d9d9d;
	--linea-input-border-hover: #212121;
	--linea-input-focus-shadow: inset 0 0 0 1px #3A4552;
	--linea-link-color: #2e53fe;
	--linea-link-hover-color: #0b3879;
	--linea-notification-panel-bg: #E9EFF2;
	--linea-modal-center-bg: #c2c2c2;
	--linea-modal-center-border: #000000;
	--linea-chat-text: #00008b;
	--linea-chat-scroll-track: #e9e9e9;
	--linea-chat-scroll-thumb: #1e3c72;
	/*Autenticação (login, recuperação de senha...)*/
	--linea-auth-bg-color: #05061a;
	--linea-auth-lang-color: var(--linea-neutral-white);
	--linea-auth-card-bg: #ffffff;
	--linea-auth-card-shadow: 0 24px 60px rgba(0, 0, 0, .45);
	--linea-auth-title-color: #0f172a;
	--linea-auth-subtitle-color: var(--linea-neutral-600);
	--linea-auth-label-color: #3d4250;
	--linea-auth-link-color: var(--linea-accent);
	--linea-auth-input-bg: #eef2fe;
	--linea-auth-input-color: #0f172a;
	--linea-auth-input-placeholder: var(--linea-neutral-500);
	--linea-auth-input-icon: var(--linea-neutral-400);
	--linea-auth-input-focus: var(--linea-accent-300);
	--linea-auth-button-bg: linear-gradient(90deg, #630ed4 0%, #7b2ff0 100%);
	--linea-auth-button-shadow: 0 12px 24px -8px rgba(99, 14, 212, .55);
	/*Grid - mapeamento Radzen*/
	--rz-grid-background-color: var(--linea-grid-bg);
	--rz-grid-header-background-color: var(--linea-grid-header-bg);
	--rz-grid-header-color: var(--linea-grid-header-color);
	--rz-grid-header-font-size: .72rem;
	--rz-grid-header-font-weight: 700;
	--rz-grid-header-text-transform: uppercase;
	--rz-grid-header-sorted-background-color: var(--linea-grid-header-bg);
	--rz-grid-header-cell-border-bottom: none;
	--rz-grid-cell-color: var(--linea-grid-text);
	--rz-grid-cell-font-size: .9rem;
	--rz-grid-stripe-background-color: var(--linea-grid-bg);
	--rz-grid-stripe-odd-background-color: var(--linea-grid-odd-bg);
	--rz-grid-frozen-cell-background-color: var(--linea-grid-bg);
	--rz-grid-frozen-stripe-background-color: var(--linea-grid-bg);
	--rz-grid-frozen-stripe-odd-background-color: var(--linea-grid-odd-bg);
	--rz-grid-frozen-cell-border: none;
	--rz-grid-hover-background-color: var(--linea-grid-row-hover);
	--rz-grid-hover-color: var(--linea-grid-text);
	--rz-grid-sort-icon-color: var(--linea-grid-header-color);
	--rz-grid-foot-background-color: var(--linea-grid-bg);
	--rz-pager-background-color: var(--linea-grid-bg);
	--rz-pager-summary-color: var(--linea-grid-header-color);
	--rz-pager-summary-font-size: .8rem;
	/*RADZEN RESET*/
	--rz-danger: #e81d1d;
	--rz-grid-header-cell-border: none;
	--rz-grid-filter-border: none;
	--rz-grid-filter-buttons-border: none;
	--rz-grid-cell-border: none;
	--rz-grid-right-cell-border: none;
	--rz-grid-bottom-cell-border: none;
	--rz-icon-font-family: "Material Symbols Rounded";
	--rz-text-font-family: "Roboto", sans-serif;
	--rz-tooltip-background-color: var(--linea-neutral-700);
	/*prim�rios*/
	/*Primary do Radzen = roxo da marca (botões, links, switches, checkboxes, foco etc.)*/
	--rz-primary: var(--linea-brand-purple);
	--rz-primary-lighter: #ede5fd;
	--rz-on-primary-lighter: var(--linea-brand-purple);
	--rz-primary-light: var(--linea-brand-purple-light);
	--rz-on-primary-light: #ffffff;
	--rz-primary-dark: var(--linea-accent-dark);
	--rz-on-primary-dark: #ffffff;
	--rz-primary-darker: #3b0a80;
	--rz-on-primary: #ffffff;
	/*Menus do Radzen (menu de contexto / clique direito)*/
	--rz-menu-background-color: var(--linea-page-surface);
	--rz-menu-border-radius: 12px;
	--rz-menu-item-padding-block: .55rem;
	--rz-menu-item-padding-inline: .75rem;
	--rz-menu-item-border-radius: 8px;
	--rz-menu-item-color: var(--linea-page-text);
	--rz-menu-item-hover-color: var(--linea-page-link);
	--rz-menu-item-hover-background-color: var(--linea-page-chip-bg);
	--rz-menu-item-icon-color: var(--linea-page-text-soft);
	--rz-menu-item-icon-hover-color: var(--linea-page-link);
	--rz-menu-item-icon-margin-inline: 0 .65rem;
	--rz-menu-item-disabled-opacity: .75;
	--rz-context-menu-padding-block: .4rem;
	--rz-context-menu-padding-inline: .4rem;
	--rz-context-menu-box-shadow: var(--linea-page-card-hover-shadow);
	/*secund�rios*/
	--rz-secondary: var(--linea-secondary-500);
	--rz-secondary-lighter: #006fff21;
	--rz-on-secondary-lighter: #d04d47;
	--rz-secondary-light: var(--linea-secondary-200);
	--rz-on-secondary-light: #19212b;
	--rz-secondary-dark: #444c58;
	--rz-on-secondary-dark: white;
	--rz-secondary-darker: #19212b;
	--rz-on-secondary-darker: #c2cddc;
	--rz-border-width: 2px;
	--rz-on-secondary: white;
	--rz-on-info: #FFF;
	--rz-notification-success-background-color: #6EB261;
	--rz-notification-warning-background-color: var(--linea-warning-400);
	--rz-notification-error-background-color: var(--linea-danger-400);
	--rz-radio-label-margin: 0 1.5rem 0 0.5rem;
	--page-side-spacing: 32px;
	/*--rz-notification-error-background-color:*/
	/*Bootstrap reset*/
	--bs-primary-rgb: 9,22,39;
	--bs-secondary-rgb: 137,102,8;
	--b-radius: 8px;
	/*#region Cores s�ries gr�ficas */
	--rz-series-1: #2a2b75;
	--rz-series-2: #494be5;
	--rz-series-3: #feba2d;
	--rz-series-4: #8945eb;
	--linea-priority-critical: #D92D20;
	--linea-priority-hight: #164592;
	--linea-priority-moderate: #366ABD;
	--linea-priority-low: #668CC7;
	--linea-priority-planned: #15A260;
	/*#endregion */
	/*Radzen*/
	--rz-selectbar-border-radius: 8px;
	--linea-bg-dark-primary: #22262F;
	--rz-header-background-color: #f8f9ff;
	--rz-sidebar-background-color: var(--linea-sidebar-color);
	--rz-panel-menu-item-2nd-level-background-color: var(--linea-sidebar-color);
	--rz-profile-menu-top-item-background-color: var(--rz-header-background-color);
	--rz-layout-body-background-color: #FAFAFA;
	--rz-dropdown-item-selected-color: var(--rz-text-body1-color);
	--rz-dropdown-item-selected-hover-color: var(--rz-text-body1-color);
	--rz-panel-menu-item-background-color: var(--linea-sidebar-color);
	--rz-panel-menu-item: #4a4455;
	--rz-panel-menu-icon-color: #4a4455;
	--rz-panel-menu-item-active-color: var(--linea-brand-purple);
	--rz-input-background-color: transparent;
	--rz-panel-menu-item-hover-color: var(--linea-brand-purple);
	--rz-selectbar-selected-color: var(--rz-text-body1-color);
	--rz-selectbar-background-color: var(--linea-bg-buttons-toggle);
	--rz-selectbar-selected-background-color: var(--linea-bg-buttons-toggle-active);
	--rz-grid-border-radius: 16px;
	--rz-header-min-height: 4.5rem;
	--rz-text-selection-background-color: var(--linea-info-400);
	--rz-text-selection-color: var(--linea-neutral-white);
	--rz-panel-menu-item-2nd-level-hover-background-color: var(--linea-sidebar-hover);
	--rz-panel-menu-item-hover-background-color: var(--linea-sidebar-hover);
	--rz-panel-menu-item-2nd-level-hover-color: var(--linea-brand-purple);
	--rz-panel-menu-item-2nd-level-active-background-color: var(--linea-sidebar-active);
	--rz-panel-menu-item-2nd-level-active-color: var(--linea-brand-purple);
	--rz-profile-menu-toggle-button-color: var(--rz-text-body1-color);
	--rz-switch-checked-background-color: var(--rz-base-400);
	--rz-panel-menu-item-3rd-level-active-background-color: var(--linea-sidebar-color);
	--rz-panel-menu-item-3rd-level-background-color: var(--linea-sidebar-color);
	--rz-panel-menu-item-3rd-level-hover-background-color: var(--linea-sidebar-hover);
	--rz-form-field-label-focus-color: var(--linea-neutral-700);
	--rz-input-placeholder-color: #8f8f8f;
	/*Interno*/
	--linea-active-bg-menu-link: var(--linea-primary-blue);
	--linea-card-border-default: #D5D7DA;
	--linea-card-color-tag: #D92D20;
	--linea-card-border-red: #F97066;
	--linea-card-shadow-red: 0 0 6px 2px #f044384d;
	--linea-card-border-green: #17B26A;
	--linea-card-shadow-green: 0 0 6px 2px #17b26a54;
	--linea-border-color: var(--linea-neutral-400);
	--linea-bg-buttons-toggle: var(--linea-neutral-white);
	--linea-bg-buttons-toggle-active: var(--rz-layout-body-background-color);
	--linea-bg-dark-secondary: #13161B;
	--linea-shadow-grid: #7a7a7a61;
	--linea-shadow-drawer-modal: #1e1e1e2e;
	--icon-color-modal: var(--rz-primary);
	--linea-bg-status-success: #17B26A;
	--linea-bg-status-rec: #F04438;
	--linea-camera-status-active: #414651;
	--linea-bg-button-modal: var(--linea-bg-dark-primary);
	--linea-general-color-reverse: #fff;
	--linea-modal-text-color: var(--linea-primary-900);
	--linea-badge-bg-color: #E9EAEB;
	--linea-shadow-smooth: 1px 1px 15px #00000030;
	--linea-border-default: solid 1px var(--linea-neutral-200);
	--linea-playlist-bg: #133755;
	--linea-bg-body: #f8f9ff;
	--linea-bg-label: #fff;
	--rz-pager-numeric-button-selected-background-color: var(--linea-neutral-300);
	--linea-text-secondary: var(--linea-neutral-400);
	--rz-tree-node-hover-background-color: transparent;
	--rz-notification-info-color: var(--linea-black);
	--rz-notification-info-background-color: var(--linea-warning-400);
	--rz-notification-info-icon-color: var(--linea-warning-400);
	--linea-bg-dropdown-header: var(--linea-bg-secondary-color);
	--linea-bg-card-default: var(--rz-header-background-color);
	--linea-icon-primary: var(--rz-primary);
	--rz-panel-menu-item-active-background-color: var(--linea-sidebar-active);
	--rz-input-focus-background-color: transparent;
	--bg-chat-modal: #e9e9e9;
	--text-color-player: var(--linea-blue-variant-dark);
	--linea-bg-blue-primary-default: var(--linea-primary-blue);
	--linea-bg-playlists-page: #eeeeee;
	/*--rz-input-hover-border: 1px solid (--linea-border-color);*/
}

.rz-overlaypanel .rz-dropdown:not(:disabled):not(.rz-state-disabled):focus {
	border: solid 3px var(--linea-primary-blue) !important;
}

.filter-players.rz-dropdown:not(:disabled):not(.rz-state-disabled):focus {
	border: none !important;
}


.rz-material-dark {
	/*Primary do Radzen = roxo da marca, com tons ajustados para fundo escuro*/
	--rz-primary: var(--linea-brand-purple);
	--rz-primary-lighter: #3b2a63;
	--rz-on-primary-lighter: #c8a8ff;
	--rz-primary-light: #8b5cf6;
	--rz-on-primary-light: #ffffff;
	--rz-primary-dark: var(--linea-accent-dark);
	--rz-on-primary-dark: #ffffff;
	--rz-primary-darker: #3b0a80;
	--rz-on-primary: #ffffff;
	--rz-menu-background-color: var(--linea-page-surface);
	--rz-menu-item-color: var(--linea-page-text);
	--rz-menu-item-hover-color: var(--linea-page-link);
	--rz-menu-item-hover-background-color: var(--linea-page-chip-bg);
	--rz-menu-item-icon-color: var(--linea-page-text-soft);
	--rz-menu-item-icon-hover-color: var(--linea-page-link);
	--rz-context-menu-box-shadow: var(--linea-page-card-hover-shadow);
	--linea-dashboard-card: var(--linea-bg-dark-primary);
	--linea-accent-100: #2c2550;
	--linea-accent-300: #b3a4ff;
	--linea-header-shadow: 0 2px 12px rgba(0, 0, 0, .55);
	/*Dashboard*/
	--linea-dashboard-map-bg: var(--linea-bg-dark-secondary);
	--linea-dashboard-map-shadow: 0 24px 40px -18px rgba(0, 0, 0, .8);
	--linea-dashboard-map-shade: linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .35) 45%, rgba(5, 7, 12, .95) 100%);
	--linea-dashboard-map-control-bg: rgba(19, 22, 27, .9);
	--linea-dashboard-map-control-hover-bg: rgba(19, 22, 27, 1);
	--linea-dashboard-map-control-color: var(--linea-neutral-100);
	--linea-dashboard-card-shadow: 0 4px 20px rgba(0, 0, 0, .35);
	--linea-badge-success-bg: #1d3a14;
	--linea-badge-success-color: #8fe06a;
	--linea-badge-danger-bg: #3d1a14;
	--linea-badge-danger-color: #ff8064;
	/*Grid*/
	--linea-grid-bg: #0c0c0c;
	--linea-grid-odd-bg: var(--linea-bg-dark-secondary);
	--linea-grid-text: var(--linea-neutral-100);
	--linea-grid-header-bg: #1d2130;
	--linea-grid-header-color: var(--linea-neutral-300);
	--linea-grid-border: #262a33;
	--linea-grid-row-hover: #1a1d26;
	--linea-grid-icon-color: var(--linea-neutral-400);
	--linea-grid-shadow: 0 4px 24px rgba(0, 0, 0, .35);
	--linea-grid-pager-button-bg: var(--linea-bg-dark-primary);
	--linea-grid-pager-button-border: #343a46;
	--linea-grid-pager-button-color: var(--linea-neutral-100);
	/*Grid - mapeamento Radzen (redeclarado para resolver os tokens do dark)*/
	--rz-grid-background-color: var(--linea-grid-bg);
	--rz-grid-header-background-color: var(--linea-grid-header-bg);
	--rz-grid-header-color: var(--linea-grid-header-color);
	--rz-grid-header-sorted-background-color: var(--linea-grid-header-bg);
	--rz-grid-cell-color: var(--linea-grid-text);
	--rz-grid-stripe-background-color: var(--linea-grid-bg);
	--rz-grid-stripe-odd-background-color: var(--linea-grid-odd-bg);
	--rz-grid-frozen-cell-background-color: var(--linea-grid-bg);
	--rz-grid-frozen-stripe-background-color: var(--linea-grid-bg);
	--rz-grid-frozen-stripe-odd-background-color: var(--linea-grid-odd-bg);
	--rz-grid-hover-background-color: var(--linea-grid-row-hover);
	--rz-grid-hover-color: var(--linea-grid-text);
	--rz-grid-sort-icon-color: var(--linea-grid-header-color);
	--rz-grid-foot-background-color: var(--linea-grid-bg);
	--rz-pager-background-color: var(--linea-grid-bg);
	--rz-pager-summary-color: var(--linea-grid-header-color);
	/*Geral (superfícies, bordas, textos)*/
	--linea-surface: var(--linea-bg-dark-secondary);
	--linea-border-light: #3a3f4a;
	--linea-bg-light-gray: #2a2e37;
	--linea-bg-light-primary: #2c3a5c;
	--linea-sidebar-header-border: #ffffff1f;
	--linea-brand-text: var(--linea-neutral-100);
	--linea-page-text: #f1f1f6;
	--linea-page-text-soft: #c9c5d3;
	--linea-page-muted: #9ca3af;
	--linea-page-surface: #1f2230;
	--linea-page-surface-soft: #262a3a;
	--linea-page-border: #31364a;
	--linea-page-chip-bg: #3b2a63;
	--linea-page-link: #b98cff;
	--linea-page-shadow: 0 1px 3px rgba(0, 0, 0, .4);
	--linea-page-card-hover-shadow: 0 8px 24px rgba(0, 0, 0, .5);
	--linea-page-overlay: rgba(0, 0, 0, .65);
	--linea-page-on-overlay: #ffffff;
	--linea-page-danger-soft: rgba(255, 107, 107, .15);
	--linea-page-toolbar-bg: #161822;
	--linea-page-panel-bg: #231d36;
	--linea-page-stage-bg: #000000;
	--linea-page-card-accent-bg: #2a2140;
	--linea-page-card-accent-border: #43336a;
	--linea-status-online: #8fd14f;
	--linea-status-offline: #ff6b6b;
	--linea-type-content: #8b5cf6;
	--linea-type-ready: #d9a21b;
	--linea-type-ready-text: #2a1d00;
	--linea-type-news: #7cb342;
	--linea-type-news-text: #142200;
	--linea-type-subplaylist: #d94a8c;
	--linea-type-rss: #129c93;
	--linea-type-carousel: #3d7be0;
	--linea-form-label-color: var(--linea-neutral-400);
	--linea-input-border-hover: var(--linea-neutral-300);
	--linea-input-focus-shadow: inset 0 0 0 1px var(--linea-neutral-400);
	--linea-link-color: #8398fd;
	--linea-link-hover-color: #b3c1ff;
	--linea-notification-panel-bg: var(--linea-bg-dark-secondary);
	--linea-modal-center-bg: #2a2e37;
	--linea-modal-center-border: var(--linea-neutral-700);
	--linea-chat-text: var(--linea-neutral-100);
	--linea-chat-scroll-track: var(--linea-neutral-800);
	--linea-chat-scroll-thumb: var(--linea-neutral-500);
	/*Autenticação (login, recuperação de senha...)*/
	--linea-auth-card-bg: var(--linea-bg-dark-secondary);
	--linea-auth-card-shadow: 0 24px 60px rgba(0, 0, 0, .7);
	--linea-auth-title-color: var(--linea-neutral-100);
	--linea-auth-subtitle-color: var(--linea-neutral-400);
	--linea-auth-label-color: var(--linea-neutral-300);
	--linea-auth-link-color: var(--linea-accent-300);
	--linea-auth-input-bg: #1d2130;
	--linea-auth-input-color: var(--linea-neutral-100);
	--linea-auth-input-placeholder: var(--linea-neutral-600);
	--linea-auth-input-icon: var(--linea-neutral-500);
	--linea-auth-input-focus: var(--linea-accent-300);
	--linea-auth-button-shadow: 0 12px 24px -8px rgba(0, 0, 0, .7);
	/*Radzen / internos sem valor dark*/
	--linea-sidebar-color: var(--linea-bg-dark-secondary);
	--linea-bg-secondary-color: var(--linea-bg-dark-primary);
	--linea-border-default: solid 1px var(--linea-neutral-800);
	--linea-shadow-smooth: 1px 1px 15px #00000080;
	--linea-card-border-green: #17B26A;
	--linea-card-shadow-green: 0 0 6px 2px #17b26a54;
	--rz-panel-menu-item: var(--linea-neutral-300);
	--rz-panel-menu-icon-color: var(--linea-neutral-300);
	--rz-panel-menu-item-3rd-level-hover-background-color: var(--linea-secondary-500);
	--rz-form-field-label-focus-color: var(--linea-neutral-300);
	--rz-input-placeholder-color: var(--linea-neutral-500);
	--rz-pager-numeric-button-selected-background-color: var(--linea-neutral-700);
	--rz-on-secondary-lighter: #d04d47;
	--rz-card-background-color: var(--linea-bg-dark-secondary);
	--rz-header-background-color: var(--linea-bg-dark-secondary);
	--rz-profile-menu-top-item-background-color: var(--linea-bg-dark-secondary);
	--rz-sidebar-background-color: var(--linea-bg-dark-secondary);
	--rz-panel-menu-item-background-color: var(--linea-bg-dark-secondary);
	--linea-active-bg-menu-link: var(--linea-bg-dark-secondary);
	--rz-panel-menu-item-2nd-level-background-color: var(--linea-bg-dark-secondary);
	--rz-layout-body-background-color: var(--linea-bg-dark-primary);
	--rz-input-background-color: transparent;
	--rz-input-focus-shadow: inset 0 0 0 1px #545454;
	--rz-input-focus-border: 2 solid #545454;
	--rz-input-focus-background-color: transparent;
	--bg-button-dark: var(--linea-bg-dark-secondary);
	--rz-dropdown-item-selected-color: var(--rz-text-body1-color);
	--rz-dropdown-item-selected-hover-color: var(--rz-text-body1-color);
	--linea-color-text-primary: #F7F7F7;
	--linea-card-border-default: #414651;
	--linea-card-color-tag: #D92D20;
	--linea-card-border-red: #F97066;
	--linea-card-shadow-red: 0 0 6px 2px #f044384d;
	--linea-border-color: var(--linea-neutral-300);
	--linea-bg-buttons-toggle: var(--rz-layout-body-background-color);
	--linea-bg-buttons-toggle-active: var(--linea-bg-dark-secondary);
	--rz-panel-menu-item-active-background-color: #630ed4;
	--rz-panel-menu-item-2nd-level-hover-background-color: #431f73;
	--rz-panel-menu-item-2nd-level-active-background-color: #431f73;
	--rz-panel-menu-item-3rd-level-active-background-color: #431f73;
	--rz-panel-menu-item-hover-background-color: #431f73;
	--rz-panel-menu-item-active-color: var(--linea-neutral-100);
	--rz-panel-menu-item-2nd-level-hover-color: var(--linea-neutral-100);
	--rz-panel-menu-item-2nd-level-active-color: var(--linea-neutral-100);
	--linea-shadow-grid: #00000061;
	--rz-selectbar-selected-background-color: var(--linea-bg-buttons-toggle-active);
	--rz-selectbar-background-color: var(--linea-bg-buttons-toggle);
	--linea-shadow-drawer-modal: #6969691a;
	--icon-color-modal: var(--linea-neutral-500);
	--linea-camera-status-active: var(--linea-bg-dark-primary);
	--linea-bg-button-modal: var(--linea-neutral-white);
	--linea-general-color-reverse: #000;
	--rz-dialog-title-background-color: var(--linea-bg-dark-secondary);
	--rz-dialog-background-color: var(--linea-bg-dark-secondary);
	--linea-modal-text-color: var(--linea-neutral-white);
	--linea-badge-bg-color: #373A41;
	--rz-tree-node-selected-color: var(--linea-neutral-white);
	--linea-bg-body: linear-gradient(180deg,var(--linea-primary-blue) 15%, var(--linea-bg-dark-primary) 15%);
	--linea-bg-label: var(--linea-bg-dark-secondary);
	--rz-panel-menu-item-3rd-level-background-color: var(--rz-panel-menu-item-2nd-level-background-color);
	--rz-tree-node-hover-background-color: transparent;
	--linea-bg-dropdown-header: var(--linea-bg-secondary-color);
	--linea-bg-card-default: var(--rz-header-background-color);
	--linea-icon-primary: var(--linea-neutral-white);
	--bg-chat-modal: var(--linea-neutral-800);
	--text-color-player: var(--linea-neutral-white);
	--linea-bg-blue-primary-default: var(--linea-bg-dark-primary);
	--linea-bg-playlists-page: var(--rz-layout-body-background-color);
	--rz-tree-node-selected-background-color: #22262f;
	--rz-dropdown-item-selected-background-color: #595959;
	/*--rz-input-hover-border: 1px solid (--linea-border-color);*/
}

/* Loader inicial (index.html): aparece antes do app aplicar o tema, então segue o tema do sistema operacional. */
@media (prefers-color-scheme: dark) {
	html:root {
		--linea-loader-bg: #161822;
		--linea-loader-text: #f1f1f6;
		--linea-loader-text-soft: #c9c5d3;
		--linea-loader-track: #31364a;
	}
}

.rz-button.rz-variant-text.rz-primary.rz-shade-default {
	color: var(--linea-icon-primary) !important;
}

.playlist-card .rz-button.rz-variant-text.rz-primary.rz-shade-default {
	color: #668198 !important;
}


.rz-notification-icon.rzi-info-circle {
	padding: 0 !important;
}

.rz-datepicker-trigger {
	z-index: 5;
}

.thumb-preview {
	width: 100%;
	max-width: 400px;
	height: auto;
	aspect-ratio: 16/9;
	object-fit:contain;
	background-color: var(--linea-neutral-300);
	border: 1px solid var(--linea-border-light);
	margin-top: 8px;
}

.img-thumb-grid {
	width: 100%;
	cursor: pointer;
}

.rz-datepicker-trigger {
	z-index: 5;
}

.thumb-preview {
	width: 100%;
	max-width: 400px;
	height: auto;
	aspect-ratio: 16/9;
	object-fit:contain;
	background-color: var(--linea-neutral-300);
	border: 1px solid var(--linea-border-light);
	margin-top: 8px;
}

.img-thumb-grid {
	width: 100%;
	cursor: pointer;
}

.img-thumb-grid-playlist {
	width: 100%;
	cursor: pointer;
	width: 50px;
	height: 50px;
}

.header-lang {
	cursor: pointer;
}

.header-lang .rz-dropdown:not(:disabled):not(.rz-state-disabled):hover {
	background-color: transparent !important;
}

.playlist-grid .rz-grid-table-striped tbody > tr:not(.rz-expanded-row-content):nth-child(odd) > td {
	border-top: solid 1px var(--linea-neutral-400);
	border-bottom: solid 1px var(--linea-neutral-400);
}

.youtube-video {
	width: 100%;
	max-width: 480px;
	height: auto;
	aspect-ratio: 16/9;
}

.video-container-modal:has(video){
	background-color: var(--linea-neutral-300);
}

.header-lang .icon-dropdown {
	color: var(--rz-profile-menu-toggle-button-color);
	position: relative;
	z-index: 1;
	margin-left: -2rem;
}


.rz-form-field-label,
.rz-state-focused .rz-form-field-label {
	background-color: var(--linea-bg-label) !important;
	color: var(--linea-form-label-color) !important;
}

.playlist-container .rz-form-field-label,
.playlist-container .rz-state-focused .rz-form-field-label {
	background-color: transparent !important;
	background: transparent !important;
}

.playlist-container .rz-form-field:hover .rz-form-field-content {
	background-color: transparent !important;
}

:not(.rz-state-empty) ~ .rz-form-field-label {
	background-color: var(--linea-bg-label) !important;
}

.backgroundcolor-light-gray {
	background-color: var(--linea-bg-light-gray) !important;
}

.backgroundcolor-light-primary {
	background-color: var(--linea-bg-light-primary) !important;
}

/*.float-label-transparent .rz-form-field .rz-form-field-content,
.float-label-transparent .rz-form-field:hover .rz-form-field-content,
.float-label-transparent .rz-textbox:not(:disabled):not(.rz-state-disabled):focus,
.rz-form-field:hover .rz-form-field-content {
	background-color: transparent !important;
	border: solid 3px transparent !important;
	outline: none !important;
	box-shadow: none !important;
	border-block-end: none !important;
	outline-offset: 0 !important;
	border-radius: 0;
	border-bottom: 1px solid var(--linea-neutral-300) !important;
}*/

.float-label-transparent .rz-textbox:not(:disabled):not(.rz-state-disabled):focus {
	border-bottom: solid 1px var(--linea-neutral-200) !important;
}

	.float-label-transparent .rz-textbox {
		color: var(--linea-neutral-white);
	}

.float-label-transparent:hover .rz-form-field-content .rz-textbox {
	background-color:transparent !important;
	border-bottom: solid 1px var(--linea-neutral-200);
}

.float-label-transparent .rz-form-field-content {
	border: none;
	border-radius: 0;
	border-bottom: solid 1px var(--linea-neutral-500);
}

.float-label-transparent .rz-form-field-label {
	background-color: transparent !important;
}
/*Modal Card*/
.card-modal .rz-variant-outlined {
	box-shadow: none !important;
	border-width: 1px;
}

.close-notification-modal {
	box-shadow: none !important;
	border: none !important;
	outline: none !important;
	background-color: transparent !important;
	font-weight: 700 !important;
	font-size: 1.5rem !important;
}

.notification-modal-title {
	border-bottom: 1px solid var(--linea-card-border-default);
}

.notification-modal-title .camera-active {
	background-color: transparent !important;
	color: var(--rz-text-body1-color) !important;
}

	.notification-modal-title h4 {
		font-size: 1.5rem !important;
		font-weight: 600;
		color: var(--linea-modal-text-color) !important;
	}

.card-notification h3 {

	color: var(--linea-modal-text-color);
	font-size: 2rem;
	font-weight: 600;
	margin-top: 1rem;
}

.dashboard-card-page .rz-badge,
.card-modal .rz-badge {
	display: grid !important;
	place-items: center;
	width: 35px;
	height: 35px;
	background-color: var(--linea-badge-bg-color) !important;
	color: var(--linea-modal-text-color) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	padding: .7rem !important;
}

.notification-modal-title {
	padding: 1.5rem 1rem;
}

.card-notification {
	border-radius: 1rem !important;
}

.card-notification .rz-dialog-content {
	padding: 0 !important;
}

.card-notification .rz-tabview-panel {
	height: 279px;
	background-color: var(--linea-neutral-dark);
}

	.card-notification .rz-tabview-panel img {
		object-fit: contain;
		height: 100%;
		margin-top: 0;
	}

	.card-modal .rz-dialog-side-titlebar-close .rzi-times {
		font-family: var(--rz-icon-font-family) !important;
	}


	.card-modal p,
	.card-modal h3,
	.card-modal h4,
	.card-modal h5,
	.card-modal .status-container span {
		font-family: "Roboto" !important;
	}

.card-modal.rz-dialog-side-position-right {
	box-shadow: -15px 0px 35px 20px var(--linea-shadow-drawer-modal) !important;
	border-left: 1px solid var(--linea-card-border-default);
}

.card-modal .rz-dialog-side-title {
	font-size: 1.5rem;
	font-weight: 600;
	padding-bottom: 1.5rem !important;
	font-family: "Roboto" !important;
}

	.card-modal .rz-dialog-side-content {
		padding: 0 1rem;
		height: auto !important;
	}

	.card-modal .rz-dialog-side-titlebar {
		border-bottom: 1px solid var(--linea-card-border-default);
	}

.card-modal-info i {
	color: var(--rz-primary);
}

.card-modal-info {
	font-size: 14px !important;
}

.card-camera {
	border: solid 1px var(--linea-card-border-default);
	border-radius: 6px;
	display: flex;
	gap: .5rem;
	align-items: center;
	padding: .2rem .7rem;
	font-size: 12px;
}

.card-camera.camera-active {
	background-color: var(--linea-camera-status-active);
	color: var(--linea-neutral-white);
}

.card-camera .camera-status {
	border-radius: 50%;
	height: 10px;
	width: 10px;
	display: inline-block;
	background-color: var(--linea-bg-status-success);
}

.card-camera.camera-active .camera-status {
	background-color: var(--linea-bg-status-rec);
}

.card-modal .rz-tabview.rz-tabview-top > .rz-tabview-panels {
	border-top: none;
}

.card-modal .rz-tabview-title {
	font-weight: 700;
	font-size: 14px;
}

.card-modal .rz-tabview-nav {
/*    flex-direction: row-reverse !important;*/
	justify-content: flex-end;
	align-items: center;
}


.card-modal .rz-tabview-nav thead {
	margin-left: auto;
	order: 9999;
}

.card-modal .rz-tabview-nav .rz-button.rz-variant-outlined.rz-base.rz-shade-default {
	border-radius: 8px !important;
	border: solid 1px var(--linea-border-color) !important;
	box-shadow: none;
}

.card-modal .rz-tabview-panel {
	padding: 0!important;
}

.card-modal-camera {
	width: 100%;
	margin-top: 1rem;
}

.modal-records{
	overflow: scroll;
	display: flex;
	align-items: center;
	flex-wrap: nowrap !important;
	gap: 1rem !important;
}

.modal-records-container {
	width: 175px;
}

.modal-records-img {
	width: 175px;
	height: auto;
	aspect-ratio: 16/9;
	border-radius: 8px;
}

.card-modal-buttons {
	position: absolute;
	bottom: 0;
	left: 0;
	border-top: solid 1px var(--linea-border-color) !important;
	padding: 1rem;
}

.card-button-notification {
	position: static;
	margin-top: 1rem;
	padding: 1.5rem 1rem;
}

.card-modal-buttons button {
	width: 100%;

}

.card-modal-buttons .rz-dark.rz-variant-filled {
	background-color: var(--linea-bg-button-modal) !important;
	color: var(--linea-general-color-reverse);
}

	.card-modal-buttons .rz-dark.rz-variant-outlined {
		color: var(--rz-text-body1-color) !important;
		border: solid 1px var(--linea-border-color) !important;
	}

.notification-input-field {
	display: grid;
	grid-template-columns: 1fr 75px;
	gap: .5rem;
}

.notification-input-field button {
	border: solid 1px var(--linea-border-color) !important;
	color: var(--linea-modal-text-color) !important;
}
/*Fim Modal Card*/
/* MAP */
.map-container {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	height: calc(100vh - 72px);
	width: 100%;
}

.map-container .rz-map {
	height: 100% !important;
}

/* FIM MAP */
.rz-form-field-end .rz-button.rz-primary {
	background-color: transparent !important;
}

.rz-selectbutton .rz-button.rz-button-sm {
	height: 40px !important;
}

.rz-selectbutton .rz-button.rz-button-sm .rz-button-text {
	font-family: 'Inter' !important;
}

.rz-button.rz-variant-text.rz-base:not(.rz-state-disabled):active {
	background-color: transparent !important;
}

/*#region Grid (padrão novo) */
.rz-data-grid {
	border: solid 1px var(--linea-grid-border) !important;
	border-radius: 16px !important;
	overflow: hidden;
	background-color: var(--linea-grid-bg);
	box-shadow: var(--linea-grid-shadow) !important;
}

	.rz-data-grid .rz-grid-table thead th {
		background-color: var(--linea-grid-header-bg) !important;
		letter-spacing: .08em;
		border: none !important;
	}

		.rz-data-grid .rz-grid-table thead th > div:not(.rz-cell-filter) {
			padding-block: 1.1rem;
		}

		.rz-data-grid .rz-grid-table thead th .rz-column-title-content {
			font-weight: 700;
		}

		.rz-data-grid .rz-grid-table thead th .rz-grid-filter-icon,
		.rz-data-grid .rz-grid-table thead th .rz-sortable-column-icon {
			color: var(--linea-grid-header-color);
			opacity: .6;
		}

	.rz-data-grid .rz-grid-table tbody > tr:not(.rz-expanded-row-content) > td {
		border-top: none !important;
		border-bottom: solid 1px var(--linea-grid-border) !important;
		padding-block: .9rem;
		transition: background-color .15s ease;
	}

	.rz-data-grid .rz-grid-table tbody > tr:last-child > td {
		border-bottom: none !important;
	}

	.rz-data-grid .rz-grid-table tbody > tr.rz-data-row:hover > td {
		background-color: var(--linea-grid-row-hover) !important;
	}

	.rz-data-grid .rz-grid-table td .rz-button.rz-variant-text:not(.rz-danger) .rzi {
		color: var(--linea-grid-icon-color);
	}

	/* Paginação */
	.rz-data-grid .rz-pager,
	.rz-data-grid .rz-pager.rz-density-compact {
		padding: 1rem 1.25rem !important;
		margin: 0 !important;
		border-top: solid 1px var(--linea-grid-border);
		background-color: var(--linea-grid-bg);
	}

.rz-data-grid .rz-pager .rz-pager-element {
	min-width: 32px;
	height: 32px;
	padding: 0 .6rem;
	border-radius: 6px;
	border: solid 1px var(--linea-grid-pager-button-border);
	background-color: var(--linea-grid-pager-button-bg);
	color: var(--linea-grid-pager-button-color);
	font-size: .8rem;
	font-weight: 600;
	box-shadow: none;
}

	.rz-data-grid .rz-pager .rz-pager-element:not(.rz-state-disabled):hover {
		border-color: var(--linea-accent);
		color: var(--linea-accent);
	}

	.rz-data-grid .rz-pager .rz-pager-element.rz-state-disabled {
		opacity: .45;
	}

.rz-data-grid .rz-pager .rz-pager-page.rz-state-active,
.rz-data-grid .rz-pager .rz-pager-page.rz-state-active:hover {
	background-color: var(--linea-accent);
	border-color: var(--linea-accent);
	color: var(--linea-on-accent);
}

.rz-data-grid .rz-pager .rz-dropdown {
	border-radius: 6px;
}
/*#endregion */

.rz-header + .rz-sidebar-collapsed {
	width: 90px !important;
	opacity: 1 !important;
}

.rz-sidebar {
	border-inline-end: none !important;
}

.info-page-top {
	margin: 1rem 0;
}

/* Estrutura padrão das páginas: todo o conteúdo dentro de um RadzenStack .page-stack.
   O espaçamento vem do padding do stack e do gap, então header -> breadcrumb -> conteúdo fica igual em todas. */
.page-stack {
	padding-top: 1rem;
}

	.page-stack > .info-page-top {
		align-items: center;
		min-height: 40px;
		margin: 0;
	}

	.page-stack > .edit-page-header {
		margin: 0 0 .5rem;
	}

.info-page-top i {
	cursor: pointer;
}

.sidebar-header {
	padding: .5rem;
}

.rz-sidebar-expanded .company-logo-sidebar {
	max-width: 80px;
}

.rz-sidebar-collapsed .company-logo-sidebar {
	max-width: 60px;
}

.sidebar-brand {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .5rem .25rem;
}

.rz-sidebar-collapsed .sidebar-brand {
	margin-inline: auto;
}

.sidebar-brand-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--linea-brand-purple-light), var(--linea-brand-purple));
	box-shadow: 0 4px 10px rgba(99, 14, 212, .3);
}

.sidebar-brand-icon .rzi {
	color: var(--linea-neutral-white) !important;
	font-size: 1.5rem;
}

.sidebar-brand-name {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--linea-brand-text);
	white-space: nowrap;
}

.sidebar-toggle-button.rz-button {
	color: var(--rz-text-body1-color);
	flex-shrink: 0;
}

.sidebar-toggle-button.rz-button .rzi {
	font-size: 1.5rem;
}

.sidebar-user {
	margin: 1rem 0 0 0;
}

.sidebar-user p:last-child {
	opacity: .5;
}

.divider-horizontal {
	width: 50%;
	height: 1px;
	border-top: solid 1px var(--rz-text-body1-color);
	margin-inline: auto;
}

.sidebar-text-menu {
	padding: 0 1rem;
	color: var(--linea-neutral-white) !important;
	opacity: .5;
	margin-bottom: -1rem !important;
}

.rz-panel-menu .rz-navigation-item {
	border-block-end: none !important;
}


/* Só no menu lateral: sem o escopo, deslocava os itens dos menus de contexto e do menu de perfil */
.rz-panel-menu .rz-navigation-item {
	margin-inline: 0;
	margin-left: .5rem;
}

.rz-panel-menu .rz-navigation-item-link {
	color: var(--rz-panel-menu-item) !important;
	padding-block: .5rem !important;
	background: none !important;
}

.rz-panel-menu .rz-navigation-item-wrapper-active {
	box-shadow: inset 3px 0 0 var(--rz-panel-menu-item-active-color);
}

.rz-panel-menu .rz-navigation-item-wrapper-active > .rz-navigation-item-link,
.rz-panel-menu .rz-navigation-item-wrapper-active .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-link,
.rz-panel-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-icon {
	color: var(--rz-panel-menu-item-active-color) !important;
}

.rz-panel-menu .rz-navigation-item-wrapper-active > .rz-navigation-item-link {
	font-weight: 600;
}

.sidebar-content {
/*    max-height: 700px;*/
	overflow-y: auto
}

.header-page {
	display: flex;
	justify-content: space-between !important;
}

.rz-tabview.rz-tabview-top > .rz-tabview-panels {
	border-top: 0;
}

.card {
	font-weight: 700;
	max-height: 140px;
	border: solid 1px var(--linea-card-border-default);
	width: 100%;
}

.card .rz-stack, .card .rz-row {
	width: auto !important;
}

.card.card-red {
	border: solid 1px var(--linea-card-border-red);
	box-shadow: var(--linea-card-shadow-red) !important;
}

.card-green {
	border: solid 1px var(--linea-card-border-green);
	box-shadow: var(--linea-card-shadow-green) !important;
}

.card .rz-text-body2 {
	font-size: 12px;
}

	.card .rz-text-h5 {
		font-weight: 700;
		font-size: 24px;
		font-family: "Roboto";
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		margin-bottom: .5rem !important;
		cursor: pointer;
	}

.card .rz-text-body1 {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 0 !important;
}

.card .tag {
	padding: 2px 5px;
	border-radius: 6px;
	color: #F7F7F7;
	font-size: 12px;
	font-weight: 500;
}

.card.card-red .tag {
	background-color: var(--linea-card-color-tag);
	cursor: pointer;
}

.rz-layout .rz-sidebar {
	position: relative !important;
}

.rz-sidebar .pollysoft-logo {
	position: sticky !important;
	top: 91%;
	display: block;
	margin-inline: auto;
}

/*.rz-panel-menu .rz-navigation-item-link, .rz-panel-menu .rz-navigation-item-link:not(.rz-state-disabled):active {
	background: radial-gradient(circle, transparent 1%, var(--linea-primary-blue) 1%) center / 15000% !important;
}*/

.rz-breadcrumb-item + .rz-breadcrumb-item::before {
	height: 1.5rem;
}

.rz-breadcrumb-item {
	display: flex !important;
}

.button-bg {
	background-color: var(--bg-button-dark) !important;
}

	.button-bg:hover {
		color: var(--rz-text-body1-color) !important;
	}

.toggle-theme .rzi {
	width: 48px !important;
	height: 48px !important;
	color: var(--rz-text-body1-color) !important;
	font-size: 1.75rem !important;
}

ul.rz-profile-menu .rz-navigation-menu {
	padding: 1rem;
}

.rz-panel-menu {
	font-size: 1.1rem;
	background-color: transparent;
}

ul.rz-profile-menu:focus-visible {
	outline: none !important;
}

html, body, * {
	font-family: "Roboto", sans-serif;
}

.rz-layout {
	grid-template-columns: 75px 1fr !important;
}

.rz-layout .rz-header {
	min-height: initial;
	padding-inline: 1rem;
	padding-block: .75rem;
	position: relative;
	z-index: 2;
	border-bottom: 0;
}

.header-title {
	font-size: 20px !important;
	font-weight: 800 !important;
}

.selected-header {
	color: var(--linea-brand-purple) !important;
	font-size: 14px !important;
	margin-inline: 1rem !important;
	margin-bottom:0 !important;
}

.rz-layout .rz-sidebar {
	width: 75px !important;
	z-index: 3 !important;
	opacity: 1 !important;
}

.rz-layout .rz-sidebar-expanded {
	width: 280px !important
}

.sidebar-fixed .rz-body{
	padding-left: 13.5rem !important;
}

.header-company {
	position: relative;
}

.header-company dropdown:not(:disabled):not(.rz-state-disabled):hover {
	background-color: transparent;
}

.header-company .rz-dropdown {
	border: none !important;
	cursor: pointer;
}

	.header-company .rz-dropdown:not(:disabled):not(.rz-state-disabled):hover,
	.header-company .rz-dropdown {
		background-color: var(--linea-bg-dropdown-header) !important;
	}

.header-user {
	padding-right: .3rem !important;
}

.header-user .item-text {
	display: flex;
	align-items: center;
	gap: .75rem;
}

	.header-user .item-text .rz-text-body1,
	.header-user .item-text p {
		font-size: .95rem;
		font-weight: 500;
		color: var(--rz-text-title-color);
	}

	.header-user .item-text img {
		border-radius: 50%;
		box-shadow: 0 0 0 2px var(--linea-accent);
	}

/* Header - busca de empresas */
.header-search {
	display: flex;
	align-items: center;
	gap: .5rem;
	flex: 0 1 370px;
	min-width: 180px;
	height: 44px;
	padding: 0 1rem;
	border-radius: 999px;
	background-color: var(--linea-accent-100);
	transition: box-shadow .2s ease;
}

	.header-search:focus-within {
		box-shadow: 0 0 0 2px var(--linea-accent-300);
	}

	.header-search .header-search-icon {
		color: var(--linea-neutral-500);
		font-size: 1.4rem;
	}

.header-company .header-search .rz-dropdown,
.header-company .header-search .rz-dropdown:not(:disabled):not(.rz-state-disabled):hover {
	background-color: transparent !important;
	box-shadow: none !important;
}

/* Header - ações rápidas */
.header-actions {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-right: 1.75rem;
}

.rz-button.header-btn {
	height: 40px;
	padding: 0 1rem !important;
	border-radius: 6px;
	font-size: .9rem;
	font-weight: 500;
	text-transform: none;
	box-shadow: none;
}

.rz-button.header-btn-outline {
	background-color: var(--linea-dashboard-card) !important;
	color: var(--rz-text-title-color) !important;
	border: solid 1px var(--linea-neutral-200) !important;
}

	.rz-button.header-btn-outline:hover {
		border-color: var(--linea-neutral-400) !important;
	}

.rz-button.header-btn-primary {
	background-color: var(--linea-accent) !important;
	color: var(--linea-on-accent) !important;
}

	.rz-button.header-btn-primary:hover {
		background-color: var(--linea-accent-dark) !important;
	}

.header-search .rz-dropdown {
	flex: 1;
	min-width: 0;
}

/* Header responsivo: o grupo da esquerda encolhe (a busca é flexível) e os itens somem aos poucos. */
.rz-header .header-mobile {
	flex-wrap: nowrap;
	min-width: 0;
	gap: 1rem !important;
}

.rz-header .header-company {
	flex: 1 1 auto;
	min-width: 0;
	flex-wrap: nowrap;
}

.rz-header .header-mobile > .rz-stack:last-child {
	flex-shrink: 0;
}

.header-title,
.selected-header {
	flex-shrink: 0;
	white-space: nowrap;
}

@media (max-width: 1200px) {
	.header-search {
		flex-basis: 260px;
	}

	.header-actions .rz-button-text {
		display: none;
	}
}

@media (max-width: 1025px) {
	.selected-header {
		display: none;
	}

	.header-search {
		min-width: 140px;
	}

	.header-actions {
		gap: .5rem;
		margin-right: .5rem;
	}

	.rz-button.header-btn {
		width: 40px;
		padding: 0 !important;
		justify-content: center;
	}

	.header-user .item-text .rz-text-body1,
	.header-user .item-text p {
		display: none;
	}

	.toggle-theme .rzi {
		width: 40px !important;
		height: 40px !important;
		font-size: 1.5rem !important;
	}
}

@media (max-width: 768px) {
	.rz-layout .rz-header {
		padding-inline: .75rem;
	}

	.rz-header .header-mobile {
		gap: .5rem !important;
	}

	.header-title,
	.header-actions {
		display: none !important;
	}

	.header-search {
		flex: 1 1 auto;
		min-width: 0;
		height: 40px;
		padding: 0 .75rem;
	}
}

@media (max-width: 480px) {
	.header-search .header-search-icon {
		display: none;
	}

	.header-user {
		padding-right: 0 !important;
	}
}
/*
.rz-header .rz-dropdown-trigger {
	display: none;
}*/

.vertical-divider {
	width: 1px;
	height: 65px;
	border-right: solid 1px var(--linea-neutral-200);
}

ul.rz-profile-menu {
	background-color: transparent;
	color: var(--linea-neutral-500);
	padding: 0 !important;
}

.column-itens-end {
	display: flex;
	justify-content: flex-end;
	gap: 1rem;
}

.rz-layout .rz-body:not(:has(> .map-container)):not(:has(> .dashboard-page)) {
	padding-top: .5rem;
	padding-left: 1rem;
	border-radius: 0;
	height: calc(100vh - 65px);
}

.rz-layout .rz-body:has(> .np-page) {
	padding: 0!important;
}

.rz-layout .rz-body:has(> .playlists-page) {
	background-color: var(--linea-bg-playlists-page) !important;
}

.rz-layout .rz-body:has(> .map-container) {
	height: calc(100vh - 65px);
	padding: 0;
	background: var(--linea-neutral-white);
}
.rz-layout .rz-body:has(> .dashboard-page) {
	height: calc(100vh - 72px);
	padding: 0;
	background: var(--rz-header-background-color);
}

.no-records-text {
	color: var(--linea-text-secondary) !important;
	padding: 1.5rem 0;
	text-align: center;
}

h1:focus {
	outline: none;
}

a, .btn-link {
	color: #0071c1;
}

.btn-primary {
	color: #fff;
	background-color: #1b6ec2;
	border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
	box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
	padding-top: 1.1rem;
}

p, h1, h2, h3, h4, h5, h6, label {
	font-family: "Source Sans 3", sans-serif;
	margin: 0;
}

.rz-dialog-mask {
	opacity: .75 !important;
}

.invalid {
	outline: 1px solid red;
}

.validation-message {
	color: red;
}

#blazor-error-ui {
	background: lightyellow;
	bottom: 0;
	box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
	display: none;
	left: 0;
	padding: 0.6rem 1.25rem 0.7rem 1.25rem;
	position: fixed;
	width: 100%;
	z-index: 1000;
}

	#blazor-error-ui .dismiss {
		cursor: pointer;
		position: absolute;
		right: 0.75rem;
		top: 0.5rem;
	}

.blazor-error-boundary {
	background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
	padding: 1rem 1rem 1rem 3.7rem;
	color: white;
}

	.blazor-error-boundary::after {
		content: "An error has occurred."
	}

.loading-container {
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Loader inicial (index.html): logo animada + progresso do carregamento do Blazor */
.bw-loader {
	position: fixed;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	padding: 1rem;
	background: var(--linea-loader-bg);
	color: var(--linea-loader-text);
}

/* Logo Brainwave num círculo claro, para o texto cinza da logo ficar legível em qualquer tema.
   O círculo é o container: a imagem não é recortada e ocupa 72% (cabe inteira dentro do círculo). */
.bw-loader-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--linea-loader-size);
	height: var(--linea-loader-size);
	border-radius: 50%;
	background: var(--linea-loader-halo);
	box-shadow: var(--linea-loader-shadow);
	animation: bw-loader-breathe 3.6s ease-in-out infinite;
}

	.bw-loader-logo img {
		width: 72%;
		height: 72%;
		object-fit: contain;
	}

@keyframes bw-loader-breathe {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
	.bw-loader-logo {
		animation: none;
	}
}

.bw-loader-bar {
	width: min(220px, 60vw);
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--linea-loader-track);
}

	.bw-loader-bar span {
		display: block;
		width: var(--blazor-load-percentage, 0%);
		height: 100%;
		border-radius: inherit;
		background: var(--linea-loader-progress);
		transition: width .2s ease;
	}

.bw-loader-text {
	min-height: 1.2em;
	font-size: .85rem;
	font-variant-numeric: tabular-nums;
	color: var(--linea-loader-text-soft);
}

	.bw-loader-text::after {
		content: var(--blazor-load-percentage-text, "Carregando");
	}

/* Loader dentro das páginas (Shared/Components/LoadingBar.razor) */
.bw-loading {
	min-height: 230px;
	padding: 1.5rem;
}

	.bw-loading .bw-loader-logo {
		width: 80px;
		height: 80px;
	}

	.bw-loading .bw-loading-text {
		margin: 0;
		color: var(--linea-page-text-soft);
	}

	.bw-loading.light .bw-loading-text {
		color: var(--linea-page-on-overlay);
	}


body:has(#app > .login-layout) {
	overflow: hidden;
}

.layout-container {
	width: 100% !important;
	max-width: none !important;
}

/*.rz-stack, .rz-row {
	width: 100%;
}*/

/*#region RadzenText */
.rz-text-body1, .rz-text-body2,
.rz-text-subtitle1, .rz-text-subtitle2, .rz-text-caption,
.rz-text-h1, .rz-text-h2, .rz-text-h3, .rz-text-h4, .rz-text-h5, .rz-text-h6,
.rz-card h1, .rz-card h2, .rz-card h3, .rz-card h4, .rz-card h5, .rz-card h6 {
	margin: 0;
}

.rz-text-body1, .rz-text-body2,
.rz-text-subtitle1, .rz-text-subtitle2 {
	font-weight: 400;
}


.rz-text-body1, rz-text-body2, .rz-text-caption {
	color: var(--linea-neutral-900);
}

.rz-text-body1 {
	font-size: 16px;
}


.rz-text-body2 {
	font-size: 14px;
}

.rz-text-subtitle1 {
	font-size: 12px;
}


.rz-text-subtitle2 {
	font-size: 10px;
}

.rz-text-h1, .rz-text-h2, .rz-text-h3,
.rz-text-h4, .rz-text-h5, .rz-text-h6 {
	font-weight: 600;
	color: var(--linea-neutral-700);
}

.rz-text-h1 {
	font-size: 24px;
}

.rz-text-h2 {
	font-size: 22px;
}

.rz-text-h3 {
	font-size: 20px;
}

.rz-text-h4 {
	font-size: 18px;
}

.rz-text-h5 {
	font-size: 16px;
}

.rz-text-h6 {
	font-size: 14px;
}

/*#endregion */

/*#region RadzenButton */
.rz-button-md {
	width: fit-content;
}

.rz-button .rz-button-text {
	text-transform: none;
	font-weight: 600;
}
/*#endregion */

/*#region RadzenLink */
.rz-link {
	display: flex;
	gap: 6px;
	align-items: center;
	color: var(--linea-link-color);
	font-weight: 700;
	flex-direction: row-reverse;
}

	.rz-link .rz-link-text {
		text-decoration: underline;
	}

	.rz-link:hover, .rz-link:focus {
		color: var(--linea-link-hover-color);
	}

/*#endregion */

/*#region INPUTS hover e focus*/
.rz-lookup-search input:not(:disabled):not(.rz-state-disabled):hover, .rz-spinner:not(:disabled):not(.rz-state-disabled):hover,
.rz-multiselect:not(:disabled):not(.rz-state-disabled):hover, .rz-dropdown:not(:disabled):not(.rz-state-disabled):hover,
.mask:not(:disabled):not(.rz-state-disabled):hover, .rz-textarea:not(:disabled):not(.rz-state-disabled):hover,
.rz-radiobutton-box:hover:not(.rz-state-disabled), .rz-chkbox-box:hover:not(.rz-state-disabled),
.rz-autocomplete:hover:not(.rz-state-disabled),
.rz-calendar .rz-inputtext:not(:disabled):not(.rz-state-disabled):hover,
.rz-colorpicker:not(:disabled):not(.rz-state-disabled):hover,
.rz-textbox:not(:disabled):not(.rz-state-disabled):hover {
	border: 1px solid var(--linea-input-border-hover);
}

.rz-lookup-search input:not(:disabled):not(.rz-state-disabled):focus, .rz-spinner:not(:disabled):not(.rz-state-disabled):focus,
.rz-multiselect:not(:disabled):not(.rz-state-disabled):focus, .rz-dropdown:not(:disabled):not(.rz-state-disabled):focus,
.rz-autocomplete:focus-within:not(.rz-state-disabled), .rz-colorpicker:not(:disabled):not(.rz-state-disabled):focus,
.mask:not(:disabled):not(.rz-state-disabled):focus, .rz-textarea:not(:disabled):not(.rz-state-disabled):focus,
.rz-spinner:focus-within:not(.rz-state-disabled),
.rz-calendar .rz-inputtext:not(:disabled):not(.rz-state-disabled):focus,
.rz-textbox:not(:disabled):not(.rz-state-disabled):focus {
	box-shadow: var(--linea-input-focus-shadow);
	border: 1px solid var(--linea-input-border-hover);
}
/*#endregion */

/*#region Notifications */
.rz-notification {
	inset-block-start: 60px;
}

.rz-growl-image.rzi-check:before,
.rz-growl-icon-close:before,
.rz-growl-message {
	color: white;
}

.rz-growl-item-container {
	background: rgb(255 255 255 / 77%);
	border-radius: 4px;
}

.rz-notification-item-wrapper {
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 4px 0 #0c0c0d0d, 0 1px 4px #0c0c0dab;
}

.rz-notification-icon {
	background-color: white;
	border-radius: 50%;
	font-size: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 600;
	padding: 12px;
}

	.rz-notification-icon.rzi-check:before,
	.rz-notification-icon.rzi-times:before {
		content: "check";
		position: relative !important;
		right: 12px !important;
		bottom: 12px !important;
	}

.rz-notification-success .rz-notification-item,
.rz-notification-message,
.rz-notification-close {
	color: white;
}
/*notification success*/
/*notification warning*/
.rz-notification-icon.rzi-exclamation-triangle:before {
	content: "exclamation";
}
/*notification error*/
.rz-notification-icon.rzi-times:before {
	content: "close";
}

/*notification info*/
.rz-growl-message-info .rz-growl-item {
	background-color: rgb(33 150 243);
}

.rz-growl-image.rzi-info-circle:before {
	color: white;
	font-family: 'Material Symbols Outlined';
}


/*#endregion */

.code-verification-input {
	width: 32px;
	height: 40px;
	background-color: var(--linea-neutral-white);
	border: 1px solid var(--linea-neutral-200);
	padding: 0;
	text-align: center;
}

.terms-link-class {
	color: var(--linea-secondary-500);
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

.rz-form-field {
	width: 100% !important;
}

.w-fit {
	width: fit-content;
}

/*#region RadzenDialog */
.rz-dialog-side {
	top: 0;
}

	.rz-dialog-side:has(.notification-container) {
		background-color: var(--linea-notification-panel-bg);
	}

		.rz-dialog-side:has(.notification-container) .rz-dialog-side-titlebar {
			display: none;
		}

.rz-dialog-side-position-right {
	height: 100%;
	border-radius: 16px 0 0 16px;
}

.rz-dialog-side-content {
	width: 100%;
	height: calc(100vh - 52px);
}

/*#endregion */

/*Dashboard*/
.dashboard-page {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 1.5rem;
	align-items: start;
	height: 100%;
	padding: 1.5rem 2rem 2rem;
	box-sizing: border-box;
}

.dashboard-map-card {
	position: relative;
	height: 100%;
	min-height: 420px;
	border-radius: 24px;
	overflow: hidden;
	background-color: var(--linea-dashboard-map-bg);
	box-shadow: var(--linea-dashboard-map-shadow);
}

	.dashboard-map-card .rz-map {
		height: 100% !important;
		width: 100%;
	}

.dashboard-map-shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--linea-dashboard-map-shade);
	opacity: 1;
	transition: opacity .6s ease;
}

.dashboard-map-card:hover .dashboard-map-shade {
	opacity: 0;
}

.dashboard-map-chip {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	display: flex;
	align-items: center;
	gap: .4rem;
	padding: .5rem .9rem;
	border-radius: 10px;
	background-color: var(--linea-dashboard-map-control-bg);
	color: var(--linea-dashboard-map-control-color);
	font-size: .8rem;
	font-weight: 500;
	pointer-events: none;
}

	.dashboard-map-chip .rzi {
		font-size: 1rem;
		color: var(--linea-accent-300);
	}

.dashboard-map-controls {
	position: absolute;
	right: 1.5rem;
	bottom: 2.5rem;
	display: flex;
	flex-direction: column;
	gap: .6rem;
}

	.dashboard-map-controls button {
		width: 38px;
		height: 38px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: none;
		border-radius: 10px;
		background-color: var(--linea-dashboard-map-control-bg);
		color: var(--linea-dashboard-map-control-color);
		cursor: pointer;
		transition: background-color .2s ease;
	}

		.dashboard-map-controls button:hover {
			background-color: var(--linea-dashboard-map-control-hover-bg);
		}

		.dashboard-map-controls button.dashboard-map-locate {
			background-color: var(--linea-accent-100);
			color: var(--linea-accent);
		}

.dashboard-side {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.dashboard-stat-card {
	display: flex;
	flex-direction: column;
	padding: 1.4rem 1.5rem;
	border-radius: 16px;
	background-color: var(--linea-dashboard-card);
	box-shadow: var(--linea-dashboard-card-shadow);
}

.dashboard-stat-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1.1rem;
}

.dashboard-stat-icon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background-color: var(--linea-accent-100);
	color: var(--linea-accent);
}

.dashboard-stat-badge {
	padding: .2rem .5rem;
	border-radius: 4px;
	font-size: .75rem;
	font-weight: 500;
}

	.dashboard-stat-badge.badge-success {
		background-color: var(--linea-badge-success-bg);
		color: var(--linea-badge-success-color);
	}

	.dashboard-stat-badge.badge-info {
		background-color: var(--linea-accent-100);
		color: var(--linea-accent);
	}

.dashboard-stat-label {
	font-size: .9rem;
	color: var(--rz-text-body1-color);
}

.dashboard-stat-value {
	display: flex;
	align-items: baseline;
	gap: .4rem;
}

	.dashboard-stat-value strong {
		font-size: 1.9rem;
		font-weight: 700;
		color: var(--rz-text-title-color);
	}

	.dashboard-stat-value span {
		font-size: .8rem;
		color: var(--linea-neutral-500);
	}

.rz-button.dashboard-add-button {
	align-self: flex-start;
	height: 50px;
	padding: 0 2.75rem !important;
	border-radius: 10px;
	background-color: var(--linea-accent) !important;
	color: var(--linea-on-accent) !important;
	font-size: 1rem;
	text-transform: none;
	box-shadow: 0 10px 20px -8px var(--linea-accent);
}

	.rz-button.dashboard-add-button:hover {
		background-color: var(--linea-accent-dark) !important;
	}

@media (max-width: 1024px) {
	.dashboard-page {
		grid-template-columns: 1fr;
		height: auto;
		padding: 1rem;
	}

	.dashboard-map-card {
		height: 60vh;
	}
}
/*#endregion */
/*#region RadzenBreadCrumb  */
.rz-breadcrumb {
	gap: 4px;
}

.rz-breadcrumb span {
	line-height: normal;
	font-size: 1.2rem;
}

.rz-breadcrumb-item + .rz-breadcrumb-item::before {
	content: "chevron_right";
	font-family: 'Material Symbols Rounded';
	padding-left: 0.25rem;
	padding-right: 0.25rem;
}

.rz-breadcrumb,
.rz-breadcrumb i.rzi {
	font-size: 12px;
	margin-right: 6px;
}

	.rz-breadcrumb i.rzi {
		font-size: 18px;
	}

/* Item atual (último) do breadcrumb: cor primária e sem o "apagado" que o Radzen aplica em itens sem link */
.rz-breadcrumb .rz-breadcrumb-item:last-child .rz-link,
.rz-breadcrumb .rz-breadcrumb-item:last-child .rz-link-disabled {
	opacity: 1;
	color: var(--linea-page-link) !important;
	font-weight: 600;
}

	.rz-breadcrumb .rz-breadcrumb-item:last-child .rzi {
		color: inherit !important;
	}
/*#endregion */

/*#region RadzenCard */
.rz-card.rz-variant-filled {
	box-shadow: 0 0 10px 0 #202e5b26;
	border-radius: var(--b-radius);
}
/*#endregion */

/*#region RadzenUpload */
.upload-button .rz-fileupload-buttonbar {
	padding: 0;
}

.upload-button .rz-fileupload-choose:not(.rz-state-disabled),
.upload-button .rz-fileupload-choose:not(.rz-state-disabled):hover:not(:active) {
	min-height: 36px;
	color: white;
	background-color: var(--rz-primary);
}

.upload-button .rz-button .rz-button-text {
	font-size: 0.875rem;
	line-height: 1.25rem;
}

/*#endregion */

/*#region RadzenDataList */
.rz-datalist-data > li {
	margin: 0;
}


/*#endregion */

/*#region RadzenProgressBar */
.rz-progressbar.rz-progressbar-primary {
	color: var(--linea-primary-400);
}

.rz-row:has(> .rz-progressbar.rz-progressbar-primary.small-progressbar) {
	padding: 10px 28px 10px 0;
}

.rz-progressbar.rz-progressbar-primary.small-progressbar {
	position: relative;
	color: #2A2B75;
	height: 8px;
	border-radius: 4px;
	overflow: visible;
	width: 80%;
}

.rz-progressbar-determinate.rz-progressbar-primary.small-progressbar .rz-progressbar-value {
	background-color: #2A2B75;
	border-radius: 4px;
}

.rz-progressbar-label {
	position: absolute;
	left: calc(100% + 8px);
	width: fit-content;
	font-weight: 600;
	font-size: 12px;
	top: 50%;
	/*transform: translateY(-50%);
	line-height: normal;*/
}

.rz-progressbar-label-value {
	display: none;
}
/*#endregion */

/*#region RadzenChart */
.rz-chart:has(.rz-legend.rz-legend-top) svg {
	margin: 14px 0;
}

.rz-chart:has(.rz-legend.rz-legend-top) .rz-legend-top {
	top: -8px;
}

.rz-legend-top {
	right: unset;
}

.rz-area-series.rz-series-0 {
	fill: #1f297580;
}

.rz-chart div:has(.rz-text-h2+.rz-text-subtitle1) {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.rz-chart div .rz-text-subtitle1 {
	color: var(--linea-neutral-400);
}

.rz-legend-item > svg {
	border-radius: 50%;
}

.rz-scheme-pastel .rz-series-item-0 .rz-chart-tooltip-content,
.rz-scheme-pastel .rz-series-item-1 .rz-chart-tooltip-content,
.rz-scheme-pastel .rz-series-item-2 .rz-chart-tooltip-content,
.rz-scheme-pastel .rz-series-item-3 .rz-chart-tooltip-content,
.rz-scheme-pastel .rz-series-item-4 .rz-chart-tooltip-content,
.rz-scheme-pastel .rz-series-item-5 .rz-chart-tooltip-content,
.rz-chart-tooltip:not(.rz-pie-tooltip) .rz-chart-tooltip-content {
	border: none;
	background-color: #3b3b3bde;
	color: white;
}

.rz-chart-tooltip-content .rz-text-body1,
.rz-chart-tooltip-content .rz-text-h5 {
	color: white;
}

/*#endregion */



/*#region RadzenTimeline */
.rz-timeline.rz-timeline-column.rz-timeline-start:not(.rz-timeline-reverse) .rz-timeline-content-start {
	display: block;
	flex: unset;
	padding-top: 2px;
}

.rz-timeline.rz-timeline-column.rz-timeline-start:not(.rz-timeline-reverse) .rz-timeline-item:before {
	left: 7.25rem;
}

.rz-timeline-point-primary,
.rz-timeline-item:before {
	background-color: #2e53fe;
}

.rz-timeline-item:not(:first-child) .rz-timeline-point {
	background-color: #8398fd;
}

.rz-timeline.rz-timeline-column .rz-timeline-item:not(:first-child) {
	padding: 0 1rem;
}
/*#endregion */

/*GridApp*/
/*.rz-grid-table thead th > div:not(.rz-cell-filter) {
	padding: 5px 0;
}
.rz-grid-table td, .rz-grid-table th {
	padding: 0 1rem;
}

.rz-data-row, td, rz-cell-data {
	line-height: 20px;
	height: 20px;
}

.rz-data-grid .rz-button-md {
	min-height: 25px !important;
	padding: 0 !important;
}*/
/*EndGridApp*/
.logo-pollysoft {
	position: absolute;
	right: 3rem;
	bottom: 2rem;
	color: var(--linea-neutral-white);
	text-decoration: none;
	transition: .4s;
	opacity: .3;
}

	.logo-pollysoft:hover {
		transform: scale(1.05);
		opacity: 1;
	   color: var(--linea-neutral-white);
	}

/*#region Autenticação (padrão Brain Wave) */
.login-layout {
	position: relative;
	min-height: 100vh;
	padding: 2rem 1rem;
	background-color: var(--linea-auth-bg-color);
	background-image: url('../images/bg-login.jpg');
	background-size: cover;
	background-position: center;
}

/* Seletor de idioma */
.rz-dropdown.auth-lang {
	position: absolute;
	top: 1.5rem;
	right: 2rem;
	width: auto;
	min-width: 140px;
	border: none !important;
	box-shadow: none !important;
	background-color: transparent !important;
	color: var(--linea-auth-lang-color);
	cursor: pointer;
}

	.rz-dropdown.auth-lang .rz-dropdown-label,
	.rz-dropdown.auth-lang .rz-dropdown-trigger {
		color: var(--linea-auth-lang-color);
	}

.auth-lang-flag {
	width: 20px;
	height: 14px;
}

/* Card */
.rz-card.auth-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 388px;
	padding: 1.25rem 2.25rem 2.25rem;
	border: none;
	border-radius: 12px;
	background-color: var(--linea-auth-card-bg);
	box-shadow: var(--linea-auth-card-shadow);
}

.auth-logo {
	width: 137px;
	margin-bottom: 1.75rem;
}

.auth-form {
	width: 100%;
}

.rz-text-h5.auth-title {
	text-align: center;
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--linea-auth-title-color);
}

.rz-text-body2.auth-subtitle {
	text-align: center;
	color: var(--linea-auth-subtitle-color);
}

.rz-label.auth-label {
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--linea-auth-label-color);
}

.rz-link.auth-link {
	flex-direction: row;
	font-size: .75rem;
	font-weight: 500;
	color: var(--linea-auth-link-color);
}

	.rz-link.auth-link .rz-link-text {
		text-decoration: none;
	}

	.rz-link.auth-link:hover {
		color: var(--linea-auth-link-color);
		opacity: .8;
	}

/* Campos */
.rz-form-field.auth-field {
	width: 100%;
}

.rz-form-field.auth-field .rz-form-field-content,
.rz-form-field.auth-field:hover .rz-form-field-content {
	height: 44px;
	border: none !important;
	border-radius: 6px;
	background-color: var(--linea-auth-input-bg) !important;
	box-shadow: none !important;
	transition: box-shadow .2s ease;
	margin-top: 0 !important;
}

.rz-form-field.auth-field.rz-state-focused .rz-form-field-content {
	box-shadow: 0 0 0 2px var(--linea-auth-input-focus) !important;
}

.rz-form-field.auth-field .rz-textbox,
.rz-form-field.auth-field .rz-textbox:not(:disabled):not(.rz-state-disabled):hover,
.rz-form-field.auth-field .rz-textbox:not(:disabled):not(.rz-state-disabled):focus {
	border: none !important;
	box-shadow: none !important;
	background-color: transparent !important;
	color: var(--linea-auth-input-color);
}

.rz-form-field.auth-field .rz-textbox::placeholder {
	color: var(--linea-auth-input-placeholder);
}

.rzi.auth-field-icon {
	font-size: 1.15rem;
	color: var(--linea-auth-input-icon);
}

.rz-form-field.auth-field .rz-form-field-helper .validation-message {
	font-size: .75rem;
}

/* Botões */
.rz-button.auth-submit {
	width: 100%;
	height: 48px;
	margin-top: .5rem;
	border: none;
	border-radius: 8px;
	background: var(--linea-auth-button-bg) !important;
	color: var(--linea-on-accent) !important;
	font-size: .95rem;
	font-weight: 500;
	text-transform: none;
	box-shadow: var(--linea-auth-button-shadow);
	transition: filter .2s ease, transform .2s ease;
}

	.rz-button.auth-submit .rz-button-box {
		flex-direction: row-reverse;
		gap: .5rem;
	}

	.rz-button.auth-submit:not(.rz-state-disabled):hover {
		filter: brightness(1.08);
		transform: translateY(-1px);
	}

.rz-button.auth-back {
	align-self: center;
	color: var(--linea-auth-link-color) !important;
	font-size: .85rem;
	text-transform: none;
}

/* Ícone de status (telas de confirmação) */
.rzi.auth-status-icon {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 2rem;
	background-color: var(--linea-accent-100);
	color: var(--linea-auth-link-color);
}

.logo-pollysoft-img {
	width: 100px;
}
/*#endregion */

.content-page-body .rz-form-field-content,
.company-edit-form .rz-form-field-content {
	margin: 0 !important;
}


.floating-box {
	position: absolute;
	background-color: #1b1b99;
	color: white;
	border-radius: 8px;
	cursor: move;
	user-select: none;
	overflow: hidden;
	max-width: 100%;
}

.floating-box .close-btn {
	position: absolute;
	top: 5px;
	right: 5px;
	cursor: pointer;
	z-index: 10;
}

.floating-box .content {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.floating-box .resizer {
	width: 10px;
	height: 10px;
	background: #fff;
	position: absolute;
	right: 0;
	bottom: 0;
	cursor: se-resize;
}

/*End New playlist page*/
/* Company Edit page*/
.input-button-field {
	display: flex;
	align-items: center;
	gap: 1rem;
}

/*BreakPoints*/
/*Extra Large > 1920*/
@media(max-width:1920px) {
}


/*Large > 1280*/
@media(max-width:1280px) {
	.filtros {
		flex-direction: column;
	}

		.filtros .rz-ripple {
			border-left: none !important;
			width: 100% !important;
			max-width: 100% !important;
			min-height: auto !important;
			padding: 0 !important
		}

	.index-container > .rz-stack > .rz-row {
		flex-direction: column;
	}

		.index-container > .rz-stack > .rz-row .rz-col-9, .index-container > .rz-stack > .rz-row .rz-col-3 {
			width: 100%;
			max-width: none;
		}

		.index-container > .rz-stack > .rz-row .rz-col-12 {
			order: 1;
		}

		.index-container > .rz-stack > .rz-row .rz-col-3 {
			order: 2;
		}

		.index-container > .rz-stack > .rz-row .rz-col-9 {
			order: 3;
		}

	.index-container[b-mz7n9u84da] > .rz-stack > .rz-row > .rz-col-9 > .rz-stack, .index-container[b-mz7n9u84da] > .rz-stack > .rz-row > .rz-col-9 > .rz-stack .charts-container {
		flex-direction: column;
	}

	.index-container[b-mz7n9u84da] .rz-row > .rz-col-7, .index-container[b-mz7n9u84da] .rz-row > .rz-col-5 {
		max-width: none;
	}

	.rz-sidebar-collapsed {
		opacity: 1 !important;
	}
}

/*Connection Profile Page*/
.connection-profile-content {
	background-color: var(--linea-surface);
}

.connetction-page-top .rz-button.rz-variant-text.rz-info.rz-shade-default {
	color: #fff;
}
/*End Connection profile Page*/
/*Medium > 1024*/
@media(max-width:1024px) {
	.beneficios {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.cliente-grupo-desktop {
		width: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden
	}

	.header-mobile {
		justify-content: space-between !important;
	}

	.rz-body {
		width: calc(100vw - 75px) !important;
	}
}


/*Small > 768*/
@media (max-width: 768px) {

	.rz-body {
		width: calc(100vw - 75px) !important;
	}
}


/*Extra Small > 576*/
@media(max-width:576px) {
}

@media (hover: hover) and (pointer: fine) {
	.rz-button.rz-variant-text.rz-base:not(.rz-state-disabled):hover {
		background-color: transparent !important;
	}
}

.rz-body {
	position: relative !important;
}

.rz-breadcrumb-item-text, .text-breadcrumb {
	color: white;
}


/* Margin footer in tables */

.rz-pager.rz-density-compact{ 
	margin: 1rem !important;
	padding: 0 !important;
}

/* rz tree */
.group-selected-text {
	border-bottom: 1px solid var(--linea-border-color);
}
.size-rz-tree {
	height: 100% !important;
	max-height: 720px !important;
}

.group-edit-modal .info-page-top {
	display: none !important;
}

.group-edit-modal .rz-card {
	box-shadow: none !important;
	border: none !important;
}

.group-edit-modal .rz-dialog-content {
	padding-top: 0 !important;
}
/* Form subtitles */
.subtitle-form {
	margin-top: 1rem !important;
	font-weight: bold !important;
	font-size: 1rem !important;
}

.custom-dialog-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10000;
}

.custom-dialog {
	background: var(--linea-surface);
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.3);
	min-width: 320px;
	max-width: 80vw;
}



/* Modal - Dialog */

.center-modal {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background-color: var(--linea-modal-center-bg) !important;
	border: 1px solid var(--linea-modal-center-border) !important;
}

/* Grid Mosaic Players */

.mosaic-component-card{
    height: 100% !important; 
    min-height: 300px;
}

.mosaic-component-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
	aspect-ratio: 28/9;
}

.grid-mosaic-4 {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(150px, 1fr));
	gap: 0.5rem;
}

.grid-mosaic-9 {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(3, minmax(140px, 1fr));
	gap: 0.5rem;
}

.grid-mosaic-16 {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(4, minmax(120px, 1fr));
	gap: 0.5rem;
}

.grid-mosaic-25 {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(5, minmax(100px, 1fr));
	gap: 0.5rem;
}

.grid-mosaic-32 {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(6, minmax(90px, 1fr));
	gap: 0.5rem;
}

@media (max-width: 1024px) {
    .grid-mosaic-9,
    .grid-mosaic-16,
    .grid-mosaic-25,
    .grid-mosaic-32 {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .grid-mosaic-4,
    .grid-mosaic-9,
    .grid-mosaic-16,
    .grid-mosaic-25,
    .grid-mosaic-32 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 480px) {
    .grid-mosaic-4,
    .grid-mosaic-9,
    .grid-mosaic-16,
    .grid-mosaic-25,
    .grid-mosaic-32 {
        grid-template-columns: 1fr !important;
    }
}

.text-ellipsis {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.text-ellipsis.text-mosaic {
	color: white;
	max-width: 150px;
	cursor: default
}

.mosaic-frame {
	object-fit: contain
}


.bg-transparent-buttons {
	background-color: transparent !important;
	color: var(--linea-secondary-blue) !important;
	box-shadow: none !important;
}


.fullscreen-card {
    width: 100vw !important;
    height: 100vh !important;
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 9999;
    background-color: var(--linea-surface);
}

 /* Scroll aparece se conte�do passar */

.fullscreen-card .grid-mosaic-4,
.fullscreen-card .grid-mosaic-9,
.fullscreen-card .grid-mosaic-16,
.fullscreen-card .grid-mosaic-25,
.fullscreen-card .grid-mosaic-32 {
	height: auto; /* ou 100% se quiser ocupar a altura */
}



/* END GRID MOSAIC PLAYERS */

/* header dialog category   */

.header-dialog-rounded {
	background-color: #1d3966;
	border-radius: 8px 8px 0px 0px;
	padding: .5rem;
}



/* End Header dialog   */
.message-header {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.count-header-message {
	max-width: 12px;
	max-height: 12px; /* altura fixa */
	width: 100%;
	height: 100%;
	position: absolute;
	top: 8px;
	left: 20px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%; 
	background: red;
	color: white;
	font-size: 10px;
	font-weight: bold;
	line-height: 1;
	box-sizing: border-box; 
}






/* Chat */
.player-chat {
	background-color: var(--bg-chat-modal) !important;
	border-radius: 1rem 1rem 0 0 !important;
	padding: 1rem !important;
	margin: 0 !important;
	color: var(--linea-chat-text) !important;
}



.player-name{ 
	display: flex;
	align-items: center;
	justify-content:end;
}

.player-name-text {
	color: var(--linea-neutral-300) !important;
	font-size: .7rem !important;
}

.player-text {
	color: var( --text-color-player) !important;
	font-weight: bold;
}


.chat-wrapper {
height: 100%;
display: flex;
flex-direction: column;
}


.container-messages {
	height: 100%;
	min-height: 400px;
	overflow-y: auto;
	padding: 1rem;
	background-color: var(--bg-chat-modal);

	scrollbar-width: thin;
	scrollbar-color: var(--linea-chat-scroll-thumb) var(--linea-chat-scroll-track);
}

	.container-messages::-webkit-scrollbar {
		width: 10px;
	}

	.container-messages::-webkit-scrollbar-track {
		background: var(--linea-chat-scroll-track);
		border-radius: 4px;
	}

	.container-messages::-webkit-scrollbar-thumb {
		background: linear-gradient(to bottom, #1976d2, #0d47a1); 
		border-radius: 4px;
	}


.chat-input-row {
	padding: 0.5rem;
/*    border-top: 1px solid #ddd;*/
	position: sticky;
	bottom: 0;
	z-index: 1;
	align-items: center;
	background-color: var(--bg-chat-modal);
}

.chat-buttons-container { 
	display: grid !important; 
	grid-template-columns: 100px 1fr 50px; 
	gap: .5rem !important;
}


	.chat-buttons-container .rz-fileupload .rz-button{ 
	 height: 40px !important;
	
	 
	 .r}

.file-upload-input .rz-fileupload-content {
	display: none !important;
}

.file-upload-input {
	text-align: center !important;
}

.input-message {
	width: 100%;
	border-radius: 20px;
	padding: 0.5rem 1rem;
}

.sender-message{ 
	display: flex; 
	align-items: center; 
	justify-content: end;
}

.receiver-message {
	display: flex;
	align-items: center;
	justify-content: start;
}

/*var(--rz-input-value-color)*/

.text-chat {
	display: block !important;
	margin-bottom: 0.25rem !important;
	color: var(--rz-input-value-color) !important;
}


.sender-message-box,
.receiver-message-box {
	background-color: var(--rz-header-background-color);
	padding: 0.5rem 0.75rem;
	border-radius: 8px;
	max-width: 250px;
	word-break: break-word;
	white-space: pre-line;
	display: flex;
	gap: .5rem;
}

.hour-text {
	font-size: 0.7rem !important;
	color: var(var(--rz-input-value-color)) !important;
}

.chat-input-row {
 align-items:center;
	background-color: var(--bg-chat-modal);
}

.sender-message-button {
	border-radius: 50%;
	width: 40px;
	height: 40px;
}

/* File Upload Button */
.file-upload-button {
	border-radius: 50%;
	width: 40px;
	height: 40px;
}

/* Radzen File Input Styling */
.file-upload-input {
	display: flex;
	align-items: center;
	justify-content: center;
}

.file-upload-input .rz-fileinput {
	border: none !important;
	background: transparent !important;
}

.file-upload-input .rz-fileinput .rz-fileinput-button {
	border-radius: 50% !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background-color: var(--rz-button-secondary-background-color) !important;
	border-color: var(--rz-button-secondary-border-color) !important;
}

.file-upload-input .rz-fileinput .rz-fileinput-button:hover {
	background-color: var(--rz-button-secondary-hover-background-color) !important;
}

.file-upload-input .rz-fileinput .rz-fileinput-button .rz-icon {
	font-size: 1.2rem !important;
}

/* Hide the file input display text */
.file-upload-input .rz-fileinput .rz-fileinput-text {
	display: none !important;
}

/* File Message Container */
.file-message-container {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

	.file-message-container p {
		margin: 0 !important;
	}

	.file-message-container:hover {
		background-color: var(--linea-neutral-200);
	}

.file-icon {
	font-size: 1.2rem;
	color: var(--linea-primary-blue);
}

.file-type-text {
	font-size: 0.9rem;
	color: var(--linea-neutral-700);
	font-weight: 500;
}
.message-header .rz-badge-pill {
	position: absolute;
	top: -.3rem;
	right: -.3rem;
	padding: 0rem 0.3rem;
	font-size: 10px;
}

.messagePopup, .supportPopup {
	display: none;
	position: absolute;
	max-height: 600px;
	width: 400px;
	border: var(--rz-panel-border);
	background-color: var(--rz-panel-background-color);
	box-shadow: var(--rz-panel-shadow);
	border-radius: var(--rz-border-radius);
	padding: 1rem;
}

.messagePopup-header {
	font-size: .8rem !important;
}

	.messagePopup-header .rz-col {
		display: flex !important;
		align-items: center !important;
		gap: .2rem;
	}

.messagePopup-body {
	margin-top: .5rem;
}

.supportPopup-header {
	background-color: var(--linea-neutral-500);
	color: var(--linea-neutral-white);
	font-weight: 700;
	padding: .5rem;
	border-radius: 8px 8px 0 0;
}

.supportPopup-body {
	cursor: pointer;
	padding: .5rem;
	white-space: nowrap;
	flex-wrap: nowrap !important;
}

.supportPopup-body .supportPopup-body-text {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/*
	Parameters
*/
.parameter-preview {
	width: 100%;
	height: 200px;
	background: var(--linea-neutral-300);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 1rem;
}

.parameter-img {
	max-width: 100%;
	max-height: 200px;
	border: 1px solid var(--linea-border-light);
	margin-top: 8px;
}

.parameter-img-container .rz-form-field-helper {
	display: flex;
	justify-content: center;
}


.rz-fileupload-buttonbar{ 
	background-color: transparent !important;
	padding: 0 !important;
}

/*Data source Edit*/
.data-source-edit .rz-form-field-content {
	margin-top: 1rem !important;
}

.rz-overlaypanel:has(.filter-players) {
	min-width: 220px !important;

}

.content-list-checkbox .rz-chkbox-box.rz-state-active.rz-state-disabled {
	background-color: #414040 !important;
	border-color: #414040 !important;
}

.news-preview {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	margin: 0 auto;
	display: block;
}

.grey-border{
	border: 1px solid var(--linea-border-light);
	border-radius: 8px;
	padding: 12px;
}

.text-not-registers-found { 
	text-align: center;
	font-size: 1rem;
	color: var(--linea-neutral-400);
	margin-top: 1rem
}

.title-text-data-source { 
	font-weight: bold;
	color: var(--linea-blue-variant);
}

/*Panel password*/
.panel-password {
	height: 80vh;
	overflow: auto;
	padding-top: 4rem !important;
}

.panel-password p {
	font-size: 1.3rem !important;
	margin-bottom: 1rem !important;
}

.panel-password .button-column {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 1rem;
}

.panel-password .button-column div {
	width: 100%;
	justify-content: center !important;
}

.panel-password .button-column button {
	width: 100%;
	max-width: 400px;
	font-size: 1.2rem;
	height: 80px;
}

.btn-top-right {
	position: absolute !important;
	top: 1rem;
	right: 1rem;
}

.panel-password .button-column button.button-password {
	max-width: 1100px !important;
	height: 100px !important;
	font-size: 2rem !important;
}

/*#region Players List */
.players-page {
	padding: 1.5rem 1.5rem 2rem;
	color: var(--linea-page-text);
}

/* Busca */
.players-page .players-search {
	width: 100%;
	max-width: 290px;
	padding: .55rem 1rem;
	border-radius: 10px;
	background: var(--linea-page-surface-soft);
}

.players-page .players-search > .rzi {
	color: var(--linea-page-muted);
	font-size: 1.4rem;
}

.players-page .players-search .rz-textbox {
	flex: 1;
	min-width: 0;
	padding: 0;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--linea-page-text);
	font-size: .95rem;
}

/* Título */
.players-page .players-title-row {
	margin: 2rem 0 1.5rem;
}

.players-page .players-title.rz-text-h3 {
	margin: 0;
	font-size: 2.25rem;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--linea-page-text);
}

.players-page .rz-button.players-btn-filter,
.players-page .rz-button.players-btn-new {
	height: auto;
	font-size: 1.05rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
}

.players-page .rz-button.players-btn-filter {
	padding: .65rem 1.1rem;
	border-radius: 10px;
	background: var(--linea-page-surface);
	color: var(--linea-page-text);
	box-shadow: 0 1px 3px rgba(17, 24, 39, .08);
}

.players-page .rz-button.players-btn-filter:hover,
.players-page .rz-button.players-btn-filter.active {
	background: var(--linea-page-chip-bg) !important;
	color: var(--linea-brand-purple) !important;
}

.players-page .rz-button.players-btn-new {
	padding: .75rem 1.5rem;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--linea-brand-purple-light), var(--linea-brand-purple));
	color: #fff;
	box-shadow: 0 8px 18px rgba(99, 14, 212, .3);
}

.players-page .rz-button.players-btn-new:hover {
	box-shadow: 0 10px 22px rgba(99, 14, 212, .38) !important;
	background: linear-gradient(135deg, var(--linea-brand-purple-light), var(--linea-brand-purple)) !important;
}

.players-page .rz-button.players-btn-filter .rzi,
.players-page .rz-button.players-btn-new .rzi {
	font-size: 1.4rem;
	color: inherit;
}

/* Cards de resumo */
.players-page .players-stats {
	margin-bottom: 2rem;
}

.players-page .rz-card.players-stat-card {
	display: flex;
	align-items: center;
	min-height: 140px;
	padding: 1.6rem 1.75rem;
	border-radius: 16px;
	background: var(--linea-page-card-accent-bg);
	border: 1px solid var(--linea-page-card-accent-border);
	box-shadow: none;
}

.players-page .rz-card.players-stat-status {
	flex: 0 1 445px;
}

.players-page .rz-card.players-stat-status > .rz-stack {
	width: 100%;
}

.players-page .rz-card.players-stat-groups {
	flex: 0 1 205px;
}

.players-page .players-stat-label {
	margin: 0;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.2;
	color: var(--linea-page-text-soft);
}

.players-page .players-stat-label.groups {
	font-size: 1.35rem;
	font-weight: 800;
	text-transform: uppercase;
}

.players-page .rz-button.players-stat-edit {
	color: var(--linea-page-text-soft);
}

.players-page .rz-button.players-stat-edit:hover {
	color: var(--linea-brand-purple) !important;
}

.players-page .players-stat-value {
	margin: 0;
	font-size: 1.9rem;
	font-weight: 800;
	line-height: 1;
	color: var(--linea-page-text);
}

.players-page .players-stat-value.offline {
	color: var(--linea-status-offline);
}

.players-page .rz-progressbar.players-stat-bar {
	flex: 1;
	min-width: 120px;
	height: 52px;
	border-radius: 26px;
	background: var(--linea-page-surface-soft);
	overflow: hidden;
}

.players-page .rz-progressbar.players-stat-bar .rz-progressbar-value {
	border-radius: 26px;
	background: var(--linea-brand-purple);
	transition: width .4s ease;
}

/* Tabela */
.players-page .rz-card.players-table {
	padding: 0;
	border-radius: 16px;
	background: var(--linea-page-surface);
	box-shadow: 0 1px 3px rgba(17, 24, 39, .05);
	overflow: hidden;
}

.players-page .players-table .rz-data-grid {
	border: none;
	border-radius: 0;
	background: var(--linea-page-surface);
}

.players-page .players-table .rz-grid-table thead th {
	background: var(--linea-page-surface-soft) !important;
	padding-block: 1rem !important;
	border: none !important;
}

.players-page .players-table .rz-grid-table thead th .rz-column-title-content {
	font-size: .85rem;
	font-weight: 800;
	letter-spacing: .12em;
	color: var(--linea-page-text-soft);
}

.players-page .players-table .rz-grid-table thead th:first-child,
.players-page .players-table .rz-grid-table tbody td:first-child {
	padding-left: 1.5rem !important;
}

.players-page .players-table .rz-grid-table tbody td {
	background: var(--linea-page-surface) !important;
	padding-block: 1.75rem !important;
	border-bottom: 1px solid var(--linea-page-border) !important;
	vertical-align: middle;
}

.players-page .players-table .rz-grid-table tbody tr:hover td {
	background: var(--linea-page-surface-soft) !important;
}

.players-page .players-table .rz-cell-data {
	white-space: normal;
	overflow: visible;
}

.players-page .players-table .rz-text-subtitle1,
.players-page .players-table .rz-text-body1,
.players-page .players-table .rz-text-body2,
.players-page .players-table .rz-text-caption {
	margin: 0;
}

.players-page .player-device-icon {
	flex-shrink: 0;
	font-size: 1.9rem;
	color: var(--linea-brand-purple);
}

.players-page .player-device-icon.vertical {
	transform: rotate(90deg);
}

.players-page .player-name {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--linea-page-text);
	word-break: break-word;
}

.players-page .player-id {
	font-size: .85rem;
	color: var(--linea-page-text-soft);
}

.players-page .player-group {
	font-size: 1rem;
	color: var(--linea-page-text);
}

.players-page .rz-badge.player-orientation {
	padding: .3rem .9rem;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	color: var(--linea-page-text);
	background: transparent;
}

.players-page .rz-badge.player-orientation.vertical {
	background: var(--linea-page-chip-bg);
	color: var(--linea-page-link);
}

.players-page .rz-link.player-layout {
	font-size: 1rem;
	font-weight: 500;
	color: var(--linea-page-link);
	text-decoration: none;
}

.players-page .rz-link.player-layout:hover {
	text-decoration: underline;
}

.players-page .player-muted {
	color: var(--linea-page-muted);
}

.players-page .player-status {
	cursor: pointer;
}

.players-page .rz-badge.player-status-badge {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: 0;
	background: transparent;
	font-size: .95rem;
	font-weight: 700;
	text-transform: none;
	white-space: nowrap;
}

.players-page .rz-badge.player-status-badge::before {
	content: "";
	width: 6px;
	height: 12px;
	border-radius: 3px;
	background: currentColor;
}

.players-page .rz-badge.player-status-badge.online {
	color: var(--linea-status-online);
}

.players-page .rz-badge.player-status-badge.online::before {
	background: var(--linea-status-online-dot);
}

.players-page .rz-badge.player-status-badge.offline {
	color: var(--linea-status-offline);
}

.players-page .rz-badge.player-status-badge.offline::before {
	background: var(--linea-status-offline-dot);
}

.players-page .rz-badge.player-status-badge.checking {
	color: var(--linea-page-muted);
	font-weight: 500;
}

.players-page .rz-badge.player-status-badge.checking::before {
	animation: players-pulse 1.2s ease-in-out infinite;
}

@keyframes players-pulse {
	0%, 100% { opacity: .3; }
	50% { opacity: 1; }
}

.players-page .player-status-time {
	font-size: .78rem;
	line-height: 1.2;
	color: var(--linea-page-text-soft);
}

.players-page .player-status-time.online {
	font-style: italic;
}

.players-page .rz-button.player-action {
	width: 34px;
	height: 34px;
	padding: 0;
	border-radius: 8px;
	color: var(--linea-page-text-soft);
}

.players-page .rz-button.player-action .rzi {
	font-size: 1.35rem;
}

.players-page .rz-button.player-action.preview {
	color: var(--linea-page-link);
}

.players-page .rz-button.player-action.preview.rz-state-disabled {
	opacity: .3;
}

.players-page .rz-button.player-action.delete {
	color: var(--linea-status-offline);
}

.players-page .rz-button.player-action {
	transition: background-color .15s, color .15s;
}

.players-page .rz-button.player-action:not(.rz-state-disabled):hover,
.players-page .rz-button.player-action:not(.rz-state-disabled):focus-visible {
	background: var(--linea-page-chip-bg) !important;
	color: var(--linea-brand-purple) !important;
}

.rz-material-dark .players-page .rz-button.player-action:not(.rz-state-disabled):hover,
.rz-material-dark .players-page .rz-button.player-action:not(.rz-state-disabled):focus-visible {
	color: var(--linea-page-link) !important;
}

.players-page .rz-button.player-action.delete:not(.rz-state-disabled):hover,
.players-page .rz-button.player-action.delete:not(.rz-state-disabled):focus-visible {
	background: rgba(200, 30, 30, .1) !important;
	color: var(--linea-status-offline) !important;
}

.players-page .players-empty {
	padding: 2rem;
	color: var(--linea-page-muted);
}

/* Previews de layouts (conteúdo fixo) */
.players-page .players-previews {
	margin-top: 2.5rem;
}

.players-page .players-previews-title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: .14em;
	color: var(--linea-page-text-soft);
}

.players-page .rz-card.layout-preview-card {
	height: 100%;
	padding: 0;
	overflow: hidden;
	border: 2px solid transparent;
	border-radius: 12px;
	background: var(--linea-page-surface);
	box-shadow: none;
}

.players-page .rz-card.layout-preview-card.editing {
	border-color: var(--linea-brand-purple);
}

.players-page .layout-preview-thumb {
	height: 140px;
}

.players-page .layout-preview-thumb .rzi {
	font-size: 2.5rem;
	color: rgba(255, 255, 255, .85);
}

.players-page .layout-preview-thumb.thumb-1 {
	background: linear-gradient(160deg, #2e3a35 0%, #3f8f84 55%, #e8e6df 100%);
}

.players-page .layout-preview-thumb.thumb-2 {
	background:
		repeating-linear-gradient(165deg, rgba(255, 255, 255, .12) 0 2px, transparent 2px 9px),
		linear-gradient(135deg, #3b0a8f 0%, #9b2bea 50%, #3346e8 100%);
}

.players-page .layout-preview-thumb.thumb-3 {
	background: linear-gradient(160deg, #dfe6ea 0%, #b9c7cf 50%, #f4f6f7 100%);
}

.players-page .layout-preview-thumb.thumb-3 .rzi {
	color: #44525c;
}

.players-page .layout-preview-thumb.thumb-4 {
	background: linear-gradient(160deg, #0f2233 0%, #2d5576 55%, #8fb3cc 100%);
}

.players-page .layout-preview-info {
	padding: .9rem 1rem 1rem;
}

.players-page .layout-preview-name {
	margin: 0;
	font-size: 1rem;
	color: var(--linea-page-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.players-page .layout-preview-card.editing .layout-preview-name {
	font-weight: 700;
	color: var(--linea-page-link);
}

.players-page .layout-preview-desc {
	margin: 0;
	font-size: .82rem;
	color: var(--linea-page-text-soft);
}

@media (max-width: 768px) {
	.players-page {
		padding: 1rem;
	}

	.players-page .players-search {
		max-width: none;
	}

	.players-page .rz-card.players-stat-status,
	.players-page .rz-card.players-stat-groups {
		flex: 1 1 100%;
	}

	.players-page .rz-card.players-table {
		overflow-x: auto;
	}
}
/*#endregion */

/*#region Playlists List */
.playlists-page {
	padding: 1.5rem 1.5rem 2rem;
	color: var(--linea-page-text);
}

.playlists-page .playlists-header {
	margin: 1rem 0 2.5rem;
}

.playlists-page .playlists-header-main {
	flex: 1 1 320px;
}

.playlists-page .playlists-title.rz-text-h3 {
	margin: 0;
	font-size: 2.25rem;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--linea-page-text);
}

/* Busca */
.playlists-page .playlists-search {
	width: 100%;
	max-width: 400px;
	padding: .6rem 1rem;
	border-radius: 10px;
	background: var(--linea-page-surface-soft);
}

.playlists-page .playlists-search > .rzi {
	color: var(--linea-page-muted);
	font-size: 1.5rem;
}

.playlists-page .playlists-search .rz-textbox {
	flex: 1;
	min-width: 0;
	padding: 0;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--linea-page-text);
	font-size: 1rem;
}

.playlists-page .rz-button.playlists-btn-new {
	height: auto;
	margin-top: 2.5rem;
	padding: .8rem 2.25rem;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--linea-brand-purple), var(--linea-brand-purple-light));
	color: var(--linea-page-on-overlay);
	font-size: 1.05rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: 0 8px 18px color-mix(in srgb, var(--linea-brand-purple) 30%, transparent);
}

.playlists-page .rz-button.playlists-btn-new:hover {
	box-shadow: 0 10px 22px color-mix(in srgb, var(--linea-brand-purple) 40%, transparent) !important;
}

.playlists-page .playlists-empty {
	padding: 3rem 1rem;
	color: var(--linea-page-muted);
}

/* Cards */
.playlists-page .rz-card.playlist-tile {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	overflow: hidden;
	border: none;
	border-radius: 16px;
	background: var(--linea-page-surface);
	box-shadow: var(--linea-page-shadow);
	transition: box-shadow .2s ease, transform .2s ease;
}

.playlists-page .rz-card.playlist-tile.editable {
	cursor: pointer;
}

.playlists-page .rz-card.playlist-tile:hover {
	box-shadow: var(--linea-page-card-hover-shadow);
	transform: translateY(-2px);
}

.playlists-page .playlist-tile-thumb {
	position: relative;
	height: 92px;
	background: var(--linea-page-surface-soft);
}

.playlists-page .playlist-tile-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.playlists-page .playlist-tile-img.placeholder {
	object-fit: contain;
	padding: 1rem;
}

.playlists-page .rz-badge.playlist-tile-badge {
	position: absolute;
	top: .75rem;
	left: .75rem;
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .3rem .6rem;
	border-radius: 6px;
	background: var(--linea-page-overlay);
	color: var(--linea-page-on-overlay);
	text-transform: none;
	backdrop-filter: blur(2px);
}

.playlists-page .rz-badge.playlist-tile-badge .rzi {
	font-size: .95rem;
	color: inherit;
}

.playlists-page .rz-badge.playlist-tile-badge .rz-text-caption {
	margin: 0;
	font-size: .8rem;
	font-weight: 700;
	color: inherit;
}

.playlists-page .playlist-tile-body {
	flex: 1;
	padding: 1.1rem 1.5rem .75rem;
}

.playlists-page .playlist-tile-name.rz-text-h6 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 500;
	color: var(--linea-page-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.playlists-page .playlist-tile-meta {
	min-width: 0;
	color: var(--linea-page-text-soft);
}

.playlists-page .playlist-tile-meta .rzi {
	font-size: 1.05rem;
	color: inherit;
}

.playlists-page .playlist-tile-meta .rz-text-caption {
	margin: 0;
	font-size: .85rem;
	letter-spacing: .02em;
	color: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.playlists-page .playlist-tile-actions {
	margin-top: auto;
	min-height: 32px;
}

.playlists-page .rz-button.playlist-tile-action {
	width: 32px;
	height: 32px;
	padding: 0;
	border-radius: 8px;
	color: var(--linea-page-text-soft);
	opacity: .7;
	transition: opacity .15s, background-color .15s, color .15s;
}

.playlists-page .rz-card.playlist-tile:hover .rz-button.playlist-tile-action {
	opacity: 1;
}

.playlists-page .rz-button.playlist-tile-action .rzi {
	font-size: 1.2rem;
}

.playlists-page .rz-button.playlist-tile-action.delete,
.playlists-page .rz-button.playlist-tile-action.expired {
	color: var(--rz-danger);
}

.playlists-page .rz-button.playlist-tile-action.expired {
	opacity: 1;
}

.playlists-page .rz-button.playlist-tile-action:not(.rz-state-disabled):hover,
.playlists-page .rz-button.playlist-tile-action:not(.rz-state-disabled):focus-visible {
	background: var(--linea-page-chip-bg) !important;
	color: var(--linea-page-link) !important;
}

.playlists-page .rz-button.playlist-tile-action.delete:not(.rz-state-disabled):hover,
.playlists-page .rz-button.playlist-tile-action.delete:not(.rz-state-disabled):focus-visible,
.playlists-page .rz-button.playlist-tile-action.expired:not(.rz-state-disabled):hover {
	background: var(--linea-page-danger-soft) !important;
	color: var(--rz-danger) !important;
}

@media (max-width: 768px) {
	.playlists-page {
		padding: 1rem;
	}

	.playlists-page .playlists-search {
		max-width: none;
	}

	.playlists-page .rz-button.playlists-btn-new {
		margin-top: 0;
		width: 100%;
	}
}
/*#endregion */

/*#region Playlist Editor (/playlists/add e /playlists/{id}) */
.np-page {
	min-height: 100%;
	background: var(--linea-page-toolbar-bg);
	color: var(--linea-page-text);
}

/* Cores por tipo de item (abas, biblioteca e faixa) */
:is(.np-page, .np-reorder) .np-type-content { --np-type: var(--linea-type-content); --np-type-text: var(--linea-type-on-color); }
:is(.np-page, .np-reorder) .np-type-contentready { --np-type: var(--linea-type-ready); --np-type-text: var(--linea-type-ready-text); }
:is(.np-page, .np-reorder) .np-type-news { --np-type: var(--linea-type-news); --np-type-text: var(--linea-type-news-text); }
:is(.np-page, .np-reorder) .np-type-subplaylist { --np-type: var(--linea-type-subplaylist); --np-type-text: var(--linea-type-on-color); }
:is(.np-page, .np-reorder) .np-type-newssource { --np-type: var(--linea-type-rss); --np-type-text: var(--linea-type-on-color); }
:is(.np-page, .np-reorder) .np-type-carousel,
:is(.np-page, .np-reorder) .np-type-carouselcontentready,
:is(.np-page, .np-reorder) .np-type-carouselnews { --np-type: var(--linea-type-carousel); --np-type-text: var(--linea-type-on-color); }

.np-page .rz-button.np-icon-btn {
	color: var(--linea-page-text-soft);
}

.np-page .rz-button.np-icon-btn:not(.rz-state-disabled):hover {
	background: var(--linea-page-chip-bg) !important;
	color: var(--linea-page-link) !important;
}

/* Toolbar */
.np-page .np-toolbar {
	padding: 1rem 1.5rem;
	background: var(--linea-page-toolbar-bg);
}

.np-page .np-toolbar-main {
	flex: 1 1 auto;
	min-width: 0;
}

.np-page .np-name {
	min-width: 0;
}

.np-page .np-name-text.rz-text-h5 {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--linea-page-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 32ch;
}

.np-page .rz-textbox.np-name-input {
	width: 280px;
	max-width: 100%;
	border-radius: 8px;
	background: var(--linea-page-surface);
	color: var(--linea-page-text);
	font-size: 1.1rem;
}

.np-page .rz-dropdown.np-layout-select {
	width: 220px;
	border-radius: 8px;
	background: var(--linea-page-surface);
}

.np-page .np-subplaylist .rz-label {
	color: var(--linea-page-text-soft);
	white-space: nowrap;
}

:is(.np-page, .np-reorder) .rz-button.np-btn-save,
.np-page .rz-button.np-btn-delete {
	height: auto;
	padding: .65rem 1.6rem;
	border-radius: 12px;
	font-size: 1.05rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
}

:is(.np-page, .np-reorder) .rz-button.np-btn-save {
	background: linear-gradient(135deg, var(--linea-brand-purple-light), var(--linea-brand-purple));
	color: var(--linea-type-on-color);
	box-shadow: 0 8px 18px color-mix(in srgb, var(--linea-brand-purple) 30%, transparent);
}

/* Botões roxos em degradê: o hover do Radzen troca o background-image e revelava o azul do --rz-primary. */
.players-page .rz-button.players-btn-new,
.playlists-page .rz-button.playlists-btn-new,
.downloads-page .rz-button.downloads-btn,
.edit-actions .rz-button[type="submit"],
:is(.np-page, .np-reorder) .rz-button.np-btn-save {
	background-color: var(--linea-brand-purple);
}

.players-page .rz-button.players-btn-new:not(.rz-state-disabled):is(:hover, :active, :focus-visible),
.playlists-page .rz-button.playlists-btn-new:not(.rz-state-disabled):is(:hover, :active, :focus-visible),
.downloads-page .rz-button.downloads-btn:not(.rz-state-disabled):is(:hover, :active, :focus-visible),
.edit-actions .rz-button[type="submit"]:not(.rz-state-disabled):is(:hover, :active, :focus-visible),
:is(.np-page, .np-reorder) .rz-button.np-btn-save:not(.rz-state-disabled):is(:hover, :active, :focus-visible) {
	background-color: var(--linea-brand-purple) !important;
	background-image: linear-gradient(135deg, var(--linea-brand-purple-light), var(--linea-brand-purple)) !important;
	background-size: auto !important;
	color: var(--linea-type-on-color) !important;
	filter: brightness(1.1);
}

.np-page .rz-button.np-btn-delete {
	background: var(--linea-page-text-soft);
	color: var(--linea-page-surface);
	box-shadow: var(--linea-page-shadow);
}

.np-page .rz-button.np-btn-delete:not(.rz-state-disabled):hover {
	background: var(--rz-danger) !important;
	color: var(--linea-type-on-color) !important;
}

.np-page .np-validation {
	padding: 0 1.5rem;
	background: var(--linea-page-toolbar-bg);
}

.np-page .np-validation .validation-message {
	padding-bottom: .5rem;
	font-size: .85rem;
	color: var(--rz-danger);
}

/* Layout principal */
.np-page .np-layout {
	display: grid !important;
	background-color: var(--linea-bg-playlists-page);
	grid-template-columns: minmax(140px, 170px) minmax(0, 1fr) minmax(300px, 410px);
	grid-template-rows: var(--linea-playlist-editor-main-height) auto;
	grid-template-areas:
		"stats preview library"
		"strip strip strip";
}

.np-page .np-dnd {
	display: contents !important;
}

/* Resumo de tempos */
.np-page .rz-card.np-stats {
	grid-area: stats;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.5rem;
	margin: 1.25rem 0 1.25rem 1.25rem;
	padding: 1.25rem 1rem;
	border-radius: 18px;
	background: var(--linea-page-surface);
	box-shadow: var(--linea-page-shadow);
	overflow-y: auto;
	scrollbar-width: thin;
}

.np-page .np-stat .rz-text-caption,
.np-page .np-stat .rz-text-h6,
.np-page .np-stat .rz-text-h4 {
	margin: 0;
}

.np-page .np-stat-label {
	font-size: .78rem;
	line-height: 1.25;
	text-transform: uppercase;
	color: var(--linea-page-text-soft);
}

.np-page .np-stat-value {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--linea-page-text);
	white-space: nowrap;
}

.np-page .np-stat.total .np-stat-label {
	font-weight: 800;
	letter-spacing: .08em;
	color: var(--linea-page-link);
}

.np-page .np-stat.total .np-stat-value {
	font-size: 1.9rem;
	font-weight: 800;
}

/* Preview */
.np-page .np-preview {
	grid-area: preview;
	min-width: 0;
	padding: 1.25rem;
}

.np-page .np-stage {
	position: relative;
	height: 100%;
	overflow: hidden;
	border: 4px solid var(--linea-brand-purple);
	border-radius: 20px;
	background: var(--linea-page-stage-bg);
	box-shadow: 0 10px 30px color-mix(in srgb, var(--linea-brand-purple) 20%, transparent);
}

.np-page .np-stage:fullscreen {
	border: none;
	border-radius: 0;
}

.np-page .rz-carousel.np-carousel {
	height: 100%;
	width: 100%;
	background: transparent;
}

.np-page .np-carousel .rz-carousel-items,
.np-page .np-carousel .rz-carousel-item {
	height: 100%;
}

.np-page .playlist-content-item video,
.np-page .playlist-content-item iframe,
.np-page .playlist-content-item audio,
.np-page .playlist-content-item img {
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: contain;
}

.np-page .np-stage .template-layout {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.np-page .np-rss-box {
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid var(--linea-page-border);
	border-radius: 4px;
}

.np-page .np-stage-empty {
	position: absolute;
	inset: 0;
	padding: 1rem;
	text-align: center;
	color: var(--linea-page-on-overlay);
	opacity: .7;
}

.np-page .np-stage-empty .rzi {
	font-size: 3rem;
}

.np-page .np-player-bar {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	padding: 2.5rem 1.5rem 1.25rem;
	background: linear-gradient(to top, var(--linea-page-overlay), transparent);
	color: var(--linea-page-on-overlay);
}

.np-page .rz-button.np-play-btn {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	padding: 0;
	border-radius: 50%;
	background: var(--linea-page-on-overlay);
	color: var(--linea-page-stage-bg);
}

.np-page .rz-button.np-play-btn .rzi {
	font-size: 2rem;
}

.np-page .np-player-info {
	flex: 1;
	min-width: 0;
}

.np-page .np-player-title.rz-text-subtitle1 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.np-page .np-player-time.rz-text-body2 {
	margin: 0;
	color: inherit;
	opacity: .85;
}

.np-page .rz-button.np-player-icon {
	color: var(--linea-page-on-overlay);
}

.np-page .rz-button.np-player-icon .rzi {
	font-size: 1.6rem;
}

/* Biblioteca (painel direito) */
.np-page .np-library {
	grid-area: library;
	min-height: 0;
	min-width: 0;
	margin: 1.25rem 1.25rem 1.25rem 0;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--linea-page-shadow);
}

/* Abas em escadinha: cada aba fica atrás da anterior; a ativa e a do hover vêm para frente. */
.np-page .np-tabs {
	flex-shrink: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	scrollbar-color: var(--linea-page-muted) transparent;
}

.np-page .rz-button.np-tab {
	position: relative;
	z-index: calc(20 - var(--np-tab-index, 0));
	flex-shrink: 0;
	min-height: 44px;
	height: auto;
	padding: .55rem 1.1rem;
	border-radius: 14px 14px 0 0;
	background: var(--np-type) !important;
	color: var(--np-type-text) !important;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.15;
	text-transform: none;
	letter-spacing: 0;
	white-space: nowrap;
	filter: saturate(.8) brightness(.96);
	box-shadow: 5px 0 10px -4px color-mix(in srgb, var(--linea-page-text) 35%, transparent) !important;
	transition: transform .15s ease, filter .15s ease, min-height .15s ease;
}

.np-page .rz-button.np-tab + .rz-button.np-tab {
	margin-left: calc(var(--linea-playlist-editor-tab-overlap) * -1);
	padding-left: calc(1.1rem + var(--linea-playlist-editor-tab-overlap));
}

.np-page .rz-button.np-tab:not(.rz-state-disabled):hover,
.np-page .rz-button.np-tab:focus-visible {
	z-index: 40;
	transform: translateY(-4px);
	filter: none;
	background: var(--np-type) !important;
	color: var(--np-type-text) !important;
}

.np-page .rz-button.np-tab.active {
	z-index: 30;
	min-height: 50px;
	font-weight: 800;
	filter: none;
}

.np-page .np-library-body {
	flex: 1;
	min-height: 0;
	padding: 1rem 1.25rem 1.25rem;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--linea-page-muted) transparent;
	background: var(--linea-page-panel-bg);
}

.np-page .np-library-search {
	flex-shrink: 0;
	padding: .65rem 1rem;
	border-radius: 10px;
	background: var(--linea-page-surface);
}

.np-page .np-library-search > .rzi {
	font-size: 1.5rem;
	color: var(--linea-page-muted);
}

.np-page .np-library-search .rz-textbox {
	flex: 1;
	min-width: 0;
	padding: 0;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--linea-page-text);
	font-size: 1rem;
}

.np-page .rz-dropdown.np-library-filter {
	width: 100%;
	flex-shrink: 0;
	border-radius: 10px;
	background: var(--linea-page-surface);
}

.np-page .np-library-list {
	display: flex;
	flex-direction: column;
	gap: .9rem;
	min-height: 120px;
	border-radius: 14px;
	transition: outline-color .15s;
	outline: 2px dashed transparent;
	outline-offset: 4px;
}

.np-page .np-library-list.rz-can-drop {
	outline-color: var(--linea-page-link);
}

.np-page .np-library-item {
	padding: .9rem 1rem;
	border-radius: 14px;
	background: var(--linea-page-surface);
	box-shadow: var(--linea-page-shadow);
	transition: box-shadow .15s, transform .15s;
}

.np-page .np-library-item:hover {
	box-shadow: var(--linea-page-card-hover-shadow);
	transform: translateY(-1px);
}

.np-page .np-library-icon {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--np-type) 18%, var(--linea-page-surface));
}

.np-page .np-library-icon .rzi {
	font-size: 1.8rem;
	color: var(--np-type);
}

.np-page .np-library-info {
	flex: 1;
	min-width: 0;
}

.np-page .np-library-name.rz-text-subtitle2 {
	margin: 0;
	font-weight: 700;
	line-height: 1.25;
	color: var(--linea-page-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}

.np-page .np-library-meta.rz-text-caption {
	margin: 0;
	color: var(--linea-page-text-soft);
}

.np-page .np-library-expired {
	font-size: 1rem;
	color: var(--rz-danger);
}

.np-page .rz-button.np-library-add {
	flex-shrink: 0;
	opacity: .6;
}

.np-page .np-library-item:hover .rz-button.np-library-add {
	opacity: 1;
}

.np-page .rz-tree.np-library-tree {
	padding: .5rem;
	border-radius: 12px;
	background: var(--linea-page-surface);
}

.np-page .np-tree-row {
	min-width: 0;
}

.np-page .np-tree-text {
	margin: 0;
	flex: 1;
	min-width: 0;
	color: var(--linea-page-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Faixa de itens (reorganizar) */
.np-page .np-strip {
	grid-area: strip;
	min-width: 0;
	padding: 1.25rem 1.5rem 1rem;
	background: var(--linea-page-surface-soft);
}

.np-page .np-section-title.rz-text-subtitle1 {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--linea-page-text-soft);
}

.np-page .np-strip-zone {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	padding: .2rem;
	min-height: 150px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
	scrollbar-color: var(--linea-page-muted) transparent;
	border-radius: 16px;
	outline: 2px dashed transparent;
	outline-offset: 2px;
	transition: outline-color .15s;
}

.np-page .np-strip-zone.rz-can-drop {
	outline-color: var(--linea-page-link);
}

.np-page .np-strip-zone.rz-no-drop {
	outline-color: var(--rz-danger);
}

.np-page .np-strip-zone > .rz-dropzone-item {
	flex: 0 0 var(--linea-playlist-editor-item-width);
	scroll-snap-align: start;
}

.np-page .np-strip-zone > .rz-dropzone-item.rz-dragging {
	opacity: .45;
}

.np-page .np-strip-zone > .rz-dropzone-item.rz-can-drop .np-strip-thumb {
	outline: 3px dashed var(--linea-page-link);
	outline-offset: 3px;
}

:is(.np-page, .np-reorder) .np-strip-item {
	cursor: grab;
	max-width: 250px;
}

:is(.np-page, .np-reorder) .np-strip-thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 4px solid var(--np-type);
	border-radius: 16px;
	background: var(--linea-page-stage-bg);
	transition: box-shadow .15s;
}

:is(.np-page, .np-reorder) .np-strip-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

:is(.np-page, .np-reorder) .np-strip-item:hover .np-strip-thumb {
	box-shadow: var(--linea-page-card-hover-shadow);
}

.np-page .np-strip-item.current .np-strip-thumb {
	border-color: var(--linea-brand-purple);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--linea-brand-purple) 30%, transparent);
}

:is(.np-page, .np-reorder) .rz-badge.np-strip-duration {
	position: absolute;
	right: .6rem;
	bottom: .6rem;
	padding: .25rem .55rem;
	border-radius: 8px;
	background: var(--linea-page-overlay);
	color: var(--linea-page-on-overlay);
	font-size: .85rem;
	font-weight: 700;
	text-transform: none;
}

.np-page .rz-badge.np-strip-company {
	position: absolute;
	left: .5rem;
	bottom: .6rem;
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	max-width: 55%;
	padding: .2rem .45rem;
	border-radius: 6px;
	background: var(--linea-page-overlay);
	color: var(--linea-page-on-overlay);
	text-transform: none;
}

.np-page .rz-badge.np-strip-company .rzi {
	font-size: .9rem;
	color: inherit;
}

.np-page .rz-badge.np-strip-company .rz-text-caption {
	margin: 0;
	color: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

:is(.np-page, .np-reorder) .np-strip-expired {
	position: absolute;
	top: .5rem;
	left: .5rem;
	padding: .2rem;
	border-radius: 50%;
	background: var(--linea-page-surface);
	color: var(--rz-danger);
	font-size: 1.1rem;
}

.np-page .rz-button.np-strip-remove {
	position: absolute;
	top: .45rem;
	right: .45rem;
	width: 28px;
	height: 28px;
	padding: 0;
	border-radius: 50%;
	background: var(--linea-page-overlay);
	color: var(--linea-page-on-overlay);
	opacity: 0;
	transition: opacity .15s, background-color .15s;
}

.np-page .np-strip-item:hover .rz-button.np-strip-remove,
.np-page .rz-button.np-strip-remove:focus-visible {
	opacity: 1;
}

.np-page .rz-button.np-strip-remove:not(.rz-state-disabled):hover {
	background: var(--rz-danger) !important;
	color: var(--linea-type-on-color) !important;
}

@media (hover: none) {
	.np-page .rz-button.np-strip-remove {
		opacity: 1;
	}
}

:is(.np-page, .np-reorder) .np-strip-info {
	min-width: 0;
}

:is(.np-page, .np-reorder) .np-strip-name.rz-text-body2 {
	margin: 0;
	font-weight: 700;
	color: var(--linea-page-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.np-page .np-strip-item.current .np-strip-name {
	color: var(--linea-page-link);
}

:is(.np-page, .np-reorder) .np-strip-type.rz-text-caption {
	margin: 0;
	color: var(--linea-page-text-soft);
}

:is(.np-page, .np-reorder) .np-drag-handle {
	flex-shrink: 0;
	font-size: 1.2rem;
	color: var(--linea-page-muted);
}

.np-page .np-strip-add {
	flex: 0 0 var(--linea-playlist-editor-item-width);
	width: var(--linea-playlist-editor-item-width);
	aspect-ratio: 16 / 9;
	padding: 1rem;
	border: 2px dashed var(--linea-page-muted);
	border-radius: 16px;
	color: var(--linea-page-muted);
	text-align: center;
	cursor: pointer;
	opacity: .7;
	transition: opacity .15s, border-color .15s, color .15s;
}

.np-page .np-strip-add:hover {
	border-color: var(--linea-page-link);
	color: var(--linea-page-link);
	opacity: 1;
}

.np-page .np-strip-add .rzi {
	font-size: 2rem;
}

.np-page .np-strip-add .rz-text-caption {
	margin: 0;
	color: inherit;
}

/* Modal "Reorganizar Playlist" */
.playlist-reorder-modal.rz-dialog {
	border-radius: 20px;
	overflow: hidden;
	background: var(--linea-page-toolbar-bg);
	box-shadow: var(--linea-page-card-hover-shadow);
}

.playlist-reorder-modal .rz-dialog-titlebar {
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--linea-page-border);
	background: var(--linea-page-surface);
}

.playlist-reorder-modal .rz-dialog-title {
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--linea-page-text);
}

.playlist-reorder-modal .rz-dialog-titlebar-close {
	color: var(--linea-page-text-soft);
}

.playlist-reorder-modal .rz-dialog-content {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	background: var(--linea-page-toolbar-bg);
}

.np-reorder {
	flex: 1;
	min-height: 0;
	height: 100%;
	padding: 1.25rem 1.5rem 0;
	color: var(--linea-page-text);
}

.np-reorder .np-reorder-hint {
	color: var(--linea-page-text-soft);
}

.np-reorder .np-reorder-hint .rz-text-body2 {
	margin: 0;
	color: inherit;
}

.np-reorder .rz-badge.np-reorder-count {
	padding: .3rem .8rem;
	background: var(--linea-page-chip-bg);
	color: var(--linea-page-link);
	font-weight: 700;
	text-transform: none;
}

.np-reorder .np-reorder-container {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--linea-page-muted) transparent;
}

.np-reorder .np-reorder-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--linea-playlist-reorder-item-width), 1fr));
	align-content: start;
	gap: 1.5rem 1.25rem;
	min-height: 100%;
	padding: .5rem .25rem 1.25rem;
	border-radius: 16px;
	outline: 2px dashed transparent;
	outline-offset: -2px;
	transition: outline-color .15s;
}

.np-reorder .np-reorder-grid.rz-can-drop {
	outline-color: var(--linea-page-link);
}

.np-reorder .np-reorder-grid > .rz-dropzone-item.rz-dragging {
	opacity: .45;
}

.np-reorder .np-reorder-grid > .rz-dropzone-item.rz-can-drop .np-strip-thumb {
	outline: 3px dashed var(--linea-page-link);
	outline-offset: 3px;
}

.np-reorder .rz-badge.np-reorder-position {
	position: absolute;
	top: .55rem;
	left: .55rem;
	min-width: 28px;
	height: 28px;
	padding: 0 .5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--np-type);
	color: var(--np-type-text);
	font-size: .85rem;
	font-weight: 800;
}

.np-reorder .np-strip-expired {
	left: auto;
	right: .5rem;
}

.np-reorder .np-reorder-empty {
	flex: 1;
	padding: 3rem 1rem;
	color: var(--linea-page-muted);
}

.np-reorder .np-reorder-empty .rzi {
	font-size: 3rem;
}

.np-reorder .np-reorder-footer {
	flex-shrink: 0;
	margin: 0 -1.5rem;
	padding: 1rem 1.5rem;
	border-top: 1px solid var(--linea-page-border);
	background: var(--linea-page-surface);
}

.np-reorder .rz-button.np-reorder-cancel {
	color: var(--linea-page-text-soft);
	text-transform: none;
	font-weight: 600;
}

.np-reorder .rz-button.np-reorder-cancel:not(.rz-state-disabled):hover {
	background: var(--linea-page-chip-bg) !important;
	color: var(--linea-page-link) !important;
}

@media (max-width: 767px) {
	.playlist-reorder-modal.rz-dialog {
		width: 100% !important;
		height: 100% !important;
		max-height: 100dvh;
		border-radius: 0;
		top: 0 !important;
		left: 0 !important;
	}

	.np-reorder {
		padding: 1rem 1rem 0;
	}

	.np-reorder .np-reorder-grid {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	}

	.np-reorder .np-reorder-footer {
		margin: 0 -1rem;
		padding: .75rem 1rem;
	}

	.np-reorder .np-reorder-footer .rz-button {
		flex: 1;
	}
}

/* Responsivo */
@media (max-width: 1279px) {
	.np-page .np-layout {
		grid-template-columns: minmax(130px, 160px) minmax(0, 1fr);
		grid-template-rows: var(--linea-playlist-editor-main-height) 440px auto;
		grid-template-areas:
			"stats preview"
			"library library"
			"strip strip";
	}

	.np-page .np-library {
		margin: 0 1.25rem 1.25rem;
	}
}

@media (max-width: 767px) {
	.np-page .np-strip-zone > .rz-dropzone-item,
	.np-page .np-strip-add {
		flex-basis: min(70vw, 240px);
		width: min(70vw, 240px);
	}

	.np-page .np-toolbar {
		padding: .75rem 1rem;
	}

	.np-page .np-toolbar-main,
	.np-page .np-toolbar-actions {
		width: 100%;
	}

	.np-page .np-name {
		flex: 1 1 100%;
	}

	.np-page .rz-textbox.np-name-input,
	.np-page .rz-dropdown.np-layout-select {
		flex: 1;
		width: auto;
	}

	.np-page .np-toolbar-actions .rz-button {
		flex: 1;
	}

	.np-page .np-layout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto 480px;
		grid-template-areas:
			"preview"
			"stats"
			"strip"
			"library";
	}

	.np-page .np-library {
		margin: 0 1rem 1rem;
	}

	.np-page .np-preview {
		padding: 1rem;
	}

	.np-page .np-stage {
		height: auto;
		aspect-ratio: 16 / 9;
		border-width: 3px;
		border-radius: 14px;
	}

	.np-page .np-player-bar {
		gap: .6rem !important;
		padding: 1.5rem .75rem .75rem;
	}

	.np-page .rz-button.np-play-btn {
		width: 42px;
		height: 42px;
	}

	.np-page .rz-card.np-stats {
		flex-direction: row;
		margin: 0 1rem;
		padding: 1rem;
		overflow-x: auto;
		overflow-y: hidden;
	}

	.np-page .np-stats-list,
	.np-page .np-stats-summary {
		flex-direction: row !important;
		flex-shrink: 0;
		gap: 1.25rem !important;
	}

	.np-page .np-strip {
		padding: 1rem;
	}
}
/*#endregion */

/*#region Downloads */
.downloads-page {
	padding: 1.5rem 1.5rem 2rem;
	color: var(--linea-page-text);
}

.downloads-page .downloads-header {
	margin: 1rem 0 2.5rem;
}

.downloads-page .downloads-title.rz-text-h3 {
	margin: 0;
	font-size: 2.25rem;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--linea-page-text);
}

.downloads-page .downloads-subtitle.rz-text-body1 {
	margin: 0;
	color: var(--linea-page-text-soft);
}

.downloads-page .rz-card.download-tile {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	overflow: hidden;
	border: none;
	border-radius: 16px;
	background: var(--linea-page-surface);
	box-shadow: var(--linea-page-shadow);
	transition: box-shadow .2s ease, transform .2s ease;
}

.downloads-page .rz-card.download-tile:hover {
	box-shadow: var(--linea-page-card-hover-shadow);
	transform: translateY(-2px);
}

.downloads-page .download-tile-thumb {
	position: relative;
	height: 180px;
	background: var(--linea-page-surface-soft);
}

.downloads-page .download-tile-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.downloads-page .rz-badge.download-tile-badge {
	position: absolute;
	top: .75rem;
	left: .75rem;
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .3rem .6rem;
	border-radius: 6px;
	background: var(--linea-page-overlay);
	color: var(--linea-page-on-overlay);
	text-transform: none;
	backdrop-filter: blur(2px);
}

.downloads-page .rz-badge.download-tile-badge .rzi {
	font-size: 1rem;
	color: inherit;
}

.downloads-page .rz-badge.download-tile-badge .rz-text-caption {
	margin: 0;
	font-size: .8rem;
	font-weight: 700;
	color: inherit;
}

.downloads-page .download-tile-body {
	flex: 1;
	justify-content: space-between;
	padding: 1.25rem 1.5rem 1.5rem;
}

.downloads-page .download-tile-name.rz-text-h6 {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--linea-page-text);
}

.downloads-page .download-tile-desc.rz-text-body2 {
	margin: 0;
	color: var(--linea-page-text-soft);
}

.downloads-page .download-tile-meta {
	min-width: 0;
	color: var(--linea-page-muted);
}

.downloads-page .download-tile-meta .rzi {
	font-size: 1.05rem;
	color: inherit;
}

.downloads-page .download-tile-meta .rz-text-caption {
	margin: 0;
	font-family: monospace;
	color: inherit;
}

.downloads-page .rz-button.downloads-btn {
	height: auto;
	padding: .65rem 1.4rem;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--linea-brand-purple-light), var(--linea-brand-purple));
	color: var(--linea-type-on-color);
	font-size: 1rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: 0 8px 18px color-mix(in srgb, var(--linea-brand-purple) 30%, transparent);
}

.downloads-page .rz-button.downloads-btn .rzi {
	font-size: 1.3rem;
	color: inherit;
}

@media (max-width: 768px) {
	.downloads-page {
		padding: 1rem;
	}

	.downloads-page .download-tile-thumb {
		height: 150px;
	}

	.downloads-page .rz-button.downloads-btn {
		width: 100%;
	}
}
/*#endregion */

/*#region Telas de cadastro/edição (EditPageHeader + .edit-card + .edit-actions) */
.edit-page-header {
	margin: .5rem 0 0 0;
	color: var(--linea-page-text);
}

.edit-page-header .rz-button.edit-page-back {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 12px;
	background: var(--linea-page-surface);
	color: var(--linea-page-text-soft);
	box-shadow: var(--linea-page-shadow);
}

	.edit-page-header .rz-button.edit-page-back:not(.rz-state-disabled):hover {
		background: var(--linea-page-chip-bg) !important;
		color: var(--linea-page-link) !important;
	}

.edit-page-header .edit-page-heading {
	flex: 1;
	min-width: 0;
}

.edit-page-header .edit-page-section.rz-text-caption {
	margin: 0;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--linea-page-muted);
}

.edit-page-header .edit-page-title.rz-text-h3 {
	margin: 0;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--linea-page-text);
}

.edit-page-header .rz-badge.edit-page-mode {
	padding: .3rem .85rem;
	background: var(--linea-page-chip-bg);
	color: var(--linea-page-link);
	font-size: .8rem;
	font-weight: 700;
	text-transform: none;
}

.edit-page-header .edit-page-header-actions {
	margin-left: auto;
}

/* Card do formulário */
.rz-card.edit-card {
	padding: 1.75rem 2rem;
	border: none;
	border-radius: 16px;
	background: var(--linea-page-surface);
	box-shadow: var(--linea-page-shadow);
	color: var(--linea-page-text);
}

.edit-card .rz-form-field {
	width: 100%;
}

.edit-card .rz-form-field-content {
	border-radius: 10px;
}

/* O label "flutuante" fica sobre a borda do campo: o fundo dele precisa ser o do card. */
.edit-card .rz-form-field-label,
.edit-card .rz-state-focused .rz-form-field-label,
.edit-card :not(.rz-state-empty) ~ .rz-form-field-label {
	background-color: var(--linea-page-surface) !important;
}

.edit-card .validation-message {
	margin-top: .25rem;
	font-size: .8rem;
	color: var(--rz-danger);
}

/* Linha de ações (Voltar / Salvar) */
.edit-actions {
	align-items: center;
	gap: .75rem;
	margin-top: 1.5rem !important;
	padding-top: 1.25rem;
	border-top: 1px solid var(--linea-page-border);
}

.edit-actions .rz-button.rz-variant-text {
	border-radius: 10px;
	color: var(--linea-page-text-soft) !important;
	font-weight: 600;
	text-transform: none;
}

	.edit-actions .rz-button.rz-variant-text:not(.rz-state-disabled):hover {
		background: var(--linea-page-chip-bg) !important;
		color: var(--linea-page-link) !important;
	}

.edit-actions .rz-button[type="submit"] {
	height: auto;
	padding: .65rem 1.6rem;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--linea-brand-purple-light), var(--linea-brand-purple));
	color: var(--linea-type-on-color);
	font-size: 1rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: 0 8px 18px color-mix(in srgb, var(--linea-brand-purple) 30%, transparent);
}

@media (max-width: 768px) {
	.edit-page-header {
		margin-bottom: 1rem;
	}

	.edit-page-header .edit-page-title.rz-text-h3 {
		font-size: 1.6rem;
	}

	.rz-card.edit-card {
		padding: 1.25rem;
	}

	.edit-actions .rz-button {
		flex: 1;
	}
}
/*#endregion */

/*#region Cadastro de Player (/players/add e /players/{id}) */
.player-edit-page {
	gap: 1.5rem !important;
}

.player-edit-page .player-edit-section-title.rz-text-subtitle2 {
	margin: 0;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--linea-page-text-soft);
}

.player-edit-page .player-edit-section + .player-edit-section {
	padding-top: 1.5rem;
	border-top: 1px solid var(--linea-page-border);
}

.player-edit-page .player-edit-switch-label {
	color: var(--linea-page-text-soft);
	cursor: pointer;
}

/* Programação semanal + playlists disponíveis */
.player-edit-page .player-schedule {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

.player-edit-page .player-schedule-head {
	margin-bottom: 1.25rem;
}

.player-edit-page .player-schedule-title.rz-text-h6 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--linea-page-text);
}

.player-edit-page .player-schedule-hint.rz-text-caption {
	margin: 0;
	color: var(--linea-page-text-soft);
}

.player-edit-page .rz-button.player-schedule-add {
	border-radius: 10px;
	color: var(--linea-page-link);
	font-weight: 700;
	text-transform: none;
}

	.player-edit-page .rz-button.player-schedule-add:not(.rz-state-disabled):hover {
		background: var(--linea-page-chip-bg) !important;
		color: var(--linea-page-link) !important;
	}

/* Dias da semana (cada dia é um alvo para soltar uma playlist) */
.player-edit-page .player-day {
	min-height: 72px;
	padding: .65rem .75rem .65rem 1rem;
	border: 1px solid var(--linea-page-border);
	border-radius: 14px;
	background: var(--linea-page-surface-soft);
	transition: border-color .15s, background-color .15s;
}

	.player-edit-page .player-day.empty {
		border-style: dashed;
		background: transparent;
	}

	.player-edit-page .player-day:hover {
		border-color: color-mix(in srgb, var(--linea-page-link) 45%, var(--linea-page-border));
	}

.player-edit-page .player-day-name.rz-text-subtitle2 {
	flex: 0 0 110px;
	margin: 0;
	font-weight: 700;
	color: var(--linea-page-text);
}

.player-edit-page .player-day-placeholder {
	flex: 1;
	color: var(--linea-page-muted);
}

	.player-edit-page .player-day-placeholder .rzi {
		font-size: 1.25rem;
		color: inherit;
	}

	.player-edit-page .player-day-placeholder .rz-text-caption {
		margin: 0;
		color: inherit;
	}

.player-edit-page .player-day-playlist {
	flex: 1;
	min-width: 0;
	padding: .35rem .35rem .35rem .4rem;
	border-radius: 10px;
	background: var(--linea-page-surface);
	box-shadow: var(--linea-page-shadow);
	cursor: grab;
}

	.player-edit-page .player-day-playlist:active {
		cursor: grabbing;
	}

.player-edit-page .player-playlist-thumb {
	flex-shrink: 0;
	width: 64px;
	height: 36px;
	border-radius: 6px;
	background: var(--linea-page-stage-bg);
	object-fit: cover;
}

.player-edit-page .player-playlist-info {
	flex: 1;
	min-width: 0;
}

.player-edit-page .player-playlist-name.rz-text-body2 {
	margin: 0;
	font-weight: 700;
	color: var(--linea-page-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.player-edit-page .player-playlist-meta.rz-text-caption {
	margin: 0;
	color: var(--linea-page-text-soft);
}

.player-edit-page .rz-button.player-day-remove {
	flex-shrink: 0;
	border-radius: 8px;
	color: var(--linea-page-text-soft);
}

	.player-edit-page .rz-button.player-day-remove:not(.rz-state-disabled):hover {
		background: var(--linea-page-danger-soft) !important;
		color: var(--rz-danger) !important;
	}

/* Grid de playlists disponíveis: as linhas são arrastáveis */
.player-edit-page .player-available-grid {
	border: none;
	border-radius: 12px;
	overflow: hidden;
}

	.player-edit-page .player-available-grid .rz-data-row {
		cursor: grab;
	}

@media (max-width: 1199px) {
	.player-edit-page .player-schedule {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 576px) {
	.player-edit-page .player-day {
		flex-wrap: wrap;
	}

	.player-edit-page .player-day-name.rz-text-subtitle2 {
		flex-basis: 100%;
	}
}
/*#endregion */
.user-profile {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.rz-form-field-content:has(.rz-fileupload-buttonbar) {
	border: 0 !important;
}
/*#region Menu de contexto (ContextMenuService) - cores e espaçamentos vêm das variáveis --rz-menu-* / --rz-context-menu-* */
.rz-context-menu .rz-menu {
	min-width: 190px;
	border: 1px solid var(--linea-page-border);
}

.rz-context-menu .rz-navigation-item-text {
	font-size: .9rem;
	font-weight: 500;
}

.rz-context-menu .rz-navigation-item-link .rzi {
	font-size: 1.25rem;
}

.rz-context-menu .rz-navigation-item + .rz-navigation-item {
	margin-top: 2px;
}
/*#endregion */
