.d4b_dsk_app_icon_yellow {
    background: #d7ca51;
    color: #fff;
    font-weight: 500;
}

.d4b_dsk_app_icon_white {
    background: #fff;
    color: #000;
    font-weight: 500;
}

.d4b_menu_title {
    font-size: 20px;
    font-weight: 700;
}
.critical .webix_kanban_list_content{
    background-color: #fff2c1;
    border-color:  #e0d7b7;
    border-left-color:  #f5cf3d;
  }
  .webix_accordionitem.collapsed.staticheader
.webix_accordionitem_header 
.webix_accordionitem_button {
  display:none;
}
.webix_accordionitem.collapsed.staticheader.webix_disabled_view .webix_disabled {
  display:none;
    

}

.vertical-text {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: center;

  }

.critical {
  background-color: #fff2c1;
  border-color:  #e0d7b7;
  border-left-color:  #f5cf3d;
}
.noKanbanFooter .webix_kanban_footer ,
.noKanbanFooter .webix_kanban_user_avatar
{
  display: none;
}
.noKanbanFooter  .webix_kanban_body {
  padding-top:4px;
  padding-bottom:4px;
}
.noKanbanFooter  .webix_kanban_list_item {
  padding-top:2px;
  }

  
  div.webix_kanban_list {
    counter-reset: list-number;
  }
  
  div.webix_kanban_list div.webix_kanban_list_item {
    counter-increment: list-number;
  }
  div.webix_kanban_list {
    position:relative;
  }
  div.webix_kanban_list:after {
    content: counter(list-number);
    position:absolute;
   top: 0 ;
   right:0;
   background-color: #aaa;
   opacity:50%;   
   padding: 2px;
   border: 1px solid black;
   border-radius: 50%;
    color:#000;
    font-size: 0.8em;
  }

  /* Kanban Matrix heatmap cells — soft traffic-light tints (light theme) */
