/* ===== Material Symbols через CSS-mask ===== */
/*
   Каждая иконка — фон под currentColor + mask из SVG-файла.
   Цвет берётся от родительского элемента — меняется через color/var().
   Размер 24×24 по умолчанию, переопределяется inline-стилем
   или классом .icon-lg / .icon-sm.

   Список slug-ов — в static/icons/ICONS.md.
*/

.icon {
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	vertical-align: -0.18em;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	flex-shrink: 0;
}

.icon-sm { width: 16px; height: 16px; vertical-align: -3px; }
.icon-md { width: 20px; height: 20px; vertical-align: -4px; }
.icon-lg { width: 28px; height: 28px; vertical-align: -6px; }
.icon-xl { width: 36px; height: 36px; vertical-align: -8px; }

/* ----- Уже используемые в UI ----- */
.icon-search          { -webkit-mask-image: url('/static/icons/ic_search_24x24.svg');          mask-image: url('/static/icons/ic_search_24x24.svg'); }
.icon-arrow-back      { -webkit-mask-image: url('/static/icons/ic_arrow_back_24x24.svg');      mask-image: url('/static/icons/ic_arrow_back_24x24.svg'); }
.icon-arrow-forward   { -webkit-mask-image: url('/static/icons/ic_arrow_forward_24x24.svg');   mask-image: url('/static/icons/ic_arrow_forward_24x24.svg'); }
.icon-add             { -webkit-mask-image: url('/static/icons/ic_add_24x24.svg');             mask-image: url('/static/icons/ic_add_24x24.svg'); }
.icon-close           { -webkit-mask-image: url('/static/icons/ic_close_24x24.svg');           mask-image: url('/static/icons/ic_close_24x24.svg'); }
.icon-menu            { -webkit-mask-image: url('/static/icons/ic_menu_24x24.svg');            mask-image: url('/static/icons/ic_menu_24x24.svg'); }
.icon-home            { -webkit-mask-image: url('/static/icons/ic_home_24x24.svg');            mask-image: url('/static/icons/ic_home_24x24.svg'); }
.icon-public          { -webkit-mask-image: url('/static/icons/ic_public_24x24.svg');          mask-image: url('/static/icons/ic_public_24x24.svg'); }
/* place отсутствует в твоей выгрузке — используем location_on (это переименованная place в Material Symbols) */
.icon-place           { -webkit-mask-image: url('/static/icons/ic_location_on_24x24.svg');     mask-image: url('/static/icons/ic_location_on_24x24.svg'); }
.icon-location-on     { -webkit-mask-image: url('/static/icons/ic_location_on_24x24.svg');     mask-image: url('/static/icons/ic_location_on_24x24.svg'); }
.icon-event           { -webkit-mask-image: url('/static/icons/ic_event_24x24.svg');           mask-image: url('/static/icons/ic_event_24x24.svg'); }
.icon-visibility      { -webkit-mask-image: url('/static/icons/ic_visibility_24x24.svg');      mask-image: url('/static/icons/ic_visibility_24x24.svg'); }
.icon-groups          { -webkit-mask-image: url('/static/icons/ic_groups_24x24.svg');          mask-image: url('/static/icons/ic_groups_24x24.svg'); }
.icon-account-tree    { -webkit-mask-image: url('/static/icons/ic_account_tree_24x24.svg');    mask-image: url('/static/icons/ic_account_tree_24x24.svg'); }
.icon-account-circle  { -webkit-mask-image: url('/static/icons/ic_account_circle_24x24.svg');  mask-image: url('/static/icons/ic_account_circle_24x24.svg'); }
/* archive отсутствует — fallback на folder_copy (визуально близко: папка-архив) */
.icon-archive         { -webkit-mask-image: url('/static/icons/ic_folder_copy_24x24.svg');     mask-image: url('/static/icons/ic_folder_copy_24x24.svg'); }
.icon-folder-copy     { -webkit-mask-image: url('/static/icons/ic_folder_copy_24x24.svg');     mask-image: url('/static/icons/ic_folder_copy_24x24.svg'); }
.icon-menu-book       { -webkit-mask-image: url('/static/icons/ic_menu_book_24x24.svg');       mask-image: url('/static/icons/ic_menu_book_24x24.svg'); }
.icon-favorite        { -webkit-mask-image: url('/static/icons/ic_favorite_24x24.svg');        mask-image: url('/static/icons/ic_favorite_24x24.svg'); }
.icon-workspace-premium{ -webkit-mask-image: url('/static/icons/ic_workspace_premium_24x24.svg'); mask-image: url('/static/icons/ic_workspace_premium_24x24.svg'); }
/* database/storage отсутствуют — fallback на home_storage */
.icon-database        { -webkit-mask-image: url('/static/icons/ic_home_storage_24x24.svg');    mask-image: url('/static/icons/ic_home_storage_24x24.svg'); }
.icon-home-storage    { -webkit-mask-image: url('/static/icons/ic_home_storage_24x24.svg');    mask-image: url('/static/icons/ic_home_storage_24x24.svg'); }
.icon-open-in-new     { -webkit-mask-image: url('/static/icons/ic_open_in_new_24x24.svg');     mask-image: url('/static/icons/ic_open_in_new_24x24.svg'); }
.icon-zoom-in         { -webkit-mask-image: url('/static/icons/ic_zoom_in_24x24.svg');         mask-image: url('/static/icons/ic_zoom_in_24x24.svg'); }
.icon-zoom-out        { -webkit-mask-image: url('/static/icons/ic_zoom_out_24x24.svg');        mask-image: url('/static/icons/ic_zoom_out_24x24.svg'); }
/* gps_fixed отсутствует — fallback на location_searching (визуально близко: прицел/мишень) */
.icon-gps-fixed       { -webkit-mask-image: url('/static/icons/ic_location_searching_24x24.svg'); mask-image: url('/static/icons/ic_location_searching_24x24.svg'); }
.icon-location-searching{ -webkit-mask-image: url('/static/icons/ic_location_searching_24x24.svg'); mask-image: url('/static/icons/ic_location_searching_24x24.svg'); }
.icon-fit-screen      { -webkit-mask-image: url('/static/icons/ic_fit_screen_24x24.svg');      mask-image: url('/static/icons/ic_fit_screen_24x24.svg'); }
.icon-style           { -webkit-mask-image: url('/static/icons/ic_style_24x24.svg');           mask-image: url('/static/icons/ic_style_24x24.svg'); }
.icon-info            { -webkit-mask-image: url('/static/icons/ic_info_24x24.svg');            mask-image: url('/static/icons/ic_info_24x24.svg'); }
.icon-route           { -webkit-mask-image: url('/static/icons/ic_route_24x24.svg');           mask-image: url('/static/icons/ic_route_24x24.svg'); }
.icon-check-circle    { -webkit-mask-image: url('/static/icons/ic_check_circle_24x24.svg');    mask-image: url('/static/icons/ic_check_circle_24x24.svg'); }
.icon-error           { -webkit-mask-image: url('/static/icons/ic_error_24x24.svg');           mask-image: url('/static/icons/ic_error_24x24.svg'); }
.icon-warning         { -webkit-mask-image: url('/static/icons/ic_warning_24x24.svg');         mask-image: url('/static/icons/ic_warning_24x24.svg'); }
.icon-sentiment-neutral{ -webkit-mask-image: url('/static/icons/ic_sentiment_neutral_24x24.svg'); mask-image: url('/static/icons/ic_sentiment_neutral_24x24.svg'); }

/* ----- Зарезервированы под будущий UI ----- */
.icon-login           { -webkit-mask-image: url('/static/icons/ic_login_24x24.svg');           mask-image: url('/static/icons/ic_login_24x24.svg'); }
.icon-logout          { -webkit-mask-image: url('/static/icons/ic_logout_24x24.svg');          mask-image: url('/static/icons/ic_logout_24x24.svg'); }
.icon-person-add      { -webkit-mask-image: url('/static/icons/ic_person_add_24x24.svg');      mask-image: url('/static/icons/ic_person_add_24x24.svg'); }
.icon-lock            { -webkit-mask-image: url('/static/icons/ic_lock_24x24.svg');            mask-image: url('/static/icons/ic_lock_24x24.svg'); }
.icon-lock-open       { -webkit-mask-image: url('/static/icons/ic_lock_open_24x24.svg');       mask-image: url('/static/icons/ic_lock_open_24x24.svg'); }
.icon-manage-accounts { -webkit-mask-image: url('/static/icons/ic_manage_accounts_24x24.svg'); mask-image: url('/static/icons/ic_manage_accounts_24x24.svg'); }
.icon-settings        { -webkit-mask-image: url('/static/icons/ic_settings_24x24.svg');        mask-image: url('/static/icons/ic_settings_24x24.svg'); }