.kanban_green.webix_kanban_list  .webix_kanban_list_item,  .kanban_green.webix_kanban_list  { background-color:#dcfce7; }
.kanban_yellow.webix_kanban_list .webix_kanban_list_item,  .kanban_yellow.webix_kanban_list { background-color:#fef9c3; }
.kanban_red.webix_kanban_list    .webix_kanban_list_item,  .kanban_red.webix_kanban_list    { background-color:#fee2e2; }
.kanban_black.webix_kanban_list  .webix_kanban_list_item,  .kanban_black.webix_kanban_list  { background-color:#374151; color:#f9fafb; }

/* Dark theme (OS/browser preference only — the app has no dark skin).
   Deeper fills + light text so cards stay legible. */
@media (prefers-color-scheme: dark) {
  .kanban_green.webix_kanban_list  .webix_kanban_list_item,  .kanban_green.webix_kanban_list  { background-color:#14532d; color:#dcfce7; }
  .kanban_yellow.webix_kanban_list .webix_kanban_list_item,  .kanban_yellow.webix_kanban_list { background-color:#713f12; color:#fef9c3; }
  .kanban_red.webix_kanban_list    .webix_kanban_list_item,  .kanban_red.webix_kanban_list    { background-color:#7f1d1d; color:#fee2e2; }
  .kanban_black.webix_kanban_list  .webix_kanban_list_item,  .kanban_black.webix_kanban_list  { background-color:#111827; color:#e5e7eb; }
}
/* ============================================================================
 * AI Chat Sidebar Styles
 * ============================================================================ */

/* Toggle button - right end of the desktop taskbar (d4bToolbarView.ts). It used to float
   over the desktop with z-index 100 and covered the footer of full-size windows. */
.webix_dsk_ai_button {
    background: transparent !important;
    cursor: pointer;
}

.webix_dsk_ai_button .webix_template {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    height: 100%;
}

.webix_dsk_ai_button_icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #4361ee;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 2px 6px rgba(67, 97, 238, 0.4);
    transition: transform 0.2s, box-shadow 0.2s;
}

.webix_dsk_ai_button:hover .webix_dsk_ai_button_icon {
    transform: scale(1.1);
    box-shadow: 0 4px 10px rgba(67, 97, 238, 0.5);
}

/* Header toolbar */
.ai-chat-header {
    background: #1e293b !important;
    border-bottom: 1px solid #334155;
}

.ai-chat-header .webix_icon,
.ai-chat-header .webix_el_icon {
    color: #94a3b8 !important;
}

.ai-chat-header .webix_el_icon:hover {
    color: white !important;
}

.ai-chat-header-icon .webix_icon {
    color: #60a5fa !important;
}

.ai-chat-header-label .webix_el_label {
    color: white !important;
    font-weight: 600;
    font-size: 14px;
}

/* Messages list */
.ai-chat-messages {
    background: #f8fafc !important;
    border: none !important;
}

.ai-chat-messages .webix_scroll_cont {
    padding: 8px !important;
}

/* Message container */
.ai-msg {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    max-width: 100%;
}

.ai-msg-avatar {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.ai-msg-body {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.ai-msg-content {
    padding: 8px 12px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* User messages */
.ai-msg-user {
    flex-direction: row-reverse;
}

.ai-msg-user .ai-msg-avatar {
    background: #4361ee;
    color: white;
}

.ai-msg-user .ai-msg-content {
    background: #4361ee;
    color: white;
    border-bottom-right-radius: 4px;
}

/* Assistant messages */
.ai-msg-assistant .ai-msg-avatar {
    background: #e2e8f0;
    color: #475569;
}

.ai-msg-assistant .ai-msg-content {
    background: white;
    color: #1e293b;
    border: 1px solid #e2e8f0;
    border-bottom-left-radius: 4px;
}

/* Error messages */
.ai-msg-error {
    color: #dc2626;
}

/* Loading animation */
.ai-loading-dots span {
    animation: ai-dot-blink 1.4s infinite;
    font-size: 24px;
    line-height: 1;
}

.ai-loading-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.ai-loading-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes ai-dot-blink {
    0%, 20% { opacity: 0.2; }
    50% { opacity: 1; }
    100% { opacity: 0.2; }
}

/* Token usage badge */
.ai-msg-usage {
    margin-top: 4px;
    font-size: 10px;
    color: #94a3b8;
    padding-left: 12px;
}

.ai-msg-usage .fad {
    font-size: 10px;
    margin-right: 2px;
}

/* Input area */
.ai-chat-input-area {
    border-top: 1px solid #e2e8f0;
    background: white;
}

.ai-chat-input textarea {
    border: none !important;
    resize: none !important;
    font-size: 13px;
    padding: 10px 12px !important;
}

.ai-chat-input textarea:focus {
    outline: none !important;
    box-shadow: none !important;
}

.ai-chat-send-btn {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ai-chat-send-btn .webix_icon {
    color: #4361ee !important;
    font-size: 18px;
    cursor: pointer;
}

.ai-chat-send-btn .webix_icon:hover {
    color: #3730a3 !important;
}

/* Voice input button */
.ai-chat-voice-btn {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ai-chat-voice-btn .webix_icon {
    color: #64748b !important;
    font-size: 16px;
    cursor: pointer;
    transition: color 0.2s;
}

.ai-chat-voice-btn .webix_icon:hover {
    color: #4361ee !important;
}

/* Recording state — red pulsing */
.ai-chat-voice-recording .webix_icon {
    color: #dc2626 !important;
}

.ai-chat-voice-recording {
    animation: ai-voice-pulse 1.5s ease-in-out infinite;
}

@keyframes ai-voice-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.15); }
}

/* Data table */
.ai-data-table-wrapper {
    margin-top: 8px;
    overflow-x: auto;
    max-height: 300px;
    overflow-y: auto;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.ai-data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.ai-data-table th {
    background: #f1f5f9;
    color: #475569;
    font-weight: 600;
    text-align: left;
    padding: 6px 8px;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 1;
}

.ai-data-table td {
    padding: 4px 8px;
    border-bottom: 1px solid #f1f5f9;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ai-data-table tbody tr:nth-child(even) {
    background: #f8fafc;
}

.ai-data-table tbody tr:hover {
    background: #eff6ff;
}

.ai-cell-null {
    color: #cbd5e1;
}

.ai-data-more {
    padding: 6px 8px;
    font-size: 11px;
    color: #64748b;
    font-style: italic;
    text-align: center;
}

/* Debug panel (admin only) */
.ai-debug-panel {
    margin-top: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 11px;
    overflow: hidden;
}

.ai-debug-summary {
    padding: 4px 8px;
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
    user-select: none;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ai-debug-summary:hover {
    background: #f1f5f9;
    color: #475569;
}

.ai-debug-summary .fad {
    margin-right: 4px;
    font-size: 10px;
}

.ai-debug-content {
    padding: 8px;
    background: #fefefe;
    border-top: 1px solid #e2e8f0;
}

.ai-debug-section {
    margin-bottom: 6px;
}

.ai-debug-section:last-child {
    margin-bottom: 0;
}

.ai-debug-label {
    font-weight: 600;
    color: #475569;
    margin-bottom: 2px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.ai-debug-step {
    padding: 4px 0;
    border-bottom: 1px solid #f1f5f9;
}

.ai-debug-step:last-child {
    border-bottom: none;
}

.ai-debug-muted {
    color: #94a3b8;
}

.ai-debug-params {
    margin-top: 2px;
    padding: 4px 6px;
    background: #f8fafc;
    border-radius: 4px;
    font-family: monospace;
    font-size: 10px;
    white-space: pre-wrap;
    word-break: break-all;
    color: #475569;
    max-height: 120px;
    overflow-y: auto;
}

/* Message footer (usage + feedback side by side) */
.ai-msg-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    padding-left: 12px;
}

/* Feedback buttons */
.ai-feedback-buttons {
    display: flex;
    gap: 4px;
}

.ai-fb-btn {
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    padding: 1px 5px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
    line-height: 1;
}

.ai-fb-btn:hover {
    background: rgba(67, 97, 238, 0.1);
    border-color: #4361ee;
    transform: scale(1.15);
}

.ai-fb-btn.active {
    cursor: default;
    opacity: 1;
}

.ai-fb-btn.active:hover {
    transform: none;
}

/* Disabled state after feedback sent */
.ai-feedback-buttons .ai-fb-btn:not(.active) {
    opacity: 0.4;
}

.ai-feedback-buttons .ai-fb-btn.active + .ai-fb-btn,
.ai-feedback-buttons .ai-fb-btn:has(+ .ai-fb-btn.active) {
    pointer-events: none;
}

/* Feedback modal */
.ai-feedback-modal-title .webix_el_label {
    font-weight: 600;
    font-size: 14px;
}

.ai-feedback-modal-label {
    padding: 4px 8px !important;
    font-size: 13px;
    color: #475569;
}

/* ============================================================================
 * Action Buttons
 * ============================================================================ */

.ai-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
    padding-left: 12px;
}

.ai-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border: 1px solid #4361ee;
    border-radius: 16px;
    background: transparent;
    color: #4361ee;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.ai-action-btn:hover {
    background: #4361ee;
    color: white;
}

.ai-action-btn .fad {
    font-size: 11px;
}

/* ============================================================================
 * Status Badge
 * ============================================================================ */

.ai-status-badge {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 10px;
    background: #e0f2fe;
    color: #0369a1;
    font-size: 10px;
    font-weight: 500;
    white-space: nowrap;
}

/* ============================================================================
 * Table Column Alignment
 * ============================================================================ */

.ai-data-table th.ai-col-right,
.ai-data-table td.ai-col-right {
    text-align: right;
}

/* ============================================================================
 * Markdown in Messages
 * ============================================================================ */

.ai-msg-content strong {
    font-weight: 600;
}

.ai-msg-content em {
    font-style: italic;
}

.ai-inline-code {
    background: #f1f5f9;
    padding: 1px 4px;
    border-radius: 3px;
    font-family: monospace;
    font-size: 12px;
}

.ai-list {
    margin: 4px 0;
    padding-left: 16px;
}

.ai-list li {
    margin-bottom: 2px;
    font-size: 13px;
    line-height: 1.4;
}

/* ===== AI Write cards (safe create: ask / disambiguation / review) ===== */
.ai-write-card {
    border: 1px solid #d7ddf2;
    border-radius: 10px;
    background: #f7f9ff;
    padding: 10px 12px;
    margin: 4px 0;
    font-size: 13px;
}
.ai-write-review { border-color: #4361ee; }
.ai-write-need { background: #fffdf3; border-color: #e6d48a; }
.ai-write-disambig { background: #f3f8ff; }
.ai-write-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    margin-bottom: 6px;
}
.ai-write-card ul { margin: 4px 0 6px 18px; padding: 0; }
.ai-write-hint { color: #6b7280; font-size: 12px; margin-top: 4px; }
.ai-write-warn { color: #9a6a00; font-size: 12px; margin: 6px 0; }
.ai-write-guide { color: #3b5bdb; background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 6px; padding: 6px 8px; font-size: 12px; margin: 6px 0; }
.ai-write-rec { margin-bottom: 8px; }
.ai-write-rec-label { font-weight: 600; font-size: 12px; color: #4361ee; margin-bottom: 2px; }
.ai-write-tbl { width: 100%; border-collapse: collapse; }
.ai-write-tbl td { padding: 2px 6px; vertical-align: top; border-bottom: 1px solid #eef1f8; }
.ai-write-tbl td.ai-write-k { color: #6b7280; width: 40%; white-space: nowrap; }
.ai-write-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ai-write-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border: 1px solid #4361ee;
    border-radius: 16px;
    background: transparent;
    color: #4361ee;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}
.ai-write-btn:hover { background: #4361ee; color: #fff; }
.ai-write-btn.ai-write-primary { background: #4361ee; color: #fff; }
.ai-write-btn.ai-write-primary:hover { background: #2f4bd0; }
.ai-write-match { border-top: 1px solid #e3e8f5; padding-top: 8px; margin-top: 8px; }
.ai-write-match:first-of-type { border-top: none; padding-top: 0; margin-top: 4px; }
.ai-write-diff { color: #b45309; font-weight: 600; }

/* WorkHub Timer Bar — persistent bottom bar */
.workhub-timer-bar {
    background: #1e293b !important;
    border-top: 2px solid #ef4444;
}
.workhub-timer-bar .webix_el_label {
    color: #f8fafc;
}
.workhub-timer-clock .webix_el_box .webix_label_right {
    font-family: "JetBrains Mono", "Fira Code", monospace;
    font-size: 15px;
    font-weight: 700;
    color: #ef4444;
    letter-spacing: 1px;
}
.workhub-timer-task .webix_el_box .webix_label_right {
    font-size: 13px;
    color: #cbd5e1;
}

/* Demo Mode — watermark overlay + top banner */

.demo-mode-watermark {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.demo-mode-watermark::after {
    content: "DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO  DEMO";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    font-size: 80px;
    font-weight: 900;
    color: rgba(220, 38, 38, 0.06);
    transform: rotate(-30deg);
    white-space: pre-wrap;
    word-spacing: 80px;
    line-height: 200px;
    letter-spacing: 20px;
}

/* Demo mode top banner (Webix row) */
.demo-mode-banner {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
    text-align: center;
    font-weight: 600;
    font-size: 13px;
    padding: 6px 16px;
    z-index: 1000;
}

/* Mandant-Chip — zeigt im View-Header, zu welchem Mandanten die angezeigten Daten gehoeren.
   Reine Anzeige: die Auswahl passiert ueber Menue/App-Kachel (siehe ViewBase.getMandantChipConfig). */
.d4b_mandant_chip_cell {
    display: flex;
    align-items: center;
}
.d4b_mandant_chip_cell .webix_template {
    padding: 0;
    display: flex;
    align-items: center;
    height: 100%;
}
.d4b_mandant_chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 3px 10px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Kontext-Chip — zeigt den Fach-Kontext der View (z.B. das ISMS-Assessment,
   wenn die View aus einem Assessment-Untermenü geöffnet wurde). Kein Chip =
   kein Kontext. Sky-Variante des Mandant-Chips (ViewBase.getHeaderConfig). */
.d4b_ctx_chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 3px 10px;
    border-radius: 999px;
    background: #f0f9ff;
    color: #0369a1;
    border: 1px solid #bae6fd;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*
 * Beleg-Scan review — marking values that must not be trusted.
 *
 * 🔴 WHY: a 98x306 px capture produced a complete Beleg whose item texts,
 * quantities and prices were all invented. On screen it was indistinguishable
 * from a good result — the only signal was an 11px confidence pill next to the
 * label, which readers routinely miss. An unreliable value has to change the
 * appearance of the INPUT itself, not just decorate its caption.
 */

/* Below the "unsicher" threshold — the value may be fabricated. */
.d4bOcrFieldUnsure input,
.d4bOcrFieldUnsure textarea,
.d4bOcrFieldUnsure .webix_inp_static {
    background-color: #fdecea !important;
    border: 2px solid #c62828 !important;
    color: #7f1d1d !important;
    font-weight: 600;
}

/* Between "unsicher" and "plausibel" — worth a look, not alarming. */
.d4bOcrFieldCheck input,
.d4bOcrFieldCheck textarea,
.d4bOcrFieldCheck .webix_inp_static {
    background-color: #fff8e1 !important;
    border: 1px solid #ef6c00 !important;
}

/* Valid IBAN — a positive check the reviewer can see from across the desk.
   Never over an "unsicher"/"prüfen" marker: a valid checksum does not prove the
   digits were read right, so the warning frame stays. */
.d4bOcrFieldValid:not(.d4bOcrFieldUnsure):not(.d4bOcrFieldCheck) input {
    border: 2px solid #2e7d32 !important;
}

/* Badge column right of each input: confidence pill + live check (IBAN, Werber). */
.d4bOcrBadgeCell .webix_template {
    padding: 0 4px;
    display: flex;
    align-items: center;
}
.d4bOcrBadges {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    height: 100%;
}
.d4bOcrBadges > span:empty { display: none; }
.d4bOcrPill {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;
    white-space: nowrap;
}

/* One-line status bar under the preview. */
.d4bScanStatusBar {
    border-top: 1px solid #ddd !important;
    background: #fafafa;
}

/* Zoom buttons over an image preview. */
.d4bZoomPanTools {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 4px;
    z-index: 2;
}
.d4bZoomPanTools button {
    width: 36px;
    height: 36px;
    font-size: 20px;
    line-height: 1;
    border: 1px solid #bbb;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.92);
    cursor: pointer;
}
.d4bZoomPanTools button:hover { background: #fff; border-color: #1976d2; }

/* In-list view editor (Tabellenansicht) — webixCust/tableViewEditor.ts */

.d4b_ve_panel {
    border-left: 1px solid #dadee0;
    background: #fff;
}

/* group captions above the column lists */
.d4b_ve_group .webix_el_box {
    font-size: 12px;
    font-weight: 600;
    color: #475466;
    padding-left: 4px;
}

.d4b_ve_hint .webix_el_box {
    font-size: 12px;
    color: #6b7785;
    white-space: normal;
    line-height: 16px;
}

/* "● geändert" next to the view select */
.d4b_ve_dirty .webix_el_box {
    color: #c0581b;
    font-weight: 600;
}

/* small markers behind a column name: fix / unbekannt */
.d4b_ve_badge {
    display: inline-block;
    margin-left: 6px;
    padding: 0 6px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 16px;
    background: #e6ecf2;
    color: #475466;
    vertical-align: 1px;
}

.d4b_ve_badge_warn {
    background: #fdecd8;
    color: #9a4a12;
}

/* number behind an accordion section title */
.d4b_ve_count {
    display: inline-block;
    min-width: 18px;
    margin-left: 6px;
    padding: 0 5px;
    border-radius: 9px;
    font-size: 11px;
    line-height: 18px;
    text-align: center;
    background: rgba(255, 255, 255, .7);
    color: #1c6a8f;
}

/* clickable cells in the sort list (direction, remove) */
.d4b_ve_link {
    cursor: pointer;
    color: #1c6a8f;
}

@tailwind base;
@tailwind components;
@tailwind utilities;

.scale_66 {
    transform: scale(0.66);
}

.webixappstart {
    opacity: 0;
}

.webixapp {
    transition: opacity 500ms;
    opacity: 1;
}

.data-newrow {
    background-color: lightblue;
}


/*data loading status*/

.status_good,
.status_error,
.status_saving {
    text-align: center;
    margin-left: -12px;
}

.status_error {
    color: red;
}

.status_good {
    color: green;
}

.notActive {
    background-color: rgba(255, 182, 193, 0.76);
}

.warning {
    background-color: rgba(255, 251, 28, 0.801);
}

.notActive.warning {
    background-color: rgba(255, 182, 193, 1);
}


/*login form*/

.invalid_login .webix_header>div {
    background: #FC3636;
    transition: background 1s;
}

.invalid_login {
    -webkit-animation: formshake .5s linear;
    animation: formshake .5s linear;
    
}

@keyframes formshake {

    8%,
    41% {
        transform: translateX(-10px);
    }

    25%,
    58% {
        transform: translateX(10px);
    }

    75% {
        transform: translateX(-5px);
    }

    92% {
        transform: translateX(5px);
    }

    0%,
    100% {
        transform: translateX(0);
    }
}

@-webkit-keyframes formshake {

    8%,
    41% {
        -webkit-transform: translateX(-10px);
    }

    25%,
    58% {
        -webkit-transform: translateX(10px);
    }

    75% {
        -webkit-transform: translateX(-5px);
    }

    92% {
        -webkit-transform: translateX(5px);
    }

    0%,
    100% {
        -webkit-transform: translateX(0);
    }
}

.inline-dirty-row .webix_cell {
    background-color: #fff6cc;
}

.app_header.webix_header {
    text-align: center;
}

.app_layout.webix_layout_clean {
    background: #EBEDF0;
}

.app_start .webix_template {
    padding: 12px 12px;
}

.app_menu .webix_icon {
    font-size: 20px;
    vertical-align: middle;
}

/* 2nd menu level (MenuGroup) — group rows carry a chevron, their entries are indented.
   Flex, not float: a floated chevron is placed at the TOP of the block box while the
   icon and label sit on the line box, so it visually lands on the row divider. */
.app_menu .d4b_menu_entry {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
}

.app_menu .d4b_menu_child {
    padding-left: 1.1rem;
}

/* the label takes the slack, so the chevron ends up at the right edge of the row
   (margin-left:auto on the chevron alone is overridden by the FontAwesome rules) */
.app_menu .d4b_menu_label {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app_menu .d4b_menu_chevron {
    flex: 0 0 auto;
    font-size: 12px;
    opacity: 0.55;
}

input:read-only {
    background-color: lightgoldenrodyellow;
}

input[readonly="true"]+a button[role="checkbox"] {
    background-color: lightgoldenrodyellow;
}

.webix_view.subAccordion {
    background-color: #b6dbf0e0;
}

.subAccordion .webix_accordionitem_header.collapsed .webix_accordionitem_label {
    background-color: #b6dbf065;
}

.subAccordion .webix_accordionitem_header .webix_accordionitem_label {
    background-color: #b6dbf065;
}

.priority {
    color: red;
}

.done {
    background-color: rgb(184, 250, 184);
}

.storno {
    background-color: rgb(255, 211, 194);
    text-decoration: line-through;
}

.webix_scheduler_day_event {
    padding-top: 0px;
    padding-bottom: 0px;
}

.webix_view.webix_header.logo2 {
    display: block;
}

div.company {
    vertical-align: top;
    text-align: right;
    line-height: 20px;
}

.infolabel .webix_el_box {
    padding-top: 1em;
    text-align: left;
}

.number {
    text-align: right;
}

.webix_accordionitem_header {
    background-color: rgba(173, 216, 230, 0.7);
}

.webix_accordionitem_header.collapsed {
    background-color: rgba(173, 216, 230, 0.4) !important;
}

.webix_accordionitem_header.collapsed:hover {
    background-color: rgba(173, 216, 230, 0.9) !important;
}

.webix_accordionitem_header:hover {
    background-color: rgba(173, 216, 230, 0.9) !important;
}

.red {
    color: red;
}

.green {
    color: green;
}

.yellow {
    color: yellow;
}

.black {
    color: black;
}

.blue {
    color: blue;
}

.white {
    color: white;
}

.webix_sidebar .webix_tree_branch_1 .webix_tree_item {
    padding-left: 4px;
}

.webix_sidebar .webix_tree_branch_2 .webix_tree_item {
    padding-left: 12px;
}

.webix_sidebar .webix_tree_branch_3 .webix_tree_item {
    padding-left: 20px;
}

.webix_sidebar .webix_tree_branch_4 .webix_tree_item {
    padding-left: 28px;
}

/* --- Open submenu highlight -------------------------------------------
   Tint the currently-open group (base entry + its child entries) so the
   expanded submenu reads as one block. The open parent row and its child
   branch container are DOM siblings, so both are targeted. Light blue to
   match the existing accordion palette. */

/* child entries of an open group (nested branches only; not the root _1) */
.app_menu .webix_tree_branch_2,
.app_menu .webix_tree_branch_3,
.app_menu .webix_tree_branch_4 {
    background-color: rgba(173, 216, 230, 0.28);
}

/* parent header of an open group (e.g. "BELEGE & BANK") — slightly darker.
   Open group headers render a down-chevron (renderMenuItem); closed ones a
   right-chevron. Target the down-chevron row so only the expanded parent tints. */
.app_menu .d4b_menu_entry:has(.d4b_menu_chevron.fa-chevron-down) {
    background-color: rgba(173, 216, 230, 0.4);
}


/* user manager */

.webix_um_title {
    font-weight: 100 !important;
}

.webix_um_sidebar_menu .webix_list_item {
    font-weight: 100 !important;
}

.webix_um_infolist_header {
    font-weight: 100 !important;
}


/* desktop */

.webix_dsk_main {
    background-image: url(/codebase/img/bg.jpg);
}

.signin_form .webix_view {
    background: transparent;
    color: #fff;
    text-align: center;
}

.bottom_menu_label .webix_el_box {
    color: #fff;
    padding-left: 10px;
}

/* Editor JS */

.ce-block__content,
.ce-toolbar__content {
    max-width: calc(100% - 120px) !important;
    margin: 0 60px;
}

.cdx-block {
    max-width: 100% !important;
}

.hueRed:after {
    content: "";
    background: rgba(255, 0, 0, 0.1);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hueBlue:after {
    content: "";
    background: rgba(0, 0, 255, 0.1);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.text_icon:hover {
    opacity: 1;
    color: gray;
    cursor: pointer;
}

/* Encrypted RTE custom field styling */
.encrypted-rte-field {
    background-color: #f0f7ff;
}
.encrypted-rte-field .tox-editor-header {
    background-color: #e8f0fe;
}

/* Mobile-specific styles for Digi4Business ERP */

.mobile-tabbar {
    background: #ffffff;
    border-top: 1px solid #e0e0e0;
}

.mobile-tabbar .webix_item_tab {
    font-size: 10px;
    line-height: 1.2;
    padding-top: 6px;
}

.mobile-tabbar .webix_item_tab span {
    font-size: 20px;
    display: block;
    margin-bottom: 2px;
}

.mobile-toolbar {
    background: #1565C0;
    color: #ffffff;
}

.mobile-header-label .webix_el_box {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
}

.mobile-menu-list .webix_list_item {
    font-size: 16px;
    line-height: 50px;
    padding-left: 16px;
    border-bottom: 1px solid #f0f0f0;
}

/* ── Mobile card list ───────────────────────────────────────────── */

.mobile-card {
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
}

.mobile-card-title {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    margin-bottom: 4px;
}

.mobile-card-meta {
    font-size: 13px;
    color: #888;
}

.mobile-card-actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.mobile-card-actions a,
.mobile-card-action-link {
    color: #1565C0;
    text-decoration: none;
    font-size: 13px;
}

/* ── Search bar ─────────────────────────────────────────────────── */

.mobile-search-bar {
    padding: 8px 12px;
    background: #f5f5f5;
}

/* ── Timer display ──────────────────────────────────────────────── */

.mobile-timer-display {
    text-align: center;
    padding: 40px 20px;
}

.mobile-timer-time {
    font-size: 48px;
    font-weight: 300;
    color: #333;
    font-variant-numeric: tabular-nums;
}

.mobile-timer-label {
    font-size: 14px;
    color: #888;
    margin-top: 8px;
}

/* ── Empty state ────────────────────────────────────────────────── */

.mobile-empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #888;
}

.mobile-empty-state .fas {
    font-size: 48px;
    color: #ccc;
    margin-bottom: 16px;
    display: block;
}

/* The theme's label colour won over the white header text (dark grey on blue). */
.mobile-toolbar .mobile-header-label .webix_el_box,
.mobile-toolbar .mobile-header-label .webix_el_box * {
    color: #ffffff !important;
}

/* ── Hour entry (views/mobile/hours.ts, week.ts) ────────────────── */

.mobile-hb-searchbar {
    background: #f5f5f5;
}

.mobile-hb-empty {
    text-align: center;
    color: #888;
    line-height: 60px;
}

.mobile-hb-list .webix_list_item {
    padding: 0;
    border-bottom: none;
    white-space: normal;
}

.mobile-hb-list .mobile-card {
    position: relative;
    padding-right: 96px;
}

.mobile-hb-badge {
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 11px;
    line-height: 18px;
    padding: 0 8px;
    border-radius: 9px;
    background: #e8f5e9;
    color: #2e7d32;
}

.mobile-hb-badge.fix {
    background: #eceff1;
    color: #546e7a;
}

.mobile-hb-recent {
    color: #1565C0;
    font-size: 12px;
}

.mobile-hb-delete {
    position: absolute;
    top: 10px;
    right: 16px;
    font-size: 18px;
    color: #c62828;
    padding: 4px 8px;
}

.mobile-hb-chosen .mobile-card {
    background: #e3f2fd;
}

.mobile-hb-chosen .mobile-card-action-link {
    display: inline-block;
    margin-top: 8px;
    font-size: 14px;
}

.mobile-hb-duration {
    font-size: 14px;
    color: #555;
}

.mobile-hb-warn {
    color: #c62828;
}

.mobile-hb-section {
    background: #f5f5f5;
    font-weight: 500;
    padding: 0 16px;
    line-height: 40px;
}

.mobile-hb-section .webix_template {
    padding: 0;
}

.mobile-hb-day {
    display: flex;
    justify-content: space-between;
    padding: 8px 16px;
    background: #f5f5f5;
    font-weight: 500;
}

.mobile-hb-range {
    text-align: center;
    line-height: 48px;
    font-weight: 500;
}

/* 16px inputs: iOS Safari zooms into anything smaller on focus */
.webix_view input[type="date"],
.webix_view input[type="time"],
.webix_view input[type="search"] {
    font-size: 16px;
}

.map-container{-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Microsoft YaHei,Source Han Sans SC,Noto Sans CJK SC,WenQuanYi Micro Hei,sans-serif;user-select:none;-webkit-user-select:none;height:100%;width:100%;overflow:hidden;font-size:16px;outline:none;touch-action:none;background-color:var(--bgcolor)}.map-container p{margin:0}.map-container *{box-sizing:border-box}.map-container::-webkit-scrollbar{width:0px;height:0px}.map-container .selected{outline:2px solid var(--selected);outline-offset:1px}.map-container.space-pressed,.map-container.space-pressed *{cursor:grab!important}.map-container.space-pressed:active,.map-container.space-pressed:active *{cursor:grabbing!important}.map-container .hyper-link{text-decoration:none;margin-left:.3em}.map-container me-main>me-wrapper>me-parent>me-epd{top:calc(50% - 9px)}.map-container me-epd{top:calc(100% - 9px)}.map-container .lhs{direction:rtl}.map-container .lhs>me-wrapper>me-parent>me-epd{left:-10px}.map-container .lhs me-epd{left:5px}.map-container .lhs me-tpc{direction:ltr}.map-container .rhs>me-wrapper>me-parent>me-epd{right:-10px}.map-container .rhs me-epd{right:5px}.map-container .map-canvas{pointer-events:none;position:relative;-webkit-user-select:none;user-select:none;width:fit-content;transform:scale(1)}.map-container .map-canvas me-nodes{position:relative;display:flex;justify-content:center;align-items:center;height:max-content;width:max-content;padding:var(--map-padding)}.map-container me-main>me-wrapper{position:relative;margin:var(--main-gap-y) var(--main-gap-x)}.map-container me-main>me-wrapper>me-parent{margin:10px;padding:0}.map-container me-main>me-wrapper>me-parent>me-tpc{border-radius:var(--main-radius);background-color:var(--main-bgcolor);border:var(--main-border, 2px solid var(--main-color));color:var(--main-color);padding:8px 25px}.map-container me-wrapper{display:block;width:fit-content}.map-container me-children,.map-container me-parent{display:inline-block;vertical-align:middle}.map-container me-root{position:relative;margin:45px 0;z-index:10}.map-container me-root me-tpc{font-size:25px;color:var(--root-color);padding:10px 30px;border-radius:var(--root-radius);border:var(--root-border-color) 2px solid;background-color:var(--root-bgcolor)}.map-container me-parent{position:relative;cursor:pointer;padding:6px var(--node-gap-x);margin-top:var(--node-gap-y);z-index:10}.map-container me-parent me-tpc{position:relative;border-radius:3px;color:var(--color);padding:var(--topic-padding)}.map-container me-parent me-tpc .insert-preview{position:absolute;width:100%;left:0;z-index:9}.map-container me-parent me-tpc .show{background:#7ad5ff;pointer-events:none;opacity:.7;border-radius:3px}.map-container me-parent me-tpc .before{height:14px;top:-14px}.map-container me-parent me-tpc .in{height:100%;top:0}.map-container me-parent me-tpc .after{height:14px;bottom:-14px}.map-container me-parent me-epd{position:absolute;height:18px;width:18px;opacity:.8;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdD0iMTY1NjY1NDcxNzI0MiIgY2xhc3M9Imljb24iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CiAgICA8cGF0aCBkPSJNNTEyIDc0LjY2NjY2N0MyNzAuOTMzMzMzIDc0LjY2NjY2NyA3NC42NjY2NjcgMjcwLjkzMzMzMyA3NC42NjY2NjcgNTEyUzI3MC45MzMzMzMgOTQ5LjMzMzMzMyA1MTIgOTQ5LjMzMzMzMyA5NDkuMzMzMzMzIDc1My4wNjY2NjcgOTQ5LjMzMzMzMyA1MTIgNzUzLjA2NjY2NyA3NC42NjY2NjcgNTEyIDc0LjY2NjY2N3oiIHN0cm9rZS13aWR0aD0iNTQiIHN0cm9rZT0nYmxhY2snIGZpbGw9J3doaXRlJyA+PC9wYXRoPgogICAgPHBhdGggZD0iTTY4Mi42NjY2NjcgNDgwaC0xMzguNjY2NjY3VjM0MS4zMzMzMzNjMC0xNy4wNjY2NjctMTQuOTMzMzMzLTMyLTMyLTMycy0zMiAxNC45MzMzMzMtMzIgMzJ2MTM4LjY2NjY2N0gzNDEuMzMzMzMzYy0xNy4wNjY2NjcgMC0zMiAxNC45MzMzMzMtMzIgMzJzMTQuOTMzMzMzIDMyIDMyIDMyaDEzOC42NjY2NjdWNjgyLjY2NjY2N2MwIDE3LjA2NjY2NyAxNC45MzMzMzMgMzIgMzIgMzJzMzItMTQuOTMzMzMzIDMyLTMydi0xMzguNjY2NjY3SDY4Mi42NjY2NjdjMTcuMDY2NjY3IDAgMzItMTQuOTMzMzMzIDMyLTMycy0xNC45MzMzMzMtMzItMzItMzJ6Ij48L3BhdGg+Cjwvc3ZnPg==);background-repeat:no-repeat;background-size:contain;background-position:center;pointer-events:all;z-index:9}.map-container me-parent me-epd.minus{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdD0iMTY1NjY1NTU2NDk4NSIgY2xhc3M9Imljb24iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CiAgICA8cGF0aCBkPSJNNTEyIDc0LjY2NjY2N0MyNzAuOTMzMzMzIDc0LjY2NjY2NyA3NC42NjY2NjcgMjcwLjkzMzMzMyA3NC42NjY2NjcgNTEyUzI3MC45MzMzMzMgOTQ5LjMzMzMzMyA1MTIgOTQ5LjMzMzMzMyA5NDkuMzMzMzMzIDc1My4wNjY2NjcgOTQ5LjMzMzMzMyA1MTIgNzUzLjA2NjY2NyA3NC42NjY2NjcgNTEyIDc0LjY2NjY2N3oiIHN0cm9rZS13aWR0aD0iNTQiIHN0cm9rZT0nYmxhY2snIGZpbGw9J3doaXRlJyA+PC9wYXRoPgogICAgPHBhdGggZD0iTTY4Mi42NjY2NjcgNTQ0SDM0MS4zMzMzMzNjLTE3LjA2NjY2NyAwLTMyLTE0LjkzMzMzMy0zMi0zMnMxNC45MzMzMzMtMzIgMzItMzJoMzQxLjMzMzMzNGMxNy4wNjY2NjcgMCAzMiAxNC45MzMzMzMgMzIgMzJzLTE0LjkzMzMzMyAzMi0zMiAzMnoiPjwvcGF0aD4KPC9zdmc+)!important;transition:opacity .3s;opacity:0}@media (hover: hover){.map-container me-parent me-epd.minus:hover{opacity:.8}}@media (hover: none){.map-container me-parent me-epd.minus{opacity:.8}}.map-container .icon{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.map-container .lines,.map-container .summary,.map-container .subLines,.map-container .topiclinks,.map-container .linkcontroller{position:absolute;height:102%;width:100%;top:0;left:0}.map-container .topiclinks,.map-container .linkcontroller,.map-container .summary{pointer-events:none;z-index:20}.map-container .summary>g,.map-container .topiclinks>g{cursor:pointer;pointer-events:stroke;z-index:20}.map-container .label-container{z-index:21}.map-container .lines,.map-container .subLines{pointer-events:none}.map-container #input-box{position:absolute;top:0;left:0;width:max-content;max-width:35em;direction:ltr;-webkit-user-select:auto;user-select:auto;pointer-events:auto;color:var(--color);background-color:var(--bgcolor);outline:1px solid #ccc;border-radius:3px;z-index:100}.map-container me-tpc{display:block;max-width:35em;white-space:pre-wrap;pointer-events:all}.map-container me-tpc>*{pointer-events:none}.map-container me-tpc>a,.map-container me-tpc>iframe{pointer-events:auto}.map-container me-tpc>.text{display:inline-block}.map-container me-tpc>.text a{pointer-events:auto}.map-container me-tpc>img{display:block;margin-bottom:8px;object-fit:cover}.map-container .circle{position:absolute;pointer-events:all;height:10px;width:10px;margin-top:-5px;margin-left:-5px;border-radius:100%;background:#757575;border:2px solid #ffffff;z-index:50;cursor:pointer}.map-container .circle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;background:transparent}.map-container .tags{direction:ltr}.map-container .tags span{display:inline-block;border-radius:3px;padding:2px 4px;background:#d6f0f8;color:#276f86;margin:2px 4px 0 0;font-size:12px;line-height:1.3em}.map-container .icons{display:inline-block;direction:ltr;margin-left:5px}.map-container .icons span{display:inline-block;line-height:1.3em}.map-container .mind-elixir-ghost{position:absolute;top:0;left:0;box-sizing:content-box;opacity:.7;background-color:var(--main-bgcolor);border:2px solid var(--main-color);color:var(--main-color);max-width:200px;width:fit-content;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:8px 16px;border-radius:6px;display:none;pointer-events:none;z-index:1000}.map-container .selection-area{background:#4f90f22d;border:1px solid #4f90f2}.map-container .svg-label{position:absolute;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;pointer-events:auto;cursor:pointer;z-index:10;width:max-content;max-width:200px;border-radius:3px;padding:var(--topic-padding)}.map-container .svg-label[data-type=arrow]{background-color:var(--main-bgcolor-transparent)}.map-container h1{font-size:1.5rem;font-weight:700;color:var(--selected)}.map-container h2{font-size:1.25rem;font-weight:600;color:var(--selected)}.map-container h3{font-size:1.125rem;font-weight:600;color:var(--selected)}.map-container h4{font-size:1rem;font-weight:600;color:var(--selected)}.map-container h5{font-size:.875rem;font-weight:600;color:var(--selected)}.map-container h6{font-size:.875rem;font-weight:500;margin:.1rem 0;color:var(--selected);font-style:italic}.map-container strong.asterisk-emphasis,.map-container em{color:var(--selected)}.map-container strong.underscore-emphasis{background:#ffeb3b40;padding:.05em .15em;border-radius:.15em}.map-container a{color:var(--selected)}.map-container a:hover{color:var(--selected);text-decoration:underline}.map-container .context-menu{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99}.map-container .context-menu .menu-list{position:fixed;list-style:none;margin:0;padding:0;color:var(--panel-color);box-shadow:0 12px 15px #0003;border-radius:5px;overflow:hidden}.map-container .context-menu .menu-list li{min-width:200px;overflow:hidden;white-space:nowrap;padding:6px 10px;background:var(--panel-bgcolor);border-bottom:1px solid var(--panel-border-color);cursor:pointer}.map-container .context-menu .menu-list li span{line-height:20px}.map-container .context-menu .menu-list li a{color:#333;text-decoration:none}.map-container .context-menu .menu-list li.disabled{display:none}.map-container .context-menu .menu-list li:hover{filter:brightness(.95)}.map-container .context-menu .menu-list li:last-child{border-bottom:0}.map-container .context-menu .menu-list li span:last-child{float:right}.map-container .context-menu .key{font-size:10px;background-color:#f1f1f1;color:#333;padding:2px 5px;border-radius:3px}.map-container .tips{position:absolute;bottom:28px;left:50%;transform:translate(-50%);color:var(--panel-color);background:var(--panel-bgcolor);opacity:.8;padding:5px 10px;border-radius:5px;font-weight:700}.mind-elixir-toolbar{position:absolute;color:var(--panel-color);background:var(--panel-bgcolor);padding:10px;border-radius:5px;box-shadow:0 1px 2px #0003}.mind-elixir-toolbar svg{display:inline-block}.mind-elixir-toolbar span:active{opacity:.5}.mind-elixir-toolbar.rb{right:20px;bottom:20px}.mind-elixir-toolbar.rb span+span{margin-left:10px}.mind-elixir-toolbar.lt{font-size:20px;left:20px;top:20px}.mind-elixir-toolbar.lt span{display:block}.mind-elixir-toolbar.lt span+span{margin-top:10px}


.webix_um_matrix .webix_ss_left .webix_column.webix_last > div {
    border-right: 1px solid #edeff0;
  }
  
  .webix_um_matrix .webix_column:not(.webix_um_column_name) .webix_cell {
    line-height: 60px !important;
  }
  
  .webix_um_matrix .wxi-check {
    color: #1ca1c1;
    font-size: 22px;
    font-weight: 600;
  }
  
  .webix_um_matrix .wxi-minus {
    color: #8693a5;
    font-size: 14px;
  }
  .webix_um_details_row {
    line-height: 15px !important;
    font-size: 13px;
    white-space: normal;
    color: #8693a5;
  }
.icons-flex
{
    display: flex; align-items:flex-end; align-content: flex-end;
}
.webix_view.webix_layout_accordion.icons { background-color: unset;}
.icons-relative {
    position: relative;
    min-height: 40px;
  }
  
.icons-bottom {
    position: absolute;
    bottom: 0;
    right: 0;
  }

.icons-bold-center {
  display: inline-block;
  text-align: center;
  font-weight: bolder;

  position: relative;
  vertical-align: middle;
  width: 100%;
  text-shadow:1px 1px 10px #fff,
}

.webix_view.webix_form_editor .webix_editor_top{
	position:relative;
}
.webix_view.webix_form_editor .webix_icon.wxi-plus-circle {
	color:#475466;
}
.webix_view.webix_form_editor .webix_icon.wxi-trash:hover,
.webix_view.webix_form_editor .webix_icon.wxi-plus-circle:hover {
	cursor:pointer;
	color:#3498db;
}
.webix_view.webix_form_editor .webix_dtable_subview{
	background-color:initial;
	padding-left:0px !important;
}
.webix_view.webix_form_editor .webix_dtable{
	border-width:1px !important;
}
.webix_view.webix_form_editor .webix_ss_footer .webix_hcell{
	background-color:initial;
}
.webix_view.webix_form_editor .webix_ss_footer .webix_icon{
	margin-left:2px;
}
.webix_view.webix_form_editor .group_header{
   border:none;
   font-weight:bold;
}
.group_header div{
	padding:10px;
	margin-left:10px;
}
.group_header:before{
	position: absolute;
	content: "\F001";
	margin-top: 9px;
	margin-left: -3px;
	font-family:"Webix Awesome Icons";
	font-size:20px;
	font-weight:400;
}
.webix_view.webix_form_editor .webix_form .webix_scroll_cont{
	border-width: 0 0 0 2px !important;
	border-left: 2px solid #D2E3EF;
}
.webix_view.webix_form_editor .webix_form.webix_editor_top > .webix_scroll_cont{
	border-width: 0px !important;
}
.webix_view.webix_form_editor .webix_el_text{
	margin-left: 14px !important;
}