.icon-edit            { -webkit-mask-image: url('/static/icons/ic_edit_24x24.svg');            mask-image: url('/static/icons/ic_edit_24x24.svg'); }
.icon-delete          { -webkit-mask-image: url('/static/icons/ic_delete_24x24.svg');          mask-image: url('/static/icons/ic_delete_24x24.svg'); }
.icon-save            { -webkit-mask-image: url('/static/icons/ic_save_24x24.svg');            mask-image: url('/static/icons/ic_save_24x24.svg'); }
.icon-add-circle      { -webkit-mask-image: url('/static/icons/ic_add_circle_24x24.svg');      mask-image: url('/static/icons/ic_add_circle_24x24.svg'); }
.icon-share           { -webkit-mask-image: url('/static/icons/ic_share_24x24.svg');           mask-image: url('/static/icons/ic_share_24x24.svg'); }
.icon-download        { -webkit-mask-image: url('/static/icons/ic_download_24x24.svg');        mask-image: url('/static/icons/ic_download_24x24.svg'); }
.icon-upload          { -webkit-mask-image: url('/static/icons/ic_upload_24x24.svg');          mask-image: url('/static/icons/ic_upload_24x24.svg'); }
.icon-content-copy    { -webkit-mask-image: url('/static/icons/ic_content_copy_24x24.svg');    mask-image: url('/static/icons/ic_content_copy_24x24.svg'); }
.icon-more-vert       { -webkit-mask-image: url('/static/icons/ic_more_vert_24x24.svg');       mask-image: url('/static/icons/ic_more_vert_24x24.svg'); }
.icon-refresh         { -webkit-mask-image: url('/static/icons/ic_refresh_24x24.svg');         mask-image: url('/static/icons/ic_refresh_24x24.svg'); }
/* bookmark отсутствует — fallback на collections_bookmark */
.icon-bookmark        { -webkit-mask-image: url('/static/icons/ic_collections_bookmark_24x24.svg'); mask-image: url('/static/icons/ic_collections_bookmark_24x24.svg'); }
.icon-collections-bookmark{ -webkit-mask-image: url('/static/icons/ic_collections_bookmark_24x24.svg'); mask-image: url('/static/icons/ic_collections_bookmark_24x24.svg'); }
.icon-bookmark-border { -webkit-mask-image: url('/static/icons/ic_bookmark_border_24x24.svg'); mask-image: url('/static/icons/ic_bookmark_border_24x24.svg'); }

.icon-family-restroom { -webkit-mask-image: url('/static/icons/ic_family_restroom_24x24.svg'); mask-image: url('/static/icons/ic_family_restroom_24x24.svg'); }
.icon-child-care      { -webkit-mask-image: url('/static/icons/ic_child_care_24x24.svg');      mask-image: url('/static/icons/ic_child_care_24x24.svg'); }
.icon-elderly         { -webkit-mask-image: url('/static/icons/ic_elderly_24x24.svg');         mask-image: url('/static/icons/ic_elderly_24x24.svg'); }
.icon-escalator-warning{ -webkit-mask-image: url('/static/icons/ic_escalator_warning_24x24.svg'); mask-image: url('/static/icons/ic_escalator_warning_24x24.svg'); }
.icon-group-add       { -webkit-mask-image: url('/static/icons/ic_group_add_24x24.svg');       mask-image: url('/static/icons/ic_group_add_24x24.svg'); }

.icon-filter-list     { -webkit-mask-image: url('/static/icons/ic_filter_list_24x24.svg');     mask-image: url('/static/icons/ic_filter_list_24x24.svg'); }
.icon-sort            { -webkit-mask-image: url('/static/icons/ic_sort_24x24.svg');            mask-image: url('/static/icons/ic_sort_24x24.svg'); }
.icon-clear           { -webkit-mask-image: url('/static/icons/ic_clear_24x24.svg');           mask-image: url('/static/icons/ic_clear_24x24.svg'); }
.icon-manage-search   { -webkit-mask-image: url('/static/icons/ic_manage_search_24x24.svg');   mask-image: url('/static/icons/ic_manage_search_24x24.svg'); }
.icon-tune            { -webkit-mask-image: url('/static/icons/ic_tune_24x24.svg');            mask-image: url('/static/icons/ic_tune_24x24.svg'); }

.icon-photo           { -webkit-mask-image: url('/static/icons/ic_photo_24x24.svg');           mask-image: url('/static/icons/ic_photo_24x24.svg'); }
.icon-image           { -webkit-mask-image: url('/static/icons/ic_image_24x24.svg');           mask-image: url('/static/icons/ic_image_24x24.svg'); }
.icon-collections     { -webkit-mask-image: url('/static/icons/ic_collections_24x24.svg');     mask-image: url('/static/icons/ic_collections_24x24.svg'); }
.icon-add-a-photo     { -webkit-mask-image: url('/static/icons/ic_add_a_photo_24x24.svg');     mask-image: url('/static/icons/ic_add_a_photo_24x24.svg'); }
.icon-description     { -webkit-mask-image: url('/static/icons/ic_description_24x24.svg');     mask-image: url('/static/icons/ic_description_24x24.svg'); }
.icon-article         { -webkit-mask-image: url('/static/icons/ic_article_24x24.svg');         mask-image: url('/static/icons/ic_article_24x24.svg'); }
.icon-format-quote    { -webkit-mask-image: url('/static/icons/ic_format_quote_24x24.svg');    mask-image: url('/static/icons/ic_format_quote_24x24.svg'); }
.icon-link            { -webkit-mask-image: url('/static/icons/ic_link_24x24.svg');            mask-image: url('/static/icons/ic_link_24x24.svg'); }
.icon-attach-file     { -webkit-mask-image: url('/static/icons/ic_attach_file_24x24.svg');     mask-image: url('/static/icons/ic_attach_file_24x24.svg'); }

.icon-bar-chart       { -webkit-mask-image: url('/static/icons/ic_bar_chart_24x24.svg');       mask-image: url('/static/icons/ic_bar_chart_24x24.svg'); }
.icon-pie-chart       { -webkit-mask-image: url('/static/icons/ic_pie_chart_24x24.svg');       mask-image: url('/static/icons/ic_pie_chart_24x24.svg'); }
.icon-analytics       { -webkit-mask-image: url('/static/icons/ic_analytics_24x24.svg');       mask-image: url('/static/icons/ic_analytics_24x24.svg'); }
.icon-trending-up     { -webkit-mask-image: url('/static/icons/ic_trending_up_24x24.svg');     mask-image: url('/static/icons/ic_trending_up_24x24.svg'); }
.icon-insights        { -webkit-mask-image: url('/static/icons/ic_insights_24x24.svg');        mask-image: url('/static/icons/ic_insights_24x24.svg'); }

.icon-history         { -webkit-mask-image: url('/static/icons/ic_history_24x24.svg');         mask-image: url('/static/icons/ic_history_24x24.svg'); }
.icon-schedule        { -webkit-mask-image: url('/static/icons/ic_schedule_24x24.svg');        mask-image: url('/static/icons/ic_schedule_24x24.svg'); }
.icon-update          { -webkit-mask-image: url('/static/icons/ic_update_24x24.svg');          mask-image: url('/static/icons/ic_update_24x24.svg'); }

.icon-chevron-left    { -webkit-mask-image: url('/static/icons/ic_chevron_left_24x24.svg');    mask-image: url('/static/icons/ic_chevron_left_24x24.svg'); }
.icon-chevron-right   { -webkit-mask-image: url('/static/icons/ic_chevron_right_24x24.svg');   mask-image: url('/static/icons/ic_chevron_right_24x24.svg'); }
.icon-expand-more     { -webkit-mask-image: url('/static/icons/ic_expand_more_24x24.svg');     mask-image: url('/static/icons/ic_expand_more_24x24.svg'); }
.icon-expand-less     { -webkit-mask-image: url('/static/icons/ic_expand_less_24x24.svg');     mask-image: url('/static/icons/ic_expand_less_24x24.svg'); }

.icon-star            { -webkit-mask-image: url('/static/icons/ic_star_24x24.svg');            mask-image: url('/static/icons/ic_star_24x24.svg'); }
.icon-star-border     { -webkit-mask-image: url('/static/icons/ic_star_border_24x24.svg');     mask-image: url('/static/icons/ic_star_border_24x24.svg'); }
.icon-verified        { -webkit-mask-image: url('/static/icons/ic_verified_24x24.svg');        mask-image: url('/static/icons/ic_verified_24x24.svg'); }
.icon-flag            { -webkit-mask-image: url('/static/icons/ic_flag_24x24.svg');            mask-image: url('/static/icons/ic_flag_24x24.svg'); }
.icon-language        { -webkit-mask-image: url('/static/icons/ic_language_24x24.svg');        mask-image: url('/static/icons/ic_language_24x24.svg'); }
.icon-mail            { -webkit-mask-image: url('/static/icons/ic_mail_24x24.svg');            mask-image: url('/static/icons/ic_mail_24x24.svg'); }
.icon-notifications   { -webkit-mask-image: url('/static/icons/ic_notifications_24x24.svg');   mask-image: url('/static/icons/ic_notifications_24x24.svg'); }
