/* CRM unified stylesheet */
body.dashboard-page .table-pagination{position:relative;z-index:20;min-height:58px;border:0;border-radius:10px;padding:9px 13px;color:var(--theme-muted);background:var(--theme-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}
/* Workzone floating parking-row load chart. */
body.workzone-page .workzone-rows-fab{position:fixed;z-index:1450;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));min-width:112px;min-height:48px;border:1px solid color-mix(in srgb,var(--theme-primary) 65%,var(--theme-border));border-radius:999px;padding:0 18px;color:var(--theme-primary-text);background:var(--theme-primary);display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 12px 30px color-mix(in srgb,var(--theme-shadow) 70%,transparent);cursor:pointer;font:inherit;font-weight:850}
body.workzone-page .workzone-rows-fab:hover{filter:brightness(1.07);transform:translateY(-1px)}
body.workzone-page .workzone-rows-fab:focus-visible{outline:3px solid var(--theme-input-focus);outline-offset:3px}
body.workzone-page .rows-load-modal{z-index:2500;padding:clamp(10px,3vw,32px)}
body.workzone-page .rows-load-dialog{width:min(1600px,calc(100vw - 32px),var(--rows-dialog-width,996px));max-height:min(760px,calc(100dvh - 32px));overflow:hidden;display:flex;flex-direction:column;transition:width .2s ease}
body.workzone-page .rows-load-head{flex:0 0 auto}
body.workzone-page .rows-load-body{min-height:0;padding:18px 20px 22px;overflow:hidden}
body.workzone-page .rows-load-summary{min-height:22px;margin-bottom:14px;color:var(--theme-muted);font-size:12px}
body.workzone-page .rows-load-chart{width:100%;min-width:0;min-height:390px;padding:10px 12px 4px;display:flex;align-items:stretch;justify-content:space-around;gap:clamp(4px,1.4vw,18px);overflow:hidden;border-bottom:1px solid var(--theme-border);background-image:linear-gradient(to top,color-mix(in srgb,var(--theme-border) 48%,transparent) 1px,transparent 1px);background-size:100% 25%}
body.workzone-page .rows-load-column{width:auto;min-width:0;max-width:78px;min-height:360px;flex:1 1 0;display:grid;grid-template-rows:24px minmax(220px,1fr) 22px 18px 17px;justify-items:center;align-items:center;color:var(--theme-text)}
body.workzone-page .rows-load-column>strong{font-size:12px;font-weight:900}
body.workzone-page .rows-load-track{position:relative;width:42px;height:100%;min-height:220px;border:1px solid var(--theme-border);border-radius:10px 10px 4px 4px;background:color-mix(in srgb,var(--theme-input) 70%,transparent);overflow:hidden;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--theme-text) 4%,transparent)}
body.workzone-page .rows-load-track>i{position:absolute;right:0;bottom:0;left:0;height:var(--row-load,0%);min-height:0;border-radius:8px 8px 2px 2px;background:linear-gradient(to top,color-mix(in srgb,var(--row-color) 80%,#000),var(--row-color));box-shadow:0 -6px 20px color-mix(in srgb,var(--row-color) 28%,transparent);transition:height .3s ease}
body.workzone-page .rows-load-column>b{max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900}
body.workzone-page .rows-load-column>small,body.workzone-page .rows-load-column>span{color:var(--theme-muted);font-size:9px;white-space:nowrap}
body.workzone-page .rows-load-empty{min-height:180px;margin:0;color:var(--theme-muted);display:grid;place-items:center;text-align:center}
body.workzone-page .rows-load-empty[hidden]{display:none}
@media(max-width:620px){body.workzone-page .workzone-rows-fab{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));min-width:48px;width:48px;height:48px;padding:0}body.workzone-page .workzone-rows-fab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body.workzone-page .rows-load-modal{align-items:flex-end;padding:0}body.workzone-page .rows-load-dialog{width:100%;max-width:none;max-height:92dvh;border-radius:18px 18px 0 0}body.workzone-page .rows-load-body{padding:14px 8px calc(16px + env(safe-area-inset-bottom))}body.workzone-page .rows-load-chart{min-height:330px;padding-inline:2px;gap:2px}body.workzone-page .rows-load-column{width:auto;min-width:0;min-height:300px;grid-template-rows:22px minmax(180px,1fr) 21px 17px 16px}body.workzone-page .rows-load-track{width:min(36px,calc(100% - 4px));min-height:180px}body.workzone-page .rows-load-column>b{max-width:100%;font-size:10px}body.workzone-page .rows-load-column>small,body.workzone-page .rows-load-column>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){body.workzone-page .workzone-rows-fab,body.workzone-page .rows-load-track>i{transition:none!important;transform:none!important}}
body.workzone-page .table-pagination{position:relative;z-index:20;min-height:58px;border:0;border-radius:10px;padding:9px 13px;color:var(--theme-muted);background:var(--theme-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}
body.workzone-page .new-session-form .session-extras-picker{border:0;border-radius:0;padding:0;background:transparent;display:grid;gap:10px;overflow:visible;box-shadow:none}
body.workzone-page .new-session-form .session-extras-heading{min-height:62px;border:1px solid var(--theme-border);border-radius:11px;padding:10px 12px;background:var(--theme-surface-alt);display:flex;align-items:center;justify-content:space-between;gap:12px}
body.workzone-page .new-session-form .session-extras-title{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px}
body.workzone-page .new-session-form .session-extras-title>span{width:36px;height:36px;border-radius:9px;color:var(--theme-muted);background:var(--theme-secondary-button);display:grid;place-items:center}
body.workzone-page .new-session-form .session-extras-title strong{color:var(--theme-text);font-size:12px}
body.workzone-page .new-session-form .session-extras-title>b{min-width:23px;height:23px;border:0;border-radius:999px;padding:0 7px;color:var(--theme-primary-text);background:var(--theme-primary);display:grid;place-items:center;font-size:10px}
body.workzone-page .new-session-form .session-extras-heading>button{min-height:40px;border:1px solid var(--theme-border);border-radius:9px;padding:0 12px;color:var(--theme-text);background:var(--theme-secondary-button);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:11px;font-weight:850}
body.workzone-page .new-session-form .session-extras-heading>button:hover{border-color:var(--theme-input-focus);background:var(--theme-hover);filter:none}
body.workzone-page .new-session-form .session-extras-heading>button:focus-visible{outline:2px solid var(--theme-input-focus);outline-offset:2px}
body.workzone-page .new-session-form .session-extras-list{border:1px solid var(--theme-border);border-radius:11px;padding:10px 12px;background:var(--theme-surface-alt);display:grid;gap:8px}
body.workzone-page .new-session-form .session-extras-list>p{min-height:36px;margin:0;color:var(--theme-muted);display:flex;align-items:center;gap:10px}
body.workzone-page .new-session-form .session-extras-list>p[hidden]{display:none!important}
body.workzone-page .brand-create-inline{width:100%;min-height:40px;margin-top:8px;border:1px dashed var(--theme-border);border-radius:9px;padding:0 12px;color:var(--theme-muted);background:color-mix(in srgb,var(--theme-secondary-button) 72%,transparent);display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:11px;font-weight:850;cursor:pointer}body.workzone-page .brand-create-inline:hover{color:var(--theme-text);border-color:var(--theme-input-focus);background:var(--theme-hover)}body.workzone-page .brand-create-inline:focus-visible{outline:2px solid var(--theme-input-focus);outline-offset:2px}
body.workzone-page .new-session-form>.session-entry-date{width:100%;min-height:62px;border:1px solid var(--theme-border);border-radius:11px;padding:10px 12px;color:var(--theme-text);background:var(--theme-surface-alt);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:3px 12px}body.workzone-page .new-session-form>.session-entry-date>span{min-width:0;display:flex;align-items:center;gap:11px;font-size:12px;font-weight:850}body.workzone-page .new-session-form>.session-entry-date>span>i{width:36px;height:36px;grid-row:1/3;flex:0 0 36px;border-radius:9px;color:var(--theme-muted);background:var(--theme-secondary-button);display:grid;place-items:center}body.workzone-page .new-session-form>.session-entry-date>strong{grid-column:2;grid-row:1/3;color:var(--theme-text);font-size:13px;white-space:nowrap}body.workzone-page .new-session-form>.session-entry-date>small{grid-column:1;grid-row:2;margin-left:47px;color:var(--theme-muted);font-size:10px}@media(max-width:460px){body.workzone-page .new-session-form>.session-entry-date{grid-template-columns:1fr}body.workzone-page .new-session-form>.session-entry-date>strong{grid-column:1;grid-row:3;margin-left:47px}body.workzone-page .new-session-form>.session-entry-date>small{grid-column:1;grid-row:2}}
body.workzone-page .new-session-form .session-extras-list>p>i{width:30px;height:30px;border-radius:8px;color:var(--theme-muted);background:var(--theme-secondary-button);display:grid;place-items:center}
body.workzone-page .new-session-form .session-extras-list>p strong{color:var(--theme-muted);font-size:10px;font-weight:750}
@media(max-width:620px){body.workzone-page .new-session-form .session-extras-heading{align-items:center;flex-direction:row}body.workzone-page .new-session-form .session-extras-heading>button{width:auto;flex:0 0 auto}body.workzone-page .new-session-form .session-extras-title{grid-template-columns:36px minmax(0,1fr) auto}}
body.workzone-page .hour-chart-wrap .chart-parking-rows{height:420px;padding:8px 6px 5px;overflow:hidden;background-color:transparent;background-image:linear-gradient(to top,color-mix(in srgb,var(--theme-border) 45%,transparent) 1px,transparent 1px);background-size:100% 25%}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-columns{width:100%;height:100%;display:flex;align-items:stretch;gap:2px;overflow:hidden}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-columns>article{container-type:inline-size;position:relative;width:auto;height:100%;min-width:0;min-height:0;max-width:none;flex:1 1 0;border:0;border-radius:3px;padding:26px 1px 52px;background:color-mix(in srgb,var(--theme-surface-alt) 38%,transparent);display:block;overflow:hidden;box-shadow:none}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-bar{position:absolute;top:28px;right:auto;bottom:54px;left:50%;width:min(24px,calc(100% - 2px));min-width:0;height:auto;margin:0;border:1px solid color-mix(in srgb,var(--theme-border) 75%,transparent);border-radius:3px;background:color-mix(in srgb,var(--theme-surface-alt) 82%,transparent);transform:translateX(-50%);overflow:hidden;box-shadow:none}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-bar>i{position:absolute;right:0;bottom:0;left:0;width:100%!important;height:var(--row-load,0%);border-radius:2px 2px 0 0;background:var(--row-color);display:block;box-shadow:0 0 12px color-mix(in srgb,var(--row-color) 24%,transparent);transition:height .35s ease}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-numbers{position:absolute;z-index:3;top:5px;right:0;bottom:auto;left:0;width:auto;height:17px;margin:0;padding:0;color:var(--theme-text);display:flex;align-items:center;justify-content:center;gap:1px;text-shadow:0 1px 2px var(--theme-shadow);pointer-events:none}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-numbers>span{margin:0;padding:0;display:inline-flex!important;align-items:center;font-size:0;line-height:1}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-numbers>span:nth-child(3){display:none!important}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-numbers>span:first-child:after{content:'/';display:inline!important;margin:0 1px;color:var(--theme-muted);font-size:clamp(5px,42cqi,8px)}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-numbers b{font-size:clamp(6px,58cqi,10px);line-height:1}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-columns>article>header{position:absolute;z-index:4;right:0;bottom:3px;left:0;height:47px;min-width:0;margin:0;padding:0;display:grid!important;place-items:center;pointer-events:none}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-columns>article>header span{position:static;width:auto;max-width:none;height:46px;margin:0;color:var(--theme-text);font-size:clamp(6px,48cqi,9px);font-weight:850;line-height:1;writing-mode:vertical-rl;text-orientation:mixed;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:rotate(180deg);text-shadow:none}
body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-columns>article>header b,body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-columns>article>footer{display:none!important}
@media(max-width:620px){body.workzone-page .hour-chart-wrap .chart-parking-rows{height:360px;padding-inline:3px}body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-columns{gap:1px}body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-columns>article{padding-inline:0}body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-bar{width:calc(100% - 1px)}}
@media(prefers-reduced-motion:reduce){body.workzone-page .hour-chart-wrap .chart-parking-rows .parking-row-bar>i{transition:none}}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign]{height:420px;padding:14px 10px 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar-thumb) var(--theme-scrollbar-track);background-color:transparent;background-image:linear-gradient(to top,color-mix(in srgb,var(--theme-border) 48%,transparent) 1px,transparent 1px);background-size:100% 25%;background-position:left bottom}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns{width:max-content;min-width:100%;height:100%;display:flex;align-items:stretch;justify-content:flex-start;gap:8px;overflow:visible;padding:0 3px}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns>article{container-type:normal;position:relative;width:48px;min-width:48px;height:100%;flex:0 0 48px;border:0;border-radius:0;padding:27px 5px 42px;background:transparent;display:block;overflow:visible;box-shadow:none}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-bar{position:absolute;top:31px;right:auto;bottom:43px;left:50%;width:28px;min-width:28px;height:auto;margin:0;border:1px solid color-mix(in srgb,var(--theme-border) 82%,transparent);border-radius:7px 7px 3px 3px;background:color-mix(in srgb,var(--theme-surface-alt) 88%,transparent);transform:translateX(-50%);overflow:hidden;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--theme-text) 4%,transparent)}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-bar>i{position:absolute;right:0;bottom:0;left:0;width:100%!important;height:var(--row-load,0%);border-radius:5px 5px 2px 2px;background:linear-gradient(to top,color-mix(in srgb,var(--row-color) 82%,#000),var(--row-color));display:block;box-shadow:0 -5px 18px color-mix(in srgb,var(--row-color) 22%,transparent);transition:height .35s ease}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-numbers{position:absolute;z-index:3;top:4px;right:0;bottom:auto;left:0;width:auto;height:20px;margin:0;padding:0;color:var(--theme-text);display:flex;align-items:center;justify-content:center;gap:2px;text-shadow:none;pointer-events:none}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-numbers>span{margin:0;padding:0;display:inline-flex!important;align-items:center;font-size:0;line-height:1}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-numbers>span:nth-child(3){display:none!important}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-numbers>span:first-child:after{content:'/';display:inline!important;margin-left:2px;color:var(--theme-muted);font-size:8px}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-numbers b{font-size:10px;line-height:1;font-weight:900}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns>article>header{position:absolute;z-index:4;right:0;bottom:0;left:0;height:37px;min-width:0;margin:0;padding:5px 1px 0;border-top:1px solid color-mix(in srgb,var(--theme-border) 55%,transparent);display:block!important;pointer-events:none}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns>article>header span{position:static;width:100%;max-width:100%;height:auto;margin:0;color:var(--theme-muted);font-size:9px;font-weight:850;line-height:1.2;writing-mode:horizontal-tb;text-orientation:mixed;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:none;text-shadow:none;display:block}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns>article:hover>header span{color:var(--theme-text)}
body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns>article>header b,body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns>article>footer{display:none!important}
@media(max-width:620px){body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign]{height:360px;padding:10px 6px 6px}body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns{gap:5px}body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-columns>article{width:42px;min-width:42px;flex-basis:42px;padding-inline:4px}body.workzone-page .hour-chart-wrap .chart-parking-rows[data-rows-chart-redesign] .parking-row-bar{width:24px;min-width:24px}}
:root {
  --crm-color-white: #fff;
  --crm-color-text: #f4f6f8;
  --crm-color-text-soft: #cfd3d8;
  --crm-color-bg-deep: #05091a;
  --crm-color-bg-input: #141414;
  --crm-color-bg-dropdown: #15171b;
  --crm-color-border-dark: #3a3e47;
  --crm-color-muted: #8f9bb0;
  --crm-color-success: #4fc39b;
  --crm-color-danger: #ff8298;
  --crm-color-ink: #0b0a08;
  --crm-color-canvas: #0d0e10;
  --crm-color-surface: #111316;
  --crm-color-surface-raised: #17191c;
  --crm-color-text-secondary: #dce2ea;
  --crm-color-icon: #aeb4be;
  --crm-color-danger-soft: #ffb4bf;
  --crm-color-success-soft: #bdf6d0;
  --crm-surface-subtle: rgba(255,255,255,.035);
  --crm-surface-hover: rgba(255,255,255,.08);
  --crm-overlay: rgba(0,0,0,.68);
  --crm-gradient-primary: linear-gradient(135deg, var(--crm-color-text), var(--crm-color-text-soft));
  --crm-gradient-surface: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  --crm-gradient-panel: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  --crm-gradient-panel-strong: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.06));
}

@scope (body.workzone-page) {
  .cashbox-action.is-household {
    border-color: color-mix(in srgb, var(--crm-color-icon) 48%, transparent);
    color: var(--crm-color-text-secondary);
    background: var(--crm-gradient-panel);
  }

  .cashbox-action.is-household:hover {
    border-color: var(--crm-color-text-soft);
    background: var(--crm-gradient-panel-strong);
  }

  .cashbox-dialog-head > div {
    display: grid;
    gap: 3px;
  }

  .cashbox-dialog-head small {
    color: var(--crm-color-muted);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .14em;
  }

  .cashbox-household-category {
    min-height: 44px;
    border: 1px solid var(--crm-color-border-dark);
    border-radius: 10px;
    padding: 9px 12px;
    background: var(--crm-surface-subtle);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .cashbox-household-category span {
    color: var(--crm-color-muted);
    font-size: 11px;
    font-weight: 800;
  }

  .cashbox-household-category strong {
    color: var(--crm-color-text);
    font-size: 13px;
  }

  .cashbox-household-warning {
    margin: 0;
    border: 1px solid color-mix(in srgb, var(--crm-color-danger) 30%, transparent);
    border-radius: 9px;
    padding: 10px 12px;
    color: var(--crm-color-danger-soft);
    background: color-mix(in srgb, var(--crm-color-danger) 8%, transparent);
    font-size: 11px;
    line-height: 1.45;
  }
}

/* Employees: keep position selectors above cards/dialog clipping in every browser. */
body.employees-page .employee-invitation,
body.employees-page .employees-panel,
body.employees-page .employee-list,
body.employees-page .employee-card,
body.employees-page .employee-info,
body.employees-page .employee-position-form,
body.employees-page .modal-dialog,
body.employees-page .modal-dialog > form,
body.employees-page .modal-dialog .form-grid,
body.employees-page .modal-dialog .field:has(.custom-select) {
    overflow: visible !important;
}

body.employees-page .custom-select.is-open {
    z-index: 620 !important;
}

body.employees-page .custom-select .custom-dropdown {
    z-index: 621 !important;
    max-height: var(--employee-dropdown-max-height, min(320px, 50vh));
    overflow-x: hidden;
    overflow-y: auto;
}

body.employees-page .custom-select.opens-up .custom-dropdown {
    top: auto;
    bottom: calc(100% + 7px);
}

body.employees-page .custom-select .custom-option {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
    text-align: left;
}

/* Окончательная геометрия обычного квадратного сайдбара. */
@media (min-width: 821px) {
  .dashboard-app { grid-template-columns: 240px minmax(0, 1fr) !important; }
  .dashboard-app.is-sidebar-collapsed { grid-template-columns: 76px minmax(0, 1fr) !important; }
  .dashboard-page .app-sidebar,
  .dashboard-page .sidebar-v2,
  .dashboard-app.is-sidebar-collapsed .app-sidebar {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--theme-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .dashboard-page .app-sidebar :is(.sidebar-brand,.brand-mark,.sidebar-group-toggle,.sidebar-nav a,.sidebar-collapse,.sidebar-reset,.sidebar-logout) {
    border-radius: 0 !important;
  }
  .dashboard-page .app-sidebar .sidebar-brand { padding-right: 14px !important; padding-left: 14px !important; }
  .dashboard-page .app-sidebar .sidebar-nav { padding-right: 0 !important; padding-left: 0 !important; }
}

/* Современный визуальный слой квадратного сайдбара. */
@media (min-width: 821px) {
  .dashboard-page .sidebar-v2 {
    color: var(--theme-text);
    background: linear-gradient(180deg,color-mix(in srgb,var(--theme-sidebar) 94%,white 6%),var(--theme-sidebar)) !important;
  }
  .dashboard-page .sidebar-v2 .sidebar-brand {
    min-height: 66px !important;
    border-bottom: 1px solid color-mix(in srgb,var(--theme-border) 82%,transparent);
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -.025em;
  }
  .dashboard-page .sidebar-v2 .brand-mark {
    width: 36px;
    height: 36px;
    border: 1px solid color-mix(in srgb,var(--theme-primary) 26%,var(--theme-border));
    background: linear-gradient(135deg,color-mix(in srgb,var(--theme-primary) 12%,var(--theme-surface-alt)),var(--theme-surface-alt));
  }
  .dashboard-page .sidebar-v2 .brand-mark img { padding: 6px; }
  .dashboard-page .sidebar-v2-nav { padding: 8px 0 !important; }
  .dashboard-page .sidebar-v2 .sidebar-group + .sidebar-group {
    border-top: 1px solid color-mix(in srgb,var(--theme-border) 55%,transparent);
  }
  .dashboard-page .sidebar-v2 .sidebar-group-toggle {
    min-height: 36px;
    padding: 0 14px;
    color: color-mix(in srgb,var(--theme-muted) 88%,transparent);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .075em;
    transition: color .16s ease,background-color .16s ease;
  }
  .dashboard-page .sidebar-v2 .sidebar-group-toggle:hover,
  .dashboard-page .sidebar-v2 .sidebar-group.is-open .sidebar-group-toggle {
    color: var(--theme-text);
    background: color-mix(in srgb,var(--theme-hover) 45%,transparent);
  }
  .dashboard-page .sidebar-v2 .sidebar-group-label > svg { opacity: .66; transition: opacity .16s ease,transform .16s ease; }
  .dashboard-page .sidebar-v2 .sidebar-group-toggle:hover .sidebar-group-label > svg,
  .dashboard-page .sidebar-v2 .sidebar-group.is-open .sidebar-group-label > svg { opacity: 1; transform: translateX(1px); }
  .dashboard-page .sidebar-v2 .sidebar-nav a {
    min-height: 48px;
    padding: 0 15px 0 18px;
    color: color-mix(in srgb,var(--theme-muted) 92%,transparent);
    font-size: 13px;
    font-weight: 720;
    letter-spacing: -.01em;
    transition: color .16s ease,background-color .16s ease,padding-left .16s ease;
  }
  .dashboard-page .sidebar-v2 .sidebar-nav a::before {
    top: 9px;
    bottom: 9px;
    width: 3px;
    background: transparent;
    transition: top .16s ease,bottom .16s ease,background-color .16s ease;
  }
  .dashboard-page .sidebar-v2 .sidebar-nav a:hover {
    padding-left: 21px;
    color: var(--theme-text);
    background: color-mix(in srgb,var(--theme-hover) 62%,transparent);
  }
  .dashboard-page .sidebar-v2 .sidebar-nav a.is-active {
    color: var(--theme-text);
    background: linear-gradient(90deg,color-mix(in srgb,var(--theme-primary) 18%,var(--theme-surface-alt)),color-mix(in srgb,var(--theme-primary) 4%,transparent));
  }
  .dashboard-page .sidebar-v2 .sidebar-nav a.is-active::before {
    top: 0;
    bottom: 0;
    background: var(--theme-primary);
    box-shadow: 3px 0 14px color-mix(in srgb,var(--theme-primary) 38%,transparent);
  }
  .dashboard-page .sidebar-v2 .sidebar-nav a svg {
    width: 20px;
    height: 20px;
    color: currentColor;
    opacity: .75;
    transition: opacity .16s ease,transform .16s ease;
  }
  .dashboard-page .sidebar-v2 .sidebar-nav a:hover svg,
  .dashboard-page .sidebar-v2 .sidebar-nav a.is-active svg { opacity: 1; transform: scale(1.06); }
  .dashboard-page .sidebar-v2 :is(.sidebar-collapse,.sidebar-reset,.sidebar-logout) {
    min-height: 44px;
    padding: 0 14px;
    border-top: 1px solid color-mix(in srgb,var(--theme-border) 65%,transparent);
    color: var(--theme-muted);
    background: color-mix(in srgb,var(--theme-surface-alt) 30%,transparent);
    font-size: 12px;
    transition: color .16s ease,background-color .16s ease;
  }
  .dashboard-page .sidebar-v2 :is(.sidebar-collapse,.sidebar-reset,.sidebar-logout):hover {
    color: var(--theme-text);
    background: var(--theme-hover);
  }
}

/* Мобильный navbar вместо нижнего меню. */
@media (max-width: 820px) {
  .dashboard-page .app-sidebar,
  .dashboard-page .sidebar-v2,
  .dashboard-app.is-sidebar-collapsed .app-sidebar {
    position: fixed !important;
    z-index: 1000 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 66px !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--theme-border) !important;
    border-radius: 0 !important;
    background: var(--theme-sidebar) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }
  .dashboard-page .app-sidebar .sidebar-brand,
  .dashboard-page .app-sidebar .sidebar-group-toggle,
  .dashboard-page .app-sidebar .sidebar-collapse,
  .dashboard-page .app-sidebar .sidebar-reset-form,
  .dashboard-page .app-sidebar .sidebar-logout { display: none !important; }
  .dashboard-page .app-sidebar .sidebar-nav {
    width: 100% !important;
    height: 66px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }
  .dashboard-page .app-sidebar .sidebar-nav::-webkit-scrollbar { display: none !important; }
  .dashboard-page .app-sidebar .sidebar-group { display: contents !important; }
  .dashboard-page .app-sidebar .sidebar-subnav,
  .dashboard-page .app-sidebar .sidebar-group.is-open .sidebar-subnav {
    display: contents !important;
  }
  .dashboard-page .app-sidebar .sidebar-nav a,
  .dashboard-app.is-sidebar-collapsed .app-sidebar .sidebar-nav a {
    position: relative !important;
    min-width: 76px !important;
    width: auto !important;
    min-height: 66px !important;
    padding: 7px 10px 5px !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }
  .dashboard-page .app-sidebar .sidebar-nav a::before {
    top: auto !important;
    right: 8px !important;
    bottom: 0 !important;
    left: 8px !important;
    width: auto !important;
    height: 3px !important;
  }
  .dashboard-page .app-sidebar .sidebar-nav a svg { width: 20px !important; height: 20px !important; }
  .dashboard-page .app-sidebar .sidebar-nav a span {
    width: auto !important;
    max-width: 82px !important;
    min-height: 0 !important;
    opacity: 1 !important;
    overflow: hidden !important;
    display: block !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }
  .dashboard-page .dashboard-main { padding-top: 82px !important; padding-bottom: 18px !important; }
}

/* Мобильный navbar с выезжающим burger-меню. */
.mobile-navbar,.mobile-sidebar-backdrop { display: none; }
@media (max-width: 820px) {
  .mobile-navbar {
    position: fixed;
    z-index: 1300;
    top: 0;
    right: 0;
    left: 0;
    height: 58px;
    padding: 0 12px;
    border-bottom: 1px solid var(--theme-border);
    background: var(--theme-sidebar);
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .mobile-navbar-toggle {
    width: 42px;
    height: 42px;
    border: 0;
    border-right: 1px solid var(--theme-border);
    border-radius: 0;
    color: var(--theme-text);
    background: transparent;
    font-size: 20px;
    cursor: pointer;
  }
  .mobile-navbar-title { min-width: 0; overflow: hidden; color: var(--theme-text); font-size: 16px; font-weight: 850; white-space: nowrap; text-overflow: ellipsis; }
  .mobile-sidebar-backdrop {
    position: fixed;
    z-index: 1190;
    inset: 0;
    background: rgba(0,0,0,.62);
    opacity: 0;
    display: block;
    pointer-events: none;
    transition: opacity .2s ease;
  }
  .mobile-sidebar-backdrop.is-open { opacity: 1; pointer-events: auto; }
  .dashboard-page .app-sidebar.sidebar-v2,
  .dashboard-app.is-sidebar-collapsed .app-sidebar.sidebar-v2 {
    z-index: 1250 !important;
    top: 58px !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    width: min(330px,88vw) !important;
    height: calc(100vh - 58px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--theme-border) !important;
    display: flex !important;
    overflow: hidden !important;
    transform: translateX(-102%) !important;
    transition: transform .22s ease !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2.is-mobile-open { transform: translateX(0) !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-brand { display: none !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav {
    width: 100% !important;
    height: auto !important;
    padding: 8px 0 !important;
    display: grid !important;
    align-items: start !important;
    gap: 2px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group { display: grid !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group-toggle { display: flex !important; border-radius: 0 !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-subnav { display: none !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group.is-open .sidebar-subnav { display: grid !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a,
  .dashboard-app.is-sidebar-collapsed .app-sidebar.sidebar-v2 .sidebar-nav a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 0 16px 0 20px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    font-size: 14px !important;
    text-align: left !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a::before { top: 7px !important; right: auto !important; bottom: 7px !important; left: 0 !important; width: 3px !important; height: auto !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a span { max-width: none !important; white-space: nowrap !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-collapse,
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-reset-form { display: none !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-logout { display: flex !important; margin-top: auto !important; }
  .dashboard-page .dashboard-main { padding-top: 72px !important; padding-bottom: 18px !important; }
  body.is-mobile-menu-open { overflow: hidden; }
}

/* Мобильное burger-меню повторяет строгий desktop sidebar. */
@media (max-width: 820px) {
  .dashboard-page .app-sidebar.sidebar-v2 {
    color: var(--theme-text) !important;
    background: linear-gradient(180deg,color-mix(in srgb,var(--theme-sidebar) 94%,white 6%),var(--theme-sidebar)) !important;
    box-shadow: 14px 0 38px color-mix(in srgb,var(--theme-shadow) 55%,transparent) !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav { padding: 8px 0 !important; gap: 0 !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group + .sidebar-group {
    border-top: 1px solid color-mix(in srgb,var(--theme-border) 65%,transparent) !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group-toggle {
    min-height: 36px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--theme-muted) !important;
    background: transparent !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group-toggle:hover,
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group.is-open .sidebar-group-toggle {
    color: var(--theme-text) !important;
    background: var(--theme-hover) !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group-label { gap: 8px !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-group-label > svg {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
    color: currentColor !important;
    opacity: .72 !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a,
  .dashboard-app.is-sidebar-collapsed .app-sidebar.sidebar-v2 .sidebar-nav a {
    position: relative !important;
    min-height: 48px !important;
    padding: 0 15px 0 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--theme-muted) !important;
    background: transparent !important;
    font-size: 13px !important;
    font-weight: 720 !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a:hover {
    color: var(--theme-text) !important;
    background: var(--theme-hover) !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a.is-active {
    color: var(--theme-text) !important;
    background: linear-gradient(90deg,color-mix(in srgb,var(--theme-primary) 18%,var(--theme-surface-alt)),color-mix(in srgb,var(--theme-primary) 4%,transparent)) !important;
    box-shadow: none !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 3px !important;
    height: auto !important;
    background: transparent !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a.is-active::before { background: var(--theme-primary) !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a svg {
    width: 20px !important;
    height: 20px !important;
    color: currentColor !important;
    opacity: .78 !important;
    transform: none !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-nav a.is-active svg { opacity: 1 !important; }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-logout {
    min-height: 44px !important;
    padding: 0 15px !important;
    border: 0 !important;
    border-top: 1px solid var(--theme-border) !important;
    border-radius: 0 !important;
    color: var(--theme-muted) !important;
    background: transparent !important;
  }
  .dashboard-page .app-sidebar.sidebar-v2 .sidebar-logout:hover { color: var(--theme-text) !important; background: var(--theme-hover) !important; }
}

.dashboard-page.crm-window-stack-active .crm-window-managed.crm-window-stack-layer {
  background: transparent !important;
  backdrop-filter: none !important;
  animation: none !important;
}

/* Общая мобильная адаптация интерфейса CRM. */
@media (max-width: 820px) {
  html,body { max-width: 100%; overflow-x: hidden; }
  .dashboard-page .dashboard-app { display: block !important; width: 100% !important; min-width: 0 !important; }
  .dashboard-page .dashboard-main { width: 100% !important; min-width: 0 !important; padding-right: 12px !important; padding-left: 12px !important; box-sizing: border-box !important; }
  .dashboard-page .topbar {
    width: 100%; min-width: 0; min-height: 0; margin-bottom: 14px !important;
    display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 10px !important;
  }
  .dashboard-page .search-box { width: 100% !important; min-width: 0 !important; height: 42px !important; box-sizing: border-box !important; }
  .dashboard-page .topbar-meta { width: 100% !important; min-width: 0; display: flex !important; gap: 6px !important; overflow-x: auto; scrollbar-width: none; }
  .dashboard-page .topbar-meta::-webkit-scrollbar { display: none; }
  .dashboard-page .topbar-actions { width: 100% !important; min-width: 0; display: flex !important; align-items: center !important; gap: 8px !important; }
  .dashboard-page .admin-select { min-width: 0 !important; max-width: none !important; flex: 1 1 auto !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .dashboard-page .breadcrumb-panel { width: 100% !important; min-width: 0 !important; margin-bottom: 12px !important; padding: 8px 10px !important; overflow-x: auto !important; box-sizing: border-box !important; scrollbar-width: none; }
  .dashboard-page .breadcrumb-panel::-webkit-scrollbar { display: none; }
  .dashboard-page .breadcrumb-list { width: max-content; min-width: 100%; flex-wrap: nowrap !important; }
  .dashboard-page :is(.panel,.settings-panel,.profile-panel,.operations-shell,.session-register,.balance-dynamics,.manager-ledger) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }
  .dashboard-page :is(.panel-head,.settings-head,.client-list-head,.parking-page-head,.session-register-toolbar) { min-width: 0; align-items: flex-start !important; gap: 10px !important; }
  .dashboard-page :is(.panel-head,.settings-head,.client-list-head,.parking-page-head) > :first-child { min-width: 0; }
  .dashboard-page :is(.panel-head,.settings-head,.client-list-head,.parking-page-head) h1,
  .dashboard-page :is(.panel-head,.settings-head,.client-list-head,.parking-page-head) h2 { overflow-wrap: anywhere; }
  .dashboard-page :is(.operations-totalbar,.manager-finance-summary,.totalbar-values) { width: 100% !important; min-width: 0 !important; }
  .dashboard-page .totalbar-values { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; align-items: stretch !important; gap: 8px !important; }
  .dashboard-page .total-value-card { width: 100% !important; min-width: 0 !important; max-width: none !important; box-sizing: border-box !important; }
  .dashboard-page .total-refresh { align-self: center; justify-self: end; }
  .dashboard-page :is(.actions-line,.filters-line,.session-register-toolbar,.session-register-filters) {
    width: 100% !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 10px !important;
  }
  .dashboard-page :is(.left-actions,.operation-actions,.manager-finance-actions,.cashbox-actions,.form-actions,.client-modal-actions,.crm-modal-standard-actions) {
    width: 100% !important; min-width: 0 !important; display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important;
  }
  .dashboard-page :is(.left-actions,.operation-actions) > * { min-width: 0 !important; }
  .dashboard-page :is(.new-operation-button,.refresh-button,.primary-action,.ghost-action,.cashbox-action) { min-width: 0; justify-content: center; text-align: center; }
  .dashboard-page :is(.operation-search,.session-table-search) { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
  .dashboard-page .metric-tabs { width: 100% !important; min-width: 0; display: flex !important; overflow-x: auto !important; scrollbar-width: none; }
  .dashboard-page .metric-tabs::-webkit-scrollbar { display: none; }
  .dashboard-page .metric-tab { min-width: 112px !important; flex: 1 0 auto !important; }
  .dashboard-page .inline-filters { width: 100% !important; min-width: 0 !important; display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
  .dashboard-page .inline-filters > * { width: 100% !important; min-width: 0 !important; max-width: none !important; box-sizing: border-box !important; }
  .dashboard-page :is(.filter-button.crm-date-range-field,.filter-select,.view-select,.custom-select) { min-width: 0 !important; max-width: 100% !important; }
  .dashboard-page :is(.form-grid,.client-person-fields,.session-pickup-fields,.settings-grid,.bank-form-grid,.tariff-form-grid,.row-form-grid) {
    width: 100% !important; min-width: 0 !important; display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 12px !important;
  }
  .dashboard-page :is(.form-grid,.client-person-fields,.session-pickup-fields,.settings-grid) > * { min-width: 0 !important; grid-column: auto !important; }
  .dashboard-page :is(input,textarea,select,button) { max-width: 100%; }
  .dashboard-page .field { min-width: 0 !important; }
  .dashboard-page :is(.operations-table-wrap,.table-scroll,.session-table-wrap,.clients-table-wrap) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .dashboard-page :is(.operations-table,.session-table,.clients-table) { width: max-content !important; min-width: 100% !important; }
  .dashboard-page :is(.client-grid,.bank-grid,.tariff-grid,.row-grid,.settings-cards,.dashboard-cards,.manager-balance-grid) { grid-template-columns: minmax(0,1fr) !important; }
  .dashboard-page :is(.session-tabs,.parking-tabs,.client-form-tabs,.rights-tabs) { width: 100% !important; min-width: 0; overflow-x: auto !important; flex-wrap: nowrap !important; scrollbar-width: none; }
  .dashboard-page :is(.session-tabs,.parking-tabs,.client-form-tabs,.rights-tabs)::-webkit-scrollbar { display: none; }
  .dashboard-page :is(.session-tabs,.parking-tabs,.client-form-tabs,.rights-tabs) > * { flex: 0 0 auto !important; }
  .dashboard-page .crm-modal-standard-overlay { padding: 0 !important; align-items: flex-end !important; }
  .dashboard-page .crm-modal-standard {
    width: 100% !important; max-width: none !important; max-height: calc(100dvh - 58px) !important;
    margin: 0 !important; border-right: 0 !important; border-bottom: 0 !important; border-left: 0 !important; border-radius: 0 !important;
  }
  .dashboard-page .crm-modal-standard-head { position: sticky; z-index: 3; top: 0; background: var(--theme-modal-background) !important; }
  .dashboard-page .crm-modal-standard-form { min-width: 0 !important; overflow-x: hidden !important; overflow-y: auto !important; }
  .dashboard-page .custom-dropdown { max-width: calc(100vw - 24px) !important; }
  .dashboard-page :is(.notice,.empty-state) { width: 100% !important; box-sizing: border-box !important; overflow-wrap: anywhere; }
}

@media (max-width: 520px) {
  .dashboard-page .dashboard-main { padding-right: 8px !important; padding-left: 8px !important; }
  .dashboard-page .totalbar-values { grid-template-columns: minmax(0,1fr) !important; }
  .dashboard-page :is(.left-actions,.operation-actions,.manager-finance-actions,.cashbox-actions,.form-actions,.client-modal-actions,.crm-modal-standard-actions) {
    grid-template-columns: minmax(0,1fr) !important;
  }
  .dashboard-page :is(.left-actions,.operation-actions,.manager-finance-actions,.cashbox-actions,.form-actions,.client-modal-actions,.crm-modal-standard-actions) > :is(button,a) {
    width: 100% !important; min-height: 44px !important; box-sizing: border-box !important;
  }
  .dashboard-page .topbar-meta { display: none !important; }
  .dashboard-page .metric-tab { min-width: 104px !important; }
  .dashboard-page .crm-modal-standard-head,
  .dashboard-page .crm-modal-standard-form { padding-right: 14px !important; padding-left: 14px !important; }
}

.quick-field-title{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.quick-field-actions{display:flex;align-items:center;gap:8px}.quick-field-actions>a{text-decoration:none}.quick-field-actions>a[aria-disabled="true"]{opacity:.35;pointer-events:none}.quick-field-title>.quick-field-actions{display:none}.quick-field-control>.quick-field-actions{display:flex}.quick-field-control{width:100%;min-width:0}.quick-field-control>.select-clear-field,.quick-field-control>.session-custom-select{width:100%;min-width:0}
.brand-model-editor{display:grid!important;gap:9px}.brand-model-editor-list{display:grid;gap:8px}.brand-model-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px}.brand-model-editor-row>input{width:100%;height:42px}.brand-model-editor-row>button{width:38px;height:42px;border:1px solid var(--theme-border);border-radius:9px;color:var(--theme-muted);background:var(--theme-secondary-button);cursor:pointer}.brand-model-editor-add{width:100%;min-height:38px}.session-action-dialog input.is-readonly{opacity:.72;cursor:not-allowed;background:var(--theme-surface-alt)!important}

/* Unified spacing for dropdown controls */
.dashboard-page .session-custom-toggle {
  padding-right: 12px !important;
  padding-left: 12px !important;
  gap: 10px !important;
}

.dashboard-page .session-custom-dropdown {
  padding: 8px !important;
  gap: 7px !important;
}

.dashboard-page .session-custom-dropdown > input[type="search"] {
  height: 40px !important;
  margin: 0 !important;
  padding: 0 12px !important;
}

.dashboard-page .session-custom-options {
  padding: 2px !important;
  gap: 5px !important;
  scrollbar-gutter: stable;
}

.dashboard-page .session-custom-options > button {
  width: 100% !important;
  height: auto !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 10px 11px !important;
  gap: 10px !important;
  line-height: 1.4 !important;
  align-items: flex-start !important;
  overflow: hidden !important;
}

.dashboard-page .session-custom-options > button > span {
  min-width: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-overflow: ellipsis !important;
}

.dashboard-page .custom-dropdown {
  padding: 8px !important;
  gap: 5px !important;
}

.dashboard-page .custom-dropdown > .custom-option {
  min-height: 40px !important;
  margin: 0 !important;
  padding: 8px 11px !important;
  gap: 9px !important;
  line-height: 1.35 !important;
}

.dashboard-page .select-clear-field {
  gap: 8px !important;
}
.session-remote-empty{min-height:54px;padding:12px;color:var(--theme-muted);display:grid;place-items:center;text-align:center;font-size:12px}.session-custom-options[aria-busy="true"]{opacity:.55;pointer-events:none}

@media (max-width: 620px) {
  .dashboard-page .session-custom-dropdown,
  .dashboard-page .custom-dropdown {
    padding: 7px !important;
  }

  .dashboard-page .session-custom-options > button,
  .dashboard-page .custom-dropdown > .custom-option {
    min-height: 58px !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
}

/* crm-module-dashboard : assets/css/dashboard.css */
:root {
    --dash-bg: #060708;
    --dash-line: rgba(207, 211, 216, .14);
    --dash-line-strong: rgba(207, 211, 216, .24);
    --dash-text: var(--crm-color-text);
    --dash-muted: #9ca5b1;
    --dash-soft: #6d7480;
}

* { box-sizing: border-box; }

body.dashboard-page {
    margin: 0;
    min-height: 100vh;
    color: var(--dash-text);
    background:
        linear-gradient(90deg, var(--crm-surface-subtle) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.025) 1px, transparent 1px),
        radial-gradient(circle at 76% 0%, rgba(207, 211, 216, .08), transparent 38rem),
        var(--dash-bg);
    background-size: 72px 72px, 72px 72px, auto, auto;
    font-family: Arial, "Helvetica Neue", sans-serif;
}

button, input, select { font: inherit; }

button,
.primary-action,
.ghost-action,
.danger-link,
.edit-link,
.new-operation-button,
.new-expense-button,
.split-arrow,
.refresh-button,
.reset-table-button,
.custom-select-trigger,
.custom-picker-button,
.view-button,
.filter-button {
    border-radius: 6px !important;
}

.primary-action,
.ghost-action,
.danger-link,
.edit-link,
.new-operation-button,
.new-expense-button,
.cashbox-action,
.cashbox-submit {
    position: relative;
}

.is-button-loading {
    position: relative !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
    pointer-events: none;
}

.is-button-loading * {
    opacity: 0 !important;
    visibility: hidden !important;
}

.is-button-loading::after {
    content: "";
    width: 16px;
    height: 16px;
    border: 2px solid rgba(16, 17, 20, .22);
    border-top-color: #101114;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -8px 0 0 -8px;
    animation: button-loading-spin .5s linear infinite;
}

.ghost-action.is-button-loading::after,
.danger-link.is-button-loading::after,
.cashbox-action.is-button-loading::after {
    border-color: rgba(244, 246, 248, .24);
    border-top-color: var(--crm-color-text);
}

.primary-action.is-button-loading::after,
.edit-link.is-button-loading::after,
.new-operation-button.is-button-loading::after,
.new-expense-button.is-button-loading::after,
.cashbox-submit.is-button-loading::after {
    border-color: rgba(16, 17, 20, .22);
    border-top-color: #101114;
}

@keyframes button-loading-spin {
    to {
        transform: rotate(360deg);
    }
}

.dashboard-app {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    min-height: 100vh;
    transition: grid-template-columns .24s ease;
}

.app-sidebar {
    position: sticky;
    top: 16px;
    height: calc(100vh - 32px);
    margin: 16px 0 16px 16px;
    padding: 16px 12px;
    border: 1px solid var(--dash-line);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(18, 19, 22, .92), rgba(8, 9, 11, .82));
    backdrop-filter: blur(18px);
    display: flex;
    flex-direction: column;
    gap: 20px;
    overflow: hidden;
    width: calc(100% - 16px);
    min-width: 0;
    box-sizing: border-box;
    box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);
}

.sidebar-brand {
    min-height: 46px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--dash-text);
    text-decoration: none;
    font-size: 23px;
    font-weight: 800;
    overflow: hidden;
}

.brand-mark {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.04);
    flex: 0 0 auto;
}

.brand-mark svg { width: 21px; height: 21px; }
.brand-mark img { width: 100%; height: 100%; padding: 5px; display: block; object-fit: contain; }
.sidebar-nav { display: grid; gap: 8px; min-width: 0; min-height: 0; flex: 1 1 auto; align-content: start; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; }
.sidebar-group { display: grid; gap: 6px; min-width: 0; }
.sidebar-group-toggle {
    width: 100%;
    min-height: 34px;
    border: 1px solid rgba(207,211,216,.10);
    border-radius: 12px;
    padding: 0 10px 0 12px;
    color: var(--dash-muted);
    background: rgba(255,255,255,.025);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}
.sidebar-group-toggle > i { flex: 0 0 auto; font-size: 10px; transition: transform .18s ease; }
.sidebar-group-label { display: inline-flex; align-items: center; gap: 9px; min-width: 0; flex: 1 1 auto; overflow: hidden; }
.sidebar-group-label > svg { width: 17px; height: 17px; flex: 0 0 17px; }
.sidebar-group-label > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-group.is-open .sidebar-group-toggle { color: var(--crm-color-white); background: rgba(255,255,255,.055); }
.sidebar-group.is-open .sidebar-group-toggle > i { transform: rotate(180deg); }
.sidebar-subnav { display: none; gap: 6px; }
.sidebar-group.is-open .sidebar-subnav { display: grid; }

.sidebar-nav a {
    min-height: 58px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 16px;
    color: #c4cad2;
    display: flex;
    align-items: center;
    gap: 17px;
    text-decoration: none;
    font-size: 17px;
    overflow: hidden;
}

.sidebar-nav a.is-active,
.sidebar-nav a:hover {
    border-color: var(--dash-line);
    background: var(--crm-gradient-panel-strong);
    color: var(--crm-color-white);
}

.sidebar-nav svg {
    width: 23px;
    height: 23px;
    color: #d7dbe1;
    flex: 0 0 auto;
}

.sidebar-collapse,
.sidebar-reset,
.sidebar-logout {
    width: 100%;
    min-height: 58px;
    border: 1px solid var(--dash-line);
    border-radius: 18px;
    padding: 0 18px;
    color: #c7cdd6;
    background: var(--crm-surface-subtle);
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    cursor: pointer;
}
.sidebar-collapse { margin-top: auto; }
.sidebar-reset-form { width: 100%; margin-top: 8px; }
.sidebar-reset { min-height: 50px; font: inherit; text-align: left; }
.sidebar-reset:hover { border-color: rgba(255,255,255,.26); background: rgba(255,255,255,.075); color: var(--crm-color-white); }
.sidebar-reset:disabled { opacity: .55; cursor: wait; }
.sidebar-logout { margin-top: 8px; color: var(--crm-color-danger-soft); }

.sidebar-collapse i,
.sidebar-reset i,
.sidebar-logout i { width: 22px; height: 22px; display: inline-grid; place-items: center; font-size: 18px; transition: transform .24s ease; }
.dashboard-app.is-sidebar-collapsed { grid-template-columns: 96px minmax(0, 1fr); }
.dashboard-app.is-sidebar-collapsed .app-sidebar { border-radius: 28px; padding-left: 10px; padding-right: 10px; }
.dashboard-app.is-sidebar-collapsed .sidebar-brand,
.dashboard-app.is-sidebar-collapsed .sidebar-nav a,
.dashboard-app.is-sidebar-collapsed .sidebar-collapse,
.dashboard-app.is-sidebar-collapsed .sidebar-reset,
.dashboard-app.is-sidebar-collapsed .sidebar-logout { justify-content: center; padding-left: 0; padding-right: 0; gap: 0; }
.dashboard-app.is-sidebar-collapsed .sidebar-brand > span:last-child,
.dashboard-app.is-sidebar-collapsed .sidebar-nav a span,
.dashboard-app.is-sidebar-collapsed .sidebar-group-toggle span,
.dashboard-app.is-sidebar-collapsed .sidebar-collapse span,
.dashboard-app.is-sidebar-collapsed .sidebar-reset span,
.dashboard-app.is-sidebar-collapsed .sidebar-logout span { width: 0; opacity: 0; pointer-events: none; white-space: nowrap; }
.dashboard-app.is-sidebar-collapsed .sidebar-group-toggle { justify-content: center; padding-left: 0; padding-right: 0; }
.dashboard-app.is-sidebar-collapsed .sidebar-group-toggle { display: none; }
.dashboard-app.is-sidebar-collapsed .sidebar-subnav,
.dashboard-app.is-sidebar-collapsed .sidebar-group.is-open .sidebar-subnav { display: grid; }
.dashboard-app.is-sidebar-collapsed .sidebar-collapse i { transform: rotate(180deg); }

.dashboard-main {
    min-width: 0;
    padding: 28px 22px;
}

.topbar {
    min-height: 52px;
    margin-bottom: 26px;
    display: grid;
    grid-template-columns: minmax(260px, 560px) 1fr auto;
    align-items: center;
    gap: 18px;
}

.search-box {
    height: 46px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    background: rgba(0,0,0,.24);
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--dash-soft);
}

.search-box svg { width: 20px; height: 20px; }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--dash-text); font-size: 15px; }
.topbar-meta, .topbar-actions { display: flex; align-items: center; }
.topbar-meta { justify-content: flex-end; gap: 10px; color: var(--crm-color-white); font-size: 16px; white-space: nowrap; }
.topbar-actions { gap: 18px; }

.meta-chip, .admin-select, .avatar, .primary-action {
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 14px;
    background: var(--crm-surface-subtle);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.meta-chip { padding: 0 14px; color: #e8edf4; background: var(--crm-gradient-panel); }
.admin-select { padding: 0 14px; color: var(--crm-color-white); font-size: 15px; font-weight: 800; white-space: nowrap; }
.avatar { width: 44px; height: 44px; justify-content: center; border-radius: 50%; color: #eef2f7; }
.avatar svg { width: 22px; height: 22px; }
.primary-action { border-color: rgba(244,246,248,.6); padding: 0 16px; color: var(--crm-color-ink); background: var(--crm-gradient-primary); justify-content: center; font-size: 14px; font-weight: 800; cursor: pointer; white-space: nowrap; text-decoration: none; }

.breadcrumb-panel {
    min-height: 54px;
    margin: -8px 0 14px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 10px 16px;
    background: var(--crm-gradient-panel);
    display: flex;
    align-items: center;
}

.breadcrumb-list { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.breadcrumb-list li { display: inline-flex; align-items: center; gap: 7px; color: var(--dash-muted); font-size: 14px; white-space: nowrap; }
.breadcrumb-list a { color: #c9d0d9; text-decoration: none; }
.breadcrumb-list .is-current span:last-child { color: var(--crm-color-white); font-weight: 800; }
.breadcrumb-separator { color: rgba(207, 211, 216, .32); }

@media (max-width: 1280px) {
    .topbar { grid-template-columns: 1fr; }
    .topbar-meta, .topbar-actions { justify-content: flex-start; }
}

@media (max-width: 820px) {
    .dashboard-app, .dashboard-app.is-sidebar-collapsed { grid-template-columns: 1fr; }
    .app-sidebar { position: fixed; left: 10px; right: 10px; bottom: 10px; top: auto; z-index: 40; width: auto; height: 86px; margin: 0; padding: 8px 10px; border-radius: 24px; display: block; overflow: visible; }
    .sidebar-brand, .sidebar-collapse, .sidebar-reset-form, .sidebar-logout { display: none; }
    .sidebar-nav { height: 100%; display: flex; gap: 6px; overflow-x: auto; overflow-y: visible; scrollbar-width: none; scroll-snap-type: x proximity; padding: 2px 1px; }
    .sidebar-nav::-webkit-scrollbar { display: none; }
    .sidebar-group { flex: 0 0 auto; }
    .sidebar-group-toggle { display: none; }
    .sidebar-subnav, .sidebar-group.is-open .sidebar-subnav { display: flex; gap: 6px; }
    .sidebar-nav a, .dashboard-app.is-sidebar-collapsed .sidebar-nav a { min-width: 82px; min-height: 66px; padding: 6px 8px; border-radius: 18px; flex: 0 0 auto; flex-direction: column; justify-content: center; gap: 5px; font-size: 10px; text-align: center; line-height: 1.12; scroll-snap-align: center; }
    .sidebar-nav svg { width: 21px; height: 21px; }
    .dashboard-app.is-sidebar-collapsed .sidebar-nav a span, .sidebar-nav a span { width: auto; opacity: 1; pointer-events: auto; white-space: normal; max-width: 72px; min-height: 22px; overflow: visible; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .dashboard-main { padding: 12px 12px 114px; }
    .topbar { gap: 10px; margin-bottom: 16px; }
    .topbar-meta, .topbar-actions { width: 100%; gap: 8px; flex-wrap: wrap; }
    .search-box, .primary-action { width: 100%; }
    .meta-chip { flex: 1 1 136px; justify-content: center; min-height: 40px; font-size: 13px; }
    .admin-select, .avatar { min-height: 40px; }
    .avatar { width: 40px; height: 40px; }
    .breadcrumb-panel { border-radius: 18px; margin-bottom: 10px; padding: 9px 12px; }
}

/* Sidebar v2: квадратная административная навигация. */
@media (min-width: 821px) {
    .dashboard-app:has(> .sidebar-v2) { grid-template-columns: 244px minmax(0, 1fr); }
    .dashboard-app.is-sidebar-collapsed:has(> .sidebar-v2) { grid-template-columns: 76px minmax(0, 1fr); }
    .sidebar-v2 {
        top: 0;
        width: 100%;
        height: 100vh;
        margin: 0;
        padding: 0;
        gap: 0;
        border: 0;
        border-right: 1px solid var(--theme-border);
        border-radius: 0;
        background: color-mix(in srgb, var(--theme-sidebar) 97%, black 3%);
        box-shadow: none;
        backdrop-filter: none;
    }
    .sidebar-v2 .sidebar-brand {
        min-height: 64px;
        padding: 0 16px;
        gap: 11px;
        border-bottom: 1px solid var(--theme-border);
        font-size: 18px;
        letter-spacing: -.02em;
    }
    .sidebar-v2 .brand-mark {
        width: 34px;
        height: 34px;
        border: 1px solid color-mix(in srgb, var(--theme-border) 75%, transparent);
        border-radius: 0;
        background: var(--theme-surface-alt);
    }
    .sidebar-v2-nav {
        padding: 10px 0;
        gap: 2px;
        min-height: 0;
        flex: 1 1 auto;
        overflow-x: hidden;
        overflow-y: auto;
    }
    .sidebar-v2 .sidebar-group { gap: 0; }
    .sidebar-v2 .sidebar-group-toggle {
        min-height: 34px;
        padding: 0 14px;
        border: 0;
        border-radius: 0;
        color: var(--theme-muted);
        background: transparent;
        font-size: 10px;
        letter-spacing: .055em;
    }
    .sidebar-v2 .sidebar-group-toggle:hover,
    .sidebar-v2 .sidebar-group.is-open .sidebar-group-toggle {
        color: var(--theme-text);
        background: color-mix(in srgb, var(--theme-hover) 48%, transparent);
    }
    .sidebar-v2 .sidebar-group-label { gap: 8px; }
    .sidebar-v2 .sidebar-group-label > svg { width: 15px; height: 15px; flex-basis: 15px; opacity: .72; }
    .sidebar-v2 .sidebar-subnav { gap: 0; padding: 0; }
    .sidebar-v2 .sidebar-nav a {
        position: relative;
        min-height: 46px;
        padding: 0 14px 0 19px;
        gap: 12px;
        border: 0;
        border-radius: 0;
        color: var(--theme-muted);
        background: transparent;
        font-size: 14px;
        font-weight: 700;
    }
    .sidebar-v2 .sidebar-nav a::before {
        content: '';
        position: absolute;
        left: 0;
        top: 8px;
        bottom: 8px;
        width: 3px;
        background: transparent;
    }
    .sidebar-v2 .sidebar-nav a:hover {
        color: var(--theme-text);
        background: color-mix(in srgb, var(--theme-hover) 58%, transparent);
    }
    .sidebar-v2 .sidebar-nav a.is-active {
        color: var(--theme-text);
        background: color-mix(in srgb, var(--theme-primary) 12%, var(--theme-surface-alt));
    }
    .sidebar-v2 .sidebar-nav a.is-active::before { background: var(--theme-primary); }
    .sidebar-v2 .sidebar-nav a svg { width: 20px; height: 20px; color: currentColor; opacity: .86; }
    .sidebar-v2 .sidebar-nav a.is-active svg { opacity: 1; }
    .sidebar-v2 .sidebar-collapse,
    .sidebar-v2 .sidebar-reset,
    .sidebar-v2 .sidebar-logout {
        min-height: 42px;
        margin: 0;
        padding: 0 15px;
        border: 0;
        border-top: 1px solid var(--theme-border);
        border-radius: 0;
        color: var(--theme-muted);
        background: transparent;
    }
    .sidebar-v2 .sidebar-collapse:hover,
    .sidebar-v2 .sidebar-reset:hover,
    .sidebar-v2 .sidebar-logout:hover { color: var(--theme-text); background: var(--theme-hover); }
    .sidebar-v2 .sidebar-reset-form { margin: 0; }
    .sidebar-v2 .sidebar-logout { flex: 0 0 auto; }
    .dashboard-app.is-sidebar-collapsed .sidebar-v2 .sidebar-brand,
    .dashboard-app.is-sidebar-collapsed .sidebar-v2 .sidebar-nav a,
    .dashboard-app.is-sidebar-collapsed .sidebar-v2 .sidebar-collapse,
    .dashboard-app.is-sidebar-collapsed .sidebar-v2 .sidebar-reset,
    .dashboard-app.is-sidebar-collapsed .sidebar-v2 .sidebar-logout {
        justify-content: center;
        padding-right: 0;
        padding-left: 0;
    }
}

@media (max-width: 820px) {
    .sidebar-v2 { border-radius: 0; background: var(--theme-sidebar); }
    .sidebar-v2 .sidebar-nav a,
    .dashboard-app.is-sidebar-collapsed .sidebar-v2 .sidebar-nav a { border-radius: 0; }
    .sidebar-v2 .sidebar-nav a.is-active { box-shadow: inset 0 3px 0 var(--theme-primary); }
}


/* crm-module-forms : assets/css/forms.css */
.field {
    position: relative;
}

.custom-select {
    position: relative;
    min-width: 0;
}

.custom-select-trigger,
.view-button,
.custom-picker-button {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 12px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.24);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    text-align: left;
}

.filter-select .custom-select-trigger,
.view-button {
    width: auto;
    min-height: 34px;
    font-size: 12px;
}

.custom-select-trigger:hover,
.custom-select.is-open .custom-select-trigger,
.view-button:hover,
.custom-picker-button:hover {
    border-color: rgba(244,246,248,.42);
    background: rgba(255,255,255,.055);
}

.custom-select-trigger i:last-child,
.view-button i:last-child {
    flex: 0 0 auto;
    font-size: 11px;
    transition: transform .18s ease;
}

.custom-select.is-open .custom-select-trigger i:last-child,
.custom-select.is-open .view-button i:last-child {
    transform: rotate(180deg);
}

.custom-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    z-index: 240;
    min-width: 220px;
    max-height: 320px;
    border: 1px solid var(--dash-line);
    border-radius: 16px;
    padding: 8px;
    background: rgba(18,19,21,.98);
    box-shadow: 0 24px 70px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(16px);
    display: none;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(244,246,248,.34) rgba(255,255,255,.04);
}

.custom-select.is-open .custom-dropdown {
    display: grid;
    gap: 5px;
}

.custom-dropdown::-webkit-scrollbar,
.time-scroll-list::-webkit-scrollbar {
    width: 8px;
}

.custom-dropdown::-webkit-scrollbar-track,
.time-scroll-list::-webkit-scrollbar-track {
    background: var(--crm-surface-subtle);
    border-radius: 999px;
}

.custom-dropdown::-webkit-scrollbar-thumb,
.time-scroll-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(244,246,248,.45);
}

.custom-option {
    width: 100%;
    min-height: 36px;
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 0 10px;
    color: var(--crm-color-white);
    background: transparent;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
}

.custom-option:hover {
    border-color: rgba(244,246,248,.32);
    background: rgba(255,255,255,.06);
}

.custom-option.is-selected {
    border-color: rgba(244,246,248,.62);
    background: rgba(255,255,255,.095);
}

.date-picker,
.time-picker {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    z-index: 260;
    width: min(330px, calc(100vw - 28px));
    border: 1px solid var(--dash-line);
    border-radius: 16px;
    padding: 12px;
    background: rgba(18,19,21,.98);
    box-shadow: 0 24px 70px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(16px);
    display: none;
}

.date-picker.is-open,
.time-picker.is-open {
    display: grid;
    gap: 10px;
}

.picker-head {
    display: grid;
    grid-template-columns: 34px 1fr 34px;
    align-items: center;
    gap: 8px;
}

.picker-head strong {
    color: var(--crm-color-white);
    font-size: 13px;
    text-align: center;
    text-transform: capitalize;
}

.picker-head button,
.calendar-days button,
.time-scroll-list button {
    min-height: 32px;
    border: 1px solid rgba(244,246,248,.58);
    border-radius: 10px;
    color: #111;
    background: linear-gradient(135deg, var(--crm-color-text), #d9dde3);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
}

.picker-head button {
    display: grid;
    place-items: center;
}

.calendar-weekdays,
.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}

.calendar-weekdays span {
    color: var(--dash-muted);
    font-size: 11px;
    font-weight: 900;
    text-align: center;
}

.calendar-empty {
    min-height: 32px;
}

.calendar-days button.is-selected,
.time-scroll-list button.is-selected {
    border-color: rgba(244,246,248,.96);
    color: var(--crm-color-white);
    background: rgba(255,255,255,.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}

.calendar-days button:disabled {
    border-color: rgba(244,246,248,.05);
    color: #555c66;
    background: rgba(255,255,255,.018);
    box-shadow: none;
    cursor: not-allowed;
}

.time-picker {
    width: min(300px, calc(100vw - 28px));
    grid-template-columns: 1fr 1fr;
}

.time-scroll-column {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.time-scroll-column strong {
    color: var(--crm-color-white);
    font-size: 12px;
    font-weight: 900;
}

.time-scroll-list {
    max-height: 190px;
    overflow: auto;
    display: grid;
    gap: 6px;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(244,246,248,.34) rgba(255,255,255,.04);
}

@media (max-width: 720px) {
    .custom-dropdown,
    .date-picker,
    .time-picker {
        width: min(100%, calc(100vw - 24px));
        min-width: 0;
    }
}


/* crm-module-banks : assets/css/banks.css */
.banks-layout { display: grid; grid-template-columns: 1fr; gap: 14px; }
.panel { border: 1px solid var(--dash-line); border-radius: 12px; background: var(--crm-gradient-panel); box-shadow: 0 18px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter: blur(16px); overflow: hidden; }
.panel-head { min-height: 62px; padding: 0 18px; border-bottom: 1px solid var(--dash-line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.panel-head h1, .panel-head h2 { margin: 0; color: var(--crm-color-white); font-size: 18px; }
.panel-head span { color: var(--dash-muted); font-size: 13px; }
.bank-form { padding: 18px; display: grid; gap: 14px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.field { display: grid; gap: 7px; color: var(--dash-muted); font-size: 13px; }
.field.full { grid-column: 1 / -1; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--dash-line); border-radius: 12px; color: var(--crm-color-white); background: rgba(0,0,0,.24); outline: none; }
.field input, .field select { height: 44px; padding: 0 12px; }
.field textarea { min-height: 100px; padding: 12px; resize: vertical; line-height: 1.45; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: rgba(244,246,248,.42); }
.field input[readonly] { color: var(--crm-color-text-secondary); background: rgba(255,255,255,.055); cursor: default; }
.preset-select { position: relative; }
.preset-select-trigger { width: 100%; min-height: 56px; border: 1px solid var(--dash-line); border-radius: 14px; padding: 9px 12px; color: var(--crm-color-white); background: rgba(0,0,0,.24); display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; text-align: left; }
.preset-select-trigger:hover, .preset-select.is-open .preset-select-trigger { border-color: rgba(244,246,248,.42); background: rgba(255,255,255,.055); }
.preset-selected-text { min-width: 0; display: grid; gap: 4px; }
.preset-selected-text strong { color: var(--crm-color-white); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.preset-selected-text small { color: var(--dash-muted); font-size: 12px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.preset-select-arrow { width: 28px; height: 28px; border: 1px solid var(--dash-line); border-radius: 10px; display: grid; place-items: center; color: var(--crm-color-white); transition: transform .18s ease; }
.preset-select-arrow i { font-size: 12px; line-height: 1; }
.preset-select.is-open .preset-select-arrow { transform: rotate(180deg); }
.preset-dropdown { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 30; border: 1px solid var(--dash-line); border-radius: 16px; padding: 10px; background: var(--crm-color-bg-dropdown); box-shadow: 0 18px 44px rgba(0,0,0,.38); display: none; }
.preset-select.is-open .preset-dropdown { display: block; }
.preset-search { width: 100%; height: 42px; border: 1px solid var(--dash-line); border-radius: 12px; padding: 0 12px; margin-bottom: 10px; color: var(--crm-color-white); background: rgba(0,0,0,.28); outline: none; }
.preset-search:focus { border-color: rgba(244,246,248,.42); }
.preset-picker { max-height: 260px; overflow: auto; display: grid; gap: 8px; padding-right: 4px; }
.preset-option { position: relative; min-width: 0; min-height: 64px; border: 1px solid var(--dash-line); border-radius: 14px; padding: 9px 10px; background: var(--crm-surface-subtle); display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; cursor: pointer; transition: border-color .18s ease, background .18s ease; }
.preset-option:hover { border-color: rgba(244,246,248,.38); background: rgba(255,255,255,.07); }
.preset-option:has(input:checked) { border-color: rgba(244,246,248,.78); background: rgba(255,255,255,.095); box-shadow: inset 0 1px 0 var(--crm-surface-hover); }
.preset-option input { position: absolute; opacity: 0; pointer-events: none; }
.preset-option-logo { width: 48px; height: 48px; border-radius: 14px; }
.preset-option-logo svg, .preset-option-logo img { width: 34px; height: 34px; }
.preset-option-text { min-width: 0; display: grid; gap: 4px; }
.preset-option-text strong { color: var(--crm-color-white); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.preset-option-text small { color: var(--dash-muted); font-size: 12px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.preset-empty { padding: 14px; color: var(--dash-muted); text-align: center; font-size: 13px; }
.compact-select .preset-select-trigger { min-height: 44px; padding: 0 8px 0 12px; }
.compact-dropdown { padding: 8px; display: none; }
.compact-option { width: 100%; min-height: 40px; border: 1px solid transparent; border-radius: 12px; padding: 0 12px; color: var(--crm-color-white); background: transparent; display: flex; align-items: center; cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; text-align: left; }
.compact-option:hover { border-color: rgba(244,246,248,.32); background: rgba(255,255,255,.06); }
.compact-option.is-selected { border-color: rgba(244,246,248,.62); background: rgba(255,255,255,.095); }
.color-control { height: 44px; border: 1px solid var(--dash-line); border-radius: 12px; padding: 5px 10px 5px 5px; background: rgba(0,0,0,.24); display: flex; align-items: center; gap: 10px; color: var(--crm-color-white); font-weight: 800; }
.color-control input { width: 34px; height: 34px; border: 0; border-radius: 10px; padding: 0; overflow: hidden; background: transparent; cursor: pointer; }
.file-field input[type="file"] { height: auto; padding: 10px; cursor: pointer; }
.file-field input[type="file"]::file-selector-button { min-height: 32px; margin-right: 10px; border: 1px solid rgba(244,246,248,.6); border-radius: 10px; padding: 0 12px; color: var(--crm-color-ink); background: var(--crm-gradient-primary); font-weight: 900; cursor: pointer; }
.file-help { color: var(--dash-soft); font-size: 12px; }
.commission-preview { border: 1px solid var(--dash-line); border-radius: 16px; padding: 14px; background: rgba(0,0,0,.18); display: grid; gap: 8px; color: var(--dash-muted); font-size: 13px; }
.commission-preview strong { color: var(--crm-color-white); font-size: 24px; }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ghost-action, .danger-link { min-height: 42px; border: 1px solid var(--dash-line); border-radius: 12px; padding: 0 14px; color: var(--crm-color-white); background: var(--crm-surface-subtle); display: inline-flex; align-items: center; text-decoration: none; cursor: pointer; font-weight: 800; }
.danger-link { min-height: 34px; color: var(--crm-color-danger-soft); }
.bank-list { padding: 14px; display: grid; gap: 10px; }
.directory-action { padding: 14px 14px 0; display: flex; justify-content: flex-end; }
.bank-card { border: 1px solid var(--dash-line); border-radius: 18px; padding: 14px; background: rgba(0,0,0,.18); display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
.bank-logo { width: 58px; height: 58px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: var(--bank-color); display: grid; place-items: center; box-shadow: inset 0 1px 0 var(--crm-surface-hover), 0 12px 30px rgba(0,0,0,.28); overflow: hidden; }
.bank-logo svg, .bank-logo img { width: 42px; height: 42px; display: block; object-fit: contain; }
.bank-card h3 { margin: 0 0 6px; color: var(--crm-color-white); font-size: 16px; }
.bank-card p { margin: 0; color: var(--dash-muted); font-size: 13px; line-height: 1.5; }
.bank-meta, .bank-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.bank-pill { min-height: 28px; border: 1px solid var(--dash-line); border-radius: 999px; padding: 0 10px; color: var(--crm-color-text-secondary); background: var(--crm-surface-subtle); display: inline-flex; align-items: center; font-size: 12px; font-weight: 800; }
.bank-balance { min-width: 170px; text-align: right; }
.bank-balance strong { display: block; color: var(--crm-color-white); font-size: 22px; margin-bottom: 8px; }
.edit-link { min-height: 34px; border: 1px solid rgba(244,246,248,.6); border-radius: 999px; padding: 0 12px; color: var(--crm-color-ink); background: var(--crm-gradient-primary); display: inline-flex; align-items: center; text-decoration: none; font-size: 12px; font-weight: 900; }
.balance-note, .notice { margin: 0; padding: 0 18px 18px; color: var(--dash-muted); font-size: 13px; line-height: 1.6; }
.notice { padding: 12px 14px; margin: 0 0 14px; border: 1px solid var(--dash-line); border-radius: 16px; background: rgba(255,255,255,.04); }
.notice.error { color: var(--crm-color-danger-soft); }
.empty-state { padding: 24px 18px; color: var(--dash-muted); }
.preset-list { padding: 14px; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 260px)); justify-content: start; gap: 10px; }
.preset-card { border: 1px solid var(--dash-line); border-radius: 18px; padding: 12px; background: rgba(0,0,0,.18); display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; }
.preset-info { min-width: 0; }
.preset-card strong { display: block; color: var(--crm-color-white); font-size: 14px; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.preset-card span { color: var(--dash-muted); font-size: 12px; font-weight: 800; }
.preset-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.preset-actions form { margin: 0; }
.preset-actions .danger-link { font-size: 12px; font-weight: 900; font-family: inherit; }
.modal-overlay { position: fixed; inset: 0; z-index: 100; padding: 22px; background: rgba(0,0,0,.62); backdrop-filter: blur(12px); display: none; align-items: center; justify-content: center; }
.modal-overlay.is-open { display: flex; }
.modal-dialog { width: min(760px, 100%); max-height: min(86vh, 780px); overflow: auto; }
.modal-close { width: 38px; height: 38px; border: 1px solid var(--dash-line); border-radius: 12px; color: var(--crm-color-white); background: rgba(255,255,255,.04); cursor: pointer; font-size: 24px; line-height: 1; }
body.is-modal-open { overflow: hidden; }
@media (max-width: 1280px) { .banks-layout { grid-template-columns: 1fr; } .preset-list { grid-template-columns: repeat(auto-fill, minmax(220px, 260px)); } }
@media (max-width: 820px) { .form-grid { grid-template-columns: 1fr; } .preset-picker { grid-template-columns: 1fr; } .bank-card { grid-template-columns: auto 1fr; } .bank-balance { grid-column: 1 / -1; text-align: left; } .modal-overlay { padding: 10px; align-items: flex-end; } .modal-dialog { max-height: 92vh; border-radius: 12px 12px 18px 18px; } .preset-list { grid-template-columns: 1fr; } }


/* crm-module-auth : assets/css/auth.css */
@scope (body.auth-page) {
* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

:scope {
    margin: 0;
    min-height: 100vh;
    color: #f8fafc;
    background: #050609;
    font-family: Inter, Arial, "Helvetica Neue", sans-serif;
}

button,
.auth-submit,
.auth-tabs,
.auth-tabs::before,
.auth-tabs button {
    border-radius: 6px !important;
}

.auth-shell {
    position: relative;
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(360px, 1fr) 2fr;
    overflow: hidden;
}

.auth-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(.42) saturate(1.02);
    transform: scale(1.01);
}

.auth-shell::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 72% 28%, rgba(43, 72, 122, .12), transparent 36%), rgba(0, 0, 0, .16);
    pointer-events: none;
}

.auth-side {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    padding: 24px 40px 40px;
    background: rgba(10, 12, 16, .62);
    backdrop-filter: blur(8px);
    border-right: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.auth-brand {
    align-self: center;
    color: #f8fafc;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    font-size: 22px;
    font-weight: 850;
    letter-spacing: 0;
}

.auth-brand img {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    object-fit: cover;
}

.auth-center {
    flex: 1;
    display: grid;
    place-items: center;
}

.auth-card {
    width: min(100%, 360px);
    display: grid;
    gap: 24px;
}

.auth-header {
    display: grid;
    gap: 8px;
    text-align: center;
}

.auth-header h1 {
    margin: 0;
    color: #ffffff;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0;
}

.auth-header p {
    margin: 0;
    color: rgba(248, 250, 252, .70);
    font-size: 14px;
    line-height: 1.45;
}

.auth-form {
    display: grid;
    gap: 20px;
}

.auth-register-form {
    gap: 16px;
}

.auth-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.auth-full {
    grid-column: 1 / -1;
}

.auth-form label {
    min-width: 0;
    color: #f8fafc;
    display: grid;
    gap: 9px;
    font-size: 14px;
    font-weight: 600;
}

.auth-form input:not([type="checkbox"]) {
    width: 100%;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 7px;
    padding: 0 12px;
    color: #f8fafc;
    background: rgba(18, 20, 25, .48);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
    outline: none;
    font: inherit;
    font-size: 14px;
}

.auth-form input::placeholder {
    color: rgba(248, 250, 252, .42);
}

.auth-form input:not([type="checkbox"]):focus {
    border-color: rgba(255, 255, 255, .42);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .12);
}

.auth-tabs {
    position: relative;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    padding: 3px;
    background: rgba(18, 20, 25, .40);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3px;
    overflow: hidden;
}

.auth-tabs::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 3px;
    width: calc((100% - 12px) / 3);
    height: calc(100% - 6px);
    border-radius: 6px;
    background: rgba(255, 255, 255, .10);
    box-shadow: 0 1px 8px rgba(0, 0, 0, .18);
    transition: transform .24s ease;
}

.auth-tabs[data-active-mode="phone"]::before {
    transform: translateX(calc(100% + 3px));
}

.auth-tabs[data-active-mode="email"]::before {
    transform: translateX(calc((100% + 3px) * 2));
}

.auth-tabs button {
    position: relative;
    z-index: 1;
    border: 0;
    border-radius: 6px;
    color: rgba(248, 250, 252, .66);
    background: transparent;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: color .2s ease;
}

.auth-tabs button.is-active {
    color: #f8fafc;
}

.auth-check {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 9px;
    color: rgba(248, 250, 252, .88);
    font-size: 14px;
}

.auth-check input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #f8fafc;
}

.auth-submit {
    width: 100%;
    min-height: 38px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 7px;
    padding: 0 16px;
    color: #101114;
    background: #f8fafc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.auth-submit.is-loading {
    position: relative;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
    pointer-events: none;
}

.auth-submit.is-loading * {
    opacity: 0 !important;
    visibility: hidden !important;
}

.auth-submit.is-loading::after {
    content: "";
    width: 16px;
    height: 16px;
    border: 2px solid rgba(16, 17, 20, .22);
    border-top-color: #101114;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -8px 0 0 -8px;
    animation: auth-button-spin .5s linear infinite;
}

.auth-submit:hover {
    background: #e8edf4;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .25);
}

.auth-submit:active {
    transform: translateY(1px);
}

.auth-notice {
    border: 1px solid rgba(255, 126, 148, .34);
    border-radius: 10px;
    padding: 11px 12px;
    color: #ffd0d8;
    background: rgba(128, 22, 42, .22);
    font-size: 13px;
    line-height: 1.45;
}

.auth-notice-success {
    border-color: rgba(94, 207, 130, .35);
    color: #d7f7e0;
    background: rgba(31, 113, 57, .2);
}

.auth-reset-form {
    margin-top: 12px;
}

.auth-reset-button {
    width: 100%;
    min-height: 38px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    color: rgba(248, 250, 252, .72);
    background: rgba(255, 255, 255, .035);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.auth-reset-button:hover {
    border-color: rgba(255, 255, 255, .28);
    color: var(--crm-color-white);
    background: rgba(255, 255, 255, .07);
}

.auth-reset-button:disabled {
    opacity: .55;
    cursor: wait;
}

.auth-divider {
    margin: 16px 0;
    color: rgba(248, 250, 252, .52);
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    height: 1px;
    background: rgba(255, 255, 255, .12);
    flex: 1;
}

.auth-arisid {
    width: 100%;
    justify-content: center;
}

@keyframes auth-button-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 920px) {
    .auth-shell {
        grid-template-columns: 1fr;
    }

    .auth-side {
        width: min(100%, 480px);
        padding: 24px;
    }
}

@media (max-width: 620px) {
    .auth-shell {
        display: block;
    }

    .auth-side {
        width: 100%;
        min-height: 100vh;
        padding: 20px;
    }

    .auth-card {
        width: 100%;
    }

    .auth-grid {
        grid-template-columns: 1fr;
    }
}



}
/* crm-module-employee-register : assets/css/employee-register.css */
@scope (body.employee-register-page) {
.employee-register-shell { grid-template-columns: minmax(420px, 1.15fr) 1.85fr; }
.employee-register-card { width: min(100%, 560px); }
.employee-register-card .auth-form { gap: 16px; }
.employee-register-card .auth-header strong { color: var(--crm-color-white); }
.employee-register-login { text-decoration: none; }
.employee-register-icon { width: 58px; height: 58px; margin: 0 auto 6px; display: grid; place-items: center; border: 1px solid rgba(255,145,162,.26); border-radius: 50%; color: var(--crm-color-danger-soft); background: rgba(255,80,108,.08); font-size: 25px; font-weight: 900; }
.employee-register-icon.is-success { color: var(--crm-color-success-soft); border-color: rgba(127,209,144,.26); background: rgba(127,209,144,.08); }
@media (max-width: 760px) {
    .employee-register-shell { grid-template-columns: 1fr; }
}



}
/* crm-module-install : assets/css/install.css */
@scope (body.install-page) {
:scope{color-scheme:dark;min-height:100vh;margin:0;color:#f2f4f6;background:#090a0c;font-family:Inter,Segoe UI,Arial,sans-serif}:scope *{box-sizing:border-box}.install-shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:28px 0 60px}.install-head{min-height:70px;margin-bottom:16px;border:1px solid #24282e;border-radius:15px;padding:13px 16px;background:#0f1114;display:flex;align-items:center;gap:12px}.install-head>span{width:42px;height:42px;border-radius:11px;color:var(--crm-color-canvas);background:#eef1f4;display:grid;place-items:center;font-size:21px}.install-head div{display:grid;gap:3px}.install-head b{font-size:17px}.install-head small{color:#858d97;font-size:10px}.install-form{display:grid;gap:14px}.install-panel{border:1px solid #24282e;border-radius:15px;overflow:hidden;background:#0f1114}.install-panel>header{min-height:76px;border-bottom:1px solid #24282e;padding:15px 17px;display:flex;align-items:center;gap:12px}.install-panel>header>i{width:36px;height:36px;border-radius:10px;color:#dce1e6;background:#1b1f24;display:grid;place-items:center}.install-panel h1{margin:0 0 4px;font-size:15px}.install-panel p{margin:0;color:#858d97;font-size:10px}.install-grid{padding:17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.install-grid label:not(.install-check):not(.install-logo){color:#9098a2;display:grid;gap:7px;font-size:10px;font-weight:850}.install-grid input,.install-grid select{width:100%;min-height:44px;border:1px solid #292e35;border-radius:10px;padding:0 12px;outline:0;color:var(--crm-color-white);background:#14171b;font:inherit}.install-grid input:focus,.install-grid select:focus{border-color:#69727d}.install-grid select{cursor:pointer}.is-wide{grid-column:1/-1}.install-check{cursor:pointer}.install-check>input{position:absolute;opacity:0;pointer-events:none}.install-check>span{min-height:42px;border:1px solid #292e35;border-radius:10px;padding:0 12px;display:flex;align-items:center;gap:9px}.install-check i{width:18px;height:18px;border:1px solid #4b535d;border-radius:5px;display:grid;place-items:center}.install-check input:checked+span i{border-color:#e6eaee;background:#e6eaee}.install-check input:checked+span i::after{content:"✓";color:#0c0d0f;font-size:12px;font-style:normal;font-weight:950}.install-check b{font-size:10px}.install-logo{min-height:88px;border:1px dashed #343a43;border-radius:12px;padding:12px;display:flex;align-items:center;gap:13px;cursor:pointer}.install-logo>input{position:absolute;opacity:0;pointer-events:none}.install-logo-preview{width:62px;height:62px;flex:0 0 auto;border-radius:12px;color:#bfc6ce;background:#1b1f24;display:grid;place-items:center;font-size:24px;overflow:hidden}.install-logo-preview img{width:100%;height:100%;object-fit:contain}.install-logo>span:last-of-type{display:grid;gap:4px}.install-logo b{font-size:12px}.install-logo em{color:#858d97;font-size:9px;font-style:normal}.install-logo strong{width:max-content;margin-top:4px;border:1px solid #303640;border-radius:7px;padding:6px 8px;color:#dfe4e8;background:#171a1e;font-size:9px}.install-mode{padding:17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.install-grid .install-mode{padding:0}.install-mode>button{min-height:66px;border:1px solid #292e35;border-radius:11px;padding:10px;color:#dfe3e7;background:#14171b;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.install-mode>button.is-active{border-color:#aeb6c0;background:#20242a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.install-mode>button>i{width:30px;height:30px;border-radius:8px;background:#252a31;display:grid;place-items:center}.install-mode button span{display:grid;gap:3px}.install-mode button b{font-size:10px}.install-mode button small{color:#858d97;font-size:8px}.install-manual-time{display:none!important}.install-manual-time.is-visible{display:grid!important}.install-submit,.install-complete a{min-height:48px;border:0;border-radius:12px;padding:0 18px;color:#0c0d0f;background:#eef1f4;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900;text-decoration:none;cursor:pointer}.install-error{margin-bottom:14px;border:1px solid rgba(255,90,90,.28);border-radius:11px;padding:12px 14px;color:#ff9b9b;background:rgba(255,70,70,.07);display:flex;gap:9px;font-size:11px}.install-complete{min-height:360px;border:1px solid #24282e;border-radius:15px;padding:30px;background:#0f1114;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.install-complete>i{font-size:38px;color:#92dbab}.install-complete h1{margin:0;font-size:21px}.install-complete p{max-width:460px;margin:0 0 8px;color:#858d97;font-size:11px}.install-complete a{min-width:220px}@media(max-width:650px){.install-shell{width:min(100% - 18px,920px);padding-top:10px}.install-grid,.install-mode{grid-template-columns:1fr}.install-grid .is-wide{grid-column:auto}.install-panel>header{align-items:flex-start}}



}
/* crm-module-operations : assets/css/operations.css */
@scope (body.operations-page) {
.operations-main { padding-top: 28px; }
.operations-shell { display: grid; gap: 10px; min-width: 0; }
.operations-totalbar {
    min-height: 78px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 18px 0 22px;
    background: var(--crm-gradient-panel);
    box-shadow: 0 18px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter: blur(16px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.totalbar-values { display: flex; align-items: center; gap: 10px; min-width: 0; flex-wrap: wrap; }
.totalbar-values > .total-value:not(.total-value-card),
.totalbar-values > .total-updated { display: none; }
.total-value { color: var(--dash-text); font-size: 18px; font-weight: 900; white-space: nowrap; display: inline-flex; align-items: center; gap: 7px; }
.total-value i { color: #d7dbe1; font-size: 16px; }
.total-value-card {
    min-height: 50px;
    border: 1px solid rgba(207,211,216,.14);
    border-radius: 14px;
    padding: 8px 12px;
    background: rgba(0,0,0,.18);
}
.total-value-card small {
    color: var(--dash-muted);
    font-size: 11px;
    font-weight: 900;
}
.total-value-card strong {
    color: var(--crm-color-white);
    font-size: 15px;
    font-weight: 950;
}
.total-bank-list {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex-wrap: wrap;
}
.total-bank-chip {
    min-height: 50px;
    border: 1px solid rgba(207,211,216,.14);
    border-radius: 14px;
    padding: 6px 10px 6px 7px;
    background: rgba(0,0,0,.18);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.total-bank-logo {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 11px;
    background: var(--bank-color);
    display: grid;
    place-items: center;
    overflow: hidden;
    flex: 0 0 auto;
}
.total-bank-logo svg,
.total-bank-logo img {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
}
.total-bank-text {
    min-width: 0;
    display: grid;
    gap: 2px;
}
.total-bank-text span {
    max-width: 150px;
    color: var(--dash-muted);
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.total-bank-text strong {
    color: var(--crm-color-white);
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
}
.total-updated { color: var(--dash-muted); font-size: 12px; font-weight: 800; white-space: nowrap; }
.total-refresh, .total-collapse { width: 28px; height: 28px; border: 0; color: var(--dash-muted); background: transparent; display: grid; place-items: center; text-decoration: none; cursor: pointer; }
.total-collapse { flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: rgba(0,0,0,.18); transition: background .18s ease, transform .18s ease; }
.total-collapse:hover { color: var(--crm-color-white); background: var(--crm-surface-hover); }
.total-collapse i { transition: transform .2s ease; }
.total-collapse.is-open i { transform: rotate(180deg); }
.balance-dynamics { min-width: 0; padding: 18px; border: 1px solid var(--dash-line); border-radius: 14px; background: #181a1e; box-shadow: 0 18px 54px rgba(0,0,0,.2); }
.balance-dynamics[hidden] { display: none; }
.balance-dynamics-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.balance-dynamics-head small { color: var(--theme-primary); font-size: 10px; font-weight: 950; letter-spacing: .12em; }
.balance-dynamics-head h2 { margin: 4px 0 0; color: var(--crm-color-white); font-size: 18px; }
.balance-period-tabs { display: flex; gap: 4px; padding: 4px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: #101216; }
.balance-period-tabs button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 8px; color: var(--crm-color-icon); background: transparent; font-weight: 850; cursor: pointer; }
.balance-period-tabs button:hover { color: var(--crm-color-white); }
.balance-period-tabs button.is-active { color: var(--theme-primary-text); background: var(--theme-primary); box-shadow: 0 5px 18px color-mix(in srgb,var(--theme-primary) 28%,transparent); }
.balance-period-settings { display: flex; gap: 10px; flex-wrap: wrap; }
.balance-period-settings label, [data-balance-custom-wrap] { display: flex; align-items: center; gap: 8px; }
.balance-period-settings label[hidden], [data-balance-custom-wrap][hidden] { display: none; }
.balance-period-settings span { color: #969daa; font-size: 12px; font-weight: 800; }
.balance-period-settings input, .balance-period-settings select, .balance-period-settings button { min-height: 38px; padding: 0 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; color: #f5f7fa; background: #101216; color-scheme: dark; font: inherit; font-weight: 750; }
.balance-period-settings button { color:var(--theme-primary-text);background:var(--theme-primary);cursor:pointer; }
.balance-custom-period { position: relative; display: flex; align-items: center; gap: 8px; }
.balance-custom-period[hidden] { display: none; }
.balance-custom-period > button { min-width: 210px; display: grid; grid-template-columns: 20px 1fr 14px; align-items: center; gap: 8px; text-align: left; background: #101216; }
.balance-custom-period > button > span { color: #f5f7fa; font-size: 13px; }
.balance-month-picker, .balance-year-picker { position: absolute; z-index: 80; top: calc(100% + 7px); right: 0; display: none; width: 292px; padding: 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: var(--crm-color-bg-dropdown); box-shadow: 0 22px 55px rgba(0,0,0,.5); }
.balance-month-picker.is-open, .balance-year-picker.is-open { display: block; }
.balance-picker-head { display: grid; grid-template-columns: 34px 1fr 34px; align-items: center; gap: 8px; margin-bottom: 10px; }
.balance-picker-head strong { color: var(--crm-color-white); text-align: center; }
.balance-picker-head button { min-height: 34px; padding: 0; background: rgba(255,255,255,.055); }
.balance-month-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.balance-month-grid button, .balance-year-picker button { min-height: 38px; border: 0; color: #c5cad2; background: transparent; }
.balance-month-grid button:hover, .balance-year-picker button:hover { color: var(--crm-color-white); background: var(--crm-surface-hover); }
.balance-month-grid button.is-selected, .balance-year-picker button.is-selected { color:var(--theme-primary-text);background:var(--theme-primary); }
.balance-month-grid button:disabled, .balance-picker-head button:disabled { opacity: .28; cursor: default; }
.balance-year-picker { grid-template-columns: repeat(2, 1fr); gap: 6px; max-height: 270px; overflow-y: auto; }
.balance-year-picker.is-open { display: grid; }
.balance-date-field { position: relative; min-width: 190px; margin: 0; }
.balance-date-field .custom-picker-button { min-width: 150px; background: #101216; }
.balance-date-field .date-picker { z-index: 90; top: calc(100% + 7px); bottom: auto; background: var(--crm-color-bg-dropdown); }
.balance-line-chart { min-height: 350px; margin-top: 8px; }
.balance-chart-state { padding: 28px; color: #9ca3af; text-align: center; }
.balance-chart-state[hidden] { display: none; }
.operations-controls { display: grid; gap: 10px; }
.actions-line, .filters-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.left-actions, .inline-filters { display: flex; align-items: center; gap: 10px; min-width: 0; }
.operation-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.split-action { display: inline-flex; border-radius: 8px; overflow: hidden; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.new-operation-button, .new-expense-button, .split-arrow {
    min-height: 34px;
    border: 1px solid rgba(244,246,248,.6);
    color: var(--crm-color-ink);
    background: var(--crm-gradient-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 900;
    cursor: pointer;
}
.new-operation-button { border-radius: 8px; padding: 0 14px; box-shadow: 0 10px 24px rgba(0,0,0,.18); white-space: nowrap; }
.new-operation-button.is-placeholder { border-color: rgba(207,211,216,.22); color: rgba(255,255,255,.62); background: rgba(255,255,255,.045); cursor: not-allowed; box-shadow: none; }
.new-expense-button { padding: 0 14px; border-radius: 8px 0 0 8px; }
.new-operation-button.new-expense-button { border-radius: 8px; }
.split-arrow { width: 34px; border-left: 0; border-radius: 0 8px 8px 0; }
.refresh-button {
    min-height: 34px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 13px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.04);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-weight: 900;
}
.operation-search {
    width: min(360px, 100%);
    min-height: 34px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 12px;
    color: var(--dash-soft);
    background: rgba(0,0,0,.24);
    display: flex;
    align-items: center;
    gap: 8px;
}
.operation-search input { width: 100%; border: 0; outline: 0; color: var(--dash-text); background: transparent; font-size: 13px; }
.metric-tabs {
    min-height: 34px;
    border: 1px solid var(--dash-line);
    border-radius: 14px;
    padding: 4px;
    background: var(--crm-surface-subtle);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.metric-tab {
    min-height: 26px;
    border-radius: 7px;
    padding: 0 9px;
    color: var(--dash-muted);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}
.metric-tab.is-active, .metric-tab:hover { color: var(--crm-color-white); background: rgba(255,255,255,.09); }
.metric-tab strong {
    min-width: 32px;
    min-height: 20px;
    border-radius: 6px;
    padding: 0 7px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.filter-button, .custom-select-trigger, .view-button {
    min-height: 34px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 12px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.24);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}
.filter-button { position: relative; overflow: visible; }
.filter-button input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.filter-button input[type="hidden"] { position: static; width: 0; height: 0; pointer-events: none; }
.picker-trigger-overlay { position: absolute; inset: 0; z-index: 2; border: 0; border-radius: inherit; background: transparent; cursor: pointer; }
.custom-picker-button {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 12px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.24);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}
.custom-picker-button i { color: var(--dash-muted); }
.date-picker,
.time-picker {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    z-index: 220;
    width: min(330px, calc(100vw - 28px));
    border: 1px solid var(--dash-line);
    border-radius: 16px;
    padding: 12px;
    background: rgba(18,19,21,.98);
    box-shadow: 0 24px 70px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(16px);
    display: none;
}
.field .date-picker,
.field .time-picker { top: calc(100% + 6px); }
.date-picker.is-open,
.time-picker.is-open { display: grid; gap: 10px; }
.picker-head { display: grid; grid-template-columns: 34px 1fr 34px; align-items: center; gap: 8px; }
.picker-head strong { color: var(--crm-color-white); font-size: 13px; text-align: center; text-transform: capitalize; }
.picker-head button,
.calendar-days button,
.time-picker-grid button {
    min-height: 32px;
    border: 1px solid rgba(244,246,248,.58);
    border-radius: 10px;
    color: #111;
    background: linear-gradient(135deg, var(--crm-color-text), #d9dde3);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
}
.picker-head button { display: grid; place-items: center; }
.calendar-weekdays,
.calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.calendar-weekdays span { color: var(--dash-muted); font-size: 11px; font-weight: 900; text-align: center; }
.calendar-empty { min-height: 32px; }
.calendar-days button.is-selected,
.time-picker-grid button.is-selected {
    border-color: rgba(244,246,248,.96);
    color: var(--crm-color-white);
    background: rgba(255,255,255,.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}
.calendar-days button:disabled { opacity: .24; cursor: default; pointer-events: none; }
.time-picker { width: min(300px, calc(100vw - 28px)); grid-template-columns: 1fr 1fr; gap: 10px; }
.time-picker-column { display: grid; gap: 8px; min-width: 0; }
.time-picker-column strong { color: var(--crm-color-white); font-size: 12px; font-weight: 900; }
.time-picker-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; max-height: 190px; overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(244,246,248,.34) rgba(255,255,255,.04); }
.time-picker-grid::-webkit-scrollbar { width: 8px; }
.time-picker-grid::-webkit-scrollbar-track { background: var(--crm-surface-subtle); border-radius: 999px; }
.time-picker-grid::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(244,246,248,.45); }
.time-scroll-column { min-width: 0; display: grid; gap: 8px; }
.time-scroll-column strong { color: var(--crm-color-white); font-size: 12px; font-weight: 900; text-align: center; }
.time-scroll-list {
    max-height: 220px;
    overflow: auto;
    display: grid;
    gap: 6px;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(244,246,248,.34) rgba(255,255,255,.04);
}
.time-scroll-list::-webkit-scrollbar { width: 8px; }
.time-scroll-list::-webkit-scrollbar-track { background: var(--crm-surface-subtle); border-radius: 999px; }
.time-scroll-list::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(244,246,248,.45); }
.time-scroll-list button {
    min-height: 34px;
    border: 1px solid rgba(244,246,248,.58);
    border-radius: 10px;
    color: #111;
    background: linear-gradient(135deg, var(--crm-color-text), #d9dde3);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
}
.time-scroll-list button.is-selected {
    border-color: rgba(244,246,248,.96);
    color: var(--crm-color-white);
    background: rgba(255,255,255,.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}
.custom-select { position: relative; }
.custom-select-trigger i:last-child, .view-button i:last-child { font-size: 11px; transition: transform .18s ease; }
.custom-select.is-open .custom-select-trigger i:last-child, .custom-select.is-open .view-button i:last-child { transform: rotate(180deg); }
.custom-dropdown {
    position: absolute;
    z-index: 40;
    left: 0;
    top: calc(100% + 7px);
    min-width: 180px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 7px;
    background: #101113;
    box-shadow: 0 18px 44px rgba(0,0,0,.38);
    display: none;
}
.view-filter { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.reset-table-button {
    width: 34px;
    min-height: 34px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.24);
    display: grid;
    place-items: center;
    cursor: pointer;
}
.reset-table-button:hover { border-color: rgba(244,246,248,.42); background: rgba(255,255,255,.055); }
.view-select .custom-dropdown { left: auto; right: 0; }
.column-dropdown { min-width: 260px; max-height: 390px; overflow: auto; scrollbar-color: rgba(244,246,248,.34) rgba(255,255,255,.04); scrollbar-width: thin; }
.column-option {
    width: 100%;
    min-height: 34px;
    border: 1px solid transparent;
    border-radius: 9px;
    padding: 0 10px;
    color: var(--crm-color-white);
    background: transparent;
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    text-align: left;
}
.column-option:hover { border-color: rgba(207,220,239,.24); background: var(--crm-surface-hover); }
.column-option.is-active {
    border-color: rgba(244,246,248,.42);
    background: rgba(255,255,255,.10);
}
.column-option:focus-visible {
    outline: 2px solid rgba(244,246,248,.44);
    outline-offset: 2px;
}
.custom-select.is-open .custom-dropdown { display: grid; gap: 5px; }
.custom-option {
    min-height: 34px;
    border: 1px solid transparent;
    border-radius: 9px;
    padding: 0 10px;
    color: var(--crm-color-white);
    background: transparent;
    display: flex;
    align-items: center;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    text-align: left;
}
.custom-option:hover, .custom-option.is-selected { border-color: rgba(207,220,239,.24); background: var(--crm-surface-hover); }
.operations-page .category-manager { display:none!important; }
.category-manager {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
}
.category-panel {
    flex: 1 1 430px;
    min-width: min(430px, 100%);
    border: 1px solid var(--dash-line);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.022));
    box-shadow: 0 14px 42px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
    overflow: hidden;
}
.category-panel.is-collapsed {
    flex: 0 0 auto;
    min-width: 220px;
    max-width: 300px;
}
.category-panel-head {
    min-height: 58px;
    border-bottom: 1px solid var(--dash-line);
    padding: 10px 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    align-items: center;
    gap: 10px;
}
.category-panel.is-collapsed .category-panel-head {
    min-height: 42px;
    border-bottom: 0;
    padding: 6px 8px 6px 12px;
    grid-template-columns: minmax(0, 1fr) 30px;
}
.category-panel-head h2 {
    margin: 0;
    color: var(--crm-color-white);
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.category-panel.is-collapsed .category-panel-head h2 {
    font-size: 12px;
}
.category-collapse {
    width: 36px;
    height: 36px;
    border: 1px solid var(--dash-line);
    border-radius: 11px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.22);
    display: grid;
    place-items: center;
    cursor: pointer;
}
.category-panel.is-collapsed .category-collapse {
    width: 30px;
    height: 30px;
    border-radius: 9px;
}
.category-collapse i { transition: transform .18s ease; }
.category-panel.is-collapsed .category-collapse i { transform: rotate(180deg); }
.category-panel-body {
    display: grid;
    gap: 10px;
    padding: 12px;
}
.category-panel.is-collapsed .category-panel-body { display: none; }
.category-create-form,
.category-edit-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 7px;
}
.category-create-form input,
.category-edit-form input {
    width: 100%;
    min-width: 0;
    height: 36px;
    border: 1px solid var(--dash-line);
    border-radius: 11px;
    padding: 0 11px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.24);
    outline: none;
    font-size: 13px;
    font-weight: 800;
}
.category-create-form button,
.category-edit-form button,
.category-delete {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(244,246,248,.36);
    border-radius: 11px;
    color: #111;
    background: linear-gradient(135deg, var(--crm-color-text), #d9dde3);
    display: grid;
    place-items: center;
    cursor: pointer;
}
.category-delete {
    color: var(--crm-color-white);
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.045);
}
.category-list {
    display: grid;
    gap: 8px;
}
.category-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 7px;
    align-items: center;
}
.category-empty {
    min-height: 42px;
    border: 1px dashed rgba(207,211,216,.18);
    border-radius: 12px;
    padding: 12px;
    color: var(--dash-muted);
    background: rgba(0,0,0,.12);
    font-size: 13px;
    font-weight: 800;
}
.operations-table-wrap {
    width: 100%;
    max-width: 100%;
    border: 1px solid var(--dash-line);
    border-radius: 18px;
    background: rgba(0,0,0,.18);
    overflow-x: auto;
    overflow-y: auto;
    scrollbar-color: rgba(244,246,248,.34) rgba(255,255,255,.04);
    scrollbar-width: thin;
}
.table-scroll-top {
    width: 100%;
    max-width: 100%;
    height: 16px;
    border: 1px solid var(--dash-line);
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    background: rgba(0,0,0,.18);
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-color: rgba(244,246,248,.34) rgba(255,255,255,.04);
    scrollbar-width: thin;
}
.table-scroll-top + .operations-table-wrap {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.table-scroll-top > div { height: 1px; }
.table-scroll-top::-webkit-scrollbar {
    height: 10px;
}
.table-scroll-top::-webkit-scrollbar-track {
    background: var(--crm-surface-subtle);
    border-radius: 999px;
}
.table-scroll-top::-webkit-scrollbar-thumb {
    border: 2px solid rgba(0,0,0,.18);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(244,246,248,.62), rgba(207,211,216,.32));
}
.table-scroll-top::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, rgba(244,246,248,.9), rgba(207,211,216,.5));
}
.operations-table-wrap::-webkit-scrollbar,
.column-dropdown::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
.operations-table-wrap::-webkit-scrollbar-track,
.column-dropdown::-webkit-scrollbar-track {
    background: var(--crm-surface-subtle);
    border-radius: 999px;
}
.operations-table-wrap::-webkit-scrollbar-thumb,
.column-dropdown::-webkit-scrollbar-thumb {
    border: 2px solid rgba(0,0,0,.18);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(244,246,248,.62), rgba(207,211,216,.32));
}
.operations-table-wrap::-webkit-scrollbar-thumb:hover,
.column-dropdown::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, rgba(244,246,248,.9), rgba(207,211,216,.5));
}
.operations-table {
    width: auto;
    min-width: max-content;
    border-collapse: collapse;
    table-layout: fixed;
    color: var(--dash-text);
    font-size: 12px;
}
.operations-table col[data-col="select"] { width: 36px; }
.operations-table col[data-col="status"] { width: 132px; }
.operations-table col[data-col="type"] { width: 120px; }
.operations-table col[data-col="category"] { width: 160px; }
.operations-table col[data-col="operation_date"] { width: 190px; }
.operations-table col[data-col="operation_time"] { width: 140px; }
.operations-table col[data-col="amount"] { width: 130px; }
.operations-table col[data-col="source"] { width: 190px; }
.operations-table col[data-col="comment"] { width: 220px; }
.operations-table col[data-col="recipient"] { width: 170px; }
.operations-table col[data-col="created_by"] { width: 140px; }
.operations-table col[data-col="updated_by"] { width: 140px; }
.operations-table col[data-col="updated_at"] { width: 210px; }
.operations-table thead th {
    position: relative;
    height: 38px;
    padding: 0 18px 0 12px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.055);
    border-bottom: 1px solid var(--dash-line);
    text-align: left;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.operations-table tbody td {
    height: 52px;
    padding: 0 12px;
    border-bottom: 1px solid rgba(207, 211, 216, .10);
    background: rgba(0,0,0,.18);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.operations-table col.is-hidden,
.operations-table th.is-hidden,
.operations-table td.is-hidden { display: none; }
.col-resizer {
    position: absolute;
    top: 9px;
    right: 0;
    width: 9px;
    height: 20px;
    cursor: col-resize;
}
.col-resizer::after {
    content: "";
    position: absolute;
    top: 0;
    right: 3px;
    width: 3px;
    height: 20px;
    border-radius: 999px;
    background: rgba(207,211,216,.32);
}
.col-resizer:hover::after { background: rgba(244,246,248,.78); }
body.is-resizing-column { cursor: col-resize; user-select: none; }
.operations-table tbody tr:nth-child(even) td { background: rgba(255,255,255,.025); }
.operations-table tbody tr:hover td { background: rgba(255,255,255,.055); }
.status-pill, .type-pill, .pay-pill, .category-pill {
    min-height: 22px;
    border: 1px solid var(--dash-line);
    border-radius: 7px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 900;
}
.type-pill.is-income { color: #f4fffb; background: #08c989; border-color: transparent; }
.type-pill.is-expense { color: #fff3f5; background: rgba(255, 80, 108, .22); border-color: rgba(255, 145, 162, .28); }
.category-pill { color: var(--crm-color-ink); background: var(--crm-gradient-primary); border-color: transparent; }
.pay-pill { color: var(--crm-color-white); }
.strong-cell { color: var(--crm-color-white); font-weight: 900; }
.amount-cell { font-weight: 950; text-align: right; }
.amount-cell.is-income { color: #00d99a; }
.amount-cell.is-expense { color: #ff9aa9; }
.muted-italic { color: #b2bac5; font-style: italic; }
.notice { padding: 12px 14px; margin: 0 0 10px; border: 1px solid var(--dash-line); border-radius: 12px; background: rgba(255,255,255,.04); color: var(--dash-muted); font-size: 13px; }
.notice.error { color: var(--crm-color-danger-soft); }
.empty-state { border: 1px solid var(--dash-line); border-radius: 18px; padding: 24px 18px; color: var(--dash-muted); background: var(--crm-surface-subtle); }
.panel { border: 1px solid var(--dash-line); border-radius: 12px; background: var(--crm-gradient-panel); box-shadow: 0 18px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter: blur(16px); overflow: hidden; }
.panel-head { min-height: 62px; padding: 0 18px; border-bottom: 1px solid var(--dash-line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.panel-head h1 { margin: 0; color: var(--crm-color-white); font-size: 18px; }
.modal-overlay { position: fixed; inset: 0; z-index: 100; padding: 22px; background: rgba(0,0,0,.62); backdrop-filter: blur(12px); display: none; align-items: center; justify-content: center; overflow: auto; }
.modal-overlay.is-open { display: flex; }
.modal-dialog { width: min(760px, 100%); max-height: min(86vh, 760px); overflow: visible; position: relative; z-index: 110; }
.modal-dialog .operation-form { overflow: visible; }
.modal-dialog .date-picker,
.modal-dialog .time-picker { z-index: 240; }
.modal-close { width: 38px; height: 38px; border: 1px solid var(--dash-line); border-radius: 12px; color: var(--crm-color-white); background: rgba(255,255,255,.04); cursor: pointer; font-size: 24px; line-height: 1; }
.operation-form { padding: 18px; display: grid; gap: 14px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.field { position: relative; display: grid; gap: 7px; color: var(--dash-muted); font-size: 13px; min-width: 0; }
.field.full { grid-column: 1 / -1; }
.field.is-hidden { display: none; }
.field input { width: 100%; height: 44px; border: 1px solid var(--dash-line); border-radius: 12px; padding: 0 12px; color: var(--crm-color-white); background: rgba(0,0,0,.24); outline: none; }
.field input:focus { border-color: rgba(244,246,248,.42); }
.field input[type="date"],
.field input[type="time"] { color-scheme: dark; }
.field input[type="date"]::-webkit-calendar-picker-indicator,
.field input[type="time"]::-webkit-calendar-picker-indicator {
    opacity: 1;
    cursor: pointer;
    filter: invert(1) brightness(2);
}
.form-select-trigger { width: 100%; min-height: 44px; justify-content: space-between; }
.operation-form .custom-dropdown { width: 100%; }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ghost-action { min-height: 42px; border: 1px solid var(--dash-line); border-radius: 12px; padding: 0 14px; color: var(--crm-color-white); background: var(--crm-surface-subtle); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; font-weight: 800; }
body.is-modal-open { overflow: hidden; }

@media (max-width: 1100px) {
    .actions-line, .filters-line { align-items: stretch; flex-direction: column; }
    .operation-search { width: 100%; }
    .view-filter { margin-left: 0; }
    .inline-filters { flex-wrap: wrap; }
}

@media (max-width: 820px) {
    .operations-main { padding: 10px 10px 114px; }
    .operations-totalbar { min-height: auto; padding: 14px; align-items: flex-start; }
    .totalbar-values { align-items: flex-start; flex-direction: column; gap: 7px; }
    .left-actions, .inline-filters, .metric-tabs { width: 100%; flex-wrap: wrap; }
    .split-action, .refresh-button, .filter-button, .filter-select, .view-select { flex: 1 1 160px; }
    .metric-tab { flex: 1 1 120px; justify-content: center; }
    .category-manager { display: grid; grid-template-columns: 1fr; }
    .category-panel, .category-panel.is-collapsed { min-width: 0; max-width: none; width: 100%; }
    .category-panel-head { grid-template-columns: 1fr; align-items: stretch; }
    .form-grid { grid-template-columns: 1fr; }
    .modal-overlay { padding: 10px; align-items: flex-end; }
    .modal-dialog { max-height: 92vh; border-radius: 12px 12px 18px 18px; }
    .balance-dynamics { padding: 13px; }
    .balance-dynamics-head { flex-direction: column; }
    .balance-period-tabs { width: 100%; overflow-x: auto; }
    .balance-period-tabs button { flex: 0 0 auto; }
    [data-balance-custom-wrap] { align-items: stretch; flex-direction: column; width: 100%; }
    .balance-period-settings label { justify-content: space-between; width: 100%; }
    .balance-custom-period { align-items: stretch; flex-direction: column; width: 100%; }
    .balance-custom-period > button { width: 100%; }
    .balance-month-picker, .balance-year-picker { left: 0; right: auto; width: min(292px, calc(100vw - 46px)); }
}
.operation-context-menu {
    position: fixed;
    z-index: 3000;
    display: none;
    min-width: 220px;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    color: #f5f7fa;
    background: #191b1f;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .045);
}

.operation-context-menu.is-open { display: grid; gap: 4px; }
.operation-context-menu button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 0;
    border-radius: 9px;
    color: #f5f7fa;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    transition: color .16s ease, background .16s ease, transform .16s ease;
}
.operation-context-menu button + button { border-top: 1px solid rgba(255, 255, 255, .07); border-radius: 0 0 9px 9px; }
.operation-context-menu button i {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    color:var(--theme-primary);
    background: rgba(75, 139, 255, .14);
}
.operation-context-menu button[data-operation-context-repeat] i {
    color: #8ee3ba;
    background: rgba(38, 190, 116, .13);
}
.operation-context-menu button:hover,
.operation-context-menu button:focus-visible { color: var(--crm-color-white); background: rgba(255, 255, 255, .075); outline: none; }
.operation-context-menu button:active { transform: scale(.985); }
.operation-context-menu button[hidden] { display: none; }
[data-operation-row] { cursor: context-menu; }



}
/* crm-module-clients : assets/css/clients.css */
@scope (body.clients-page) {
.clients-shell {
    display: grid;
    gap: 16px;
}

.client-type-switch {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(130px, 1fr));
    gap: 6px;
    padding: 5px;
    margin-bottom: 18px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    background: var(--crm-surface-subtle);
}
.client-type-switch label { cursor: pointer; }
.client-type-switch input { position: absolute; opacity: 0; pointer-events: none; }
.client-type-switch span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 15px;
    border-radius: 8px;
    color: var(--muted, #9aa6b2);
    font-weight: 700;
    transition: .18s ease;
}
.client-type-switch input:checked + span {
    color: var(--crm-color-white);
    background:var(--accent,var(--theme-primary));
    box-shadow: 0 5px 16px rgba(39,137,255,.22);
}
.client-company-name, .client-full-name { grid-column: 1 / -1; }
.client-plate-type-switch { min-height: 42px; padding: 3px; border: 1px solid #29334b; border-radius: 9px; background: #0c1122; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; }
.client-plate-type-switch label { cursor: pointer; }
.client-plate-type-switch input { position: absolute; opacity: 0; pointer-events: none; }
.client-plate-type-switch span { height: 34px; border-radius: 7px; color: #9da9bd; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 750; }
.client-plate-type-switch input:checked + span{color:var(--theme-primary-text);background:var(--theme-primary)}
[data-client-person-fields][hidden], [data-client-company-fields][hidden] { display: none !important; }
@media (max-width: 560px) {
    .client-type-switch { display: grid; width: 100%; }
    .client-type-switch span { padding: 0 8px; }
}

.clients-panel {
    overflow: visible;
}

.clients-head {
    align-items: flex-start;
    gap: 18px;
    padding: 18px;
}

.clients-head h2 {
    margin-bottom: 6px;
}

.clients-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(112px, 1fr));
    gap: 8px;
}

.clients-stats span {
    min-height: 54px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 9px 12px;
    color: var(--dash-muted);
    background: var(--crm-surface-subtle);
    display: grid;
    align-content: center;
    gap: 2px;
    font-size: 12px;
    font-weight: 800;
}

.clients-stats strong {
    color: var(--crm-color-white);
    font-size: 18px;
    line-height: 1;
}

.clients-toolbar {
    padding: 14px 18px;
    border-top: 1px solid var(--dash-line);
    border-bottom: 1px solid var(--dash-line);
    background: rgba(255,255,255,.018);
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto auto;
    align-items: center;
    gap: 10px;
}

.client-search {
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 13px;
    color: var(--dash-muted);
    background: rgba(0,0,0,.24);
    display: flex;
    align-items: center;
    gap: 10px;
}

.client-search:focus-within {
    border-color: rgba(244,246,248,.42);
}

.client-search input {
    width: 100%;
    border: 0;
    outline: 0;
    color: var(--crm-color-white);
    background: transparent;
    font: inherit;
}
.client-search input[type="hidden"]{display:none}

.client-tabs {
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 4px;
    background: rgba(0,0,0,.18);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: min(100%, 650px);
    overflow-x: auto;
    scrollbar-width: thin;
}

.client-tabs button,
.client-pagination button,
.client-footer-button {
    border: 0;
    border-radius: 8px;
    color: #d7dce4;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.client-tabs button {
    min-height: 34px;
    padding: 0 12px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.client-tabs button > span{min-width:19px;height:19px;border-radius:6px;padding:0 5px;background:var(--crm-surface-hover);display:grid;place-items:center;font-size:9px}.client-tabs button.is-active>span{background:rgba(0,0,0,.12)}

.client-tabs button.is-active,
.client-pagination button.is-active {
    color: var(--crm-color-ink);
    background: var(--crm-gradient-primary);
}

.clients-server-pagination {
    min-height: 58px;
    border-top: 1px solid var(--dash-line);
    border-bottom: 1px solid var(--dash-line);
    padding: 10px 18px;
    color: var(--dash-muted);
    background: rgba(255,255,255,.018);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-size: 11px;
    font-weight: 800;
}

.clients-server-pagination label,
.clients-server-pagination nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.clients-server-pagination select,
.clients-server-pagination a {
    height: 34px;
    border: 1px solid var(--dash-line);
    border-radius: 8px;
    color: var(--dash-text);
    background: var(--crm-color-surface);
    font: inherit;
}

.clients-server-pagination select {
    min-width: 72px;
    padding: 0 28px 0 10px;
    cursor: pointer;
}

.clients-server-pagination a {
    min-width: 34px;
    padding: 0 9px;
    display: grid;
    place-items: center;
    text-decoration: none;
}

.clients-server-pagination a:hover {
    color: var(--crm-color-ink);
    border-color: rgba(244,246,248,.5);
    background: var(--crm-gradient-primary);
}

.clients-server-pagination a.is-disabled {
    opacity: .4;
    pointer-events: none;
}

.clients-server-pagination nav b {
    min-width: 54px;
    color: var(--dash-text);
    text-align: center;
}

@media (max-width: 620px) {
    .clients-server-pagination { flex-wrap: wrap; }
    .clients-server-pagination nav { width: 100%; justify-content: center; }
}

.clients-table-wrap {
    overflow-x: auto;
}

.clients-table {
    width: 100%;
    min-width: 1180px;
    border-collapse: separate;
    border-spacing: 0;
}

.clients-table th,
.clients-table td {
    border-bottom: 1px solid var(--dash-line);
    padding: 10px 12px;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.clients-table th {
    color: var(--dash-muted);
    background: rgba(255,255,255,.018);
    font-size: 12px;
    font-weight: 900;
}

.clients-table td {
    color: #e8ecf1;
    font-size: 13px;
    font-weight: 800;
}

.clients-table tbody tr {
    transition: background .18s ease, opacity .18s ease;
}

.clients-table tbody tr:hover {
    background: var(--crm-surface-subtle);
}

.clients-table tbody tr.is-inactive {
    opacity: .56;
}

.clients-table tbody tr.is-blacklisted{background:rgba(244,91,105,.055)}.clients-table tbody tr.is-blacklisted:hover{background:rgba(244,91,105,.09)}.clients-table tbody tr.is-blacklisted .client-avatar{border-color:rgba(244,91,105,.32);color:#ff9baa;background:rgba(244,91,105,.10)}.clients-table tbody tr.is-blacklist-pending{background:rgba(245,166,35,.035)}.clients-table tbody tr.is-blacklist-pending .client-person-tile small{color:#e8b55f}.client-row-actions form{margin:0}.client-icon-button.is-blacklist{color:#ff9baa;border-color:rgba(244,91,105,.22)}.client-icon-button.is-approve{color:#9ee5b8;border-color:rgba(54,179,126,.25)}.client-blacklist-dialog{border-color:rgba(244,91,105,.24)!important}.client-blacklist-dialog h1 i{margin-right:7px;color:#ff8fa0}.client-blacklist-submit{min-height:40px!important;justify-content:center;color:var(--crm-color-white)!important;border-color:rgba(244,91,105,.42)!important;background:rgba(244,91,105,.13)!important}
.client-blacklist-reason{max-width:260px;overflow:hidden;color:#ff9baa!important;text-overflow:ellipsis;white-space:nowrap}.client-blacklist-reason-field{color:#8d95a0;display:grid;gap:7px;font-size:12px;font-weight:900}.client-blacklist-reason-field b{color:#ff8298}.client-blacklist-reason-field textarea{width:100%;min-height:104px;border:1px solid var(--dash-line-strong);border-radius:10px;padding:11px 12px;color:var(--crm-color-white);background:var(--crm-color-surface);outline:0;resize:vertical;font:inherit;line-height:1.45}.client-blacklist-reason-field textarea:focus{border-color:rgba(244,246,248,.42)}.client-blacklist-reason-field small{color:#737b86;font-size:10px;font-weight:650}

.clients-table tbody tr.is-hidden {
    display: none;
}

.client-person-tile,
.client-car-tile {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.client-person-tile strong,
.client-car-tile strong {
    display: block;
    max-width: 190px;
    overflow: hidden;
    color: var(--crm-color-white);
    text-overflow: ellipsis;
}

.client-person-tile small,
.client-car-tile small {
    display: block;
    margin-top: 3px;
    color: var(--dash-muted);
    font-size: 11px;
    font-weight: 900;
}

.client-avatar,
.client-car-icon {
    width: 42px;
    height: 42px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.055);
    display: grid;
    place-items: center;
    font-size: 16px;
}

.client-row-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.client-icon-button {
    width: 34px;
    height: 34px;
    border: 1px solid var(--dash-line);
    border-radius: 8px;
    color: var(--crm-color-text-secondary);
    background: var(--crm-surface-subtle);
    display: grid;
    place-items: center;
    cursor: pointer;
}

.client-icon-button.is-danger {
    color: #ffb4b4;
}

.client-empty {
    display: none;
    margin: 18px;
    min-height: 260px;
    border: 1px dashed rgba(244,246,248,.22);
    border-radius: 12px;
    padding: 32px 18px;
    color: var(--dash-muted);
    background: rgba(0,0,0,.14);
    text-align: center;
    place-items: center;
    align-content: center;
    gap: 10px;
}

.client-empty.is-visible {
    display: grid;
}

.client-empty-icon {
    width: 58px;
    height: 58px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.045);
    display: grid;
    place-items: center;
    font-size: 22px;
}

.client-empty strong {
    color: var(--crm-color-white);
    font-size: 18px;
}

.client-empty p {
    max-width: 420px;
    margin: 0 0 4px;
    line-height: 1.45;
}

.clients-footer {
    padding: 12px 18px;
    border-top: 1px solid var(--dash-line);
    background: rgba(255,255,255,.018);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.client-footer-button,
.client-pagination button {
    min-width: 34px;
    min-height: 34px;
    border: 1px solid var(--dash-line);
    background: var(--crm-surface-subtle);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.client-footer-button:disabled,
.client-pagination button:disabled {
    opacity: .45;
    cursor: default;
}

.client-pagination {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.client-pagination span {
    color: var(--dash-muted);
    font-size: 12px;
    font-weight: 900;
}

.client-modal.modal-overlay {
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(12px);
}

.client-modal-dialog,
.client-delete-dialog {
    width: min(760px, 100%);
    background: rgba(13,14,16,.98) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.045);
    backdrop-filter: none;
}

.client-delete-dialog {
    width: min(520px, 100%);
}

.client-modal-dialog .panel-head,
.client-delete-dialog .panel-head {
    padding: 18px;
    background: rgba(13,14,16,.98);
}

.client-form {
    padding: 18px;
    background: rgba(13,14,16,.98);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.client-form .field {
    position: relative;
    color: var(--dash-muted);
    font-size: 12px;
    font-weight: 900;
    display: grid;
    gap: 7px;
}

.client-form input {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    padding: 0 12px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.24);
    outline: 0;
    font: inherit;
}

.client-form input:focus {
    border-color: rgba(244,246,248,.42);
}

.client-row-picker {
    z-index: 5;
}

.client-picker-button {
    min-height: 42px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    padding: 0 12px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.24);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

.client-picker-panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 230px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 6px;
    background: rgba(18,19,22,.99);
    box-shadow: 0 18px 46px rgba(0,0,0,.44);
    display: none;
    overflow-y: auto;
}

.client-row-picker.is-open .client-picker-panel {
    display: grid;
    gap: 4px;
}

.client-picker-option {
    min-height: 36px;
    border: 0;
    border-radius: 8px;
    padding: 0 10px;
    color: var(--crm-color-text-secondary);
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-weight: 900;
}

.client-picker-option:hover,
.client-picker-option.is-active {
    color: var(--crm-color-ink);
    background: var(--crm-gradient-primary);
}

.client-status-field {
    grid-column: 1 / -1;
}

.client-status-toggle {
    width: fit-content;
    min-height: 36px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    padding: 0 12px;
    color: var(--crm-color-text-secondary);
    background: rgba(255,255,255,.055);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.client-status-toggle span {
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: var(--crm-color-text);
}

.client-status-toggle.is-active {
    color: var(--crm-color-ink);
    border-color: rgba(244,246,248,.6);
    background: var(--crm-gradient-primary);
}

.client-status-toggle.is-active span {
    background: var(--crm-color-surface);
}

.client-modal-actions {
    grid-column: 1 / -1;
    border-top: 1px solid var(--dash-line);
    padding-top: 14px;
    background: rgba(13,14,16,.98);
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.client-delete-form {
    padding: 18px;
    background: rgba(13,14,16,.98);
    display: grid;
    gap: 16px;
}

.client-delete-form p {
    margin: 0;
    color: var(--dash-muted);
    line-height: 1.45;
}

@media (max-width: 1100px) {
    .clients-head {
        align-items: stretch;
        flex-direction: column;
    }

    .clients-toolbar {
        grid-template-columns: 1fr auto;
    }

    .client-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .clients-head,
    .clients-toolbar {
        padding: 14px;
    }

    .clients-stats,
    .clients-toolbar,
    .client-form {
        grid-template-columns: 1fr;
    }

    .client-tabs {
        width: 100%;
    }

    .client-tabs button {
        flex: 1;
    }

    .clients-footer {
        justify-content: flex-start;
        overflow-x: auto;
    }

    .client-modal-actions {
        flex-direction: column;
    }
}

/* Animated client modals. */
.client-modal.modal-overlay {
    display: flex;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .24s ease, visibility 0s linear .24s;
}

.client-modal.modal-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.client-modal .modal-dialog {
    opacity: 0;
    transform: translateY(18px) scale(.975);
    transition: opacity .24s ease, transform .28s cubic-bezier(.2,.8,.2,1);
}

.client-modal.is-open .modal-dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Searchable custom selects for brands and models. */
.client-custom-select {
    position: relative;
}

.client-car-form-card {
    position: relative;
}

.client-car-form-card.has-open-select {
    z-index: 20;
}

.client-select-toggle {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    padding: 0 12px;
    color: var(--crm-color-white);
    background: #111317;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.client-select-toggle i {
    color: var(--dash-muted);
    font-size: 11px;
    transition: transform .2s ease;
}

.client-custom-select.is-open .client-select-toggle i {
    transform: rotate(180deg);
}

.client-select-toggle:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.client-custom-select.is-invalid .client-select-toggle {
    border-color: #ff6d86;
    box-shadow: 0 0 0 3px rgba(255,91,119,.1);
}

.client-select-dropdown {
    position: absolute;
    z-index: 80;
    top: calc(100% + 7px);
    left: 0;
    right: 0;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 12px;
    padding: 7px;
    background: #17191d;
    box-shadow: 0 22px 55px rgba(0,0,0,.52);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px) scale(.985);
    transform-origin: top center;
    transition: opacity .16s ease, transform .18s ease, visibility 0s linear .18s;
}

.client-custom-select.is-open .client-select-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
}

.client-select-search {
    min-height: 38px;
    border: 1px solid var(--dash-line);
    border-radius: 9px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(0,0,0,.24);
}

.client-select-search i {
    color: var(--dash-muted);
    font-size: 12px;
}

.client-form .client-select-search input {
    min-height: 36px;
    border: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.client-select-options {
    max-height: 210px;
    margin-top: 6px;
    display: grid;
    gap: 3px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.client-select-options [data-client-select-option] {
    min-height: 36px;
    border: 0;
    border-radius: 8px;
    padding: 7px 10px;
    color: var(--crm-color-text-secondary);
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.client-select-options [data-client-select-option]:hover,
.client-select-options [data-client-select-option].is-highlighted {
    background: var(--crm-surface-hover);
}

.client-select-options [data-client-select-option].is-selected {
    color: #101114;
    background: var(--crm-gradient-primary);
}

.client-select-options [data-client-select-option].is-hidden {
    display: none;
}

.client-select-no-results {
    margin: 0;
    padding: 20px 10px;
    color: var(--dash-muted);
    display: none;
    text-align: center;
    font-size: 12px;
}

.client-select-no-results.is-visible {
    display: block;
}

@media (prefers-reduced-motion: reduce) {
    .client-modal.modal-overlay,
    .client-modal .modal-dialog,
    .client-select-dropdown {
        transition-duration: .01ms;
    }
}

/* Compact client modal based on the supplied reference. */
.client-modal-dialog {
    width: min(520px, calc(100vw - 24px));
    height: min(700px, calc(100vh - 32px));
    border:1px solid var(--theme-border);
    border-radius: 10px;
    background:var(--theme-modal-background)!important;
    box-shadow: 0 30px 90px rgba(0,0,0,.62);
}

.client-modal-dialog .client-modal-head {
    min-height: 66px;
    border-bottom: 0;
    padding: 16px 24px 10px;
    background:var(--theme-modal-background);
}

.client-modal-head h1 {
    margin: 0;
    color:var(--theme-text);
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: .01em;
}

.client-modal-head h1 i {
    color:var(--theme-muted);
    font-size: 18px;
}

.client-modal-dialog .modal-close {
    width: 32px;
    height: 32px;
    border: 0;
    color:var(--theme-muted);
    background: transparent;
    font-size: 22px;
}

.client-modal-dialog .modal-close:hover {
    color: var(--crm-color-white);
    background: rgba(255,255,255,.06);
}

.client-modal-dialog .client-form {
    min-height: 0;
    padding: 0;
    background:var(--theme-modal-background);
    display: flex;
    flex: 1;
    flex-direction: column;
    overflow: hidden;
}

.client-modal-dialog .client-form-tabs {
    width: fit-content;
    min-height: 36px;
    border: 0;
    border-radius: 10px;
    margin: 0 24px 10px;
    padding: 3px;
    background:var(--theme-secondary-button);
    gap: 2px;
}

.client-modal-dialog .client-form-tabs button {
    min-height: 30px;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 0 10px;
    color:var(--theme-muted);
    transition: color .2s ease, background .24s ease, border-color .24s ease, transform .2s ease;
}

.client-modal-dialog .client-form-tabs button:hover {
    color: #e8edf6;
}

.client-modal-dialog .client-form-tabs button.is-active {
    border-color:var(--theme-primary);
    color: var(--crm-color-white);
    background:var(--theme-primary);
    transform: translateY(-1px);
}

.client-modal-dialog .client-form-tabs button span {
    min-width: 19px;
    height: 19px;
    margin-left: 4px;
    background:color-mix(in srgb,var(--theme-primary) 72%,var(--theme-surface));
}

.client-modal-dialog .client-form-panel {
    min-height: 0;
    padding: 2px 24px 16px;
    opacity: 0;
    transform: translateX(10px);
    transition: opacity .22s ease, transform .26s cubic-bezier(.2,.8,.2,1);
    overflow-y: auto;
}

.client-modal-dialog .client-form-panel.is-active {
    opacity: 1;
    transform: translateX(0);
}

.client-field-label {
    min-height: 18px;
    color:var(--theme-muted);
    display: flex;
    align-items: baseline;
    gap: 5px;
    line-height: 1.25;
    white-space: nowrap;
}

.client-modal-dialog .client-person-fields {
    gap: 13px;
}

.client-modal-dialog .client-form .field {
    gap: 6px;
}

.client-modal-dialog .client-form input:not([type="hidden"]),
.client-modal-dialog .client-form textarea,
.client-modal-dialog .client-select-toggle {
    border-color:var(--theme-border);
    background:var(--theme-input);
}

.client-add-car {
    width: 100%;
    min-height: 38px;
    border:1px solid var(--theme-border);
    border-radius: 8px;
    margin: 0 0 12px;
    color:var(--theme-secondary-button-text);
    background:var(--theme-secondary-button);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    transition: border-color .2s ease, background .2s ease, transform .18s ease;
}

.client-add-car:hover {
    border-color:var(--theme-primary);
    background:var(--theme-hover);
}

.client-add-car:active {
    transform: translateY(1px);
}

.client-modal-dialog .client-cars-list {
    gap: 10px;
}

.client-modal-dialog .client-car-form-card {
    border-color:var(--theme-border);
    border-radius: 9px;
    padding: 0;
    background:var(--theme-surface-alt);
    transition: border-color .22s ease, background .22s ease, transform .22s ease;
}

.client-modal-dialog .client-car-form-card.is-editing {
    border-color:var(--theme-input-focus);
    background:var(--theme-surface-alt);
}

.client-car-summary {
    position: relative;
    z-index: 1;
    min-height: 60px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 38px 1fr auto;
    align-items: center;
    gap: 10px;
}

.client-car-summary-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color:var(--theme-secondary-button-text);
    background:var(--theme-secondary-button);
    display: grid;
    place-items: center;
}

.client-car-summary-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.client-car-summary-copy strong,
.client-car-summary-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.client-car-summary-copy strong {
    color: #f1f4fa;
    font-size: 13px;
}

.client-car-summary-copy small {
    color: #a6b3c9;
    font-size: 11px;
    text-transform: uppercase;
}

.client-car-summary-actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.client-car-summary-actions button {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 8px;
    color: #f0f3fa;
    background: transparent;
    cursor: pointer;
    transition: color .18s ease, background .18s ease, transform .18s ease;
}

.client-car-summary-actions button:hover {
    background: var(--crm-surface-hover);
}

.client-car-summary-actions button:active {
    transform: scale(.94);
}

.client-car-summary-actions button.is-danger {
    color: #ff5067;
}

.client-car-editor {
    max-height: 0;
    border-top: 1px solid transparent;
    opacity: 0;
    overflow: hidden;
    transition: max-height .36s cubic-bezier(.2,.8,.2,1), opacity .2s ease, border-color .2s ease;
}

.client-car-form-card.is-editing .client-car-editor {
    position: relative;
    z-index: 2;
    max-height: 680px;
    border-top-color: #29344e;
    opacity: 1;
    overflow: visible;
}

.client-car-editor .client-car-fields {
    padding: 14px;
}

.client-cars-empty {
    min-height: 80px;
    border: 0;
    color: #738098;
}

.client-modal-dialog .client-modal-actions {
    border-top: 0;
    margin-top: auto;
    padding: 14px 24px 20px;
    background: var(--crm-color-bg-deep);
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    position: static;
}

.client-modal-dialog .client-save-button,
.client-modal-dialog .client-cancel-button {
    width: 100%;
    min-height: 38px;
    border-radius: 8px;
    justify-content: center;
}

.client-modal-dialog .client-save-button {
    color:var(--theme-primary-text);
    background:var(--theme-primary);
}

.client-modal-dialog .client-cancel-button {
    border-color:var(--theme-border);
    color:var(--theme-secondary-button-text);
    background:var(--theme-secondary-button);
}

@media (max-width: 560px) {
    .client-modal-dialog {
        height: min(720px, calc(100vh - 12px));
    }

    .client-modal-dialog .client-modal-head,
    .client-modal-dialog .client-form-panel,
    .client-modal-dialog .client-modal-actions {
        padding-left: 16px;
        padding-right: 16px;
    }

    .client-modal-dialog .client-form-tabs {
        margin-left: 16px;
        margin-right: 16px;
    }

    .client-modal-dialog .client-person-fields,
    .client-car-editor .client-car-fields {
        grid-template-columns: 1fr;
    }
}

/* Client editor with separate client/car tabs. */
.client-modal-dialog {
    width: min(920px, 100%);
    max-height: min(92vh, 900px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.client-modal-dialog .panel-head {
    flex: 0 0 auto;
}

.client-form {
    padding: 0;
    display: block;
    overflow-y: auto;
}

.client-form-tabs {
    border-bottom: 1px solid var(--dash-line);
    padding: 0 18px;
    display: flex;
    gap: 4px;
}

.client-form-tabs button {
    min-height: 50px;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 0 16px;
    color: var(--dash-muted);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

.client-form-tabs button.is-active {
    border-bottom-color: var(--crm-color-text);
    color: var(--crm-color-white);
}

.client-form-tabs button span {
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    margin-left: 5px;
    padding: 0 6px;
    background: rgba(255,255,255,.09);
    display: inline-grid;
    place-items: center;
    font-size: 11px;
}

.client-form-panel {
    padding: 20px;
}

.client-form-panel[hidden] {
    display: none;
}

.client-person-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.client-comment-field {
    grid-column: 1 / -1;
}

.client-form textarea,
.client-form select {
    width: 100%;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    padding: 10px 12px;
    color: var(--crm-color-white);
    background: #111317;
    outline: 0;
    font: inherit;
}

.client-form select {
    min-height: 42px;
}

.client-form textarea {
    min-height: 104px;
    resize: vertical;
}

.client-form textarea:focus,
.client-form select:focus {
    border-color: rgba(244,246,248,.42);
}

.required-mark {
    color: #ff8c9f;
}

.optional-mark {
    color: rgba(220,226,234,.42);
    font-size: 10px;
    font-weight: 700;
}

.client-cars-toolbar {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.client-cars-toolbar > div {
    display: grid;
    gap: 4px;
}

.client-cars-toolbar span,
.client-cars-empty span {
    color: var(--dash-muted);
    font-size: 12px;
}

.client-cars-list {
    display: grid;
    gap: 12px;
}

.client-car-form-card {
    border: 1px solid var(--dash-line);
    border-radius: 14px;
    padding: 14px;
    background: rgba(255,255,255,.025);
}

.client-car-form-head {
    margin-bottom: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.client-car-form-head strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.client-car-form-head button {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,91,119,.2);
    border-radius: 9px;
    color: #ff8da0;
    background: rgba(255,91,119,.07);
    cursor: pointer;
}

.client-car-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.client-plate-field {
    grid-column: 1 / -1;
}

.client-cars-empty {
    min-height: 170px;
    border: 1px dashed var(--dash-line);
    border-radius: 14px;
    color: var(--dash-muted);
    display: none;
    place-items: center;
    align-content: center;
    gap: 8px;
    text-align: center;
}

.client-cars-empty.is-visible {
    display: grid;
}

.client-cars-empty i {
    font-size: 26px;
}

.client-modal-actions {
    border-top: 1px solid var(--dash-line);
    padding: 16px 20px;
    position: sticky;
    bottom: 0;
    z-index: 10;
}

.client-car-list-cell {
    display: grid;
    gap: 8px;
}

.client-no-cars {
    color: var(--dash-muted);
    font-size: 12px;
}

.client-comment-cell {
    max-width: 260px;
    color: var(--dash-muted);
    white-space: normal;
    line-height: 1.4;
}

@media (max-width: 760px) {
    .client-form-tabs,
    .client-form-panel {
        padding-left: 14px;
        padding-right: 14px;
    }

    .client-person-fields,
    .client-car-fields {
        grid-template-columns: 1fr;
    }

    .client-comment-field,
    .client-plate-field {
        grid-column: auto;
    }

    .client-cars-toolbar {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Final modal sizing overrides (kept last intentionally). */
.clients-page .client-modal-dialog {
    width: min(520px, calc(100vw - 24px));
    height: min(700px, calc(100vh - 32px));
    max-height: calc(100vh - 32px);
}

.clients-page .client-cars-empty {
    min-height: 80px;
    border: 0;
    border-radius: 0;
}

.clients-page .client-car-form-card {
    padding: 0;
    border-radius: 9px;
    background: #111a2f;
}

.clients-page .client-car-form-card.has-open-select {
    z-index: 100;
}

.clients-page .client-car-form-card.has-open-select .client-car-editor,
.clients-page .client-custom-select.is-open {
    overflow: visible;
}

.clients-page .client-custom-select.is-open {
    z-index: 120;
}

.clients-page .client-custom-select.is-open .client-select-dropdown {
    z-index: 140;
}

@media (max-width: 560px) {
    .clients-page .client-modal-dialog {
        width: calc(100vw - 12px);
        height: calc(100vh - 12px);
        max-height: calc(100vh - 12px);
    }
}



}
/* crm-module-car-brands : assets/css/car-brands.css */
@scope (body.car-brands-page) {
.car-brands-shell {
    display: grid;
    gap: 16px;
}

.car-brands-panel {
    overflow: visible;
}

.car-brands-head {
    align-items: flex-start;
    gap: 18px;
    padding: 18px;
}

.car-brands-head h2 {
    margin-bottom: 6px;
}

.car-brands-head span {
    max-width: 620px;
    line-height: 1.45;
}

.car-brands-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(112px, 1fr));
    gap: 8px;
}

.car-brands-stats span {
    min-height: 54px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 9px 12px;
    color: var(--dash-muted);
    background: var(--crm-surface-subtle);
    display: grid;
    align-content: center;
    gap: 2px;
    font-size: 12px;
    font-weight: 800;
}

.car-brands-stats strong {
    color: var(--crm-color-white);
    font-size: 18px;
    line-height: 1;
}

.car-brands-toolbar {
    padding: 14px 18px;
    border-top: 1px solid var(--dash-line);
    border-bottom: 1px solid var(--dash-line);
    background: rgba(255,255,255,.018);
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto auto;
    align-items: center;
    gap: 10px;
}

.car-brand-search {
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 13px;
    color: var(--dash-muted);
    background: rgba(0,0,0,.24);
    display: flex;
    align-items: center;
    gap: 10px;
}

.car-brand-search:focus-within {
    border-color: rgba(244,246,248,.42);
}

.car-brand-search input {
    width: 100%;
    border: 0;
    outline: 0;
    color: var(--crm-color-white);
    background: transparent;
    font: inherit;
}

.car-brand-tabs {
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 4px;
    background: rgba(0,0,0,.18);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.car-brand-tabs button {
    min-height: 34px;
    border: 0;
    border-radius: 8px;
    padding: 0 12px;
    color: #d7dce4;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.car-brand-tabs button.is-active {
    color: var(--crm-color-ink);
    background: var(--crm-gradient-primary);
}

.car-brand-grid {
    padding: 18px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 12px;
}

.car-brand-card {
    min-width: 0;
    min-height: 88px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 14px;
    background: rgba(0,0,0,.18);
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.car-brand-card:hover {
    border-color: rgba(244,246,248,.32);
    background: rgba(255,255,255,.055);
    transform: translateY(-1px);
}

.car-brand-card.is-hidden {
    display: none;
}

.car-brand-pagination {
    min-height: 66px;
    margin: 0 18px 18px;
    border-top: 1px solid var(--dash-line);
    padding-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.car-brand-pagination[hidden] {
    display: none;
}

.car-brand-pagination p {
    margin: 0;
    color: var(--dash-muted);
    font-size: 12px;
    font-weight: 800;
}

.car-brand-pagination nav,
.car-brand-page-numbers {
    display: flex;
    align-items: center;
    gap: 6px;
}

.car-brand-pagination button {
    min-width: 40px;
    height: 40px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    padding: 0 10px;
    color: var(--crm-color-text-secondary);
    background: var(--crm-surface-subtle);
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.car-brand-pagination button:hover:not(:disabled),
.car-brand-pagination button:focus-visible {
    border-color: rgba(244,246,248,.42);
    background: rgba(255,255,255,.075);
    outline: none;
}

.car-brand-pagination button.is-active {
    color: var(--crm-color-ink);
    border-color: rgba(244,246,248,.6);
    background: var(--crm-gradient-primary);
}

.car-brand-pagination button:disabled {
    opacity: .38;
    cursor: not-allowed;
}

.car-brand-page-numbers span {
    width: 20px;
    color: var(--dash-muted);
    text-align: center;
}

.car-brand-logo {
    width: 56px;
    height: 56px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 12px;
    background: rgba(255,255,255,.94);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.car-brand-logo.is-missing-logo,
.brand-logo-upload-preview.is-missing-logo {
    color: #7b8490;
    background: rgba(255,255,255,.94);
    font-size: 20px;
}

.car-brand-logo img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.car-brand-info {
    min-width: 0;
}

.car-brand-info h3 {
    margin: 0 0 6px;
    color: var(--crm-color-white);
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 16px;
    line-height: 1.2;
}

.car-brand-info h3 i {
    color: var(--crm-color-text);
    font-size: 12px;
}

.car-brand-info p {
    margin: 0;
    color: var(--dash-muted);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.car-brand-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.car-brand-actions form {
    margin: 0;
}

.car-brand-more {
    width: 36px;
    height: 36px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    color: var(--crm-color-text-secondary);
    background: var(--crm-surface-subtle);
    display: grid;
    place-items: center;
    cursor: pointer;
}

.car-brand-delete {
    color: #ffb4b4;
}

.car-brand-more:hover {
    border-color: rgba(244,246,248,.32);
    background: rgba(255,255,255,.075);
}

.car-brand-empty {
    display: none;
    margin: 18px;
    min-height: 270px;
    border: 1px dashed rgba(244,246,248,.22);
    border-radius: 12px;
    padding: 32px 18px;
    color: var(--dash-muted);
    background: rgba(0,0,0,.14);
    text-align: center;
    place-items: center;
    align-content: center;
    gap: 10px;
}

.car-brand-empty.is-visible {
    display: grid;
}

.car-brand-empty-icon {
    width: 58px;
    height: 58px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.045);
    display: grid;
    place-items: center;
    font-size: 22px;
}

.car-brand-empty strong {
    color: var(--crm-color-white);
    font-size: 18px;
}

.car-brand-empty p {
    max-width: 420px;
    margin: 0 0 4px;
    line-height: 1.45;
}

.car-brand-popover {
    position: fixed;
    z-index: 120;
    width: min(320px, calc(100vw - 24px));
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 12px;
    color: var(--crm-color-text-secondary);
    background: var(--crm-color-surface);
    box-shadow: 0 20px 58px rgba(0,0,0,.44);
    display: none;
    font-size: 13px;
    line-height: 1.5;
}

.car-brand-popover.is-open {
    display: block;
}

.car-brand-popover strong {
    display: block;
    margin-bottom: 8px;
    color: var(--crm-color-white);
    font-size: 13px;
}

.car-brand-popover div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.car-brand-popover span {
    border: 1px solid var(--dash-line);
    border-radius: 8px;
    padding: 4px 8px;
    background: rgba(255,255,255,.04);
    font-weight: 800;
}

.brand-modal-dialog,
.brand-delete-dialog {
    width: min(720px, 100%);
    background: rgba(13,14,16,.98) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.045);
    backdrop-filter: none;
}

.brand-modal-dialog .panel-head,
.brand-delete-dialog .panel-head {
    padding: 18px;
    background: rgba(13,14,16,.98);
}

.brand-modal.modal-overlay {
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(12px);
}

.brand-form {
    padding: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    background: rgba(13,14,16,.98);
}

.brand-form .field {
    color: var(--dash-muted);
    font-size: 12px;
    font-weight: 900;
    display: grid;
    gap: 7px;
}

.brand-form-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto 160px;
    align-items: end;
    gap: 12px;
}

.brand-logo-upload {
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 12px;
    background: rgba(0,0,0,.18);
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.brand-logo-upload-preview {
    width: 62px;
    height: 62px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    color: var(--dash-muted);
    background: rgba(255,255,255,.94);
    display: grid;
    place-items: center;
    overflow: hidden;
    font-size: 20px;
}

.brand-logo-upload-preview img {
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.brand-upload-control {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 7px;
}

.brand-upload-control input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.brand-upload-button {
    width: fit-content;
    min-height: 36px;
    border: 1px solid rgba(244,246,248,.6);
    border-radius: 10px;
    padding: 0 12px;
    color: var(--crm-color-ink);
    background: var(--crm-gradient-primary);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
}

.brand-upload-control small {
    color: var(--dash-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 800;
}

.brand-models {
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 12px;
    background: rgba(0,0,0,.18);
    display: grid;
    gap: 10px;
}

.brand-models-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.brand-models-head span {
    color: var(--dash-muted);
    font-size: 12px;
    font-weight: 900;
}

.brand-models-head button {
    min-height: 34px;
    border: 1px solid rgba(244,246,248,.6);
    border-radius: 10px;
    padding: 0 11px;
    color: var(--crm-color-ink);
    background: var(--crm-gradient-primary);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.brand-models-items {
    display: grid;
    gap: 8px;
}

.brand-model-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 8px;
}

.brand-model-row input {
    width: 100%;
    height: 40px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    padding: 0 12px;
    color: var(--crm-color-white);
    background: rgba(0,0,0,.24);
    outline: none;
}

.brand-model-row input:focus {
    border-color: rgba(244,246,248,.42);
}

.brand-model-row button {
    width: 36px;
    height: 40px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    color: #ffb4b4;
    background: var(--crm-surface-subtle);
    display: grid;
    place-items: center;
    cursor: pointer;
}

.brand-toggle {
    width: fit-content;
    min-height: 34px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    padding: 0 11px;
    color: var(--crm-color-text-secondary);
    background: var(--crm-surface-subtle);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.brand-toggle.is-active {
    color: var(--crm-color-ink);
    border-color: rgba(244,246,248,.6);
    background: var(--crm-gradient-primary);
}

.brand-modal-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 2px;
    padding-top: 14px;
    border-top: 1px solid var(--dash-line);
    background: rgba(13,14,16,.98);
}

.brand-delete-dialog {
    width: min(520px, 100%);
}

.brand-delete-form {
    padding: 18px;
    display: grid;
    gap: 16px;
    background: rgba(13,14,16,.98);
}

.brand-delete-form p {
    margin: 0;
    color: var(--dash-muted);
    line-height: 1.45;
}

@media (max-width: 1100px) {
    .car-brands-head {
        align-items: stretch;
        flex-direction: column;
    }

    .car-brands-stats {
        justify-content: stretch;
    }

    .car-brands-toolbar {
        grid-template-columns: 1fr auto;
    }

    .car-brand-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .car-brands-head,
    .car-brands-toolbar,
    .car-brand-grid {
        padding: 14px;
    }

    .car-brand-pagination {
        margin: 0 14px 14px;
        align-items: stretch;
        flex-direction: column;
    }

    .car-brand-pagination p {
        text-align: center;
    }

    .car-brand-pagination nav {
        justify-content: center;
    }

    .car-brand-pagination button {
        min-width: 40px;
        padding: 0 8px;
    }

    .car-brand-page-numbers {
        gap: 4px;
    }

    .car-brand-page-numbers span {
        width: 12px;
    }

    .car-brands-stats,
    .car-brands-toolbar,
    .brand-form,
    .brand-form-row {
        grid-template-columns: 1fr;
    }

    .brand-logo-upload {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .brand-logo-upload-preview {
        width: 54px;
        height: 54px;
    }

    .car-brand-tabs {
        width: 100%;
    }

    .car-brand-tabs button {
        flex: 1;
    }

    .car-brand-grid {
        grid-template-columns: 1fr;
    }

    .car-brand-card {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .car-brand-logo {
        width: 48px;
        height: 48px;
    }

    .car-brand-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .brand-modal-actions {
        flex-direction: column;
    }
}



}
/* crm-module-employees : assets/css/employees.css */
@scope (body:is(.employees-page,.positions-page)) {
.employees-page .employees-panel,
.employees-page .employee-list,
.employees-page .employee-card {
    overflow: visible;
}

.employees-page .modal-dialog {
    overflow: visible;
}
.employee-invitation { margin-bottom: 18px; padding: 18px; display: grid; gap: 14px; background: var(--crm-gradient-panel); }
.employee-invitation h2 { margin: 0 0 5px; color: var(--crm-color-white); font-size: 17px; }
.employee-invitation p { margin: 0; color: var(--dash-muted); font-size: 13px; }
.employee-invitation form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.employee-invitation label { min-width: min(300px, 100%); display: grid; gap: 7px; color: var(--dash-muted); font-size: 13px; font-weight: 700; }
.employee-invitation select,
.employee-invitation-result input { min-height: 44px; border: 1px solid var(--dash-line); border-radius: 12px; padding: 0 12px; color: var(--crm-color-white); background: rgba(0,0,0,.24); outline: none; font: inherit; }
.employee-invitation select:focus,
.employee-invitation-result input:focus { border-color: rgba(244,246,248,.42); }
.employee-invitation select { color-scheme: dark; }
.employee-invitation-result input[readonly] { color: var(--crm-color-text-secondary); background: rgba(255,255,255,.055); }
.employee-invitation-result { display: flex; gap: 8px; }
.employee-invitation-result input { flex: 1; min-width: 0; }
@media (max-width: 620px) {
    .employee-invitation form > *, .employee-invitation-result > * { width: 100%; }
    .employee-invitation-result { flex-wrap: wrap; }
}

.employee-list { padding: 14px; display: grid; gap: 10px; }
.employee-card {
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 14px;
    background: rgba(0,0,0,.18);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    position: relative;
}
.employee-card.is-inactive { opacity: .62; }
.employee-card:has(.custom-select.is-open) { z-index: 90; }
.employee-avatar {
    width: 58px;
    height: 58px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 12px;
    color: #111;
    background: var(--crm-gradient-primary);
    display: grid;
    place-items: center;
    font-size: 18px;
    font-weight: 950;
}
.employee-info { min-width: 0; }
.employee-info h3 { margin: 0 0 6px; color: var(--crm-color-white); font-size: 16px; }
.employee-info p { margin: 0; color: var(--dash-muted); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.employee-actions form { margin: 0; }
.employee-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.employee-actions button { font: inherit; white-space: nowrap; }
.employee-actions button:disabled,
.employee-actions .is-disabled {
    opacity: .45;
    cursor: not-allowed;
    box-shadow: none;
}
.employee-position-form {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.employee-position-form .custom-select {
    min-width: min(260px, 100%);
    z-index: 5;
}
.employee-position-form .custom-select.is-open { z-index: 80; }
.employee-position-form .custom-select-trigger {
    height: 36px;
    min-height: 36px;
    border-radius: 10px;
}
.employee-position-form .custom-dropdown,
.employees-page .modal-dialog .custom-dropdown {
    z-index: 260;
}
.bank-pill.is-fired-status {
    color: var(--crm-color-danger-soft);
    border-color: rgba(255,145,162,.26);
    background: rgba(255,80,108,.08);
}
.bank-pill.is-active-status {
    color: var(--crm-color-success-soft);
    border-color: rgba(127,209,144,.26);
    background: rgba(127,209,144,.08);
}
@media (max-width: 820px) {
    .employee-card { grid-template-columns: auto 1fr; }
    .employee-actions { grid-column: 1 / -1; justify-content: flex-start; }
}



}
/* crm-module-positions : assets/css/positions.css */
@scope (body.positions-page) {
.positions-shell {
    display: grid;
    gap: 14px;
}

.positions-panel,
.position-list,
.position-card {
    overflow: visible;
}

.position-list {
    padding: 14px;
    display: grid;
    gap: 10px;
}

.position-card {
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 14px;
    background: rgba(0,0,0,.18);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
}

.position-card.is-inactive {
    opacity: .62;
}

.position-main {
    min-width: 0;
}

.position-main h3 {
    margin: 0 0 6px;
    color: var(--crm-color-white);
    font-size: 16px;
}

.position-main p {
    margin: 0 0 10px;
    color: var(--dash-muted);
    font-size: 13px;
    line-height: 1.5;
}

.position-meta,
.position-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.position-actions {
    justify-content: flex-end;
}

.position-actions form {
    margin: 0;
}

.position-actions button {
    font: inherit;
}

.position-modal {
    position: fixed;
    inset: 0;
    z-index: 300;
    padding: 22px;
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(12px);
    display: none;
    align-items: center;
    justify-content: center;
    overflow: auto;
}

.position-modal.is-open {
    display: flex;
}

.position-modal-dialog {
    width: min(640px, 100%);
    min-height: 0;
    max-height: none;
    margin: auto;
    overflow: visible !important;
    display: block;
}

.position-modal-form {
    border-top: 0;
    padding: 14px;
    display: grid;
    gap: 14px;
}

.position-modal-note {
    border: 1px solid rgba(207,211,216,.10);
    border-radius: 12px;
    padding: 10px;
    color: var(--dash-muted);
    background: rgba(255,255,255,.025);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    font-weight: 900;
}

.position-modal-actions {
    border-top: 1px solid var(--dash-line);
    padding-top: 14px;
    background: rgba(13,14,16,.96);
}

.positions-page .modal-close {
    width: 38px;
    height: 38px;
    border: 1px solid var(--dash-line);
    border-radius: 6px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.04);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

body.is-modal-open {
    overflow: hidden;
}

@media (max-width: 720px) {
    .position-card {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .position-actions {
        justify-content: flex-start;
    }

    .position-modal {
        padding: 10px;
        align-items: flex-end;
    }

    .position-modal-dialog {
        width: 100%;
        margin: auto auto 0;
    }
}



}
/* crm-module-rights : assets/css/rights.css */
@scope (body.rights-page) {
.rights-shell {
    display: grid;
    gap: 14px;
}

.rights-panel,
.rights-position-list,
.rights-position-card {
    overflow: visible;
}

.rights-position-list {
    padding: 14px;
    display: grid;
    gap: 10px;
}

.rights-position-card {
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 14px;
    background: rgba(0,0,0,.18);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
}

.rights-position-card.is-inactive {
    opacity: .62;
}

.rights-position-main {
    min-width: 0;
}

.rights-position-main h3 {
    margin: 0 0 6px;
    color: var(--crm-color-white);
    font-size: 16px;
}

.rights-position-main p {
    margin: 0 0 10px;
    color: var(--dash-muted);
    font-size: 13px;
    line-height: 1.5;
}

.rights-modal {
    position: fixed;
    inset: 0;
    z-index: 300;
    padding: 22px;
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(12px);
    display: none;
    align-items: center;
    justify-content: center;
    overflow: auto;
}

.rights-modal.is-open {
    display: flex;
}

.rights-modal-dialog {
    width: min(920px, 100%);
    min-height: 0;
    max-height: none;
    margin: auto;
    overflow: visible !important;
    display: block;
}

.rights-permission-form {
    border-top: 0;
    padding: 14px;
    min-height: 0;
    display: grid;
    gap: 14px;
    overflow: visible;
}

.rights-tabs {
    min-height: 0;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 8px;
    background: rgba(0,0,0,.18);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rights-tab {
    min-height: 42px;
    border: 1px solid rgba(207,211,216,.10);
    border-radius: 8px;
    padding: 8px 10px;
    color: var(--crm-color-text-secondary);
    background: rgba(255,255,255,.025);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.rights-tab:hover {
    border-color: rgba(244,246,248,.28);
    background: rgba(255,255,255,.055);
}

.rights-tab.is-active {
    color: var(--crm-color-ink);
    border-color: rgba(244,246,248,.72);
    background: var(--crm-gradient-primary);
}

.rights-tab small {
    opacity: .72;
    font-size: 11px;
    font-weight: 900;
}

.rights-tab-panels {
    min-height: 0;
    display: grid;
}

.rights-tab-panel {
    display: none;
    min-height: 0;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 12px;
    background: rgba(255,255,255,.018);
}

.rights-tab-panel.is-active {
    display: grid;
    gap: 12px;
}

.rights-tab-info {
    border-bottom: 1px solid rgba(207,211,216,.10);
    padding-bottom: 12px;
}

.rights-tab-info h3 {
    margin: 0 0 5px;
    color: var(--crm-color-white);
    font-size: 16px;
}

.rights-tab-info p {
    margin: 0;
    color: var(--dash-muted);
    font-size: 13px;
    line-height: 1.45;
}

.rights-permission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 8px;
}

.rights-permission-option {
    min-height: 38px;
    border: 1px solid rgba(207,211,216,.10);
    border-radius: 6px;
    padding: 8px 10px;
    color: var(--crm-color-text-secondary);
    background: rgba(255,255,255,.025);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 800;
}

.rights-permission-option:hover {
    border-color: rgba(244,246,248,.28);
    background: rgba(255,255,255,.055);
}

.rights-permission-option input {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    accent-color: var(--crm-color-text);
}

.rights-modal-actions {
    border-top: 1px solid var(--dash-line);
    padding-top: 14px;
    background: rgba(13,14,16,.96);
}

.rights-page .modal-close {
    width: 38px;
    height: 38px;
    border: 1px solid var(--dash-line);
    border-radius: 6px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.04);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

body.is-modal-open {
    overflow: hidden;
}

@media (max-width: 720px) {
    .rights-position-card {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .rights-modal {
        padding: 10px;
        align-items: flex-end;
    }

    .rights-modal-dialog {
        width: 100%;
        margin: auto auto 0;
    }

    .rights-tab {
        width: 100%;
    }

    .rights-permission-grid {
        grid-template-columns: 1fr;
    }
}



}
/* crm-module-rows : assets/css/rows.css */
@scope (body:is(.rows-page,.parking-map-page)) {
.rows-shell {
    display: grid;
    gap: 16px;
}

.rows-panel {
    overflow: visible;
}

.rows-head {
    align-items: flex-start;
    gap: 18px;
    padding: 18px;
}

.rows-head h2 {
    margin-bottom: 6px;
}

.rows-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(112px, 1fr));
    gap: 8px;
}

.rows-stats span {
    min-height: 54px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 9px 12px;
    color: var(--dash-muted);
    background: var(--crm-surface-subtle);
    display: grid;
    align-content: center;
    gap: 2px;
    font-size: 12px;
    font-weight: 800;
}

.rows-stats strong {
    color: var(--crm-color-white);
    font-size: 18px;
    line-height: 1;
}

.rows-toolbar {
    padding: 14px 18px;
    border-top: 1px solid var(--dash-line);
    border-bottom: 1px solid var(--dash-line);
    background: rgba(255,255,255,.018);
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto auto;
    align-items: center;
    gap: 10px;
}

.row-search {
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 0 13px;
    color: var(--dash-muted);
    background: rgba(0,0,0,.24);
    display: flex;
    align-items: center;
    gap: 10px;
}

.row-search:focus-within {
    border-color: rgba(244,246,248,.42);
}

.row-search input {
    width: 100%;
    border: 0;
    outline: 0;
    color: var(--crm-color-white);
    background: transparent;
    font: inherit;
}

.row-tabs {
    min-height: 44px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 4px;
    background: rgba(0,0,0,.18);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.row-tabs button {
    min-height: 34px;
    border: 0;
    border-radius: 8px;
    padding: 0 12px;
    color: #d7dce4;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.row-tabs button.is-active {
    color: var(--crm-color-ink);
    background: var(--crm-gradient-primary);
}

.row-list {
    padding: 18px;
    display: grid;
    gap: 10px;
}

.row-tariff-tabs{padding:12px 18px 0;display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:thin}.row-tariff-tabs button{--filter-color:var(--crm-color-icon);min-height:38px;border:1px solid var(--dash-line);border-radius:10px;padding:0 11px;color:#aeb3bd;background:rgba(255,255,255,.025);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer;font-size:11px;font-weight:900;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}.row-tariff-tabs button:hover{color:var(--crm-color-white);border-color:color-mix(in srgb,var(--filter-color) 45%,var(--dash-line));transform:translateY(-1px)}.row-tariff-tabs button.is-active{color:var(--crm-color-white);border-color:color-mix(in srgb,var(--filter-color) 55%,var(--dash-line));background:color-mix(in srgb,var(--filter-color) 15%,var(--crm-surface-subtle))}.row-tariff-tabs button>span{min-width:20px;height:20px;border-radius:6px;padding:0 5px;color:#dfe3e8;background:var(--crm-surface-hover);display:grid;place-items:center;font-size:10px}.row-tariff-dot{width:9px;height:9px;border-radius:50%;background:var(--filter-color);box-shadow:0 0 8px color-mix(in srgb,var(--filter-color) 60%,transparent)}.row-tariff-dot.is-empty{border:1px solid #737b86;background:transparent;box-shadow:none}

.row-card {
    position: relative;
    min-width: 0;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: 14px;
    background: rgba(0,0,0,.18);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    transition: border-color .18s ease, background .18s ease, transform .18s ease, opacity .18s ease;
}
.row-card.has-tariff{border-color:color-mix(in srgb,var(--row-tariff-color) 42%,var(--dash-line));background:linear-gradient(90deg,color-mix(in srgb,var(--row-tariff-color) 12%,transparent),rgba(0,0,0,.18) 36%)}
.row-card.has-tariff::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:12px 0 0 12px;background:var(--row-tariff-color);box-shadow:0 0 18px color-mix(in srgb,var(--row-tariff-color) 55%,transparent)}

.row-card:hover {
    border-color: rgba(244,246,248,.32);
    background: rgba(255,255,255,.055);
    transform: translateY(-1px);
}

.row-card.is-inactive {
    opacity: .58;
}

.row-card.is-hidden {
    display: none;
}

.row-tile {
    min-width: 0;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.row-icon {
    width: 52px;
    height: 52px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.055);
    display: grid;
    place-items: center;
    font-size: 20px;
}

.row-tile h3 {
    margin: 0 0 5px;
    color: var(--crm-color-white);
    font-size: 20px;
    line-height: 1.15;
}

.row-tile p {
    margin: 0;
    color: var(--dash-muted);
    font-size: 13px;
    font-weight: 800;
}
.row-tariff-badge{width:fit-content;margin-top:7px;border:1px solid color-mix(in srgb,var(--row-tariff-color) 42%,var(--dash-line));border-radius:999px;padding:4px 8px;color:var(--crm-color-text-secondary);background:color-mix(in srgb,var(--row-tariff-color) 11%,transparent);display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:900}.row-tariff-badge i{width:7px;height:7px;border-radius:50%;background:var(--row-tariff-color);box-shadow:0 0 8px var(--row-tariff-color)}

.row-card-side {
    display: flex;
    align-items: center;
    gap: 10px;
}

.row-badge {
    min-height: 30px;
    border: 1px solid var(--dash-line);
    border-radius: 8px;
    padding: 0 10px;
    color: var(--crm-color-text-secondary);
    background: var(--crm-surface-subtle);
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 900;
}

.row-card-side form {
    margin: 0;
}
.row-occupancy-progress{grid-column:1/-1;display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:10px}.row-occupancy-progress>div{height:9px;border:1px solid color-mix(in srgb,var(--row-tariff-color) 24%,var(--dash-line));border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden}.row-occupancy-progress i{min-width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--row-tariff-color) 78%,#111),var(--row-tariff-color));display:block;box-shadow:0 0 12px color-mix(in srgb,var(--row-tariff-color) 38%,transparent)}.row-occupancy-progress span{color:var(--dash-muted);font-size:10px;font-weight:800;white-space:nowrap}.row-occupancy-progress b{color:var(--crm-color-white)}

.row-switch,
.row-status-toggle {
    border: 1px solid var(--dash-line);
    background: rgba(255,255,255,.055);
    cursor: pointer;
}

.row-switch {
    width: 40px;
    height: 22px;
    border-radius: 999px;
    padding: 2px;
    display: inline-flex;
    align-items: center;
}

.row-switch span,
.row-status-toggle span {
    display: block;
    border-radius: 999px;
    background: var(--crm-color-text);
    transition: transform .18s ease;
}

.row-switch span {
    width: 16px;
    height: 16px;
}

.row-switch.is-active {
    background: rgba(244,246,248,.88);
}

.row-switch.is-active span {
    background: var(--crm-color-surface);
    transform: translateX(18px);
}

.row-icon-button {
    width: 36px;
    height: 36px;
    border: 1px solid var(--dash-line);
    border-radius: 10px;
    color: var(--crm-color-text-secondary);
    background: var(--crm-surface-subtle);
    display: grid;
    place-items: center;
    cursor: pointer;
}

.row-icon-button.is-danger {
    color: #ffb4b4;
}

.row-empty {
    display: none;
    margin: 18px;
    min-height: 270px;
    border: 1px dashed rgba(244,246,248,.22);
    border-radius: 12px;
    padding: 32px 18px;
    color: var(--dash-muted);
    background: rgba(0,0,0,.14);
    text-align: center;
    place-items: center;
    align-content: center;
    gap: 10px;
}

.row-empty.is-visible {
    display: grid;
}

.row-empty-icon {
    width: 58px;
    height: 58px;
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    color: var(--crm-color-white);
    background: rgba(255,255,255,.045);
    display: grid;
    place-items: center;
    font-size: 22px;
}

.row-empty strong {
    color: var(--crm-color-white);
    font-size: 18px;
}

.row-empty p {
    max-width: 420px;
    margin: 0 0 4px;
    line-height: 1.45;
}

.row-modal.modal-overlay {
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(12px);
}

.row-modal-dialog,
.row-delete-dialog {
    width: min(680px, 100%);
    background: rgba(13,14,16,.98) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.045);
    backdrop-filter: none;
}

.row-delete-dialog {
    width: min(520px, 100%);
}

.row-modal-dialog .panel-head,
.row-delete-dialog .panel-head {
    padding: 18px;
    background: rgba(13,14,16,.98);
}

.row-form {
    padding: 18px;
    background: rgba(13,14,16,.98);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.row-form .field {
    color: var(--dash-muted);
    font-size: 12px;
    font-weight: 900;
    display: grid;
    gap: 7px;
}

.row-form-status {
    grid-column: 1 / -1;
}

.row-status-toggle {
    width: fit-content;
    min-height: 36px;
    border-radius: 10px;
    padding: 0 12px;
    color: var(--crm-color-text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 900;
}

.row-status-toggle span {
    width: 16px;
    height: 16px;
}

.row-status-toggle.is-active {
    color: var(--crm-color-ink);
    border-color: rgba(244,246,248,.6);
    background: var(--crm-gradient-primary);
}

.row-status-toggle.is-active span {
    background: var(--crm-color-surface);
}

.row-modal-actions {
    grid-column: 1 / -1;
    border-top: 1px solid var(--dash-line);
    padding-top: 14px;
    background: rgba(13,14,16,.98);
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.row-delete-form {
    padding: 18px;
    background: rgba(13,14,16,.98);
    display: grid;
    gap: 16px;
}

.row-delete-form p {
    margin: 0;
    color: var(--dash-muted);
    line-height: 1.45;
}

@media (max-width: 1100px) {
    .rows-head {
        align-items: stretch;
        flex-direction: column;
    }

    .rows-toolbar {
        grid-template-columns: 1fr auto;
    }

    .row-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .rows-head,
    .rows-toolbar,
    .row-list {
        padding: 14px;
    }

    .rows-stats,
    .rows-toolbar,
    .row-form {
        grid-template-columns: 1fr;
    }

    .row-card{grid-template-columns:1fr}
    .row-card-side{grid-column:auto}

    .row-tabs {
        width: 100%;
    }

    .row-tabs button {
        flex: 1;
    }

    .row-card-side {
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .row-modal-actions {
        flex-direction: column;
    }
}



}
/* crm-module-parking-map : assets/css/parking-map.css */
@scope (body:is(.parking-map-page,.workzone-page)) {
.parking-map-shell{display:grid;gap:14px}.parking-map-head{min-height:82px;padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px}.parking-map-head h1{margin:0 0 5px;font-size:19px}.parking-map-head p{margin:0;color:var(--dash-muted);font-size:12px}.parking-map-stats{display:flex;gap:8px}.parking-map-stats span{min-height:44px;border:1px solid var(--dash-line);border-radius:10px;padding:7px 11px;color:var(--dash-muted);background:rgba(255,255,255,.025);display:grid;align-content:center;font-size:10px;font-weight:850}.parking-map-stats b{color:var(--crm-color-white);font-size:15px}.parking-map-layout{min-width:0;display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}.map-pool{min-width:0;align-self:start;overflow:visible}.map-pool-head{min-height:72px;border-bottom:1px solid var(--dash-line);padding:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.map-pool-head h2{margin:0 0 4px;font-size:14px}.map-pool-head span{color:var(--dash-muted);font-size:10px}.map-pool-head>b{min-width:28px;height:28px;border-radius:8px;color:var(--crm-color-canvas);background:#e5e9ee;display:grid;place-items:center;font-size:11px}.map-pool-list{max-height:650px;padding:10px;overflow-y:auto;display:grid;gap:8px;scrollbar-width:thin;scrollbar-color:#59616c var(--crm-color-surface)}.map-pool-empty{display:none;margin:0;padding:24px 12px;color:var(--dash-muted);text-align:center;font-size:11px}.map-pool-empty.is-visible{display:block}.map-workspace{min-width:0;overflow:hidden}.map-workspace-toolbar{min-height:48px;border-bottom:1px solid var(--dash-line);padding:0 14px;color:var(--dash-muted);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:850}.map-workspace-toolbar>span{display:flex;align-items:center;gap:7px}.map-save-state{color:#94d9ae}.parking-canvas{--map-grid-size:40px;position:relative;width:100%;min-width:720px;height:680px;overflow:hidden;background-color:#0d1013;background-image:linear-gradient(var(--crm-surface-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--crm-surface-subtle) 1px,transparent 1px);background-size:var(--map-grid-size) var(--map-grid-size),var(--map-grid-size) var(--map-grid-size)}.parking-canvas::before{content:"ВЪЕЗД / ВЫЕЗД";position:absolute;left:50%;bottom:0;z-index:1;width:180px;height:26px;border:1px solid rgba(255,255,255,.13);border-bottom:0;border-radius:9px 9px 0 0;color:#7e8792;background:#15181c;display:grid;place-items:center;transform:translateX(-50%);font-size:9px;font-weight:950;letter-spacing:.08em}.map-canvas-empty{position:absolute;inset:0;color:#5f6874;display:none;place-items:center;align-content:center;gap:8px;pointer-events:none}.map-canvas-empty.is-visible{display:grid}.map-canvas-empty i{font-size:30px}.map-canvas-empty strong{color:#8c95a0;font-size:14px}.map-canvas-empty span{font-size:10px}.map-row{--row-color:var(--crm-color-icon);z-index:5;border:1px solid color-mix(in srgb,var(--row-color) 48%,rgba(255,255,255,.12));border-radius:10px;color:#f3f5f7;background:linear-gradient(135deg,color-mix(in srgb,var(--row-color) 18%,#15181c),var(--crm-color-surface));box-shadow:0 12px 30px rgba(0,0,0,.28),inset 3px 0 0 var(--row-color);user-select:none;transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.map-row.is-placed{position:absolute;left:var(--map-x);top:var(--map-y)}.map-row.is-horizontal{width:calc(var(--map-grid-size) * 5);height:calc(var(--map-grid-size) * 2)}.map-row.is-vertical{width:calc(var(--map-grid-size) * 2);height:calc(var(--map-grid-size) * 5)}.map-row.is-unplaced{position:relative;width:100%;height:auto;min-height:76px}.map-row.is-dragging{z-index:30;opacity:.48}.map-row:hover{border-color:color-mix(in srgb,var(--row-color) 75%,var(--crm-color-white));box-shadow:0 16px 36px rgba(0,0,0,.38),0 0 18px color-mix(in srgb,var(--row-color) 18%,transparent),inset 3px 0 0 var(--row-color)}.map-row-main{height:100%;min-width:0;padding:10px;display:flex;align-items:center;gap:9px;cursor:grab}.can-edit-map .map-row-main:active{cursor:grabbing}.map-row-icon{width:31px;height:31px;flex:0 0 auto;border-radius:8px;color:var(--row-color);background:color-mix(in srgb,var(--row-color) 13%,transparent);display:grid;place-items:center}.map-row-copy{min-width:0;display:grid;gap:3px}.map-row-copy strong,.map-row-copy small,.map-row-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-row-copy strong{font-size:12px}.map-row-copy small{color:#929aa5;font-size:9px;font-weight:800}.map-row-copy em{color:var(--row-color);font-size:8px;font-style:normal;font-weight:900}.map-row.is-vertical .map-row-main{padding:9px 7px;flex-direction:column;justify-content:center;text-align:center}.map-row.is-vertical .map-row-copy{width:100%}.map-row.is-vertical .map-row-copy small{white-space:normal}.map-row-actions{position:absolute;right:5px;top:5px;z-index:8;display:flex;gap:3px;opacity:0;transition:opacity .16s ease}.map-row:hover .map-row-actions{opacity:1}.map-row-actions button{width:24px;height:24px;border:1px solid rgba(255,255,255,.11);border-radius:7px;color:#dfe3e8;background:#1a1d21;display:grid;place-items:center;cursor:pointer;font-size:9px}.map-row.is-unplaced [data-map-remove],.map-row.is-placed [data-map-place]{display:none}.map-row.is-unplaced .map-row-actions{position:static;margin:0 8px 8px;justify-content:flex-end;opacity:1}.parking-canvas.is-drop-target{box-shadow:inset 0 0 0 2px rgba(244,246,248,.28)}
@media(max-width:1050px){.parking-map-head{grid-template-columns:1fr auto}.parking-map-head>.primary-action{grid-column:1/-1;width:100%;justify-content:center}.parking-map-layout{grid-template-columns:1fr}.map-pool-list{max-height:220px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.map-workspace{overflow-x:auto}}
@media(max-width:650px){.parking-map-head{grid-template-columns:1fr}.parking-map-stats{width:100%}.parking-map-stats span{flex:1}.parking-canvas{height:560px}.map-pool-list{grid-template-columns:1fr}}
.parking-canvas .map-row.is-horizontal{width:calc(var(--map-grid-size) * var(--row-width-cells));height:calc(var(--map-grid-size) * var(--row-height-cells))}
.parking-canvas .map-row.is-vertical{width:calc(var(--map-grid-size) * var(--row-height-cells));height:calc(var(--map-grid-size) * var(--row-width-cells))}
@media(max-width:650px){.parking-canvas{height:680px}}
.parking-canvas .map-row{position:absolute;border:1px solid color-mix(in srgb,var(--row-color) 38%,transparent);border-radius:6px;background:color-mix(in srgb,var(--row-color) 18%,#121519);box-shadow:none;overflow:hidden}
.parking-canvas .map-row::before{content:"";position:absolute;z-index:0;inset:0 auto 0 0;width:var(--row-load,0%);background:linear-gradient(90deg,color-mix(in srgb,var(--row-color) 82%,#101317),color-mix(in srgb,var(--row-color) 58%,#101317));transition:width .25s ease,height .25s ease;pointer-events:none}
.parking-canvas .map-row.is-vertical::before{inset:auto 0 0;width:100%;height:var(--row-load,0%);background:linear-gradient(0deg,color-mix(in srgb,var(--row-color) 82%,#101317),color-mix(in srgb,var(--row-color) 58%,#101317))}
.parking-canvas .map-row[data-places-occupied]:not([data-places-occupied="0"]):not(.is-vertical)::before{width:max(var(--row-load,0%),8px)}
.parking-canvas .map-row.is-vertical[data-places-occupied]:not([data-places-occupied="0"])::before{height:max(var(--row-load,0%),8px)}
.parking-canvas .map-row-main{position:relative;z-index:2}
.parking-canvas .map-row:hover{border-color:color-mix(in srgb,var(--row-color) 60%,transparent);box-shadow:0 5px 14px rgba(0,0,0,.2)}
.parking-canvas .map-row-main{padding:4px 6px;gap:0}
.parking-canvas .map-row-copy{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;gap:5px}
.parking-canvas .map-row-copy strong{min-width:0;color:var(--crm-color-white);font-size:10px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.parking-canvas .map-row-occupancy{display:flex;align-items:center;gap:4px;white-space:nowrap}
.parking-canvas .map-row-occupancy b{border-radius:4px;padding:2px 4px;color:#e5e8eb;background:rgba(0,0,0,.24);font-size:7px;line-height:1.15;font-weight:750}
.parking-canvas .map-row-occupancy .is-free{color:#baf0ca}
.parking-canvas .map-row.is-vertical .map-row-main{padding:5px 3px}
.parking-canvas .map-row.is-vertical .map-row-copy{flex-direction:column;justify-content:center;gap:5px;text-align:center}
.parking-canvas .map-row.is-vertical .map-row-copy strong{width:100%;font-size:9px}
.parking-canvas .map-row.is-vertical .map-row-occupancy{width:100%;flex-direction:column;gap:3px}
.parking-canvas .map-row.is-vertical .map-row-occupancy b{max-width:100%;padding:2px;font-size:6px}
.map-pool .map-row{border:1px solid color-mix(in srgb,var(--row-color) 32%,transparent);background:color-mix(in srgb,var(--row-color) 22%,#121519);box-shadow:none}
.map-pool .map-row:hover{border-color:color-mix(in srgb,var(--row-color) 48%,transparent);box-shadow:0 5px 14px rgba(0,0,0,.18)}
.map-pool .map-row-copy{width:100%;display:grid;gap:7px}
.map-pool .map-row-occupancy{display:flex;gap:5px}
.map-pool .map-row-occupancy b{border-radius:5px;padding:4px 6px;color:#dfe3e7;background:rgba(0,0,0,.22);font-size:8px}
.map-pool .map-row-occupancy .is-free{color:#baf0ca}
.parking-map-page .map-row.is-inactive{opacity:.5;filter:saturate(.45)}
.parking-map-page .map-row-edit-modal{z-index:600;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(12px)}
.parking-map-page .map-row-edit-dialog{width:min(680px,calc(100vw - 24px));margin:auto;border:1px solid rgba(244,246,248,.14);border-radius:16px;overflow:hidden;background:var(--crm-color-canvas)!important}
.parking-map-page .map-row-edit-dialog .panel-head{padding:18px;background:var(--crm-color-canvas);border-radius:16px 16px 0 0}
.parking-map-page .map-row-edit-form{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:var(--crm-color-canvas)}
.parking-map-page .map-row-edit-form .field{color:var(--dash-muted);display:grid;gap:7px;font-size:11px;font-weight:900}
.parking-map-page .map-row-edit-form .field input{width:100%;min-height:44px;border:1px solid var(--dash-line);border-radius:10px;padding:0 12px;outline:0;color:var(--crm-color-white);background:#131519;font:inherit}
.parking-map-page .map-row-edit-form .field input:focus{border-color:rgba(244,246,248,.4)}
.parking-map-page .map-edit-orientation-note{grid-column:1/-1;min-height:60px;border:1px solid color-mix(in srgb,var(--dash-accent,#87909b) 30%,transparent);border-radius:11px;padding:11px 13px;color:#e4e7ea;background:rgba(255,255,255,.025);display:flex;align-items:center;gap:11px;font-size:11px}
.parking-map-page .map-edit-orientation-note>i{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.06);display:grid;place-items:center}
.parking-map-page .map-edit-orientation-note span{display:grid;gap:4px}.parking-map-page .map-edit-orientation-note small{color:var(--dash-muted)}
.parking-map-page .map-row-edit-form .row-form-status{grid-column:1/-1}.parking-map-page .map-row-edit-actions{grid-column:1/-1;border-radius:0 0 16px 16px}
@media(max-width:650px){.parking-map-page .map-row-edit-modal{padding:10px}.parking-map-page .map-row-edit-form{grid-template-columns:1fr}.parking-map-page .map-row-edit-dialog{width:100%}}
.parking-map-page:not(.is-map-embed) .parking-map-layout{display:flex;flex-direction:column;width:100%}
.parking-map-page:not(.is-map-embed) .map-workspace{order:1;width:100%;max-width:none}
.parking-map-page:not(.is-map-embed) .map-pool{order:2;width:100%;max-width:none}
.is-map-embed .app-sidebar,.is-map-embed .topbar,.is-map-embed .breadcrumb-panel,.is-map-embed .parking-map-head,.is-map-embed .map-pool,.is-map-embed .map-workspace-toolbar{display:none!important}.is-map-embed .dashboard-app{display:block!important;width:100%;padding:0!important}.is-map-embed .dashboard-main{width:100%;min-height:100vh;padding:0!important}.is-map-embed .parking-map-shell,.is-map-embed .parking-map-layout{display:block}.is-map-embed .map-workspace{border:0;border-radius:0;overflow:hidden}.is-map-embed .parking-canvas{width:100%;height:100vh;min-height:680px;cursor:grab}.is-map-embed .parking-canvas.is-panning{cursor:grabbing}.is-map-embed .map-row-actions,.is-map-embed .map-object-actions{display:none!important}
.parking-map-page .map-pool{width:100%}
.parking-map-page .map-pool-list{max-height:230px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.parking-map-page .map-pool-head{position:relative;padding-right:118px}
.parking-map-page .map-pool-toggle{position:absolute;right:13px;top:50%;min-height:34px;padding:0 11px;border:1px solid var(--dash-line);border-radius:9px;color:var(--dash-text);background:rgba(255,255,255,.035);display:flex;align-items:center;justify-content:center;gap:7px;transform:translateY(-50%);cursor:pointer;font:inherit;font-size:10px;font-weight:850}
.parking-map-page .map-pool-toggle:hover{border-color:var(--dash-muted);background:rgba(255,255,255,.06)}
.parking-map-page .map-pool-toggle i{transition:transform .2s ease}
.parking-map-page .map-pool.is-collapsed .map-pool-toggle i{transform:rotate(180deg)}
.parking-map-page .map-pool.is-collapsed .map-pool-list,.parking-map-page .map-pool.is-collapsed .map-pool-empty{display:none!important}
.parking-map-page .parking-canvas::before{display:none}
.parking-map-page .map-workspace-toolbar{flex-wrap:wrap;padding:8px 14px}
.parking-map-page .map-object-add{display:flex;align-items:center;gap:6px;margin-left:auto}
.parking-map-page .map-object-add button{min-height:30px;border:1px solid var(--dash-line);border-radius:8px;padding:0 9px;color:#dfe4e8;background:#171a1e;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:9px;font-weight:850}
.parking-map-page .map-object-add button:hover{border-color:rgba(244,246,248,.3);background:#1d2126}
.parking-map-page .map-object{z-index:7;position:absolute;left:var(--map-x);top:var(--map-y);box-sizing:border-box;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:var(--crm-color-white);box-shadow:none;user-select:none}
.parking-map-page .map-object.is-horizontal{width:calc(var(--map-grid-size) * 2);height:var(--map-grid-size)}
.parking-map-page .map-object.is-vertical{width:var(--map-grid-size);height:calc(var(--map-grid-size) * 2)}
.parking-map-page .map-object.is-entrance{background:#256a45}.parking-map-page .map-object.is-exit{background:#8a4931}
.parking-map-page .map-object-main{width:100%;height:100%;padding:3px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:grab;overflow:hidden}
.parking-map-page .map-object-main i{font-size:9px}.parking-map-page .map-object-main strong{font-size:8px;white-space:nowrap}
.parking-map-page .map-object.is-vertical .map-object-main{flex-direction:column}.parking-map-page .map-object.is-vertical .map-object-main strong{font-size:7px;writing-mode:vertical-rl;transform:rotate(180deg)}
.parking-map-page .map-object-actions{position:absolute;right:2px;top:2px;z-index:9;display:flex;gap:2px;opacity:0;transition:opacity .15s ease}
.parking-map-page .map-object:hover .map-object-actions{opacity:1}
.parking-map-page .map-object-actions button{width:17px;height:17px;border:1px solid rgba(255,255,255,.16);border-radius:4px;padding:0;color:var(--crm-color-white);background:rgba(10,11,13,.76);display:grid;place-items:center;cursor:pointer;font-size:7px}
.parking-map-page .map-object.is-dragging{z-index:35;opacity:.55}
@media(max-width:650px){.parking-map-page .map-object-add{width:100%;margin-left:0}.parking-map-page .map-object-add button{flex:1;justify-content:center}}
.parking-map-page .parking-canvas{height:auto;aspect-ratio:1/1;background:#0d1013;overscroll-behavior:contain}
.parking-map-page .parking-map-stage{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0;background-color:#0d1013;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:var(--map-grid-size) var(--map-grid-size),var(--map-grid-size) var(--map-grid-size);will-change:transform}
.parking-map-page .map-zoom-hint{min-height:28px;border:1px solid var(--dash-line);border-radius:8px;padding:0 8px;color:var(--dash-muted);background:rgba(255,255,255,.025);display:flex;align-items:center;gap:6px;font-size:9px}
.parking-map-page .map-zoom-hint b{min-width:34px;color:var(--crm-color-white);text-align:right}
.parking-map-page .parking-map-stage,.parking-map-page .parking-map-stage *{-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
.parking-canvas .map-row-occupancy{gap:3px}
.parking-canvas .map-row-occupancy b{padding:0;border-radius:0;background:transparent;font-size:9px;font-weight:900;line-height:1}
.parking-canvas .map-row-occupancy .is-occupied{color:#ff6464}
.parking-canvas .map-row-occupancy .is-free{color:#85d7a0}
.parking-canvas .map-row-occupancy>i{color:#737b85;font-size:8px;font-style:normal;font-weight:700}
.parking-canvas .map-row.is-vertical .map-row-occupancy{flex-direction:row;justify-content:center;gap:2px}
.parking-canvas .map-row.is-vertical .map-row-occupancy b{padding:0;font-size:8px}
.parking-canvas .map-row.is-vertical .map-row-actions{right:2px;top:2px;flex-direction:column}
.client-car-brand-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.client-car-brand-add{width:24px;height:24px;flex:0 0 24px;border:1px solid var(--theme-border);border-radius:6px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);display:grid;place-items:center;text-decoration:none;font-size:9px}.client-car-brand-add:hover{color:var(--theme-primary-text);background:var(--theme-primary)}
.parking-map-page .map-remove-row-action{border-color:rgba(255,100,100,.22);color:#ff8b8b}
.parking-map-page .map-remove-row-action:hover{border-color:rgba(255,100,100,.42);background:rgba(255,80,80,.08)}
.map-pool .map-row-occupancy{align-items:center;gap:4px}
.map-pool .map-row-occupancy b{padding:0;border-radius:0;background:transparent;font-size:10px;font-weight:900}
.map-pool .map-row-occupancy .is-occupied{color:#ff6464}
.map-pool .map-row-occupancy .is-free{color:#85d7a0}
.map-pool .map-row-occupancy>i{color:#737b85;font-size:9px;font-style:normal}
.parking-map-page .parking-map-stage{will-change:auto}
.parking-map-page .map-zoom-hint button{min-height:22px;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:0 7px;color:#dfe3e7;background:#181b1f;display:flex;align-items:center;gap:5px;cursor:pointer;font-size:8px;font-weight:850}
.parking-map-page .map-zoom-hint button:hover{border-color:rgba(255,255,255,.3);background:#20242a}
.parking-map-page .map-pool .map-row.is-unplaced .map-row-actions{position:absolute;right:8px;top:50%;margin:0;transform:translateY(-50%);justify-content:flex-end;opacity:1}
.parking-map-page .map-pool .map-row.is-unplaced .map-row-main{padding-right:92px}
.parking-map-page .parking-map-stage{cursor:grab;touch-action:none}
.parking-map-page .parking-canvas.is-panning,.parking-map-page .parking-canvas.is-panning .parking-map-stage{cursor:grabbing}



}
/* crm-module-tariffs : assets/css/tariffs.css */
@scope (body.tariffs-page) {
.tariffs-shell { padding: 4px 18px 30px; }
.tariffs-commandbar,.tariffs-filterbar { display:flex;align-items:center;justify-content:space-between;gap:14px; }
.tariffs-commandbar { margin-bottom:10px; }
.tariffs-command-actions { display:flex;gap:9px; }
.tariffs-command-actions button,.tariff-refresh,.tariff-sort { min-height:36px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:inherit;font-size:12px;font-weight:900; }
.tariff-refresh,.tariff-sort { color:var(--dash-text);background:var(--crm-surface-subtle); }
.tariff-refresh:hover,.tariff-sort:hover { border-color:rgba(244,246,248,.34);background:rgba(255,255,255,.075); }
.tariff-search { width:min(260px,100%);min-height:36px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 11px;color:var(--dash-muted);background:rgba(0,0,0,.24);display:flex;align-items:center;gap:8px; }
.tariff-search input { width:100%;border:0;color:var(--crm-color-white);background:transparent;outline:0;font:inherit;font-size:12px; }
.tariffs-filterbar { margin-bottom:12px; }
.tariff-filter-tabs { border:1px solid var(--dash-line);border-radius:10px;padding:3px;background:rgba(255,255,255,.025);display:inline-flex;gap:2px; }
.tariff-filter-tabs button { min-height:30px;border:1px solid transparent;border-radius:8px;padding:0 10px;color:var(--dash-muted);background:transparent;cursor:pointer;font:inherit;font-size:11px;font-weight:900;transition:.2s ease; }
.tariff-filter-tabs button.is-active { border-color:var(--dash-line-strong);color:var(--crm-color-ink);background:var(--crm-gradient-primary); }
.tariff-filter-tabs span { min-width:19px;height:19px;border-radius:999px;margin-left:4px;padding:0 5px;color:#e7ebf0;background:rgba(255,255,255,.13);display:inline-grid;place-items:center; }
.tariff-filter-tabs button.is-active span { color:var(--crm-color-text);background:#303338; }
.tariff-sort { min-height:31px;border:0;background:transparent; }
.tariff-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,400px));gap:12px;justify-content:start; }
.tariff-card { position:relative;min-width:0;border:1px solid color-mix(in srgb,var(--tariff-color,var(--crm-color-icon)) 35%,var(--dash-line-strong));border-radius:12px;color:var(--dash-text);background:linear-gradient(145deg,color-mix(in srgb,var(--tariff-color,var(--crm-color-icon)) 9%,transparent),rgba(255,255,255,.018));box-shadow:0 18px 42px rgba(0,0,0,.16);overflow:hidden;transition:opacity .2s ease,border-color .2s ease,transform .2s ease,background .2s ease; }
.tariff-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--tariff-color,var(--crm-color-icon));box-shadow:0 0 18px color-mix(in srgb,var(--tariff-color,var(--crm-color-icon)) 60%,transparent)}
.tariff-card:hover { border-color:rgba(244,246,248,.34);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));transform:translateY(-2px); }
.tariff-card.is-disabled { opacity:.58; }
.tariff-card.is-hidden { display:none; }
.tariff-card-head { min-height:78px;border-bottom:1px solid var(--dash-line);padding:14px 16px;background:rgba(255,255,255,.018);display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px; }
.tariff-card-icon { width:40px;height:40px;border:1px solid color-mix(in srgb,var(--tariff-color,var(--crm-color-icon)) 45%,var(--dash-line));border-radius:10px;color:var(--tariff-color,#f1f4f7);background:color-mix(in srgb,var(--tariff-color,var(--crm-color-icon)) 12%,transparent);display:grid;place-items:center;font-size:17px; }
.tariff-card-head h3 { margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px; }
.tariff-card-head small { color:var(--dash-muted);font-size:10px; }
.tariff-card-actions { display:flex;gap:2px;opacity:0;transition:opacity .18s ease; }
.tariff-card:hover .tariff-card-actions { opacity:1; }
.tariff-card-actions button { width:30px;height:30px;border:0;border-radius:7px;color:#dce1e7;background:transparent;cursor:pointer; }
.tariff-card-actions button:hover { background:var(--crm-surface-hover); }
.tariff-card-actions button.is-danger { color:#ff647c; }
.tariff-card-body { padding:16px; }
.tariff-card-values { display:flex;align-items:baseline;justify-content:space-between;gap:12px; }
.tariff-card-values > div { display:flex;align-items:baseline;gap:4px; }
.tariff-card-values strong { font-size:25px;line-height:1; }
.tariff-card-values small { color:var(--dash-muted);font-size:10px;font-weight:900; }
.tariff-active-form { margin:17px 0; }
.tariff-inline-switch { border:0;padding:0;color:#dce1e7;background:transparent;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font:inherit;font-size:11px;font-weight:900; }
.tariff-inline-switch > span { width:28px;height:16px;border-radius:999px;padding:2px;background:#555b64;display:block;transition:background .2s ease; }
.tariff-inline-switch > span::before { content:"";width:12px;height:12px;border-radius:50%;background:#d9dee5;display:block;transition:transform .22s ease; }
.tariff-inline-switch.is-active > span { background:#e7ebf0; }
.tariff-inline-switch.is-active > span::before { background:#202329;transform:translateX(12px); }
.tariff-inline-switch:disabled { cursor:default; }
.tariff-capacity-bar { height:11px;border:1px solid var(--dash-line);border-radius:6px;background:var(--crm-surface-subtle);overflow:hidden; }
.tariff-capacity-bar span { height:100%;background:linear-gradient(90deg,#aeb4bc,var(--crm-color-text));display:block; }
.tariff-capacity-legend { margin-top:9px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap; }
.tariff-capacity-legend span { color:#c6cdd6;display:inline-flex;align-items:center;gap:4px;font-size:9px; }
.tariff-capacity-legend i { width:7px;height:7px;border-radius:2px;background:#656c75; }
.tariff-capacity-legend i.is-reserved { background:#969da6; }.tariff-capacity-legend i.is-free { background:#e5e8ec; }
.tariff-capacity-legend b { display:none; }
.tariff-unlimited { min-height:38px;border:1px dashed var(--dash-line);border-radius:8px;color:var(--dash-muted);display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px; }
.tariff-method { margin:10px 0 0;color:var(--dash-muted);display:flex;align-items:center;gap:6px;font-size:10px; }
.tariff-empty { min-height:280px;color:var(--dash-muted);display:none;place-items:center;align-content:center;gap:8px; }.tariff-empty.is-visible{display:grid}.tariff-empty i{font-size:28px}
.tariff-modal-dialog { width:min(640px,calc(100vw - 24px)); }.tariff-delete-dialog{width:min(460px,calc(100vw - 24px));}
.tariff-form { padding:18px;display:grid;gap:15px; }.tariff-field{color:var(--dash-muted);display:grid;gap:7px;font-size:12px;font-weight:900}.tariff-field>span{display:flex;gap:5px}.tariff-field b{color:#ff8298}.tariff-field em{color:#737b86;font-size:10px;font-style:normal;font-weight:600}.tariff-field input{width:100%;min-height:42px;border:1px solid var(--dash-line);border-radius:10px;padding:0 12px;color:var(--crm-color-white);background:var(--crm-color-surface);outline:0;font:inherit}.tariff-field small{color:#727b87;font-weight:600;line-height:1.4}.tariff-input-suffix{position:relative}.tariff-input-suffix input{padding-right:42px}.tariff-input-suffix i{position:absolute;right:14px;top:50%;color:var(--dash-muted);transform:translateY(-50%);font-style:normal}
.tariff-enabled-field{border:1px solid var(--dash-line);border-radius:11px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.02)}.tariff-enabled-field>div{display:grid;gap:3px}.tariff-enabled-field strong{font-size:13px}.tariff-enabled-field span{color:var(--dash-muted);font-size:11px}.tariff-switch{width:46px;height:26px;border:1px solid var(--dash-line-strong);border-radius:999px;padding:3px;background:#202329;cursor:pointer}.tariff-switch span{width:18px;height:18px;border-radius:50%;background:#9ba2ac;display:block;transition:transform .24s ease}.tariff-switch.is-active{background:#f1f3f5}.tariff-switch.is-active span{background:var(--crm-color-surface);transform:translateX(18px)}
.tariff-method-select{position:relative}.tariff-method-toggle{width:100%;min-height:42px;border:1px solid var(--dash-line-strong);border-radius:10px;padding:0 12px;color:var(--crm-color-text);background:var(--crm-color-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.tariff-method-toggle i{color:var(--dash-muted);font-size:11px;transition:transform .2s ease}.tariff-method-select.is-open .tariff-method-toggle{border-color:rgba(244,246,248,.45)}.tariff-method-select.is-open .tariff-method-toggle i{transform:rotate(180deg)}.tariff-method-options{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;border:1px solid var(--dash-line-strong);border-radius:10px;padding:5px;background:var(--crm-color-surface-raised);box-shadow:0 18px 48px rgba(0,0,0,.52);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}.tariff-method-select.is-open .tariff-method-options{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.tariff-method-options button{width:100%;min-height:38px;border:0;border-radius:7px;padding:0 10px;color:var(--crm-color-text-secondary);background:transparent;display:flex;align-items:center;cursor:pointer;text-align:left}.tariff-method-options button:hover,.tariff-method-options button.is-selected{color:var(--crm-color-ink);background:var(--crm-gradient-primary)}
.tariff-modal-actions{padding-top:14px;display:grid;grid-template-columns:1fr;gap:9px}.tariff-modal-actions button{width:100%;min-height:40px;justify-content:center}.tariff-delete-form{padding:18px;display:grid;gap:16px}.tariff-delete-form p{margin:0;color:var(--dash-muted)}
@media(max-width:760px){.tariffs-commandbar,.tariffs-filterbar{align-items:stretch;flex-direction:column}.tariff-search{width:100%}.tariff-sort{align-self:flex-end}.tariff-grid{grid-template-columns:1fr}.tariffs-command-actions button{flex:1}}

.tariff-group-create{min-height:36px;border:1px solid var(--dash-line-strong);border-radius:6px;padding:0 13px;color:#e7ebf0;background:var(--crm-surface-subtle);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:12px;font-weight:900}.tariff-group-create:hover{border-color:rgba(244,246,248,.34);background:rgba(255,255,255,.075)}
.tariff-groups{display:grid;gap:17px}.tariff-group-section{border:1px solid var(--dash-line);border-radius:14px;padding:12px;background:rgba(255,255,255,.012);transition:opacity .2s ease,border-color .2s ease}.tariff-group-section.is-disabled{opacity:.62}.tariff-group-section.is-filtered-out{display:none}.tariff-group-head{min-height:58px;margin-bottom:11px;padding:0 4px;display:grid;grid-template-columns:38px minmax(0,1fr) auto auto auto;align-items:center;gap:10px}.tariff-group-icon{width:38px;height:38px;border:1px solid var(--dash-line);border-radius:9px;color:#e8ebef;background:rgba(255,255,255,.045);display:grid;place-items:center}.tariff-group-title{min-width:0}.tariff-group-title h2{margin:0 0 3px;font-size:15px}.tariff-group-title p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dash-muted);font-size:10px}.tariff-group-count{border:1px solid var(--dash-line);border-radius:999px;padding:5px 9px;color:var(--dash-muted);font-size:10px;white-space:nowrap}.tariff-group-count b{color:var(--crm-color-white)}.tariff-group-status{border-radius:999px;padding:5px 9px;color:#aeb5be;background:rgba(255,255,255,.055);font-size:9px;font-weight:900}.tariff-group-status.is-active{color:var(--crm-color-ink);background:var(--crm-gradient-primary)}.tariff-group-actions{display:flex;gap:3px}.tariff-group-actions button{width:30px;height:30px;border:0;border-radius:6px;color:#dce1e7;background:transparent;cursor:pointer}.tariff-group-actions button:hover{background:var(--crm-surface-hover)}.tariff-group-actions button.is-danger{color:#ff647c}.tariff-group-empty{display:none;margin:10px 0 2px;border:1px dashed var(--dash-line);border-radius:9px;padding:18px;color:var(--dash-muted);text-align:center;font-size:10px}.tariff-group-empty.is-visible{display:block}
.tariff-special-rate{margin:13px 0 0;border:1px solid var(--dash-line);border-radius:9px;padding:10px 11px;background:rgba(255,255,255,.025);display:flex;align-items:center;gap:9px}.tariff-special-rate>i{width:28px;height:28px;border-radius:7px;background:rgba(255,255,255,.06);display:grid;place-items:center}.tariff-special-rate>span{display:grid;gap:2px}.tariff-special-rate b{font-size:12px}.tariff-special-rate small{color:var(--dash-muted);font-size:9px}.tariff-rounding{margin:8px 0 0;color:var(--dash-muted);display:flex;align-items:flex-start;gap:6px;font-size:9px;line-height:1.35}.tariff-rounding i{margin-top:1px}
.tariff-hourly-preview{display:none!important;border:1px solid var(--dash-line);border-radius:7px;padding:8px 10px;color:var(--dash-muted)!important;background:rgba(255,255,255,.025)}.tariff-hourly-preview.is-visible{display:block!important}.tariff-hourly-preview b{color:var(--crm-color-text)!important}
.tariff-custom-select{position:relative}.tariff-custom-select-toggle{width:100%;min-height:42px;border:1px solid var(--dash-line-strong);border-radius:10px;padding:0 12px;color:var(--crm-color-text);background:var(--crm-color-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.tariff-custom-select-toggle i{color:var(--dash-muted);font-size:11px;transition:transform .2s ease}.tariff-custom-select.is-open .tariff-custom-select-toggle{border-color:rgba(244,246,248,.45)}.tariff-custom-select.is-open .tariff-custom-select-toggle i{transform:rotate(180deg)}.tariff-custom-select-options{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:32;border:1px solid var(--dash-line-strong);border-radius:10px;padding:5px;background:var(--crm-color-surface-raised);box-shadow:0 18px 48px rgba(0,0,0,.52);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}.tariff-custom-select.is-open .tariff-custom-select-options{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.tariff-custom-select-options button{width:100%;min-height:38px;border:0;border-radius:7px;padding:0 10px;color:var(--crm-color-text-secondary);background:transparent;display:flex;align-items:center;cursor:pointer;text-align:left}.tariff-custom-select-options button:hover,.tariff-custom-select-options button.is-selected{color:var(--crm-color-ink);background:var(--crm-gradient-primary)}
@media(max-width:760px){.tariff-group-head{grid-template-columns:38px minmax(0,1fr) auto}.tariff-group-count{display:none}.tariff-group-status{grid-column:2}.tariff-group-actions{grid-column:3;grid-row:1/3}.tariff-group-section{padding:9px}.tariffs-command-actions{flex-wrap:wrap}.tariffs-command-actions button{flex:1 1 135px}}
.tariff-validity{display:grid;gap:10px}.tariff-validity-fields{display:none;border:1px solid var(--dash-line);border-radius:10px;padding:12px;background:rgba(255,255,255,.018);gap:13px}.tariff-validity-fields.is-visible{display:grid}.tariff-custom-select-options{max-height:240px;overflow-y:auto}.tariff-custom-select-options button.is-method-hidden{display:none}
.tariff-date-field{position:relative}.tariff-date-toggle{min-height:42px;border-radius:10px;background:var(--crm-color-surface)}.tariff-date-toggle span{flex:1;text-align:left}.tariff-date-toggle>i:last-child{color:var(--dash-muted);font-size:10px}.tariff-date-field:has(.date-picker.is-open) .tariff-date-toggle>i:last-child{transform:rotate(180deg)}.tariff-date-field .date-picker{z-index:80}
.tariff-color-control{min-height:48px;border:1px solid var(--dash-line);border-radius:11px;padding:7px 9px;background:var(--crm-color-surface);display:flex;align-items:center;gap:10px}.tariff-color-control input[type=color]{width:34px;min-width:34px;height:34px;min-height:34px;border:0;border-radius:8px;padding:0;overflow:hidden;cursor:pointer}.tariff-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.tariff-color-control input[type=color]::-webkit-color-swatch{border:0;border-radius:7px}.tariff-color-swatches{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tariff-color-swatches button{width:24px;height:24px;border:2px solid transparent;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px rgba(255,255,255,.12);cursor:pointer;transition:transform .16s ease,border-color .16s ease}.tariff-color-swatches button:hover{transform:scale(1.12)}.tariff-color-swatches button.is-selected{border-color:var(--crm-color-white);box-shadow:0 0 0 2px var(--swatch)}.tariff-color-control strong{margin-left:auto;color:#aab1bc;font-size:11px}.tariff-row-picker{max-height:218px;border:1px solid var(--dash-line);border-radius:11px;padding:6px;background:var(--crm-color-surface);overflow-y:auto;display:grid;gap:4px;scrollbar-width:thin;scrollbar-color:#646b75 var(--crm-color-surface-raised)}.tariff-row-picker::-webkit-scrollbar{width:9px}.tariff-row-picker::-webkit-scrollbar-track{margin:6px 0;border-radius:999px;background:var(--crm-color-surface-raised)}.tariff-row-picker::-webkit-scrollbar-thumb{border:2px solid var(--crm-color-surface-raised);border-radius:999px;background:linear-gradient(180deg,#858c96,#515761)}.tariff-row-picker::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--crm-color-icon),#676e78)}.tariff-row-option{min-height:48px;border:1px solid transparent;border-radius:9px;padding:7px 10px;color:#e6e9ed;background:rgba(255,255,255,.025);display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;cursor:pointer}.tariff-row-option input{position:absolute;opacity:0;pointer-events:none}.tariff-row-option span{display:grid;gap:2px}.tariff-row-option b{color:inherit}.tariff-row-option small{color:#737b86;font-size:10px}.tariff-row-option>i{width:22px;height:22px;border:1px solid var(--dash-line-strong);border-radius:7px;color:transparent;display:grid;place-items:center;font-size:10px}.tariff-row-option.is-selected{border-color:rgba(244,246,248,.38);background:rgba(255,255,255,.085)}.tariff-row-option.is-selected>i{color:var(--crm-color-surface);background:var(--crm-color-text)}.tariff-row-picker-empty{border:1px dashed var(--dash-line-strong);border-radius:11px;padding:16px;color:#737b86;text-align:center}.tariff-rows{margin:10px 0 0;color:#8e97a3;display:flex;align-items:center;gap:7px;font-size:11px}.tariff-rows i{color:var(--tariff-color,var(--crm-color-icon))}.tariff-rows b{color:#dfe3e8}
.tariff-successor{margin:8px 0 0;border:1px solid var(--dash-line);border-radius:7px;padding:7px 9px;color:var(--dash-muted);display:flex;align-items:center;gap:6px;font-size:9px}.tariff-successor b{color:var(--crm-color-text)}



}
/* crm-module-settings : assets/css/settings.css */
@scope (body.settings-page) {
.settings-form{display:grid;gap:16px;padding-bottom:28px}.settings-panel{border:1px solid var(--dash-line-strong);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));overflow:visible}.settings-panel-head{min-height:82px;border-bottom:1px solid var(--dash-line);padding:16px 18px;display:flex;align-items:center;gap:13px}.settings-panel-head h1{margin:0 0 5px;font-size:17px}.settings-panel-head p{margin:0;color:var(--dash-muted);font-size:12px}.settings-panel-icon{width:43px;height:43px;border:1px solid var(--dash-line);border-radius:10px;background:rgba(255,255,255,.045);display:grid;place-items:center}.settings-panel-body{padding:18px;display:grid;gap:18px}.settings-brand-grid{grid-template-columns:minmax(240px,1fr) minmax(300px,1fr);align-items:start}.settings-field{min-width:0;color:var(--dash-muted);display:grid;gap:8px;font-size:12px;font-weight:900}.settings-field>span{display:flex;gap:5px}.settings-field b{color:#ff8298}.settings-field input[type=text],.settings-field input[type=datetime-local]{width:100%;min-height:44px;border:1px solid var(--dash-line-strong);border-radius:8px;padding:0 12px;color:var(--crm-color-white);background:var(--crm-color-surface);outline:0}.settings-field input:focus{border-color:rgba(244,246,248,.48)}.settings-logo-field{display:flex;align-items:center;gap:15px}.settings-logo-preview{width:92px;height:92px;border:1px solid var(--dash-line-strong);border-radius:18px;background:var(--crm-color-surface);display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.settings-logo-preview img{width:100%;height:100%;padding:10px;object-fit:contain}.settings-logo-preview i{font-size:34px;color:var(--crm-color-text-secondary)}.settings-logo-control{display:grid;justify-items:start;gap:7px}.settings-logo-control>strong{font-size:12px}.settings-logo-control small{color:var(--dash-muted);font-size:10px}.settings-upload-button{min-height:36px;border:1px solid var(--dash-line-strong);border-radius:7px;padding:0 12px;color:#e9edf2;background:rgba(255,255,255,.04);display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:11px;font-weight:900}.settings-upload-button:hover{background:var(--crm-surface-hover)}.settings-upload-button input{display:none}.settings-remove-logo{border:0;padding:0;color:#ff98a8;background:transparent;cursor:pointer;font-size:10px}.settings-clock-preview{min-height:86px;border:1px solid var(--dash-line);border-radius:11px;padding:14px 16px;background:rgba(0,0,0,.18);display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 16px}.settings-clock-preview span{grid-column:1;color:var(--dash-muted);font-size:10px}.settings-clock-preview strong{grid-column:1;font-size:18px}.settings-clock-preview b{grid-column:2;grid-row:1/3;font-size:30px}.settings-timezone-select{position:relative}.settings-timezone-toggle{width:100%;min-height:44px;border:1px solid var(--dash-line-strong);border-radius:8px;padding:0 13px;color:var(--crm-color-text);background:var(--crm-color-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.settings-timezone-toggle i{font-size:11px;transition:transform .2s ease}.settings-timezone-select.is-open .settings-timezone-toggle i{transform:rotate(180deg)}.settings-timezone-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;border:1px solid var(--dash-line-strong);border-radius:11px;padding:8px;background:#15171a;box-shadow:0 24px 70px rgba(0,0,0,.62);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}.settings-timezone-select.is-open .settings-timezone-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.settings-timezone-menu>label{height:38px;border:1px solid var(--dash-line);border-radius:7px;padding:0 10px;color:var(--dash-muted);background:#0e1012;display:flex;align-items:center;gap:8px}.settings-timezone-menu input{width:100%;border:0;outline:0;color:var(--crm-color-white);background:transparent}.settings-timezone-options{max-height:270px;margin-top:7px;overflow-y:auto;display:grid;gap:2px}.settings-timezone-options button{min-height:36px;border:0;border-radius:6px;padding:0 10px;color:#d6dce4;background:transparent;cursor:pointer;text-align:left;font-size:11px}.settings-timezone-options button:hover,.settings-timezone-options button.is-selected{color:var(--crm-color-ink);background:var(--crm-gradient-primary)}.settings-timezone-options button.is-hidden{display:none}.settings-timezone-empty{display:none;margin:12px;color:var(--dash-muted);text-align:center;font-size:11px}.settings-timezone-empty.is-visible{display:block}.settings-time-mode{display:grid;grid-template-columns:1fr 1fr;gap:9px}.settings-time-mode button{min-height:72px;border:1px solid var(--dash-line);border-radius:10px;padding:11px 13px;color:#cbd1d9;background:rgba(255,255,255,.025);display:flex;align-items:center;gap:11px;cursor:pointer;text-align:left}.settings-time-mode button>i{width:29px;font-size:18px;text-align:center}.settings-time-mode button>span{display:grid;gap:4px}.settings-time-mode button strong{font-size:12px}.settings-time-mode button small{color:var(--dash-muted);font-size:10px;line-height:1.35}.settings-time-mode button.is-active{border-color:rgba(244,246,248,.58);color:var(--crm-color-ink);background:var(--crm-gradient-primary)}.settings-time-mode button.is-active small{color:#555b64}.settings-manual-time{display:none}.settings-manual-time.is-visible{display:grid}.settings-actions{display:flex;justify-content:flex-end}.settings-actions .primary-action{min-width:220px}.settings-page button:disabled,.settings-page input:disabled{opacity:.55;cursor:not-allowed}@media(max-width:760px){.settings-brand-grid,.settings-time-mode{grid-template-columns:1fr}.settings-logo-field{align-items:flex-start}.settings-clock-preview{grid-template-columns:1fr auto}.settings-panel-body{padding:14px}.settings-panel-head{padding:14px}.settings-actions .primary-action{width:100%}}
.theme-settings{grid-template-columns:1fr!important}.theme-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.theme-card{text-decoration:none}.theme-create-link{min-height:38px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 13px;color:var(--theme-primary-text);background:var(--theme-primary);display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:850}.settings-tabs{display:flex;gap:5px;margin:0 0 16px;padding:5px;border:1px solid var(--dash-line);border-radius:13px;background:var(--theme-surface,#0f172a)}
.theme-library-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.theme-library-tools>a,.theme-library-tools label{min-height:38px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 12px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:11px;font-weight:850;cursor:pointer}.theme-library-tools form{margin:0}.theme-library-tools input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.theme-card-shell{position:relative;min-width:0}.theme-card-shell .theme-card{padding-right:45px}.theme-export{position:absolute;right:9px;top:50%;z-index:2;width:32px;height:32px;border:1px solid var(--dash-line);border-radius:8px;color:var(--theme-muted);background:var(--theme-surface-alt);display:grid;place-items:center;text-decoration:none;transform:translateY(-50%)}.theme-export:hover{color:var(--theme-text);background:var(--theme-hover)}
.settings-tabs button{min-height:42px;border:0;border-radius:9px;padding:0 16px;color:var(--dash-muted);background:transparent;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:850}.settings-tabs button.is-active{color:var(--theme-primary-text,var(--crm-color-white));background:var(--theme-primary,#3b82f6)}
[data-settings-panel][hidden]{display:none!important}.theme-settings{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px}.theme-library,.theme-builder{border:1px solid var(--dash-line);border-radius:15px;background:var(--theme-surface,#0f172a);overflow:hidden}.theme-library>header,.theme-builder>header{min-height:78px;padding:14px 16px;border-bottom:1px solid var(--dash-line);display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-library h1,.theme-builder h2{margin:3px 0;font-size:17px}.theme-library p,.theme-builder header>span{margin:0;color:var(--dash-muted);font-size:11px}.theme-library small,.theme-builder small{color:var(--theme-primary,#3b82f6);font-size:9px;font-weight:950;letter-spacing:.1em}.theme-library>header>button{min-height:36px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 11px;color:var(--theme-text,var(--crm-color-white));background:var(--theme-surface-alt,#111c31);cursor:pointer}.theme-cards{padding:10px;display:grid;gap:7px}.theme-card{width:100%;min-height:60px;border:1px solid transparent;border-radius:11px;padding:8px;color:var(--theme-text,var(--crm-color-white));background:transparent;display:grid;grid-template-columns:42px 1fr 14px;align-items:center;gap:10px;text-align:left;cursor:pointer}.theme-card:hover,.theme-card.is-active{border-color:var(--dash-line-strong);background:var(--theme-hover,#18243a)}.theme-card>i{width:42px;height:42px;border:6px solid var(--card-bg);border-radius:10px;background:linear-gradient(135deg,var(--card-surface) 65%,var(--card-accent) 66%)}.theme-card span{display:grid;gap:3px}.theme-card small{color:var(--dash-muted);letter-spacing:0}.theme-builder{padding-bottom:16px}.theme-name{margin:16px 16px 0;display:grid;gap:7px;color:var(--dash-muted);font-size:12px;font-weight:850}.theme-name input{min-height:43px;border:1px solid var(--dash-line-strong);border-radius:10px;padding:0 12px;color:var(--theme-text);background:var(--theme-input)}
.theme-preview{--p-bg:#020617;--p-surface:#0f172a;--p-alt:#111c31;--p-border:#26344d;--p-accent:#3b82f6;margin:16px;height:210px;border:8px solid var(--p-bg);border-radius:15px;background:var(--p-bg);display:grid;grid-template-columns:58px 1fr;gap:8px;overflow:hidden}.theme-preview aside{padding:8px;border:1px solid var(--p-border);border-radius:10px;background:var(--p-surface);display:grid;align-content:start;gap:9px}.theme-preview aside i{height:28px;border-radius:7px;background:var(--p-alt)}.theme-preview aside i:first-child{background:var(--p-accent)}.theme-preview main{padding:8px;display:grid;grid-template-rows:30px 62px 1fr;gap:8px}.theme-preview main header,.theme-preview main article,.theme-preview main section div{border:1px solid var(--p-border);border-radius:8px;background:var(--p-surface)}.theme-preview main section{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.theme-preview main article{padding:10px;display:grid;grid-template-columns:25% 1fr 1fr;gap:8px}.theme-preview main article>*{border-radius:5px;background:var(--p-alt)}.theme-preview main article b{background:var(--p-accent)}
.theme-color-grid{padding:0 16px;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:9px}.theme-color{min-width:0;border:1px solid var(--dash-line);border-radius:11px;padding:9px;background:var(--theme-surface-alt,#111c31);display:grid;gap:7px}.theme-color>span{color:var(--dash-muted);font-size:10px;font-weight:850}.theme-color>div{display:flex;align-items:center;gap:8px}.theme-color input{width:34px;height:34px;border:0;border-radius:8px;padding:0;background:transparent;cursor:pointer}.theme-color code{color:var(--theme-text,var(--crm-color-white));font-size:11px}.theme-actions{padding:16px 16px 0;display:flex;gap:8px}.theme-actions>button{min-height:42px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 14px;color:var(--theme-text);background:var(--theme-surface-alt);cursor:pointer}.theme-actions .primary-action{color:var(--theme-primary-text);background:var(--theme-primary)}
@media(max-width:1000px){.theme-settings{grid-template-columns:1fr}.theme-color-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.settings-tabs{overflow-x:auto}.settings-tabs button{white-space:nowrap}.theme-color-grid{grid-template-columns:1fr}.theme-library>header,.theme-builder>header{align-items:flex-start;flex-direction:column}.theme-preview{height:170px}.theme-actions{flex-direction:column}}
.theme-actions .theme-delete{margin-left:auto!important;color:var(--crm-color-white)!important;background:var(--theme-danger,#ef4444)!important;border-color:color-mix(in srgb,var(--theme-danger,#ef4444) 70%,var(--crm-color-white))!important}.theme-actions .theme-delete[hidden]{display:none!important}



}
/* crm-module-profile : assets/css/profile.css */
@scope (body.profile-page) {
.profile-grid { display: grid; gap: 18px; }
.profile-card,
.profile-panel { border: 1px solid var(--dash-line); border-radius: 12px; background: var(--crm-gradient-panel); box-shadow: 0 18px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter: blur(16px); }
.profile-card { padding: 22px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; }
.profile-avatar { width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid rgba(244,246,248,.6); border-radius: 50%; color: var(--crm-color-ink); background: var(--crm-gradient-primary); font-size: 25px; }
.profile-card small,
.profile-card p,
.profile-panel p,
.profile-arisid-status small { color: var(--dash-muted); }
.profile-card h1 { margin: 3px 0 5px; color: var(--crm-color-white); font-size: 22px; }
.profile-card p,
.profile-panel p { margin: 0; }
.profile-logout,
.profile-secondary,
.profile-primary { min-height: 42px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--dash-line); border-radius: 12px; color: var(--crm-color-white); background: var(--crm-surface-subtle); font: inherit; font-weight: 800; cursor: pointer; text-decoration: none; }
.profile-logout { color: var(--crm-color-danger-soft); border-color: rgba(255,145,162,.26); background: rgba(255,80,108,.08); }
.profile-panel { padding: 22px; }
.profile-panel header { display: flex; gap: 13px; align-items: flex-start; }
.profile-panel header > span { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(244,246,248,.6); border-radius: 12px; color: var(--crm-color-ink); background: var(--crm-gradient-primary); }
.profile-panel h2 { margin: 0 0 5px; color: var(--crm-color-white); font-size: 18px; }
.profile-arisid-status { margin-top: 20px; padding: 15px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(245,166,35,.25); border-radius: 12px; color: #e8b55f; background: rgba(245,166,35,.06); }
.profile-arisid-status.is-linked { color: #9ee5b8; border-color: rgba(54,179,126,.25); background: rgba(54,179,126,.07); }
.profile-arisid-status > i { font-size: 22px; }
.profile-arisid-status div { display: grid; gap: 3px; }
.profile-arisid-actions { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 10px; }
.profile-primary { color: var(--crm-color-ink); border-color: rgba(244,246,248,.6); background: var(--crm-gradient-primary); }
.profile-preference-form { margin-top: 20px; display: grid; gap: 14px; }
.profile-preference-form > .profile-primary { width: max-content; }
.profile-preference-switch { min-height: 72px; padding: 14px 16px; border: 1px solid var(--dash-line); border-radius: 12px; color: var(--crm-color-white); background: var(--crm-surface-subtle); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px; cursor: pointer; }
.profile-preference-switch > span { display: grid; gap: 5px; }
.profile-preference-switch small { color: var(--dash-muted); line-height: 1.45; }
.profile-preference-switch input { position: absolute; opacity: 0; pointer-events: none; }
.profile-preference-switch > i { position: relative; width: 46px; height: 26px; border-radius: 999px; background: var(--theme-secondary-button); box-shadow: inset 0 0 0 1px var(--dash-line); transition: .2s ease; }
.profile-preference-switch > i::after { content: ""; position: absolute; top: 4px; left: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--dash-muted); transition: .2s ease; }
.profile-preference-switch input:checked + i { background: var(--theme-primary); }
.profile-preference-switch input:checked + i::after { background: var(--theme-primary-text); transform: translateX(20px); }
.profile-preference-switch:focus-within { border-color: var(--theme-input-focus); box-shadow: 0 0 0 3px color-mix(in srgb,var(--theme-input-focus) 18%,transparent); }
@media (max-width: 720px) {
    .profile-card { grid-template-columns: auto 1fr; }
    .profile-logout { grid-column: 1 / -1; }
    .profile-arisid-actions > * { width: 100%; }
    .profile-preference-form > .profile-primary { width: 100%; }
}



}
/* crm-module-shift-reports : assets/css/shift-reports.css */
@scope (body.shift-reports-page) {
.shift-report-panel{overflow:visible}.shift-report-toolbar{padding:14px 14px 0;display:flex;align-items:flex-end;gap:12px}.shift-report-search{width:min(100%,520px);display:grid;gap:7px;color:var(--theme-muted);font-size:11px;font-weight:800}.shift-report-search>div{height:42px;border:1px solid var(--theme-border);border-radius:10px;padding:0 11px;color:var(--theme-muted);background:var(--theme-surface-alt);display:flex;align-items:center;gap:9px;transition:border-color .18s ease,box-shadow .18s ease}.shift-report-search>div:focus-within{border-color:var(--theme-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 18%,transparent)}.shift-report-search input{width:100%;min-width:0;border:0;outline:0;color:var(--theme-text);background:transparent;font:inherit;font-size:13px}.shift-report-search input::-webkit-search-cancel-button{-webkit-appearance:none}.shift-report-search button{width:32px;height:32px;border:0;border-radius:8px;color:var(--theme-muted);background:transparent;cursor:pointer}.shift-report-search button:hover{color:var(--theme-text);background:var(--theme-secondary-button)}.shift-report-status{min-height:20px;padding:5px 14px 0;color:var(--theme-muted);font-size:11px}.shift-report-panel.is-loading .shift-report-list{opacity:.52;pointer-events:none}.shift-report-list{padding:14px;display:grid;gap:12px;transition:opacity .15s ease}.shift-report-empty[hidden],.shift-report-pagination[hidden]{display:none}.shift-report-pagination{margin:0 14px 14px;padding:10px 12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;border:0!important;border-radius:10px!important;background:var(--theme-surface)!important;color:var(--theme-muted)!important}.shift-report-pagination .pagination-size-control,.shift-report-pagination nav,.shift-report-pagination [data-report-pages]{display:flex;align-items:center;gap:7px}.shift-report-pagination .pagination-size-control{gap:9px;white-space:nowrap}.shift-report-pagination .shift-report-page-info{font-size:12px;font-weight:700;white-space:nowrap}.shift-report-pagination button{height:36px;min-width:36px;border:1px solid var(--theme-border);border-radius:8px;padding:0 10px;color:var(--theme-text);background:var(--theme-secondary-button);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;font-weight:800}.shift-report-pagination button:hover:not(:disabled),.shift-report-pagination button.is-active{color:var(--theme-primary-text);border-color:var(--theme-primary);background:var(--theme-primary)}.shift-report-pagination button:focus-visible{outline:2px solid var(--theme-primary);outline-offset:2px}.shift-report-pagination button:disabled{opacity:.42;cursor:not-allowed}.shift-report-pagination .pagination-size-select>[data-report-size-toggle]{min-width:76px;padding:0 10px;justify-content:space-between;gap:12px}.shift-report-pagination .pagination-size-select>[data-report-size-toggle] i{font-size:9px;transition:transform .18s ease}.shift-report-pagination .pagination-size-select.is-open>[data-report-size-toggle] i{transform:rotate(180deg)}.shift-report-pagination .pagination-size-menu{top:auto;bottom:calc(100% + 6px);z-index:200;transform:translateY(5px)}.shift-report-pagination .pagination-size-select.is-open .pagination-size-menu{transform:none}.shift-report-pagination [data-report-pages]>i{min-width:18px;color:var(--theme-muted);font-style:normal;text-align:center}
.shift-report-card { border: 1px solid var(--dash-line); border-radius: 16px; padding: 16px; background: rgba(0,0,0,.18); display: grid; gap: 14px; }
.shift-report-card header, .shift-report-users, .shift-report-card footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.shift-report-card header > div { display: grid; gap: 4px; }
.shift-report-card header strong { color: var(--crm-color-white); font-size: 16px; }
.shift-report-card header span, .shift-report-users, .shift-report-card footer { color: var(--dash-muted); font-size: 13px; }
.shift-duration { min-height: 30px; padding: 0 10px; border: 1px solid var(--dash-line); border-radius: 999px; display: inline-flex; align-items: center; gap: 7px; }
.shift-report-users { padding: 10px 0; border-top: 1px solid var(--dash-line); border-bottom: 1px solid var(--dash-line); }
.shift-report-users b { color: var(--crm-color-text-secondary); }
.shift-report-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.shift-report-values > div { border: 1px solid var(--dash-line); border-radius: 12px; padding: 12px; background: rgba(255,255,255,.03); display: grid; gap: 5px; }
.shift-report-values span { color: var(--dash-muted); font-size: 12px; }
.shift-report-values strong { color: var(--crm-color-white); font-size: 16px; }
.shift-report-values .is-positive strong { color: var(--crm-color-success-soft); }
.shift-report-values .is-negative strong { color: var(--crm-color-danger-soft); }
.shift-report-banks { border: 1px solid var(--dash-line); border-radius: 12px; padding: 12px; display: grid; gap: 8px; }
.shift-report-banks h4 { margin: 0; color: var(--crm-color-white); font-size: 14px; display: flex; align-items: center; gap: 8px; }
.shift-report-banks > div { padding-top: 8px; border-top: 1px solid var(--dash-line); display: flex; justify-content: space-between; gap: 10px; color: var(--crm-color-text-secondary); font-size: 13px; }
.shift-report-banks small { color: var(--dash-muted); }
.shift-report-banks .shift-method-icon { width: 32px; height: 32px; flex: 0 0 auto; border: 1px solid var(--dash-line); border-radius: 9px; color: #dfe5eb; background: rgba(255,255,255,.045); display: grid; place-items: center; }
.shift-report-banks > div > span { flex: 1; display: grid; gap: 2px; }
.shift-report-operations { border: 1px solid var(--dash-line); border-radius: 12px; padding: 12px; display: grid; gap: 8px; }
.shift-report-operations h4 { margin: 0; color: var(--crm-color-white); font-size: 14px; }
.shift-report-operations > p { margin: 0; color: var(--dash-muted); font-size: 13px; }
.shift-operation { min-height: 58px; padding-top: 8px; border-top: 1px solid var(--dash-line); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; }
.shift-operation-icon { width: 34px; height: 34px; border: 1px solid var(--dash-line); border-radius: 10px; display: grid; place-items: center; }
.shift-operation-copy, .shift-operation-result { display: grid; gap: 3px; }
.shift-operation-copy small, .shift-operation-result small { color: var(--dash-muted); font-size: 11px; }
.shift-operation-result { text-align: right; }
.shift-operation.is-deposit .shift-operation-icon, .shift-operation.is-deposit .shift-operation-result strong { color: var(--crm-color-success-soft); }
.shift-operation.is-withdrawal .shift-operation-icon, .shift-operation.is-withdrawal .shift-operation-result strong { color: var(--crm-color-danger-soft); }
@media (max-width: 820px) { .shift-report-values { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 540px) { .shift-report-values { grid-template-columns: 1fr; } }
.shift-report-row.is-active-shift{border-color:rgba(74,218,151,.28);box-shadow:inset 3px 0 0 #4ada97}.shift-report-id strong em{margin-left:7px;border-radius:999px;padding:4px 7px;color:#aef0c7;background:rgba(34,190,107,.15);font-size:9px;font-style:normal}.shift-report-row.is-active-shift .shift-report-id>span{color:#75e2ad}
.shift-report-row{border:1px solid var(--dash-line);border-radius:14px;background:rgba(0,0,0,.18);overflow:visible}.shift-report-row>header{min-height:78px;padding:13px 15px;display:grid;grid-template-columns:minmax(230px,1fr) minmax(300px,1.4fr) auto;align-items:center;gap:16px}.shift-report-id{display:flex;align-items:center;gap:11px}.shift-report-id>span{width:38px;height:38px;border:1px solid var(--dash-line);border-radius:10px;color:#dfe4ea;background:rgba(255,255,255,.04);display:grid;place-items:center}.shift-report-id>div{display:grid;gap:4px}.shift-report-id strong{font-size:14px}.shift-report-id small,.shift-report-brief{color:var(--dash-muted);font-size:11px}.shift-report-brief{display:flex;align-items:center;justify-content:flex-end;gap:16px}.shift-report-brief b{color:#e8ecf1}.shift-report-row [data-show-shift]{min-width:112px;height:38px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 12px;color:#111;background:var(--crm-gradient-primary);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:900}.shift-report-loaded{border-top:1px solid var(--dash-line);padding:15px;display:grid;gap:14px}.shift-report-loaded[hidden]{display:none}.shift-detail-loading,.shift-detail-error{min-height:90px;color:var(--dash-muted);display:flex;align-items:center;justify-content:center;gap:9px}.shift-detail-error{color:#ff98a8}.shift-detail-section{border:1px solid var(--dash-line);border-radius:12px;padding:12px;display:grid;gap:8px}.shift-detail-section h4{margin:0;font-size:14px}.shift-detail-section h4 b{margin-left:5px;color:var(--dash-muted)}.shift-detail-section>p,.shift-report-banks>p{margin:0;color:var(--dash-muted);font-size:12px}.shift-detail-table-wrap{overflow-x:auto}.shift-detail-table-wrap table{width:100%;min-width:1050px;border-collapse:collapse;font-size:11px}.shift-detail-table-wrap th{height:34px;padding:0 9px;color:var(--dash-muted);background:var(--crm-surface-subtle);text-align:left}.shift-detail-table-wrap td{height:48px;padding:6px 9px;border-top:1px solid var(--dash-line);color:#e5e9ee}.shift-detail-table-wrap td small{margin-top:3px;color:var(--dash-muted);display:block}.report-status{border-radius:7px;padding:5px 7px;font-size:9px;font-weight:900}.report-status.is-active{color:#ffd590;background:rgba(255,164,43,.16)}.report-status.is-completed{color:#aef0c7;background:rgba(34,190,107,.16)}.report-status.is-cancelled{color:#ffadba;background:rgba(255,75,105,.16)}@media(max-width:900px){.shift-report-row>header{grid-template-columns:1fr auto}.shift-report-brief{grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:wrap}}@media(max-width:620px){.shift-report-pagination{align-items:stretch;flex-wrap:wrap}.shift-report-pagination nav{width:100%;justify-content:center}.shift-report-pagination>[data-report-page-info]{margin-left:auto}}@media(max-width:560px){.shift-report-toolbar{padding-inline:10px}.shift-report-search{width:100%}.shift-report-list{padding:10px}.shift-report-pagination{margin:0 10px 10px}.shift-report-row>header{grid-template-columns:1fr}.shift-report-row [data-show-shift]{width:100%;min-height:44px}.shift-report-brief{grid-column:auto;grid-row:auto}}



}
/* crm-module-sessions : assets/css/sessions.css */
@scope (body.workzone-page) {
:scope {
            --dash-bg: #060708;
            --dash-line: rgba(207, 211, 216, .14);
            --dash-line-strong: rgba(207, 211, 216, .24);
            --dash-text: var(--crm-color-text);
            --dash-muted: #9ca5b1;
            --dash-soft: #6d7480;
        }

        * {
            box-sizing: border-box;
        }

        body.dashboard-page {
            margin: 0;
            min-height: 100vh;
            color: var(--dash-text);
            background:
                linear-gradient(90deg, var(--crm-surface-subtle) 1px, transparent 1px),
                linear-gradient(180deg, rgba(255,255,255,.025) 1px, transparent 1px),
                radial-gradient(circle at 76% 0%, rgba(207, 211, 216, .08), transparent 38rem),
                var(--dash-bg);
            background-size: 72px 72px, 72px 72px, auto, auto;
            font-family: Arial, "Helvetica Neue", sans-serif;
            letter-spacing: 0;
        }

        button,
        input {
            font: inherit;
        }

        .shift-opening-modal { position: fixed; inset: 0; z-index: 2000; padding: 16px; background: rgba(0,0,0,.72); backdrop-filter: blur(10px); display: flex; align-items: center; justify-content: center; overflow-y: auto; }
        .shift-opening-body { min-height: 0; padding: 16px 24px 0; overflow-y: auto; display: grid; gap: 14px; }
        .shift-opening-body > .notice { margin: 0; }
        .shift-opening-body > label { color: var(--theme-muted); display: grid; gap: 8px; font-size: 12px; font-weight: 800; }
        .shift-opening-body > small { color: var(--theme-muted); }
        .shift-opening-body input { width: 100%; height: 42px; border: 1px solid var(--theme-border); border-radius: 10px; padding: 0 12px; color: var(--theme-text); background: var(--theme-input-background); outline: none; }
        .shift-opening-body input:focus { border-color: var(--theme-input-focus); }
        .shift-active-bar { margin-bottom: 14px; border: 1px solid rgba(127,209,144,.26); border-radius: 16px; padding: 13px 16px; color: var(--crm-color-success-soft); background: rgba(127,209,144,.08); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
        .shift-active-bar > div { display: flex; align-items: center; gap: 11px; }
        .shift-active-bar span { display: grid; gap: 2px; }
        .shift-active-bar small { color: var(--dash-muted); }
        .topbar-actions form { margin: 0; }
        .shift-close-modal { position: fixed; inset: 0; z-index: 1500; padding: 24px; background: rgba(0,0,0,.7); backdrop-filter: blur(8px); display: none; place-items: center; overflow-y: auto; }
        .other-pickup-action[hidden] { display: none !important; }
        .other-pickup-switch{width:100%;min-height:58px;border:1px solid var(--theme-border);border-radius:11px;padding:9px 12px;color:var(--theme-text);background:var(--theme-surface-alt);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.other-pickup-switch>span{display:flex;align-items:center;gap:11px}.other-pickup-switch>span>i{width:34px;height:34px;border-radius:8px;color:var(--theme-muted);background:var(--theme-secondary-button);display:grid;place-items:center}.other-pickup-switch>span>span{display:grid;gap:3px}.other-pickup-switch strong{font-size:12px}.other-pickup-switch small{color:var(--theme-muted);font-size:9px}.other-pickup-switch-track{position:relative;width:38px;height:22px;flex:0 0 38px;border-radius:999px;background:var(--theme-secondary-button);transition:.2s}.other-pickup-switch-track:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--theme-muted);transition:.2s}.other-pickup-switch.is-active{border-color:var(--theme-input-focus);background:color-mix(in srgb,var(--theme-primary) 7%,var(--theme-surface-alt))}.other-pickup-switch.is-active .other-pickup-switch-track{background:var(--theme-primary)}.other-pickup-switch.is-active .other-pickup-switch-track:after{background:var(--theme-primary-text);transform:translateX(16px)}
        .new-session-modal { z-index: 1500; }
        .new-session-modal.is-open { display: flex; }
        .new-session-form { min-height: 0; flex: 1; overflow-y: auto !important; padding: 12px 24px 0; background: var(--crm-color-bg-deep); display: flex; flex-direction: column; gap: 16px; scrollbar-width: thin; scrollbar-color: #34405a var(--crm-color-bg-deep); }
        .new-session-form::-webkit-scrollbar { width: 7px; }
        .new-session-form::-webkit-scrollbar-thumb { border-radius: 10px; background: rgba(255,255,255,.2); }
        .session-picker { position: relative; display: grid; gap: 8px; }
        .session-picker:has(.session-custom-select.is-open) { z-index: 80; }
        .session-picker header { display: flex; align-items: center; gap: 9px; }
        .session-picker header > span { width: 24px; height: 24px; border: 1px solid var(--crm-color-border-dark); border-radius: 7px; color: var(--crm-color-white); background: #292c33; display: grid; place-items: center; font-size: 11px; font-weight: 900; }
        .session-picker header > strong { color: #aeb8ca; font-size: 13px; }
        .session-picker header > strong small { margin-left: 5px; color: var(--theme-muted); font-size: 9px; font-weight: 700; }
        .session-flight-hint { color: var(--theme-muted); font-size: 10px; line-height: 1.4; }
        .session-picker header > button { margin-left: auto; min-height: 30px; border: 1px solid var(--theme-border); border-radius: 9px; padding: 0 10px; color: var(--theme-secondary-button-text); background: var(--theme-secondary-button); cursor: pointer; font-weight: 700; }
        .session-picker header > button:hover { border-color: #5a606c; background: #30343d; }
        .session-picker-control { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; min-width: 0; }
        .session-picker-buttons{display:flex;gap:8px}.session-picker-edit{text-decoration:none}.session-picker-edit[hidden]{display:none!important}
        .session-picker-control > .session-custom-select { min-width: 0; width: 100%; }
        .session-car-choice { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
        .session-car-choice > label { min-width: 0; display: grid; gap: 6px; color: var(--theme-muted); font-size: 11px; font-weight: 800; }
        .session-car-choice > label > .session-custom-select { width: 100%; min-width: 0; }
        .session-picker-add { width: 42px; height: 42px; border: 1px solid var(--theme-border); border-radius: 10px; padding: 0; color: var(--theme-secondary-button-text); background: var(--theme-secondary-button); display: grid; place-items: center; cursor: pointer; font-size: 14px; }
        .session-picker-add:hover { border-color: #5a606c; background: #30343d; }
        .session-picker > input, .session-picker > select, .quick-create input, .quick-create select { width: 100%; height: 42px; border: 1px solid var(--crm-color-border-dark); border-radius: 10px; padding: 0 11px; color: var(--crm-color-white); background: var(--crm-color-bg-input); outline: none; color-scheme: dark; }
        .session-custom-select { position: relative; min-width: 180px; }
        .session-custom-toggle { width: 100%; min-height: 42px; border: 1px solid var(--crm-color-border-dark); border-radius: 10px; padding: 0 12px; color: var(--crm-color-white); background: var(--crm-color-bg-input); display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; cursor: pointer; }
        .session-custom-toggle span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .session-custom-toggle i { color: var(--dash-muted); transition: transform .18s ease; }
        .session-custom-select.is-open .session-custom-toggle { border-color: rgba(244,246,248,.42); }
        .session-custom-select.is-open .session-custom-toggle i { transform: rotate(180deg); }
        .session-custom-dropdown { position: absolute; left: 0; right: 0; top: calc(100% + 7px); z-index: 2300; border: 1px solid var(--dash-line-strong); border-radius: 12px; padding: 8px; background: var(--crm-color-bg-dropdown); box-shadow: 0 18px 44px rgba(0,0,0,.48); display: none; overflow:hidden; }
        .session-custom-select.is-open .session-custom-dropdown { display: grid; gap: 7px; }
        .session-custom-dropdown.is-portal-open { position: fixed !important; right: auto !important; z-index: 3000 !important; display: grid; gap: 7px; }
        .session-custom-dropdown > input { width: 100%; height: 38px; border: 1px solid var(--crm-color-border-dark); border-radius: 9px; padding: 0 10px; color: var(--crm-color-white); background: #0d0f13; outline: none; }
        .session-custom-options { max-height:310px;overflow-x:hidden;overflow-y:auto;display:grid;gap:4px; }
        .session-picker .session-custom-options { grid-template-columns: minmax(0,1fr); }
        .session-extras-picker{border:1px solid var(--theme-border);border-radius:12px;padding:12px;background:var(--theme-secondary-button);display:grid;gap:10px}.session-extras-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-extras-heading>span{display:flex;align-items:center;gap:8px;color:var(--theme-secondary-button-text)}.session-extras-heading small{min-width:22px;height:22px;border-radius:999px;background:var(--theme-primary);color:var(--theme-primary-text);display:grid;place-items:center;font-weight:900}.session-extras-heading>button{min-height:38px;border:1px solid var(--theme-border);border-radius:10px;padding:0 12px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);cursor:pointer;font-weight:800}.session-extras-list{display:grid;gap:8px}.session-extras-list>p{margin:0;color:var(--theme-muted);font-size:12px}.session-extra-card{border:1px solid var(--theme-border);border-radius:10px;padding:10px;display:grid;grid-template-columns:32px minmax(0,1fr) 38px;align-items:center;gap:10px;background:var(--theme-input)}.session-extra-card>span{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--theme-secondary-button)}.session-extra-card>div{min-width:0;display:grid;gap:3px}.session-extra-card strong,.session-extra-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-extra-card small{color:var(--theme-muted)}.session-extra-card>button{width:38px;height:38px;border:1px solid var(--theme-border);border-radius:9px;color:var(--theme-danger,#ff8f8f);background:var(--theme-secondary-button);cursor:pointer}.session-extra-card>button.is-confirming{color:var(--theme-primary-text);background:var(--theme-primary)}.session-extra-dialog{width:min(520px,100%)}.session-extra-form{padding:18px;display:grid;gap:14px}.session-extra-form .field{display:grid;gap:7px;color:var(--theme-muted);font-size:12px;font-weight:800}.session-extra-form input{width:100%;height:42px;border:1px solid var(--theme-border);border-radius:10px;padding:0 11px;color:var(--theme-text);background:var(--theme-input);outline:none;-moz-appearance:textfield}.session-extra-form input::-webkit-inner-spin-button,.session-extra-form input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.session-extra-error{min-height:18px;margin:0;color:var(--theme-danger,#ff8f8f);font-size:12px}.session-extra-form .form-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:620px){.session-extras-heading{align-items:stretch;flex-direction:column}.session-extras-heading>button{width:100%}.session-extra-form .form-actions{flex-direction:column}}
        .session-filter-control .session-custom-options { grid-template-columns: 1fr; }

/* Parking extras catalog */
.extras-catalog{padding:16px;display:grid;gap:14px}.extras-commandbar,.extras-filters{display:flex;align-items:center;justify-content:space-between;gap:12px}.extras-commandbar>div{display:flex;gap:9px}.extras-refresh,.extras-sort{min-height:42px;border:1px solid var(--theme-border);border-radius:10px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);text-decoration:none;font-weight:800}.extras-search{width:min(430px,100%);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-input);overflow:hidden}.extras-search>i{margin-left:12px;color:var(--theme-muted)}.extras-search input{height:42px;min-width:0;border:0;padding:0 10px;color:var(--theme-text);background:transparent;outline:0}.extras-search button{height:34px;margin-right:4px;border:0;border-radius:8px;padding:0 12px;color:var(--theme-primary-text);background:var(--theme-primary);font-weight:800;cursor:pointer}.extras-filters>div{display:flex;gap:6px;flex-wrap:wrap}.extras-filters>div a{min-height:38px;border-radius:9px;padding:0 12px;display:flex;align-items:center;gap:7px;color:var(--theme-muted);text-decoration:none;font-weight:800}.extras-filters>div a span{min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:var(--theme-secondary-button);font-size:11px}.extras-filters>div a.is-active{color:var(--theme-text);background:var(--theme-secondary-button)}.extras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}.extra-card{min-width:0;border:1px solid var(--theme-border);border-radius:13px;padding:15px;display:grid;gap:16px;background:var(--theme-surface)}.extra-card.is-disabled{opacity:.62}.extra-card>header{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px}.extra-card>header>span{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;color:var(--theme-primary);background:var(--theme-secondary-button)}.extra-card h2,.extra-card p{margin:0}.extra-card h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.extra-card p{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-muted);font-size:12px}.extra-price strong{font-size:clamp(24px,3vw,34px)}.extra-price span{color:var(--theme-muted);font-size:12px}.extra-card>footer{border-top:1px solid var(--theme-border);padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.extra-card>footer>div{display:flex;gap:6px}.extra-card>footer>div button{width:38px;height:38px;border:1px solid var(--theme-border);border-radius:9px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);cursor:pointer}.extra-card>footer>div button.is-danger{color:var(--theme-danger,#ff8f8f)}.extra-status{border:0;padding:0;display:flex;align-items:center;gap:8px;color:var(--theme-muted);background:transparent;font-weight:800;cursor:pointer}.extra-status i,.extra-form-toggle i{width:18px;height:18px;border-radius:999px;background:var(--theme-muted)}.extra-status.is-active{color:var(--theme-success,#72cc96)}.extra-status.is-active i{background:currentColor}.extra-status:disabled{cursor:not-allowed}.extras-empty{min-height:260px;display:grid;place-content:center;justify-items:center;gap:7px;color:var(--theme-muted)}.extras-empty i{font-size:28px}.extras-pagination{display:flex;justify-content:center;gap:6px}.extras-pagination a{width:40px;height:40px;border:1px solid var(--theme-border);border-radius:9px;display:grid;place-items:center;color:var(--theme-text);background:var(--theme-secondary-button);text-decoration:none}.extras-pagination a.is-active{color:var(--theme-primary-text);background:var(--theme-primary)}.extra-dialog{width:min(520px,100%)}.extra-form{padding:18px;display:grid;gap:15px}.extra-form>label{display:grid;gap:7px;color:var(--theme-muted);font-size:12px;font-weight:800}.extra-form>label>span{color:var(--theme-danger,#ff8f8f)}.extra-form>label input{height:42px;border:1px solid var(--theme-border);border-radius:10px;padding:0 11px;color:var(--theme-text);background:var(--theme-input);outline:0}.extra-form-switches{display:grid;gap:9px}.extra-form-switches>label{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px}.extra-form-switches span{display:grid;gap:2px}.extra-form-switches small{color:var(--theme-muted)}.extra-form-toggle{width:42px;height:24px;border:0;border-radius:999px;padding:3px;background:var(--theme-border);cursor:pointer}.extra-form-toggle i{width:18px;height:18px;display:block;background:var(--theme-text);transition:transform .15s}.extra-form-toggle.is-active{background:var(--theme-primary)}.extra-form-toggle.is-active i{transform:translateX(18px);background:var(--theme-primary-text)}.extra-form .form-actions,.extra-delete-body form{display:flex;justify-content:flex-end;gap:8px}.extra-delete-dialog{width:min(470px,100%)}.extra-delete-body{padding:18px;display:grid;gap:18px}.extra-delete-body p{margin:0;display:flex;gap:10px;line-height:1.5}.extra-delete-body p i{color:var(--theme-danger,#ff8f8f)}.danger-action{min-height:42px;border:0;border-radius:10px;padding:0 15px;color:#fff;background:var(--theme-danger,#c94f4f);font-weight:800;cursor:pointer}@media(max-width:720px){.extras-commandbar,.extras-filters{align-items:stretch;flex-direction:column}.extras-commandbar>div,.extras-commandbar .primary-action,.extras-refresh,.extras-search,.extras-sort{width:100%}.extras-commandbar>div>*{flex:1}.extras-filters>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.extras-filters>div a{justify-content:center;padding-inline:6px}.extra-form .form-actions,.extra-delete-body form{flex-direction:column}.extra-form .form-actions>*,.extra-delete-body form>*{width:100%}}
        .session-custom-options button { min-height: 38px; border: 1px solid transparent; border-radius: 8px; padding: 7px 9px; color: var(--crm-color-text-secondary); background: transparent; text-align: left; cursor: pointer; }
        .session-custom-options button { background: var(--crm-color-bg-dropdown); }
        .session-custom-options button:hover,.session-custom-options button.is-selected { border-color: #464b55; color: var(--crm-color-white); background: #292c33; }
        .session-custom-options button[hidden] { display: none; }
        .session-custom-options button:has(.session-option-check) { display: flex; align-items: center; gap: 9px; }
        .session-option-check { width: 18px; height: 18px; border: 1px solid var(--dash-line-strong); border-radius: 5px; color: transparent; background: rgba(0,0,0,.2); display: grid; place-items: center; font-size: 9px; }
        .session-custom-options button.is-selected .session-option-check { color: var(--crm-color-ink); border-color: var(--crm-color-text); background: var(--crm-gradient-primary); }
        .session-custom-toggle .session-status { min-height: 25px; }
        .quick-create { position: fixed; inset: 0; z-index: 1900; display: none; flex-direction: column; align-items: center; justify-content: center; padding: 22px; background: rgba(0,0,0,.62); backdrop-filter: blur(10px); }
        .quick-create.is-open { display: flex; }
        .quick-create > div,.quick-create > header,.quick-create > footer { width: min(620px,100%); background: #17191e; }
        .quick-create > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 18px; border-right: 1px solid var(--dash-line); border-left: 1px solid var(--dash-line); }
        .quick-create label { display: grid; gap: 5px; color: var(--dash-muted); font-size: 12px; }
        .quick-create-head { min-height: 68px; padding: 14px 18px; border: 1px solid var(--dash-line); border-radius: 14px 14px 0 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
        .quick-create-head h2 { margin: 0; color: var(--crm-color-white); font-size: 18px; }
        .quick-create-head p { margin: 4px 0 0; color: var(--dash-muted); font-size: 13px; }
        .quick-create-head > button { width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid var(--dash-line); border-radius: 12px; color: var(--crm-color-white); background: rgba(255,255,255,.04); cursor: pointer; font-size: 24px; }
        .quick-create-actions { padding: 0 18px 18px; border: 1px solid var(--dash-line); border-top: 0; border-radius: 0 0 14px 14px; display: flex; flex-wrap: wrap; gap: 10px; }
        .quick-create > .quick-client-dialog { width: min(520px,calc(100vw - 24px)); height: min(700px,calc(100vh - 32px)); max-height: calc(100vh - 32px); padding: 0; background: var(--crm-color-bg-deep) !important; }
        .quick-client-dialog .quick-client-form { display: flex; flex: 1; flex-direction: column; min-height: 0; padding: 0; overflow: hidden; background: var(--crm-color-bg-deep); }
        .quick-client-dialog .client-type-switch{width:fit-content;flex:0 0 auto;margin:20px 24px 0;padding:3px;border:0;border-radius:10px;background:var(--theme-secondary-button);display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:2px}
        .quick-client-dialog .client-type-switch label { cursor: pointer; }
        .quick-client-dialog .client-type-switch input { position: absolute; opacity: 0; pointer-events: none; }
        .quick-client-dialog .client-type-switch span { min-height: 32px; padding: 0 12px; border: 1px solid transparent; border-radius: 8px; color: #9da9bd; display: flex; align-items: center; justify-content: center; gap: 7px; font-weight: 700; }
        .quick-client-dialog .client-type-switch input:checked+span{border-color:var(--theme-primary);color:var(--theme-primary-text);background:var(--theme-primary)}
        .quick-client-dialog .client-person-fields { min-height: 0; padding: 20px 24px; overflow-y: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
        .quick-client-dialog .field { min-width: 0; color: #aeb8ca; display: grid; gap: 6px; font-size: 13px; }
        .quick-client-dialog .field[hidden] { display: none !important; }
        .quick-client-dialog .field input,.quick-client-dialog .field textarea { width: 100%; border: 1px solid #29334b; border-radius: 8px; padding: 0 11px; color: var(--crm-color-white); background: #0c1122; outline: none; }
        .quick-client-dialog .field input { height: 42px; }
        .quick-client-dialog .field textarea { min-height: 86px; padding-top: 10px; resize: vertical; }
        .quick-client-dialog .client-field-label { min-height: 18px; color: #aeb8ca; display: flex; align-items: baseline; gap: 5px; }
        .quick-client-dialog .required-mark { color: #ff8798; }
        .quick-client-dialog .optional-mark{color:var(--theme-muted);font-size:11px}
        .quick-client-dialog .client-comment-field { grid-column: 1/-1; }
        .quick-client-dialog .field:has([name="new_client_full_name"]) { grid-column: 1/-1; }
        .new-session-form,.quick-client-dialog .client-person-fields,.shift-close-dialog,.cashbox-dialog,.session-payment-dialog,.session-action-dialog,.parking-scheme-view { overflow-x: hidden !important; scrollbar-width: none !important; -ms-overflow-style: none; }
        .new-session-form::-webkit-scrollbar,.quick-client-dialog .client-person-fields::-webkit-scrollbar,.shift-close-dialog::-webkit-scrollbar,.cashbox-dialog::-webkit-scrollbar,.session-payment-dialog::-webkit-scrollbar,.session-action-dialog::-webkit-scrollbar,.parking-scheme-view::-webkit-scrollbar { width: 0 !important; height: 0 !important; display: none; }
        .session-entry-date { border: 1px solid #353943; border-radius: 12px; padding: 12px; color: var(--crm-color-white); background: #20232a; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; }
        .session-entry-date small { grid-column: 1/-1; color: var(--dash-muted); }
        .new-session-actions { position: sticky; bottom: 0; z-index: 20; flex: 0 0 auto; margin: auto -24px 0; padding: 14px 24px 20px; background: var(--crm-color-bg-deep); display: grid; grid-template-columns: 1fr; gap: 10px; }
        .new-session-actions .primary-action,.new-session-actions .ghost-action { width: 100%; min-height: 38px; border-radius: 8px; justify-content: center; }
        .new-session-actions .primary-action { color: #172033; background: #e6ecf5; }
        .new-session-actions .ghost-action{border:1px solid var(--theme-border);color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}
        .other-pickup-action{width:100%;min-height:38px;border:1px solid var(--theme-border);border-radius:8px;padding:0 14px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:800}.other-pickup-action:hover,.other-pickup-action.is-active{color:var(--theme-text);border-color:var(--dash-line-strong);background:var(--theme-hover)}
        .session-other-modal{position:fixed;inset:0;z-index:2100;display:none;align-items:center;justify-content:center}.session-other-modal.is-open{display:flex}.session-pickup-fields{display:grid;gap:12px}.session-pickup-fields label{display:grid;gap:6px}.other-pickup-action span{flex:1;text-align:left}.other-pickup-action>i:last-child{font-size:10px}
        .session-register { position: relative; margin-top: 16px; border: 1px solid var(--dash-line); border-radius: 18px; background: linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); overflow: visible; }
        .session-register-toolbar { padding: 13px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
        .session-register-actions { display: flex; gap: 8px; }
        .session-refresh { min-height: 42px; border: 1px solid var(--dash-line); border-radius: 10px; padding: 0 14px; color: var(--crm-color-white); background: var(--crm-surface-subtle); font-weight: 800; cursor: pointer; }
        .session-close-shift { min-height: 42px; border: 1px solid rgba(255,145,162,.26); border-radius: 10px; padding: 0 14px; color: var(--crm-color-danger-soft); background: rgba(255,80,108,.08); font-weight: 800; cursor: pointer; }
        .session-table-search { width: min(280px,100%); height: 42px; border: 1px solid var(--dash-line); border-radius: 10px; padding: 0 12px; color: var(--dash-muted); background: rgba(0,0,0,.22); display: flex; align-items: center; gap: 8px; }
        .session-table-search input { width: 100%; border: 0; outline: 0; color: var(--crm-color-white); background: transparent; }
        .session-register-filters { position: relative; z-index: 30; padding: 0 13px 13px; border-bottom: 1px solid var(--dash-line); display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
        .session-tabs { min-height: 38px; padding: 3px; border: 1px solid var(--dash-line); border-radius: 10px; background: rgba(0,0,0,.2); display: flex; gap: 3px; }
        .session-tabs button { border: 0; border-radius: 7px; padding: 0 10px; color: var(--dash-muted); background: transparent; cursor: pointer; font-weight: 800; }
        .session-tabs button.is-active { color: var(--crm-color-white); background: rgba(255,255,255,.12); }
        .session-tabs b { margin-left: 5px; padding: 2px 5px; border-radius: 6px; background: rgba(255,255,255,.09); }
        .session-filter-control { position: relative; min-height: 38px; border: 1px dashed var(--dash-line); border-radius: 10px; padding: 0 10px; color: var(--crm-color-text-secondary); display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 800; }
        .session-filter-control input,.session-filter-control select { max-width: 125px; border: 0; outline: 0; color: var(--crm-color-white); background: transparent; color-scheme: dark; }
        .session-filter-control [data-date-toggle] { min-height: 36px; border: 0; padding: 0; color: var(--crm-color-text-secondary); background: transparent; display: flex; align-items: center; gap: 7px; font-weight: 800; cursor: pointer; }
        .session-filter-control .date-picker { top: calc(100% + 8px); left: 0; z-index: 1200; }
        .session-filter-control > .session-custom-select { min-width: 130px; }
        .session-filter-control .session-custom-toggle { min-height: 34px; border: 0; padding: 0; background: transparent; }
        .session-view-toggle { margin-left: auto; display: flex; align-items: center; gap: 5px; color: var(--dash-muted); font-size: 12px; font-weight: 800; }
        .session-view-toggle button { width: 34px; height: 34px; border: 1px solid var(--dash-line); border-radius: 8px; color: var(--dash-muted); background: rgba(255,255,255,.025); }
        .session-view-toggle button.is-active { color: var(--crm-color-white); background: rgba(255,255,255,.1); }
        .session-table-wrap { overflow-x: auto; }
        .session-table { width: 100%; min-width: 1500px; border-collapse: collapse; font-size: 12px; }
        .session-table th { height: 42px; padding: 0 10px; border-bottom: 1px solid var(--dash-line); color: var(--crm-color-text-secondary); background: rgba(8,12,24,.72); text-align: left; white-space: nowrap; }
        .session-table td { height: 62px; padding: 8px 10px; border-bottom: 1px solid var(--dash-line); color: var(--crm-color-text-secondary); white-space: nowrap; }
        .session-table tbody tr:hover { background: var(--crm-surface-subtle); }
        .session-table em { color: #b2bac5; font-style: italic; }
        .session-status { min-height: 28px; border: 1px solid transparent; border-radius: 999px; padding: 0 10px; display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 900; white-space: nowrap; box-shadow: inset 0 1px 0 var(--crm-surface-hover); }
        .session-status.is-active { color: #ffe0bf; border-color: rgba(235,132,54,.48); background: linear-gradient(135deg,rgba(199,91,27,.94),rgba(155,65,18,.92)); }
        .session-status.is-completed { color: #c9f8da; border-color: rgba(93,210,139,.38); background: linear-gradient(135deg,rgba(34,139,89,.72),rgba(25,101,66,.76)); }
        .session-status.is-cancelled { color: #ffd0d6; border-color: rgba(255,110,132,.4); background: linear-gradient(135deg,rgba(174,48,69,.76),rgba(122,30,48,.8)); }
        .session-status.is-all { color: #e4e8ed; border-color: var(--dash-line-strong); background: var(--crm-surface-hover); }
        .session-number { color: var(--crm-color-white); }
        .session-person { min-width: 0; display: flex; align-items: center; gap: 8px; }
        .session-person > i { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; color: var(--crm-color-text-secondary); background: rgba(94,120,160,.2); display: grid; place-items: center; }
        .session-person span { min-width: 0; flex: 1 1 auto; display: grid; gap: 3px; }
        .session-person strong { min-width: 0; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.25; overflow-wrap: anywhere; }
        .session-person small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .session-person small { color: var(--dash-muted); }
        .session-tariff { display: grid; gap: 3px; }
        .session-tariff strong { color: var(--crm-color-white); }
        .session-tariff small { color: var(--dash-muted); }
        .session-table-empty { padding: 30px; color: var(--dash-muted); text-align: center; }
        .session-register.is-compact .session-table td { height: 44px; padding-top: 4px; padding-bottom: 4px; }
        .session-register.is-compact .session-person > i { display: none; }
        .shift-close-modal.is-open { display: grid; }
        .shift-close-dialog { width: min(760px,100%); max-height: calc(100vh - 48px); overflow-y: auto; border: 1px solid var(--dash-line-strong); border-radius: 16px; padding: 20px; color: var(--dash-text); background: linear-gradient(135deg,rgba(31,33,38,.98),rgba(12,13,16,.98)); box-shadow: 0 28px 90px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05); backdrop-filter: blur(18px); display: grid; gap: 16px; }
        .shift-close-head { display: flex; justify-content: space-between; gap: 15px; }
        .shift-close-head h2, .shift-bank-summary h3 { margin: 0; color: var(--crm-color-white); }
        .shift-close-head p, .shift-bank-summary > p { margin: 5px 0 0; color: var(--dash-muted); }
        .shift-close-head button { width: 38px; height: 38px; border: 1px solid var(--dash-line); border-radius: 12px; color: var(--crm-color-white); background: rgba(255,255,255,.04); cursor: pointer; }
        .shift-close-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
        .shift-close-grid > div { border: 1px solid var(--dash-line); border-radius: 12px; padding: 11px; background: rgba(255,255,255,.03); display: grid; gap: 5px; }
        .shift-close-grid span, .shift-bank-summary small { color: var(--dash-muted); font-size: 12px; }
        .shift-close-grid strong { color: var(--crm-color-white); }
        .shift-close-grid .is-positive { color: var(--crm-color-success-soft); }
        .shift-close-grid .is-negative { color: var(--crm-color-danger-soft); }
        .shift-bank-summary { border: 1px solid var(--dash-line); border-radius: 14px; padding: 14px; background: rgba(0,0,0,.18); display: grid; gap: 9px; }
        .shift-bank-summary h3 { font-size: 15px; }
        .shift-bank-summary > div { min-height: 38px; border-top: 1px solid var(--dash-line); padding-top: 8px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
        .shift-bank-summary > div > span { display: grid; gap: 2px; }
        .shift-method-icon { width: 32px; height: 32px; flex: 0 0 auto; border: 1px solid var(--dash-line); border-radius: 9px; color: #dfe5eb; background: rgba(255,255,255,.045); display: grid; place-items: center; }
        .shift-close-grid > div > i { width: 25px; height: 25px; border-radius: 7px; color: #b9c1cb; background: rgba(255,255,255,.055); display: grid; place-items: center; font-size: 11px; }
        .shift-close-operations { border: 1px solid var(--dash-line); border-radius: 14px; padding: 14px; background: rgba(0,0,0,.18); display: grid; gap: 9px; }
        .shift-close-operations h3 { margin: 0; color: var(--crm-color-white); font-size: 15px; }
        .shift-close-operations > p { margin: 0; color: var(--dash-muted); font-size: 13px; }
        .shift-close-operations > div { min-height: 52px; padding-top: 8px; border-top: 1px solid var(--dash-line); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; }
        .shift-close-operations > div > i { width: 34px; height: 34px; border: 1px solid var(--dash-line); border-radius: 10px; display: grid; place-items: center; }
        .shift-close-operations > div > span { display: grid; gap: 3px; }
        .shift-close-operations > div > span:last-child { text-align: right; }
        .shift-close-operations small { color: var(--dash-muted); font-size: 11px; }
        .shift-close-operations .is-deposit > i, .shift-close-operations .is-deposit > span:last-child strong { color: var(--crm-color-success-soft); }
        .shift-close-operations .is-withdrawal > i, .shift-close-operations .is-withdrawal > span:last-child strong { color: var(--crm-color-danger-soft); }
        .shift-closing-actual { color: var(--dash-muted); display: grid; gap: 7px; font-size: 13px; font-weight: 800; }
        .shift-closing-actual input { height: 46px; border: 1px solid var(--dash-line); border-radius: 12px; padding: 0 13px; color: var(--crm-color-white); background: rgba(0,0,0,.24); outline: none; }
        .shift-closing-actual small { font-weight: 400; }
        .shift-close-actions { display: flex; flex-wrap: wrap; gap: 9px; }
        .shift-close-actions > button:last-child { min-height: 42px; border: 1px solid var(--dash-line); border-radius: 12px; padding: 0 14px; color: var(--crm-color-white); background: var(--crm-surface-subtle); cursor: pointer; font-weight: 800; }
        body.is-modal-open { overflow: hidden; }
        @media (max-width: 620px) { .shift-opening-modal { padding: 6px; } .shift-active-bar { align-items: flex-start; flex-direction: column; } .shift-close-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .shift-close-modal,.new-session-modal { padding: 6px; } .new-session-dialog { width: 100%; height: calc(100vh - 12px); max-height: calc(100vh - 12px); } .new-session-head { padding-left: 16px; padding-right: 16px; } .new-session-form { padding-left: 16px; padding-right: 16px; } .new-session-actions { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } .quick-create { padding: 6px; align-items: flex-end; } .quick-create > .quick-client-dialog { width: 100%; height: calc(100vh - 12px); max-height: calc(100vh - 12px); } .quick-client-dialog .client-modal-head,.quick-client-dialog .client-person-fields,.quick-client-dialog .client-modal-actions { padding-left: 16px; padding-right: 16px; } .quick-client-dialog .client-type-switch { width: calc(100% - 32px); margin-left: 16px; margin-right: 16px; } .quick-client-dialog .client-person-fields { grid-template-columns: 1fr; } .quick-create > div { grid-template-columns: 1fr; max-height: 58vh; overflow-y: auto; } .session-register-toolbar { align-items: stretch; flex-direction: column; } .session-table-search { width: 100%; } }

/* Session register uses the same table system as the operations page. */
.session-table-scroll-top { margin-top: 2px; }
.session-table-wrap { overflow: auto; }
.session-table { width: auto; min-width: max-content; table-layout: fixed; }
.session-table col[data-col="status"] { width: 155px; }
.session-table col[data-col="number"] { width: 105px; }
.session-table col[data-col="comment"] { width: 160px; }
.session-table col[data-col="client"] { width: 210px; }
.session-table col[data-col="car"] { width: 210px; }
.session-table col[data-col="tariff"] { width: 170px; }
.session-table col[data-col="row"] { width: 90px; }
.session-table col[data-col="amount"] { width: 135px; }
.session-table col[data-col="days"] { width: 80px; }
.session-table col[data-col="entry"],
.session-table col[data-col="exit"],
.session-table col[data-col="updated"] { width: 165px; }
.session-table th { height: 38px; padding: 0 18px 0 12px; background: rgba(255,255,255,.055); }
.session-table th[data-session-sort]{padding:0 18px 0 4px}.session-sort-button{width:100%;min-height:38px;border:0;padding:0 8px;color:inherit;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font:inherit;font-weight:inherit;text-align:left}.session-sort-button i{color:var(--theme-muted);font-size:10px}.session-table th[aria-sort="ascending"] .session-sort-button,.session-table th[aria-sort="descending"] .session-sort-button{color:var(--theme-text)}.session-table th[aria-sort="ascending"] .session-sort-button i,.session-table th[aria-sort="descending"] .session-sort-button i{color:var(--theme-primary)}.session-sort-button:hover{color:var(--theme-text);background:color-mix(in srgb,var(--theme-primary) 7%,transparent)}.session-sort-button:focus-visible{border-radius:6px;outline:2px solid var(--theme-primary);outline-offset:-3px}
.session-table td { height: 52px; padding: 0 12px; background: rgba(0,0,0,.18); }
.session-table tbody tr:nth-child(even) td { background: rgba(255,255,255,.025); }
.session-table tbody tr:hover td { background: rgba(255,255,255,.055); }
.session-table-wrap.is-compact .session-table td { height: 42px; padding-top: 3px; padding-bottom: 3px; }
.session-table col.is-hidden,
.session-table th.is-hidden,
.session-table td.is-hidden { display: none; }
.session-column-menu { position: relative; }
.session-column-dropdown { position: absolute; z-index: 120; top: calc(100% + 8px); right: 0; width: 250px; padding: 8px; border: 1px solid var(--dash-line); border-radius: 12px; background: #111722; box-shadow: 0 18px 45px rgba(0,0,0,.45); display: none; grid-template-columns: 1fr; gap: 3px; }
.session-column-menu.is-open .session-column-dropdown { display: grid; }
.session-column-dropdown.is-viewport-positioned { position: fixed !important; right: auto !important; z-index: 3200 !important; max-width: calc(100vw - 16px); overflow-x: hidden; overflow-y: auto; }
.session-column-dropdown > button { width: 100%; height: 34px; padding: 0 10px; border: 0; border-radius: 8px; color: var(--dash-muted); background: transparent; display: flex; align-items: center; gap: 9px; text-align: left; cursor: pointer; }
.session-column-dropdown > button:hover { color: var(--crm-color-white); background: rgba(255,255,255,.06); }
.session-column-dropdown > button > i { width: 14px; opacity: 0; color: #00d99a; }
.session-column-dropdown > button.is-active > i { opacity: 1; }
.session-column-dropdown .session-columns-reset { margin-top: 5px; border-top: 1px solid var(--dash-line); border-radius: 0 0 8px 8px; color: var(--crm-color-white); }
.session-column-dropdown .session-columns-reset > i { opacity: 1; color: inherit; }
.session-view-toggle .session-density-button,
.session-view-toggle .session-columns-reset { flex: 0 0 34px; width: 34px; }
.session-view-toggle .session-column-toggle {
    width: auto;
    min-width: 142px;
    height: 38px;
    padding: 0 12px;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
}
.session-view-toggle .session-column-toggle span { white-space: nowrap; }
.session-view-toggle .session-column-menu.is-open .session-column-toggle {
    color: var(--theme-text);
    border-color: var(--theme-input-focus);
    background: var(--theme-hover);
}
.session-view-toggle .session-column-dropdown { top: calc(100% + 8px); }
.session-view-toggle .session-column-dropdown .column-option { width: 100%; }
.session-context-menu{position:fixed;z-index:300;min-width:210px;padding:6px;border:1px solid var(--dash-line-strong);border-radius:11px;background:#15191f;box-shadow:0 20px 55px rgba(0,0,0,.55);display:none}.session-context-menu.is-open{display:block}.session-context-menu button{width:100%;min-height:40px;border:0;border-radius:8px;padding:0 11px;color:#eef1f5;background:transparent;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;font-weight:850}.session-context-menu button:hover{background:rgba(255,255,255,.075)}.session-context-menu i{color:#8fdbb3}
.session-history-modal{position:fixed;inset:0;z-index:320;padding:18px;background:rgba(3,6,12,.8);backdrop-filter:blur(8px);display:none;place-items:center}.session-history-modal.is-open{display:grid}.session-history-dialog{width:min(760px,100%);max-height:calc(100vh - 36px);border:1px solid var(--dash-line-strong);border-radius:18px;color:var(--theme-text);background:var(--theme-surface);box-shadow:0 30px 90px rgba(0,0,0,.65);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.session-history-head{padding:18px 20px;border-bottom:1px solid var(--dash-line);display:flex;justify-content:space-between;gap:16px}.session-history-head span{color:var(--theme-primary);font-size:9px;font-weight:950}.session-history-head h2{margin:4px 0;font-size:21px}.session-history-head p{margin:0;color:var(--theme-muted);font-size:12px}.session-history-head>button{width:36px;height:36px;border:1px solid var(--theme-border);border-radius:10px;color:var(--theme-text);background:var(--theme-secondary-button);cursor:pointer}.session-history-body{padding:16px 20px;overflow:auto;display:grid;gap:18px}.session-history-body section{display:grid;gap:8px}.session-history-body h3{margin:0 0 3px;display:flex;align-items:center;gap:7px;font-size:13px}.session-history-body h3 b{padding:2px 6px;border-radius:999px;color:var(--theme-muted);background:var(--theme-secondary-button);font-size:10px}.session-history-event,.session-history-payment{min-height:66px;border:1px solid var(--theme-border);border-radius:13px;padding:10px 12px;background:var(--theme-surface-alt);display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px}.session-history-event>i,.session-history-payment>i{width:36px;height:36px;border-radius:50%;color:var(--theme-primary);background:color-mix(in srgb,var(--theme-primary) 12%,transparent);display:grid;place-items:center}.session-history-event>div,.session-history-payment>div{min-width:0;display:grid;gap:3px}.session-history-event span,.session-history-payment span,.session-history-event small,.session-history-payment small{color:var(--theme-muted);font-size:11px}.session-history-payment>b{white-space:nowrap;color:var(--theme-success)}.session-history-payment.is-refund>b{color:var(--theme-danger)}.session-history-loading,.session-history-empty,.session-history-error{margin:0;padding:28px;color:var(--theme-muted);text-align:center}.session-history-error{color:var(--theme-danger)}@media(max-width:620px){.session-history-modal{padding:6px}.session-history-dialog{max-height:calc(100vh - 12px)}.session-history-payment{grid-template-columns:34px minmax(0,1fr)}.session-history-payment>b{grid-column:2}}
.session-card-summary{gap:12px!important}.session-card-hero{display:flex;align-items:center;justify-content:space-between;padding:17px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-surface-alt)}.session-card-hero>div{display:grid;gap:5px}.session-card-hero span{color:var(--theme-muted);font-size:11px}.session-card-hero strong{color:var(--theme-success);font-size:25px}.session-card-hero>b{font-size:18px}.session-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;border:1px solid var(--theme-border);border-radius:13px;overflow:hidden;background:var(--theme-border)}.session-card-grid>div{padding:12px 14px;background:var(--theme-surface)}.session-card-grid dt{margin-bottom:5px;color:var(--theme-muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.session-card-grid dd{margin:0;display:grid;gap:3px;font-size:12px}.session-card-grid dd small{color:var(--theme-muted);font-size:10px}.session-card-grid .session-card-wide{grid-column:1/-1}.session-card-download{justify-self:end;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.session-table tbody tr[data-session-row]{cursor:pointer}@media(max-width:620px){.session-card-grid{grid-template-columns:1fr}.session-card-grid .session-card-wide{grid-column:auto}.session-card-download{width:100%;justify-content:center}}
.session-flight{min-width:220px;display:flex;align-items:center;gap:9px}.session-flight>i,.session-card-flight dd>i{color:var(--theme-primary)}.session-flight>span{display:grid;gap:3px}.session-flight strong{color:var(--theme-text);font-size:11px}.session-flight small{color:var(--theme-muted);font-size:9px}.session-card-flight{background:color-mix(in srgb,var(--theme-primary) 7%,var(--theme-surface))!important}.session-card-flight dd{font-weight:800}.session-card-flight dd small{font-weight:400}
.session-payment-modal{position:fixed;inset:0;z-index:290;padding:18px;background:rgba(3,6,12,.78);backdrop-filter:blur(8px);display:none;place-items:center}.session-payment-modal.is-open{display:grid}.session-payment-dialog{width:min(580px,100%);max-height:calc(100vh - 36px);border:1px solid var(--dash-line-strong);border-radius:18px;padding:20px;background:#11161e;box-shadow:0 28px 90px rgba(0,0,0,.66);overflow:visible}.session-payment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.session-payment-head span{color:#aeb6c1;font-size:12px;font-weight:900}.session-payment-head h2{margin:5px 0 4px;font-size:21px}.session-payment-head p{margin:0;color:var(--dash-muted);font-size:12px}.session-payment-head>button{width:34px;height:34px;border:1px solid var(--dash-line);border-radius:9px;color:var(--crm-color-white);background:var(--crm-surface-subtle);cursor:pointer}.session-payment-stage{margin-top:20px}.session-payment-current{min-height:56px;border:1px solid var(--dash-line);border-radius:12px;padding:0 14px;color:var(--crm-color-text);background:rgba(255,255,255,.025);display:flex;align-items:center;font-size:17px;font-weight:900}.session-payment-date-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.session-payment-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:8px}.session-payment-actions>button{min-height:40px;border:1px solid var(--dash-line);border-radius:9px;padding:0 15px;color:#e7ebf0;background:var(--crm-surface-subtle);cursor:pointer}.session-payment-actions>.primary-action{border-color:transparent;color:#111;background:var(--crm-gradient-primary)}.session-payment-total{border:1px solid rgba(80,220,155,.25);border-radius:13px;padding:14px;background:rgba(28,170,108,.08);display:grid;gap:3px}.session-payment-total span,.session-payment-total small{color:#9fb3a9;font-size:11px}.session-payment-total strong{color:#76e4ad;font-size:24px}.session-payment-stage h3{margin:17px 0 9px;font-size:13px}.session-payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.session-payment-methods input{position:absolute;opacity:0;pointer-events:none}.session-payment-methods label>span{min-height:68px;border:1px solid var(--dash-line);border-radius:11px;padding:10px;color:var(--crm-color-text-secondary);background:rgba(255,255,255,.025);display:grid;grid-template-columns:28px 1fr;align-items:center;gap:2px 8px;cursor:pointer}.session-payment-methods label>span>i{grid-row:1/3;color:#aeb6c1;text-align:center}.session-payment-methods b{font-size:12px}.session-payment-methods small{color:var(--dash-muted);font-size:10px}.session-payment-methods input:checked+span{border-color:rgba(244,246,248,.65);background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.session-payment-error{min-height:16px;margin:10px 0 0;color:#ff8298;font-size:11px}.session-table tbody tr{cursor:context-menu}@media(max-width:620px){.session-payment-date-grid,.session-payment-methods{grid-template-columns:1fr}.session-payment-dialog{padding:15px;overflow-y:auto}}

        .dashboard-app {
            display: grid;
            grid-template-columns: 260px minmax(0, 1fr);
            min-height: 100vh;
            transition: grid-template-columns .24s ease;
        }

        .app-sidebar {
            position: sticky;
            top: 16px;
            height: calc(100vh - 32px);
            margin: 16px 0 16px 16px;
            padding: 16px 12px;
            border: 1px solid var(--dash-line);
            border-radius: 24px;
            background: linear-gradient(180deg, rgba(18, 19, 22, .92), rgba(8, 9, 11, .82));
            backdrop-filter: blur(18px);
            display: flex;
            flex-direction: column;
            gap: 20px;
            overflow: hidden;
            box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);
            transition: width .24s ease, padding .24s ease, border-radius .24s ease, margin .24s ease;
        }

        .sidebar-brand {
            min-height: 46px;
            padding: 0 12px;
            display: flex;
            align-items: center;
            gap: 12px;
            color: var(--dash-text);
            text-decoration: none;
            font-size: 23px;
            font-weight: 800;
            overflow: hidden;
        }

        .sidebar-brand > span:last-child,
        .sidebar-nav a span,
        .sidebar-collapse span {
            transition: opacity .18s ease, width .22s ease, transform .22s ease;
        }

        .brand-mark {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            background: rgba(255,255,255,.04);
            flex: 0 0 auto;
        }

        .brand-mark svg {
            width: 21px;
            height: 21px;
        }

        .sidebar-nav {
            display: grid;
            gap: 8px;
        }

        .sidebar-nav a {
            min-height: 58px;
            padding: 0 16px;
            border: 1px solid transparent;
            border-radius: 16px;
            color: #c4cad2;
            display: flex;
            align-items: center;
            gap: 17px;
            text-decoration: none;
            font-size: 17px;
            overflow: hidden;
            transition: background .2s ease, border-color .2s ease, color .2s ease, padding .24s ease;
        }

        .sidebar-nav a.is-active,
        .sidebar-nav a:hover {
            border-color: var(--dash-line);
            background: var(--crm-gradient-panel-strong);
            color: var(--crm-color-white);
            box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
        }

        .sidebar-nav svg {
            width: 23px;
            height: 23px;
            color: #d7dbe1;
            flex: 0 0 auto;
        }

        .sidebar-collapse {
            width: 100%;
            min-height: 58px;
            margin-top: auto;
            border: 1px solid var(--dash-line);
            border-radius: 18px;
            padding: 0 18px;
            color: #c7cdd6;
            background: var(--crm-surface-subtle);
            display: flex;
            align-items: center;
            gap: 16px;
            cursor: pointer;
            overflow: hidden;
            transition: padding .24s ease, justify-content .24s ease, background .2s ease;
        }

        .sidebar-collapse i {
            width: 22px;
            height: 22px;
            display: inline-grid;
            place-items: center;
            font-size: 18px;
            flex: 0 0 auto;
            transition: transform .24s ease;
        }

        .dashboard-app.is-sidebar-collapsed {
            grid-template-columns: 96px minmax(0, 1fr);
        }

        .dashboard-app.is-sidebar-collapsed .app-sidebar {
            border-radius: 28px;
            padding-left: 10px;
            padding-right: 10px;
        }

        .dashboard-app.is-sidebar-collapsed .sidebar-brand,
        .dashboard-app.is-sidebar-collapsed .sidebar-nav a,
        .dashboard-app.is-sidebar-collapsed .sidebar-collapse {
            justify-content: center;
            padding-left: 0;
            padding-right: 0;
            gap: 0;
        }

        .dashboard-app.is-sidebar-collapsed .sidebar-brand > span:last-child,
        .dashboard-app.is-sidebar-collapsed .sidebar-nav a span,
        .dashboard-app.is-sidebar-collapsed .sidebar-collapse span {
            width: 0;
            opacity: 0;
            transform: translateX(-8px);
            pointer-events: none;
            white-space: nowrap;
        }

        .dashboard-app.is-sidebar-collapsed .sidebar-group-toggle {
            display: none;
        }

        .dashboard-app.is-sidebar-collapsed .sidebar-subnav,
        .dashboard-app.is-sidebar-collapsed .sidebar-group.is-open .sidebar-subnav {
            display: grid;
        }

        .dashboard-app.is-sidebar-collapsed .sidebar-collapse i {
            transform: rotate(180deg);
        }

        .dashboard-main {
            min-width: 0;
            padding: 28px 22px;
        }

        .topbar {
            min-height: 52px;
            margin-bottom: 26px;
            display: grid;
            grid-template-columns: minmax(260px, 560px) 1fr auto;
            align-items: center;
            gap: 18px;
        }

        .search-box {
            height: 46px;
            border: 1px solid var(--dash-line);
            border-radius: 10px;
            background: rgba(0,0,0,.24);
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 0 16px;
            color: var(--dash-soft);
        }

        .search-box svg {
            width: 20px;
            height: 20px;
        }

        .search-box input {
            width: 100%;
            border: 0;
            outline: 0;
            background: transparent;
            color: var(--dash-text);
            font-size: 15px;
        }

        .topbar-meta,
        .topbar-actions {
            display: flex;
            align-items: center;
        }

        .topbar-meta {
            justify-content: flex-end;
            gap: 10px;
            color: var(--crm-color-white);
            font-size: 16px;
            white-space: nowrap;
        }

        .meta-chip {
            min-height: 44px;
            border: 1px solid var(--dash-line);
            border-radius: 14px;
            padding: 0 14px;
            color: #e8edf4;
            background: var(--crm-gradient-panel);
            display: inline-flex;
            align-items: center;
            gap: 8px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
        }

        .meta-chip svg {
            width: 17px;
            height: 17px;
            color: var(--dash-muted);
        }

        .topbar-actions {
            gap: 18px;
        }

        .primary-action {
            min-height: 44px;
            border: 1px solid rgba(244,246,248,.6);
            border-radius: 10px;
            padding: 0 16px;
            color: var(--crm-color-ink);
            background: var(--crm-gradient-primary);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            font-size: 14px;
            font-weight: 800;
            cursor: pointer;
            box-shadow: 0 14px 30px rgba(207,211,216,.16);
            white-space: nowrap;
        }

        .primary-action svg,
        .avatar svg {
            width: 22px;
            height: 22px;
        }

        .primary-action svg {
            width: 18px;
            height: 18px;
        }

        .avatar {
            width: 44px;
            height: 44px;
            border: 1px solid var(--dash-line);
            border-radius: 50%;
            background: var(--crm-surface-subtle);
            color: #eef2f7;
            display: grid;
            place-items: center;
            position: relative;
        }

        .admin-select {
            min-height: 44px;
            border: 1px solid var(--dash-line);
            border-radius: 14px;
            padding: 0 14px;
            color: var(--crm-color-white);
            background: var(--crm-surface-subtle);
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 15px;
            font-weight: 800;
            white-space: nowrap;
        }

        .breadcrumb-panel {
            min-height: 54px;
            margin: -8px 0 14px;
            border: 1px solid var(--dash-line);
            border-radius: 12px;
            padding: 10px 16px;
            background: var(--crm-gradient-panel);
            box-shadow: 0 18px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
            backdrop-filter: blur(16px);
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 16px;
        }

        .breadcrumb-list {
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 7px;
            min-width: 0;
        }

        .breadcrumb-list li {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            color: var(--dash-muted);
            font-size: 14px;
            white-space: nowrap;
        }

        .breadcrumb-list a {
            color: #c9d0d9;
            text-decoration: none;
        }

        .breadcrumb-list a:hover {
            color: var(--crm-color-white);
        }

        .breadcrumb-list .is-current span:last-child {
            color: var(--crm-color-white);
            font-weight: 800;
        }

        .breadcrumb-separator {
            color: rgba(207, 211, 216, .32);
        }

        .session-summary {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 12px;
            margin: 16px 0 18px;
        }

        .summary-tile,
        .session-chart-panel {
            border: 1px solid var(--dash-line);
            border-radius: 12px;
            background: var(--crm-gradient-panel);
            box-shadow: 0 18px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
            backdrop-filter: blur(16px);
        }

        .summary-tile {
            min-height: 116px;
            padding: 18px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .summary-tile span {
            color: var(--dash-muted);
            font-size: 14px;
        }

        .summary-tile strong {
            color: var(--crm-color-white);
            font-size: 30px;
            line-height: 1;
        }

        .summary-tile small {
            color: var(--dash-soft);
            font-size: 12px;
        }

        .session-chart-panel {
            margin-top: 14px;
            padding: 20px;
            overflow: hidden;
        }

        .chart-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 20px;
        }

        .chart-head h1 {
            margin: 0 0 6px;
            color: var(--crm-color-white);
            font-size: 22px;
            line-height: 1.2;
        }

        .chart-head p {
            margin: 0;
            color: var(--dash-muted);
            font-size: 14px;
        }

        .chart-legend {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 8px;
        }

        .cashbox-indicator {
            width: max-content;
            max-width: 100%;
            min-height: 46px;
            border: 1px solid rgba(207, 211, 216, .14);
            border-radius: 12px;
            margin: -4px auto 14px 0;
            padding: 0 14px;
            background: rgba(255,255,255,.025);
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .cashbox-indicator span,
        .cashbox-indicator small {
            color: var(--dash-muted);
            font-size: 12px;
        }

        .cashbox-indicator span {
            min-width: max-content;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .04em;
        }

        .cashbox-indicator strong {
            color: var(--crm-color-white);
            font-size: 22px;
            line-height: 1;
            white-space: nowrap;
        }

        .cashbox-indicator small {
            margin-left: auto;
            white-space: nowrap;
        }

        .cashbox-actions {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .cashbox-action {
            min-height: 30px;
            border: 1px solid rgba(207, 211, 216, .18);
            border-radius: 8px;
            padding: 0 11px;
            color: var(--crm-color-text);
            background: rgba(255,255,255,.04);
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
            transition: background .18s ease, border-color .18s ease, transform .18s ease;
        }

        .cashbox-action:hover {
            border-color: rgba(207, 211, 216, .32);
            background: var(--crm-surface-hover);
            transform: translateY(-1px);
        }

        .cashbox-action.is-deposit {
            color: #bff3cf;
        }

        .cashbox-action.is-withdrawal {
            color: #ffd0d0;
        }

        .cashbox-modal {
            position: fixed;
            inset: 0;
            z-index: 80;
            padding: 18px;
            background: rgba(6, 7, 9, .68);
            display: none;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(10px);
        }

        .cashbox-modal.is-open {
            display: flex;
        }

        .cashbox-dialog {
            width: min(440px, 100%);
            border: 1px solid rgba(207, 211, 216, .16);
            border-radius: 12px;
            padding: 18px;
            color: var(--crm-color-white);
            background: var(--crm-color-surface);
            box-shadow: 0 24px 80px rgba(0,0,0,.48);
            display: grid;
            gap: 14px;
        }

        .cashbox-dialog-head,
        .cashbox-dialog-actions {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
        }

        .cashbox-dialog h2 {
            margin: 0;
            font-size: 18px;
            line-height: 1.2;
        }

        .cashbox-modal-close {
            width: 34px;
            height: 34px;
            border: 1px solid rgba(207, 211, 216, .16);
            border-radius: 8px;
            color: var(--crm-color-white);
            background: rgba(255,255,255,.04);
            cursor: pointer;
        }

        .cashbox-field {
            display: grid;
            gap: 7px;
            color: var(--dash-muted);
            font-size: 13px;
            font-weight: 800;
        }

        .cashbox-field input,
        .cashbox-field textarea {
            width: 100%;
            border: 1px solid rgba(207, 211, 216, .16);
            border-radius: 10px;
            outline: none;
            padding: 12px;
            color: var(--crm-color-white);
            background: rgba(255,255,255,.04);
            font: inherit;
        }

        .cashbox-field textarea {
            resize: vertical;
            min-height: 86px;
        }

        .cashbox-submit,
        .cashbox-cancel {
            min-height: 38px;
            border: 1px solid rgba(207, 211, 216, .16);
            border-radius: 8px;
            padding: 0 14px;
            font-weight: 900;
            cursor: pointer;
        }

        .cashbox-submit {
            color: var(--crm-color-ink);
            background: var(--crm-gradient-primary);
        }

        .cashbox-cancel {
            color: #d7dce4;
            background: rgba(255,255,255,.04);
        }

        .legend-pill,
        .chart-toggle {
            min-height: 32px;
            border: 1px solid var(--dash-line);
            border-radius: 999px;
            padding: 0 11px;
            color: #d7dce4;
            background: var(--crm-surface-subtle);
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            transition: opacity .18s ease, background .18s ease, border-color .18s ease;
        }

        .chart-toggle {
            color: var(--crm-color-ink);
            border-color: rgba(244,246,248,.6);
            background: var(--crm-gradient-primary);
        }

        .chart-toggle i {
            font-size: 14px;
            transition: transform .22s ease;
        }

        .chart-toggle[aria-expanded="true"] i {
            transform: rotate(180deg);
        }

        .view-switch {
            min-height: 32px;
            border: 1px solid var(--dash-line);
            border-radius: 999px;
            padding: 3px;
            background: var(--crm-surface-subtle);
            display: inline-flex;
            gap: 3px;
        }

        .view-switch button {
            min-height: 24px;
            border: 0;
            border-radius: 999px;
            padding: 0 10px;
            color: var(--dash-muted);
            background: transparent;
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
        }

        .view-switch button.is-active {
            color: var(--crm-color-ink);
            background: var(--crm-gradient-primary);
        }

        .legend-pill.is-hidden {
            opacity: .45;
            background: rgba(255,255,255,.015);
        }

        .legend-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--dot);
        }

        .hour-chart-wrap {
            overflow: hidden;
            padding-bottom: 6px;
            max-height: 460px;
            opacity: 1;
            transition: max-height .28s ease, opacity .22s ease, margin .22s ease, padding .22s ease;
        }

        .hour-chart-wrap:not(.is-collapsed) {
            max-height: none;
        }

        .hour-chart-wrap.is-collapsed {
            max-height: 0;
            opacity: 0;
            margin-top: -6px;
            padding-bottom: 0;
        }

        .hour-chart {
            height: 420px;
            display: grid;
            grid-template-columns: 42px repeat(25, minmax(0, 1fr));
            gap: 5px;
            align-items: end;
        }

        .line-chart {
            display: none;
            width: 100%;
            height: 420px;
            transform-origin: center bottom;
        }

        .hour-chart-wrap.is-line-view .hour-chart {
            display: none;
        }

        .hour-chart-wrap.is-line-view .line-chart {
            display: block;
        }

        .line-chart.is-line-enter {
            animation: lineChartEnter .42s cubic-bezier(.18, .82, .24, 1) both;
        }

        .line-chart.is-line-enter .apexcharts-gridline,
        .line-chart.is-line-enter .apexcharts-xaxis text,
        .line-chart.is-line-enter .apexcharts-yaxis text {
            animation: chartGuideFade .46s ease both;
        }

        .line-chart.is-line-enter .apexcharts-line-series .apexcharts-series {
            animation: lineSeriesFade .72s cubic-bezier(.18, .82, .24, 1) both;
        }

        .line-chart.is-line-enter .apexcharts-line-series .apexcharts-series:nth-child(2) {
            animation-delay: .08s;
        }

        .line-chart.is-line-enter .apexcharts-line-series .apexcharts-series:nth-child(3) {
            animation-delay: .16s;
        }

        .line-chart.is-line-enter .apexcharts-marker {
            opacity: 0;
            transform-box: fill-box;
            transform-origin: center;
            animation: lineMarkerPop .38s cubic-bezier(.18, .82, .24, 1) both;
            animation-delay: .42s;
        }

        .line-chart.is-line-enter .apexcharts-line-series .apexcharts-series:nth-child(2) .apexcharts-marker {
            animation-delay: .50s;
        }

        .line-chart.is-line-enter .apexcharts-line-series .apexcharts-series:nth-child(3) .apexcharts-marker {
            animation-delay: .58s;
        }

        .hour-chart-wrap.is-bar-view .hour-chart {
            display: grid;
        }

        .hour-chart-wrap.is-bar-view .line-chart {
            display: none;
        }

        .chart-scale {
            height: 330px;
            padding-bottom: 35px;
            color: var(--dash-muted);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            font-size: 12px;
        }

        .hour-group {
            height: 365px;
            display: grid;
            grid-template-rows: 330px 35px;
            align-items: end;
            justify-items: center;
            gap: 8px;
        }

        .bars {
            height: 330px;
            width: 100%;
            border-bottom: 1px solid rgba(207, 211, 216, .2);
            display: flex;
            align-items: end;
            justify-content: center;
            gap: 2px;
            background: linear-gradient(180deg, rgba(255,255,255,.07) 1px, transparent 1px);
            background-size: 100% 82px;
        }

        .bar {
            width: clamp(3px, .58vw, 8px);
            min-height: 8px;
            height: var(--h);
            border-radius: 5px 5px 0 0;
            background: var(--c);
            box-shadow: 0 0 18px var(--crm-surface-hover), inset 0 1px 0 rgba(255,255,255,.35);
            transition: opacity .18s ease, width .18s ease, transform .18s ease;
            transform-origin: bottom;
            cursor: pointer;
        }

        .bar:hover {
            filter: brightness(1.18);
        }

        .hour-chart.hide-load .bar.load,
        .hour-chart.hide-forecast .bar.forecast,
        .hour-chart.hide-revenue .bar.revenue,
        .hour-chart.hide-shift .bar.shift {
            width: 0;
            min-width: 0;
            opacity: 0;
            transform: scaleY(.3);
        }

        .apexcharts-tooltip {
            border: 1px solid rgba(207, 211, 216, .22) !important;
            border-radius: 16px !important;
            color: var(--crm-color-white) !important;
            background: rgba(10, 11, 13, .94) !important;
            box-shadow: 0 18px 48px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06) !important;
            backdrop-filter: blur(16px);
        }

        .apexcharts-tooltip-title {
            border-bottom: 1px solid rgba(207, 211, 216, .14) !important;
            background: transparent !important;
            color: var(--dash-muted) !important;
        }

        .apexcharts-xaxistooltip {
            display: none !important;
        }

        .hour-chart.is-animating .bar {
            animation: barRise .9s cubic-bezier(.18, .82, .24, 1) both;
            animation-delay: calc(var(--i, 0) * 28ms);
        }

        @keyframes barRise {
            from {
                transform: scaleY(0);
                opacity: .25;
            }

            to {
                transform: scaleY(1);
                opacity: 1;
            }
        }

        @keyframes lineChartEnter {
            from {
                opacity: 0;
                transform: translateY(16px) scale(.985);
                filter: blur(8px);
            }

            to {
                opacity: 1;
                transform: translateY(0) scale(1);
                filter: blur(0);
            }
        }

        @keyframes chartGuideFade {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }

        @keyframes lineSeriesFade {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }

        @keyframes lineMarkerPop {
            from {
                opacity: 0;
                transform: scale(.35);
            }

            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        .bar.load {
            --c: linear-gradient(180deg, var(--crm-color-text), #858d99);
        }

        .bar.forecast { --c: repeating-linear-gradient(135deg,#f0b35d 0 5px,#9a6b2d 5px 9px); opacity:.78; }

        .bar.revenue {
            --c:linear-gradient(180deg,var(--theme-primary),color-mix(in srgb,var(--theme-primary) 58%,var(--theme-surface)));
        }

        .bar.shift {
            --c: linear-gradient(180deg, #9ee6ad, #4d9a5f);
        }

        .hour-label {
            color: var(--dash-muted);
            font-size: 11px;
            white-space: nowrap;
        }

        .chart-tooltip {
            position: fixed;
            z-index: 50;
            min-width: 168px;
            border: 1px solid rgba(207, 211, 216, .22);
            border-radius: 16px;
            padding: 12px;
            color: var(--crm-color-white);
            background: rgba(10, 11, 13, .94);
            box-shadow: 0 18px 48px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
            backdrop-filter: blur(16px);
            pointer-events: none;
            opacity: 0;
            transform: translateY(6px);
            transition: opacity .12s ease, transform .12s ease;
        }

        .chart-tooltip.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        .chart-tooltip span {
            display: block;
            color: var(--dash-muted);
            font-size: 12px;
            margin-bottom: 6px;
        }

        .chart-tooltip strong {
            display: block;
            font-size: 18px;
            line-height: 1.15;
            margin-bottom: 4px;
        }

        .chart-tooltip small {
            color: #cfd5de;
            font-size: 12px;
        }

        @media (max-width: 1280px) {
            .topbar {
                grid-template-columns: 1fr;
            }

            .topbar-meta,
            .topbar-actions {
                justify-content: flex-start;
            }

            .breadcrumb-panel {
                align-items: flex-start;
                flex-direction: column;
            }

            .session-summary {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

        }

        @media (max-width: 820px) {
            .dashboard-app,
            .dashboard-app.is-sidebar-collapsed {
                grid-template-columns: 1fr;
            }

            .app-sidebar {
                position: fixed;
                left: 10px;
                right: 10px;
                bottom: 10px;
                top: auto;
                z-index: 40;
                height: 86px;
                margin: 0;
                padding: 8px 10px;
                border-radius: 24px;
                display: block;
                overflow: visible;
            }

            .sidebar-brand,
            .sidebar-collapse {
                display: none;
            }

            .sidebar-nav {
                height: 100%;
                display: flex;
                gap: 6px;
                overflow-x: auto;
                overflow-y: visible;
                scrollbar-width: none;
                scroll-snap-type: x proximity;
                padding: 2px 1px;
            }

            .sidebar-nav::-webkit-scrollbar {
                display: none;
            }

            .sidebar-nav a,
            .dashboard-app.is-sidebar-collapsed .sidebar-nav a {
                min-width: 82px;
                min-height: 66px;
                padding: 6px 8px;
                border-radius: 18px;
                flex: 0 0 auto;
                flex-direction: column;
                justify-content: center;
                gap: 5px;
                font-size: 10px;
                text-align: center;
                scroll-snap-align: center;
                line-height: 1.12;
            }

            .sidebar-nav svg {
                width: 21px;
                height: 21px;
            }

            .dashboard-app.is-sidebar-collapsed .sidebar-nav a span,
            .sidebar-nav a span {
                width: auto;
                opacity: 1;
                transform: none;
                pointer-events: auto;
                white-space: normal;
                max-width: 72px;
                min-height: 22px;
                overflow: visible;
                text-overflow: clip;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
            }

            .dashboard-main {
                padding: 12px 12px 114px;
            }

            .topbar {
                gap: 10px;
                margin-bottom: 16px;
            }

            .topbar-meta,
            .topbar-actions {
                width: 100%;
                gap: 8px;
                flex-wrap: wrap;
            }

            .search-box,
            .primary-action {
                width: 100%;
            }

            .meta-chip {
                flex: 1 1 136px;
                justify-content: center;
                min-height: 40px;
                font-size: 13px;
            }

            .admin-select,
            .avatar {
                min-height: 40px;
            }

            .avatar {
                width: 40px;
                height: 40px;
            }

            .breadcrumb-panel {
                border-radius: 18px;
                margin-bottom: 10px;
                padding: 9px 12px;
            }

            .session-summary {
                grid-template-columns: 1fr;
                gap: 8px;
                margin: 12px 0;
            }

            .summary-tile {
                min-height: 82px;
                padding: 14px;
            }

            .summary-tile strong {
                font-size: 24px;
            }

            .session-chart-panel {
                border-radius: 18px;
                padding: 12px;
            }

            .chart-head {
                flex-direction: column;
                margin-bottom: 12px;
            }

            .chart-legend {
                justify-content: flex-start;
                gap: 6px;
            }

            .cashbox-indicator {
                width: 100%;
                min-height: 0;
                margin: 0 0 12px;
                padding: 12px;
                flex-wrap: wrap;
                gap: 7px 10px;
            }

            .cashbox-indicator strong {
                font-size: 22px;
            }

            .cashbox-indicator small {
                width: 100%;
                margin-left: 0;
            }

            .cashbox-actions {
                width: 100%;
            }

            .cashbox-action {
                flex: 1 1 120px;
            }

            .legend-pill,
            .chart-toggle {
                min-height: 30px;
                padding: 0 9px;
                font-size: 11px;
            }

            .view-switch {
                width: 100%;
                justify-content: space-between;
            }

            .view-switch button {
                flex: 1;
            }

            .hour-chart-wrap {
                max-height: 380px;
            }

            .hour-chart-wrap:not(.is-collapsed) {
                max-height: none;
            }

            .hour-chart,
            .line-chart {
                height: 340px;
            }

            .hour-chart {
                grid-template-columns: 28px repeat(25, minmax(0, 1fr));
                gap: 2px;
            }

            .chart-scale,
            .hour-group,
            .bars {
                height: 260px;
            }

            .chart-scale {
                padding-bottom: 31px;
                font-size: 10px;
            }

            .hour-group {
                grid-template-rows: 260px 31px;
            }

            .bar {
                width: clamp(2px, .75vw, 5px);
            }

            .hour-label {
                font-size: 9px;
                transform: rotate(-55deg);
                transform-origin: top center;
            }
        }

        @media (max-width: 420px) {
            .sidebar-nav a,
            .dashboard-app.is-sidebar-collapsed .sidebar-nav a {
                min-width: 78px;
            }

            .sidebar-nav a span {
                max-width: 68px;
            }

            .topbar-actions {
                display: grid;
                grid-template-columns: 1fr auto auto;
            }

            .primary-action {
                grid-column: 1 / -1;
            }
        }

.legend-dot-load { --dot: var(--crm-color-text-soft); }
.legend-dot-forecast { --dot: #f0b35d; }
.is-pagination-hidden{display:none!important}.table-pagination{min-height:58px;border:1px solid var(--dash-line);border-top:0;border-radius:0 0 12px 12px;padding:9px 13px;color:var(--theme-muted);background:var(--theme-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.table-pagination label,.table-pagination nav,.table-pagination [data-pagination-pages]{display:flex;align-items:center;gap:7px}.table-pagination select,.table-pagination button{height:34px;border:1px solid var(--theme-border);border-radius:8px;color:var(--theme-text);background:var(--theme-secondary-button);font:inherit;font-weight:800}.table-pagination select{min-width:72px;padding:0 9px}.table-pagination button{min-width:34px;padding:0 9px;cursor:pointer}.table-pagination button:hover:not(:disabled),.table-pagination button.is-active{color:var(--theme-primary-text);border-color:var(--theme-primary);background:var(--theme-primary)}.table-pagination button:disabled{opacity:.42;cursor:not-allowed}.table-pagination [data-pagination-pages]>i{font-style:normal}@media(max-width:620px){.table-pagination{align-items:stretch;flex-wrap:wrap}.table-pagination nav{width:100%;justify-content:center}.table-pagination>[data-pagination-info]{margin-left:auto}}
.legend-dot-revenue{--dot:var(--theme-primary)}
.legend-dot-shift { --dot: #7fd190; }
.bar-h-0 { --h: 0%; }
.bar-h-1 { --h: 1%; }
.bar-h-2 { --h: 2%; }
.bar-h-3 { --h: 3%; }
.bar-h-4 { --h: 4%; }
.bar-h-5 { --h: 5%; }
.bar-h-6 { --h: 6%; }
.bar-h-7 { --h: 7%; }
.bar-h-8 { --h: 8%; }
.bar-h-9 { --h: 9%; }
.bar-h-10 { --h: 10%; }
.bar-h-11 { --h: 11%; }
.bar-h-12 { --h: 12%; }
.bar-h-13 { --h: 13%; }
.bar-h-14 { --h: 14%; }
.bar-h-15 { --h: 15%; }
.bar-h-16 { --h: 16%; }
.bar-h-17 { --h: 17%; }
.bar-h-18 { --h: 18%; }
.bar-h-19 { --h: 19%; }
.bar-h-20 { --h: 20%; }
.bar-h-21 { --h: 21%; }
.bar-h-22 { --h: 22%; }
.bar-h-23 { --h: 23%; }
.bar-h-24 { --h: 24%; }
.bar-h-25 { --h: 25%; }
.bar-h-26 { --h: 26%; }
.bar-h-27 { --h: 27%; }
.bar-h-28 { --h: 28%; }
.bar-h-29 { --h: 29%; }
.bar-h-30 { --h: 30%; }
.bar-h-31 { --h: 31%; }
.bar-h-32 { --h: 32%; }
.bar-h-33 { --h: 33%; }
.bar-h-34 { --h: 34%; }
.bar-h-35 { --h: 35%; }
.bar-h-36 { --h: 36%; }
.bar-h-37 { --h: 37%; }
.bar-h-38 { --h: 38%; }
.bar-h-39 { --h: 39%; }
.bar-h-40 { --h: 40%; }
.bar-h-41 { --h: 41%; }
.bar-h-42 { --h: 42%; }
.bar-h-43 { --h: 43%; }
.bar-h-44 { --h: 44%; }
.bar-h-45 { --h: 45%; }
.bar-h-46 { --h: 46%; }
.bar-h-47 { --h: 47%; }
.bar-h-48 { --h: 48%; }
.bar-h-49 { --h: 49%; }
.bar-h-50 { --h: 50%; }
.bar-h-51 { --h: 51%; }
.bar-h-52 { --h: 52%; }
.bar-h-53 { --h: 53%; }
.bar-h-54 { --h: 54%; }
.bar-h-55 { --h: 55%; }
.bar-h-56 { --h: 56%; }
.bar-h-57 { --h: 57%; }
.bar-h-58 { --h: 58%; }
.bar-h-59 { --h: 59%; }
.bar-h-60 { --h: 60%; }
.bar-h-61 { --h: 61%; }
.bar-h-62 { --h: 62%; }
.bar-h-63 { --h: 63%; }
.bar-h-64 { --h: 64%; }
.bar-h-65 { --h: 65%; }
.bar-h-66 { --h: 66%; }
.bar-h-67 { --h: 67%; }
.bar-h-68 { --h: 68%; }
.bar-h-69 { --h: 69%; }
.bar-h-70 { --h: 70%; }
.bar-h-71 { --h: 71%; }
.bar-h-72 { --h: 72%; }
.bar-h-73 { --h: 73%; }
.bar-h-74 { --h: 74%; }
.bar-h-75 { --h: 75%; }
.bar-h-76 { --h: 76%; }
.bar-h-77 { --h: 77%; }
.bar-h-78 { --h: 78%; }
.bar-h-79 { --h: 79%; }
.bar-h-80 { --h: 80%; }
.bar-h-81 { --h: 81%; }
.bar-h-82 { --h: 82%; }
.bar-h-83 { --h: 83%; }
.bar-h-84 { --h: 84%; }
.bar-h-85 { --h: 85%; }
.bar-h-86 { --h: 86%; }
.bar-h-87 { --h: 87%; }
.bar-h-88 { --h: 88%; }
.bar-h-89 { --h: 89%; }
.bar-h-90 { --h: 90%; }
.bar-h-91 { --h: 91%; }
.bar-h-92 { --h: 92%; }
.bar-h-93 { --h: 93%; }
.bar-h-94 { --h: 94%; }
.bar-h-95 { --h: 95%; }
.bar-h-96 { --h: 96%; }
.bar-h-97 { --h: 97%; }
.bar-h-98 { --h: 98%; }
.bar-h-99 { --h: 99%; }
.bar-h-100 { --h: 100%; }
.bar-h-101 { --h: 101%; }
.bar-h-102 { --h: 102%; }
.bar-h-103 { --h: 103%; }
.bar-h-104 { --h: 104%; }
.bar-h-105 { --h: 105%; }
.bar-h-106 { --h: 106%; }
.bar-h-107 { --h: 107%; }
.bar-h-108 { --h: 108%; }
.bar-h-109 { --h: 109%; }
.bar-h-110 { --h: 110%; }
.bar-h-111 { --h: 111%; }
.bar-h-112 { --h: 112%; }
.bar-h-113 { --h: 113%; }
.bar-h-114 { --h: 114%; }
.bar-h-115 { --h: 115%; }
.bar-h-116 { --h: 116%; }
.bar-h-117 { --h: 117%; }
.bar-h-118 { --h: 118%; }
.bar-h-119 { --h: 119%; }
.bar-h-120 { --h: 120%; }
.bar-h-121 { --h: 121%; }
.bar-h-122 { --h: 122%; }
.bar-h-123 { --h: 123%; }
.bar-h-124 { --h: 124%; }
.bar-h-125 { --h: 125%; }
.bar-h-126 { --h: 126%; }
.bar-h-127 { --h: 127%; }
.bar-h-128 { --h: 128%; }
.bar-h-129 { --h: 129%; }
.bar-h-130 { --h: 130%; }
.bar-d-0 { --i: 0; }
.bar-d-1 { --i: 1; }
.bar-d-2 { --i: 2; }
.bar-d-3 { --i: 3; }
.bar-d-4 { --i: 4; }
.bar-d-5 { --i: 5; }
.bar-d-6 { --i: 6; }
.bar-d-7 { --i: 7; }
.bar-d-8 { --i: 8; }
.bar-d-9 { --i: 9; }
.bar-d-10 { --i: 10; }
.bar-d-11 { --i: 11; }
.bar-d-12 { --i: 12; }
.bar-d-13 { --i: 13; }
.bar-d-14 { --i: 14; }
.bar-d-15 { --i: 15; }
.bar-d-16 { --i: 16; }
.bar-d-17 { --i: 17; }
.bar-d-18 { --i: 18; }
.bar-d-19 { --i: 19; }
.bar-d-20 { --i: 20; }
.bar-d-21 { --i: 21; }
.bar-d-22 { --i: 22; }
.bar-d-23 { --i: 23; }
.bar-d-24 { --i: 24; }
.bar-d-25 { --i: 25; }
.bar-d-26 { --i: 26; }
.bar-d-27 { --i: 27; }
.bar-d-28 { --i: 28; }
.bar-d-29 { --i: 29; }
.bar-d-30 { --i: 30; }
.bar-d-31 { --i: 31; }
.bar-d-32 { --i: 32; }
.bar-d-33 { --i: 33; }
.bar-d-34 { --i: 34; }
.bar-d-35 { --i: 35; }
.bar-d-36 { --i: 36; }
.bar-d-37 { --i: 37; }
.bar-d-38 { --i: 38; }
.bar-d-39 { --i: 39; }
.bar-d-40 { --i: 40; }
.bar-d-41 { --i: 41; }
.bar-d-42 { --i: 42; }
.bar-d-43 { --i: 43; }
.bar-d-44 { --i: 44; }
.bar-d-45 { --i: 45; }
.bar-d-46 { --i: 46; }
.bar-d-47 { --i: 47; }
.bar-d-48 { --i: 48; }
.bar-d-49 { --i: 49; }
.bar-d-50 { --i: 50; }
.bar-d-51 { --i: 51; }
.bar-d-52 { --i: 52; }
.bar-d-53 { --i: 53; }
.bar-d-54 { --i: 54; }
.bar-d-55 { --i: 55; }
.bar-d-56 { --i: 56; }
.bar-d-57 { --i: 57; }
.bar-d-58 { --i: 58; }
.bar-d-59 { --i: 59; }
.bar-d-60 { --i: 60; }
.bar-d-61 { --i: 61; }
.bar-d-62 { --i: 62; }
.bar-d-63 { --i: 63; }
.bar-d-64 { --i: 64; }
.bar-d-65 { --i: 65; }
.bar-d-66 { --i: 66; }
.bar-d-67 { --i: 67; }
.bar-d-68 { --i: 68; }
.bar-d-69 { --i: 69; }
.bar-d-70 { --i: 70; }
.bar-d-71 { --i: 71; }
.bar-d-72 { --i: 72; }
.bar-d-73 { --i: 73; }
.bar-d-74 { --i: 74; }
.bar-d-75 { --i: 75; }
.bar-d-76 { --i: 76; }
.bar-d-77 { --i: 77; }
.bar-d-78 { --i: 78; }
.bar-d-79 { --i: 79; }
.bar-d-80 { --i: 80; }
.parking-scheme-fab{position:fixed;right:24px;bottom:22px;z-index:180;min-height:46px;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:0 17px;color:#111;background:var(--crm-gradient-primary);box-shadow:0 16px 42px rgba(0,0,0,.48);display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:900}.parking-scheme-modal{position:fixed;inset:0;z-index:310;padding:18px;background:rgba(3,6,12,.82);backdrop-filter:blur(9px);display:none;place-items:center}.parking-scheme-modal.is-open{display:grid}.parking-scheme-dialog{width:min(1280px,100%);height:min(850px,calc(100vh - 36px));border:1px solid var(--dash-line-strong);border-radius:18px;background:#0f141b;box-shadow:0 32px 100px rgba(0,0,0,.7);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.parking-scheme-dialog>header{min-height:70px;border-bottom:1px solid var(--dash-line);padding:10px 15px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px}.parking-scheme-dialog>header span{color:var(--dash-muted);font-size:10px}.parking-scheme-dialog h2{margin:3px 0 0;font-size:17px}.parking-scheme-tabs{border:1px solid var(--dash-line);border-radius:10px;padding:3px;background:rgba(0,0,0,.2);display:flex;gap:3px}.parking-scheme-tabs button{height:34px;border:0;border-radius:7px;padding:0 12px;color:var(--dash-muted);background:transparent;cursor:pointer;font-weight:850}.parking-scheme-tabs button.is-active{color:#111;background:#e4e8ed}.parking-scheme-close{width:36px;height:36px;border:1px solid var(--dash-line);border-radius:9px;color:var(--crm-color-white);background:var(--crm-surface-subtle);cursor:pointer}.parking-scheme-view{min-height:0;padding:12px;display:none;overflow:auto}.parking-scheme-view.is-active{display:block}.parking-scheme-view iframe{width:100%;height:100%;min-height:690px;border:0;border-radius:12px;background:#0d1013}.parking-row-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:11px}.parking-row-columns article{border:1px solid color-mix(in srgb,var(--row-color) 28%,var(--dash-line));border-radius:13px;padding:13px;background:color-mix(in srgb,var(--row-color) 10%,rgba(0,0,0,.2));display:grid;gap:11px}.parking-row-columns article>header,.parking-row-columns footer,.parking-row-numbers{display:flex;align-items:center;justify-content:space-between;gap:8px}.parking-row-columns article>header span{color:var(--crm-color-white);font-size:14px;font-weight:900}.parking-row-columns article>header b{color:var(--row-color)}.parking-row-bar{height:7px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.parking-row-bar i{height:100%;border-radius:inherit;background:var(--row-color);display:block}.parking-row-numbers span{color:var(--dash-muted);display:grid;gap:2px;font-size:9px}.parking-row-numbers b{color:var(--crm-color-white);font-size:14px}.parking-row-columns footer{border-top:1px solid var(--dash-line);padding-top:10px;color:var(--dash-muted);font-size:10px}.parking-row-columns footer strong{color:#dfe4e9}@media(max-width:620px){.parking-scheme-fab span{display:none}.parking-scheme-fab{right:14px;bottom:14px;width:48px;padding:0;justify-content:center}.parking-scheme-dialog>header{grid-template-columns:1fr auto}.parking-scheme-tabs{grid-row:2;grid-column:1/-1}.parking-scheme-tabs button{flex:1}}
.session-tariff.is-colored{position:relative;width:fit-content;min-width:120px;border:0;border-radius:0;padding:2px 0 2px 11px;background:transparent}.session-tariff.is-colored::before{content:"";position:absolute;inset:2px auto 2px 0;width:3px;border-radius:999px;background:var(--tariff-color);box-shadow:0 0 8px color-mix(in srgb,var(--tariff-color) 55%,transparent)}.session-tariff.is-colored strong{color:var(--tariff-color);text-shadow:0 0 12px color-mix(in srgb,var(--tariff-color) 24%,transparent)}.session-tariff.is-colored small{color:#b8c0ca}
.session-payment-date-grid[hidden]{display:none!important}
.session-custom-options button.is-row-color{border:1px solid color-mix(in srgb,var(--option-color) 28%,transparent);background:color-mix(in srgb,var(--option-color) 13%,transparent)}.session-custom-options button.is-row-color:hover,.session-custom-options button.is-row-color.is-selected{border-color:color-mix(in srgb,var(--option-color) 48%,transparent);background:color-mix(in srgb,var(--option-color) 23%,transparent)}
.session-table tbody tr.is-blacklisted-session td{background:rgba(255,55,86,.075);color:#ffc0ca}.session-table tbody tr.is-blacklisted-session td:first-child{box-shadow:inset 3px 0 0 #ff4f6d}.session-table tbody tr.is-blacklisted-session .session-person:first-child strong{color:#ff9daf}
.session-row-color{width:13px;height:13px;flex:0 0 auto;border:2px solid rgba(255,255,255,.28);border-radius:50%;background:var(--option-color);box-shadow:0 0 10px color-mix(in srgb,var(--option-color) 55%,transparent)}.session-custom-options button.is-blacklisted{color:#ff9aab;background:rgba(255,64,94,.08)}.session-custom-options button.is-blacklisted i{color:#ff667f}.session-custom-options button:disabled{opacity:.78;cursor:not-allowed}.session-bank-logo{width:28px;height:28px;grid-row:1/3;border-radius:8px;color:var(--bank-color,#dfe4ea);background:rgba(255,255,255,.055);display:grid;place-items:center;overflow:hidden}.session-bank-logo svg,.session-bank-logo img{width:20px;height:20px;object-fit:contain}.session-bank-logo svg *{fill:currentColor}.session-payment-methods label>span>.session-bank-logo{grid-row:1/3}
.session-context-menu button[hidden]{display:none}.session-context-menu button.is-danger{color:#ff9cac}.session-context-menu button.is-danger i{color:#ff7188}.session-action-modal{position:fixed;inset:0;z-index:295;padding:18px;background:rgba(3,6,12,.78);backdrop-filter:blur(8px);display:none;place-items:center}.session-action-modal.is-open{display:grid}.session-action-dialog{width:min(520px,100%);border:1px solid var(--dash-line-strong);border-radius:18px;padding:20px;background:#11161e;box-shadow:0 28px 90px rgba(0,0,0,.66);display:grid;gap:16px;overflow:visible}.session-cancel-warning{border:1px solid rgba(255,100,124,.25);border-radius:11px;padding:12px;color:#ffb4c0;background:rgba(255,70,100,.08);display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.45}.session-danger-action{border-color:transparent!important;color:var(--crm-color-white)!important;background:linear-gradient(135deg,#e33d59,#a71f38)!important}
.session-payment-commission{margin-top:10px;border:1px solid var(--dash-line);border-radius:11px;padding:11px;background:rgba(255,255,255,.02);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.session-payment-commission[hidden]{display:none}.session-payment-commission>div{display:grid;gap:4px}.session-payment-commission span{color:var(--dash-muted);font-size:10px}.session-payment-commission strong{color:#eef1f5;font-size:13px}.session-payment-commission>div:last-child strong{color:#76e4ad}@media(max-width:620px){.session-payment-commission{grid-template-columns:1fr}}
.parking-scheme-view{overflow:hidden}.parking-scheme-view[data-scheme-panel="rows"]{overflow:auto}.scheme-native-map{position:relative;padding:0}.scheme-native-map .parking-canvas{width:100%;min-width:0;height:100%;min-height:0;cursor:grab;overflow:hidden}.scheme-native-map .parking-canvas.is-panning{cursor:grabbing}.scheme-native-map .parking-map-stage{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0;background-color:#0d1013;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;will-change:transform;touch-action:none}.scheme-native-map .map-object{z-index:7;position:absolute;left:var(--map-x);top:var(--map-y);box-sizing:border-box;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:var(--crm-color-white);user-select:none}.scheme-native-map .map-object.is-horizontal{width:80px;height:40px}.scheme-native-map .map-object.is-vertical{width:40px;height:80px}.scheme-native-map .map-object.is-entrance{background:#256a45}.scheme-native-map .map-object.is-exit{background:#8a4931}.scheme-native-map .map-object-main{width:100%;height:100%;padding:3px;display:flex;align-items:center;justify-content:center;gap:5px;overflow:hidden}.scheme-native-map .map-object-main i{font-size:9px}.scheme-native-map .map-object-main strong{font-size:8px;white-space:nowrap}.scheme-native-map .map-object.is-vertical .map-object-main{flex-direction:column}.scheme-native-map .map-object.is-vertical strong{font-size:7px;writing-mode:vertical-rl;transform:rotate(180deg)}.scheme-map-hint{position:absolute;right:14px;bottom:14px;z-index:20;border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:8px 10px;color:#aeb6c0;background:rgba(12,15,19,.8);pointer-events:none;font-size:9px;font-weight:850;backdrop-filter:blur(6px)}
.scheme-native-map .parking-map-stage{inset:auto;width:2240px;height:2240px}
.scheme-native-map .parking-canvas::before{display:none}
.parking-scheme-fab{z-index:325}.parking-scheme-modal{z-index:340}.parking-scheme-dialog{position:relative;will-change:transform}.parking-scheme-dialog>header{cursor:move;user-select:none}.parking-scheme-dialog>header button,.parking-scheme-tabs{cursor:default}.parking-scheme-dialog.is-window-dragging{transition:none;box-shadow:0 38px 115px rgba(0,0,0,.82)}
.scheme-row-chart{padding:18px 22px!important;overflow-y:auto!important;background:#0d1013}.scheme-row-chart-head{margin-bottom:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.scheme-row-chart-head span{color:var(--dash-muted);font-size:10px}.scheme-row-chart-head h3{margin:4px 0 0;color:var(--crm-color-white);font-size:18px}.scheme-row-chart-head>div:last-child{color:#aeb6c1;display:flex;align-items:center;gap:7px;font-size:11px}.scheme-row-chart-head i{width:9px;height:9px;border-radius:3px;display:inline-block}.scheme-row-chart-head i.is-occupied{background:#f08a5d}.scheme-row-chart-head i.is-free{margin-left:8px;background:#4fc39b}.scheme-row-chart [data-scheme-row-chart]{min-height:390px}@media(max-width:620px){.scheme-row-chart{padding:12px!important}.scheme-row-chart-head{align-items:flex-start;flex-direction:column}.parking-scheme-tabs button{padding:0 7px;font-size:11px}}
.session-filter-control.is-status-filter{min-width:178px;padding:0}.session-filter-control.is-status-filter>.is-status-select{width:100%;min-width:176px}.is-status-select .session-custom-toggle{min-height:38px;padding:0 11px;color:var(--theme-input-text)!important;border:0!important;border-radius:9px;background:var(--theme-input)!important}.is-status-select .session-custom-toggle>span{display:flex;align-items:center;gap:8px;font-weight:850}.is-status-select .session-custom-toggle>span>i{color:var(--theme-search-icon)}.is-status-select .session-custom-dropdown{left:0;right:auto;width:250px;padding:7px;border-color:var(--theme-border)!important;background:var(--theme-dropdown-background)!important;box-shadow:0 18px 42px color-mix(in srgb,var(--theme-shadow) 34%,transparent)}.is-status-select .session-custom-options{gap:5px}.is-status-select .session-custom-options button{width:100%;min-height:42px;padding:6px 8px;color:var(--theme-dropdown-text)!important;border:1px solid transparent;background:var(--theme-dropdown-background)!important;display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px}.is-status-select .session-custom-options button:hover{border-color:var(--theme-border)!important;background:var(--theme-dropdown-hover)!important}.is-status-select .session-custom-options button.is-selected{border-color:var(--theme-input-focus)!important;background:color-mix(in srgb,var(--theme-dropdown-selected) 12%,var(--theme-dropdown-background))!important}.is-status-select .session-option-check{width:20px;height:20px;border-color:var(--theme-border);color:transparent;background:var(--theme-secondary-button)}.is-status-select .session-custom-options button.is-selected .session-option-check{color:var(--theme-primary-text);border-color:var(--theme-primary);background:var(--theme-primary)}.is-status-select .session-status{width:max-content;min-height:28px;box-shadow:none}@media(max-width:620px){.session-filter-control.is-status-filter{width:100%}.session-filter-control.is-status-filter>.is-status-select{width:100%}.is-status-select .session-custom-dropdown{width:100%}}
.session-action-dialog{overflow:visible!important}.session-action-dialog>.field:has(.session-custom-select.is-open){position:relative;z-index:60}.session-action-dialog .session-custom-select{width:100%;min-width:0}.session-action-dialog .session-custom-dropdown{z-index:2100;width:100%;max-height:min(320px,45vh);overflow:hidden}.session-action-dialog .session-custom-options{max-height:min(250px,35vh);overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--theme-scrollbar-thumb) var(--theme-scrollbar-track);scrollbar-width:thin}.session-action-dialog .session-custom-options button{white-space:normal;line-height:1.35}
.session-pickup-card{border:1px solid var(--theme-border);border-radius:11px;padding:12px;background:var(--theme-surface-alt);display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px}.session-pickup-card[hidden]{display:none}.session-pickup-card-icon{width:40px;height:40px;border-radius:9px;color:var(--theme-text);background:var(--theme-secondary-button);display:grid;place-items:center}.session-pickup-card>div:nth-child(2){min-width:0;display:grid;gap:3px}.session-pickup-card small{color:var(--theme-muted);font-size:8px;font-weight:900;letter-spacing:.08em}.session-pickup-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.session-pickup-card span{color:var(--theme-muted);display:flex;align-items:center;gap:7px;font-size:10px}.session-pickup-card span i{width:3px;height:3px;border-radius:50%;background:currentColor}.session-pickup-card-actions{display:flex;gap:5px}.session-pickup-card-actions button{width:31px;height:31px;border:1px solid var(--theme-border);border-radius:8px;color:var(--theme-muted);background:var(--theme-secondary-button);display:grid;place-items:center;cursor:pointer}.session-pickup-card-actions button:hover{color:var(--theme-text);background:var(--theme-hover)}



}
/* crm-module-theme-editor : assets/css/theme-editor.css */
@scope (body.theme-editor-page) {
.theme-editor{display:grid;gap:14px;padding-bottom:80px}.theme-editor-head,.theme-editor-controls,.component-showcase,.editor-danger-zone{border:1px solid var(--dash-line);border-radius:15px;background:var(--theme-surface);box-shadow:0 18px 50px color-mix(in srgb,var(--theme-shadow) 28%,transparent)}.theme-editor-head{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:16px}.theme-editor-head small,.component-showcase>header small{color:var(--theme-primary);font-size:9px;font-weight:950;letter-spacing:.12em}.theme-editor-head h1{margin:4px 0;font-size:21px}.theme-editor-head p,.component-showcase>header p{margin:0;color:var(--theme-muted);font-size:12px}.theme-editor-head>div:last-child{display:flex;gap:8px}.theme-editor-head a,.theme-editor-head button{min-height:40px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:850}.theme-editor-head a{color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}.theme-editor-controls{padding:16px}.theme-editor-name{max-width:520px;margin-bottom:14px;display:grid;gap:7px;color:var(--theme-muted);font-size:11px;font-weight:850}.theme-editor-name input{min-height:44px;border:1px solid var(--dash-line-strong);border-radius:10px;padding:0 12px}.theme-token-grid{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:8px}.theme-token-grid>label{min-width:0;border:1px solid var(--dash-line);border-radius:10px;padding:8px;background:var(--theme-surface-alt);display:grid;gap:7px}.theme-token-grid>label>span{overflow:hidden;color:var(--theme-muted);font-size:9px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.theme-token-grid label>div{display:flex;align-items:center;gap:7px}.theme-token-grid input[type=color]{width:31px;height:31px;min-height:31px;border:0!important;border-radius:7px;padding:0;background:transparent!important}.theme-token-grid code{color:var(--theme-text);font-size:10px}
.component-showcase{padding:16px}.component-showcase>header{margin-bottom:14px}.component-showcase>header h2{margin:4px 0;font-size:19px}.showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.showcase-grid.lower{grid-template-columns:1.2fr 1fr .8fr;margin-top:10px}.showcase-card{min-width:0;border:1px solid var(--theme-border);border-radius:12px;padding:13px;background:var(--theme-surface-alt)}.showcase-card h3{margin:0 0 12px;color:var(--theme-text);font-size:12px}.showcase-card label{margin-top:9px;display:grid;gap:5px;color:var(--theme-muted);font-size:9px;font-weight:850}.showcase-card input,.showcase-card textarea,.demo-select{width:100%;min-height:38px;border:1px solid var(--theme-border)!important;border-radius:8px;padding:0 10px;color:var(--theme-input-text)!important;background:var(--theme-input)!important;outline:0}.showcase-card textarea{height:58px;padding-top:9px;resize:none}.showcase-card input::placeholder,.showcase-card textarea::placeholder{color:var(--theme-input-placeholder)!important}.showcase-card input.is-focus{border-color:var(--theme-input-focus)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-input-focus) 20%,transparent)!important}.demo-search{position:relative}.demo-search i{position:absolute;left:11px;top:50%;z-index:2;color:var(--theme-search-icon);transform:translateY(-50%)}.demo-search input{padding-left:32px;background:var(--theme-search-background)!important}.demo-select{display:flex;align-items:center;justify-content:space-between;color:var(--theme-dropdown-text)!important;background:var(--theme-input)!important}.demo-dropdown{margin-top:6px;border:1px solid var(--theme-border);border-radius:9px;padding:5px;background:var(--theme-dropdown-background)}.demo-dropdown button{width:100%;min-height:34px;border:0;border-radius:6px;padding:0 9px;color:var(--theme-dropdown-text);background:transparent;text-align:left}.demo-dropdown button.is-hover{background:var(--theme-dropdown-hover)}.demo-dropdown button.is-selected{color:var(--theme-primary-text);background:var(--theme-dropdown-selected)}
.demo-calendar{border:1px solid var(--theme-border);border-radius:10px;padding:8px;background:var(--theme-calendar-background)}.demo-calendar header{margin:-8px -8px 8px;padding:7px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;background:var(--theme-calendar-header)}.demo-calendar header button{border:0;color:var(--theme-calendar-day);background:transparent}.demo-calendar header strong{text-align:center;font-size:10px}.demo-calendar .week,.demo-calendar .days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.demo-calendar .week span{padding:4px 0;color:var(--theme-muted);font-size:7px;text-align:center}.demo-calendar .days button{aspect-ratio:1;border:0;border-radius:5px;padding:0;color:var(--theme-calendar-day);background:transparent;font-size:8px}.demo-calendar .days button:nth-child(7n),.demo-calendar .days button:nth-child(7n - 1){color:var(--theme-calendar-weekend)}.demo-calendar .days button.is-hover{background:var(--theme-calendar-hover)}.demo-calendar .days button.is-selected{color:var(--theme-primary-text);background:var(--theme-calendar-selected)}.demo-buttons{display:grid;gap:7px}.demo-buttons button,.demo-modal footer button{min-height:36px;border:1px solid var(--theme-border);border-radius:8px;padding:0 11px}.demo-secondary{color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}.demo-danger{color:var(--crm-color-white);background:var(--theme-danger)}.demo-statuses{margin-top:12px;display:flex;flex-wrap:wrap;gap:5px}.demo-statuses span,.showcase-table td span{border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}.success{color:var(--theme-success);background:color-mix(in srgb,var(--theme-success) 14%,transparent)}.warning{color:var(--theme-warning);background:color-mix(in srgb,var(--theme-warning) 14%,transparent)}.danger{color:var(--theme-danger);background:color-mix(in srgb,var(--theme-danger) 14%,transparent)}
.showcase-table{margin-top:10px;padding:0;overflow:hidden}.showcase-table h3{padding:13px 13px 0}.demo-table-wrap{overflow-x:auto}.showcase-table table{width:100%;border-collapse:collapse;font-size:10px}.showcase-table th,.showcase-table td{padding:11px 13px;border-top:1px solid var(--theme-border);text-align:left}.showcase-table thead{color:var(--theme-muted);background:var(--theme-table-header)!important}.showcase-table tbody tr{color:var(--theme-text);background:var(--theme-table-row)!important}.showcase-table tbody tr:nth-child(even){background:var(--theme-table-row-alt)!important}.showcase-table tbody tr.is-hover{background:var(--theme-table-hover)!important}.demo-chart{width:100%;height:190px}.demo-chart .grid{fill:none;stroke:var(--theme-chart-grid);stroke-dasharray:4 4}.demo-chart polyline{fill:none;stroke:var(--theme-primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-labels{display:flex;justify-content:space-between;color:var(--theme-chart-label);font-size:8px}.demo-modal{border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-modal-background);box-shadow:0 15px 35px color-mix(in srgb,var(--theme-shadow) 55%,transparent);overflow:hidden}.demo-modal header{padding:10px;border-bottom:1px solid var(--theme-border);display:flex;justify-content:space-between}.demo-modal header button{border:0;color:var(--theme-muted);background:transparent}.demo-modal label{padding:0 10px}.demo-modal footer{padding:10px;display:flex;gap:6px}.demo-scroll{height:210px;overflow-y:scroll;scrollbar-color:var(--theme-scrollbar-thumb) var(--theme-scrollbar-track)}.demo-scroll p{margin:0;padding:9px;border-bottom:1px solid var(--theme-border);display:flex;gap:8px;color:var(--theme-muted);font-size:9px}.editor-danger-zone{padding:14px 16px;display:flex;align-items:center;justify-content:space-between}.editor-danger-zone div{display:grid;gap:3px}.editor-danger-zone span{color:var(--theme-muted);font-size:10px}.editor-danger-zone button{min-height:40px;border:0;border-radius:9px;padding:0 13px;color:var(--crm-color-white);background:var(--theme-danger)}
@media(max-width:1300px){.theme-token-grid{grid-template-columns:repeat(4,1fr)}.showcase-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.theme-editor-head{align-items:flex-start;flex-direction:column}.theme-token-grid{grid-template-columns:repeat(2,1fr)}.showcase-grid,.showcase-grid.lower{grid-template-columns:1fr}}@media(max-width:480px){.theme-token-grid{grid-template-columns:1fr}.theme-editor-head>div:last-child{width:100%}.theme-editor-head a,.theme-editor-head button{flex:1;justify-content:center}.editor-danger-zone{align-items:flex-start;flex-direction:column;gap:10px}}
.demo-hover{color:var(--theme-secondary-button-text)!important;background:var(--theme-button-hover)!important}.demo-active{color:var(--theme-secondary-button-text)!important;background:var(--theme-button-active)!important}.demo-buttons button:disabled{color:var(--theme-button-disabled-text)!important;background:var(--theme-button-disabled)!important;opacity:1!important}.demo-loading{color:var(--theme-loading-icon)!important;background:var(--theme-secondary-button)!important;display:flex;align-items:center;justify-content:center;gap:8px}.demo-loading i{width:15px;height:15px;border:2px solid var(--theme-loading-track);border-top-color:var(--theme-loading-icon);border-radius:50%;display:block}.demo-deposit{color:var(--theme-deposit-button-text)!important;background:var(--theme-deposit-button)!important}.demo-withdrawal{color:var(--theme-withdrawal-button-text)!important;background:var(--theme-withdrawal-button)!important}.demo-danger{color:var(--theme-danger-button-text)!important;background:var(--theme-danger-button)!important}.demo-modal-close{color:var(--theme-modal-close-text)!important;background:var(--theme-modal-close-background)!important}.demo-modal footer{background:var(--theme-modal-footer)}.demo-modal header button{color:var(--theme-modal-close-text);background:var(--theme-modal-close-background)}
.showcase-extra{margin-top:10px}.demo-tabs{display:flex;gap:3px;padding:4px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface)}.demo-tabs button{flex:1;min-height:32px;border:0;border-radius:6px;color:var(--theme-muted);background:transparent;font-size:9px}.demo-tabs button.is-active{color:var(--theme-primary-text);background:var(--theme-primary)}.demo-tabs b{padding:2px 5px;border-radius:999px;background:color-mix(in srgb,var(--theme-muted) 18%,transparent)}.demo-switch{margin-top:12px!important;display:flex!important;align-items:center;justify-content:space-between}.demo-switch>span{display:grid}.demo-switch small{color:var(--theme-muted)}.demo-switch button{width:42px;height:24px;border:1px solid var(--theme-border);border-radius:999px;background:var(--theme-secondary-button);padding:3px}.demo-switch button i{width:16px;height:16px;border-radius:50%;background:var(--theme-muted);display:block}.demo-switch button.is-active{background:var(--theme-primary)}.demo-switch button.is-active i{background:var(--theme-primary-text);transform:translateX(17px)}.demo-checks{margin-top:12px;display:flex;gap:14px}.demo-checks label{display:flex!important;align-items:center;gap:6px;margin:0!important}.demo-checks input{width:16px!important;min-height:16px!important;accent-color:var(--theme-primary)}.demo-upload{min-height:64px!important;margin:0!important;border:1px dashed var(--theme-border);border-radius:9px;padding:9px;display:grid!important;grid-template-columns:28px 1fr auto;align-items:center;gap:8px}.demo-upload>i{color:var(--theme-primary);font-size:20px}.demo-upload>span{display:grid}.demo-upload button{min-height:30px;border:1px solid var(--theme-border);border-radius:7px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}.demo-progress-copy{margin-top:14px;display:flex;justify-content:space-between;color:var(--theme-muted);font-size:9px}.demo-progress{height:8px;margin-top:6px;border-radius:999px;background:var(--theme-input);overflow:hidden}.demo-progress i{width:68%;height:100%;display:block;background:var(--theme-primary)}.demo-pagination{margin-top:14px;display:flex;gap:4px}.demo-pagination button{width:30px;height:30px;border:1px solid var(--theme-border);border-radius:7px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}.demo-pagination button.is-active{color:var(--theme-primary-text);background:var(--theme-primary)}.demo-notice{margin:7px 0!important;border:1px solid currentColor;border-radius:9px;padding:9px!important;display:flex;gap:8px}.demo-notice span{display:grid}.demo-notice small{color:var(--theme-muted)}.demo-tooltip-wrap{position:relative;margin-top:12px}.demo-tooltip-wrap>button{min-height:34px;border:1px solid var(--theme-border);border-radius:7px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}.demo-tooltip{position:absolute;left:8px;bottom:calc(100% + 7px);padding:7px 9px;border:1px solid var(--theme-border);border-radius:7px;color:var(--theme-dropdown-text);background:var(--theme-dropdown-background);box-shadow:0 8px 20px color-mix(in srgb,var(--theme-shadow) 50%,transparent);font-size:8px}.demo-person{border:1px solid var(--theme-border);border-radius:9px;padding:9px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px}.demo-person>i{width:34px;height:34px;border-radius:9px;color:var(--theme-primary-text);background:var(--theme-primary);display:grid;place-items:center}.demo-person span{display:grid}.demo-person small{color:var(--theme-muted);font-size:8px}.demo-person>b{color:var(--theme-success);font-size:8px}.demo-empty{margin-top:9px;border:1px dashed var(--theme-border);border-radius:9px;padding:12px;display:grid;place-items:center;gap:5px;color:var(--theme-muted);text-align:center}.demo-empty>i{font-size:22px}.demo-empty strong{color:var(--theme-text);font-size:10px}.demo-empty span{font-size:8px}.demo-empty button{min-height:29px;border:0;border-radius:6px;color:var(--theme-primary-text);background:var(--theme-primary)}



}
/* crm-module-modal-theme : assets/css/modal-theme.css */
/* Shared ParkingPro modal theme. Loaded after page-specific styles. */
.dashboard-page .modal-overlay {
    display: flex;
    align-items: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background: rgba(0, 0, 0, .68);
    backdrop-filter: blur(10px);
    transition: opacity .24s ease, visibility 0s linear .24s;
}

.dashboard-page .modal-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.dashboard-page .modal-overlay .modal-dialog {
    margin-top: auto;
    margin-bottom: auto;
    border: 1px solid var(--dash-line-strong);
    border-radius: 12px;
    color: var(--crm-color-text);
    background: var(--crm-color-canvas) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .58), inset 0 1px 0 rgba(255, 255, 255, .035);
    opacity: 0;
    transform: translateY(16px) scale(.978);
    transition: opacity .22s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}

.dashboard-page .modal-overlay.is-open .modal-dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.dashboard-page .modal-dialog > .panel-head,
.dashboard-page .modal-dialog > form,
.dashboard-page .modal-dialog .form-actions {
    background-color: var(--crm-color-canvas);
}

.dashboard-page .modal-dialog > .panel-head {
    border-radius: 14px 14px 0 0;
}

.dashboard-page .modal-dialog > form {
    border-radius: 0 0 14px 14px;
}

.dashboard-page .modal-dialog > form > .form-actions:last-child,
.dashboard-page .modal-dialog > form > :last-child .form-actions:last-child {
    border-radius: 0 0 14px 14px;
}

.dashboard-page .modal-dialog > .panel-head {
    border-bottom-color: var(--dash-line);
}

.dashboard-page .modal-dialog .modal-close {
    border-color: transparent;
    color: #aab1bb;
    background: transparent;
    transition: color .18s ease, background .18s ease, transform .18s ease;
}

.dashboard-page .modal-dialog .modal-close:hover {
    color: var(--crm-color-white);
    background: rgba(255, 255, 255, .07);
}

.dashboard-page .modal-dialog .modal-close:active {
    transform: scale(.94);
}

.dashboard-page .modal-dialog input:not([type="checkbox"]):not([type="radio"]),
.dashboard-page .modal-dialog textarea,
.dashboard-page .modal-dialog select,
.dashboard-page .modal-dialog [data-custom-select-toggle],
.dashboard-page .modal-dialog .client-select-toggle {
    border-color: var(--dash-line-strong);
    color: var(--crm-color-text);
    background-color: var(--crm-color-surface);
}

.dashboard-page .modal-dialog input:focus,
.dashboard-page .modal-dialog textarea:focus,
.dashboard-page .modal-dialog select:focus {
    border-color: rgba(244, 246, 248, .45);
}

.dashboard-page .modal-dialog .ghost-action {
    border-color: var(--dash-line-strong);
    color: var(--crm-color-text);
    background: #121417;
}

.dashboard-page .modal-dialog .primary-action {
    color: #101114;
    background: var(--crm-gradient-primary);
}

/* Unified directory dialogs: rows, brands, positions, employees, operations and banks. */
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-overlay {
    z-index: 500;
    padding: 22px;
    justify-content: center;
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(12px);
    scrollbar-width: thin;
    scrollbar-color: #5f6670 var(--crm-color-surface);
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-overlay::-webkit-scrollbar {
    width: 10px;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-overlay::-webkit-scrollbar-track {
    background: var(--crm-color-surface);
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-overlay::-webkit-scrollbar-thumb {
    border: 2px solid var(--crm-color-surface);
    border-radius: 999px;
    background: linear-gradient(180deg, #858c96, #4f555e);
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-overlay .modal-dialog {
    position: relative;
    width: min(640px, calc(100vw - 24px));
    margin: auto;
    border: 1px solid rgba(244, 246, 248, .14);
    border-radius: 14px !important;
    background-clip: padding-box;
    background: var(--crm-color-canvas) !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .64), inset 0 1px 0 rgba(255, 255, 255, .045);
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-overlay .modal-dialog::after {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 1000;
    border: 1px solid rgba(244, 246, 248, .14);
    border-radius: 15px;
    pointer-events: none;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog > .panel-head {
    min-height: 66px;
    padding: 16px 18px 12px;
    border-bottom: 1px solid rgba(244, 246, 248, .09);
    border-radius: 14px 14px 0 0 !important;
    background: var(--crm-color-canvas) !important;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog > .panel-head h1 {
    margin: 0 0 4px;
    color: #f5f6f8;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.01em;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog > .panel-head span {
    color: #7f8792;
    font-size: 11px;
    font-weight: 750;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .modal-close {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    color: #969eaa;
    background: rgba(255, 255, 255, .025);
    display: grid;
    place-items: center;
    font-family: inherit;
    font-size: 21px;
    line-height: 1;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .modal-close:hover {
    border-color: rgba(244, 246, 248, .18);
    color: var(--crm-color-white);
    background: rgba(255, 255, 255, .075);
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog > form {
    padding: 18px;
    border-radius: 0 0 14px 14px !important;
    background: var(--crm-color-canvas) !important;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .primary-action i {
    flex: 0 0 auto;
    font-size: 13px;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .field {
    color: #8d95a0;
    font-size: 12px;
    font-weight: 850;
    gap: 7px;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog textarea,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog select,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog [data-custom-select-toggle],
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .preset-select-trigger,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .custom-picker-button {
    min-height: 42px;
    border: 1px solid rgba(244, 246, 248, .11);
    border-radius: 10px;
    color: #f3f5f7;
    background: var(--crm-color-surface);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .018);
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog input:focus,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog textarea:focus,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog select:focus,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog [data-custom-select-toggle][aria-expanded="true"],
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .preset-select.is-open .preset-select-trigger {
    border-color: rgba(244, 246, 248, .38);
    background: #15171a;
    box-shadow: 0 0 0 3px rgba(244, 246, 248, .045);
    outline: 0;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .custom-dropdown,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .preset-dropdown,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .date-picker,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .time-picker {
    border: 1px solid rgba(244, 246, 248, .14);
    border-radius: 11px;
    background: var(--crm-color-surface-raised);
    box-shadow: 0 22px 58px rgba(0, 0, 0, .58);
    scrollbar-width: thin;
    scrollbar-color: #626a75 var(--crm-color-surface-raised);
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .form-actions {
    margin-top: 0;
    padding-top: 14px;
    border-top: 0;
    background: var(--crm-color-canvas) !important;
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
}

:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .form-actions > button,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .form-actions > .primary-action,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .form-actions > .ghost-action,
:is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .form-actions > .danger-link {
    width: 100%;
    min-height: 42px;
    border-radius: 10px;
    justify-content: center;
}

@media (max-width: 720px) {
    :is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-overlay {
        padding: 10px;
        align-items: flex-start;
    }

    :is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-overlay .modal-dialog {
        width: 100%;
        margin: auto 0;
        border-radius: 13px;
    }

    :is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog > .panel-head,
    :is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog > form {
        padding: 14px;
    }

    :is(.rows-page, .car-brands-page, .positions-page, .employees-page, .operations-page, .banks-page) .modal-dialog .form-actions {
        grid-template-columns: 1fr;
    }
}

/* Client modal keeps reference geometry, with ParkingPro graphite colors. */
.dashboard-page .client-modal-dialog,
.dashboard-page .client-modal-dialog .client-form,
.dashboard-page .client-modal-dialog .client-modal-head,
.dashboard-page .client-modal-dialog .client-modal-actions {
    background: var(--crm-color-canvas) !important;
}

.dashboard-page .client-modal-dialog {
    min-height: 0;
}

.dashboard-page .client-modal-dialog {
    border-color: var(--dash-line-strong);
}

.dashboard-page .client-modal-dialog .client-form-tabs {
    background: #1a1c20;
}

.dashboard-page .client-modal-dialog .client-form-tabs button {
    color: #959da8;
}

.dashboard-page .client-modal-dialog .client-form-tabs button.is-active {
    border-color: rgba(255, 255, 255, .18);
    color: var(--crm-color-white);
    background: #34373d;
}

.dashboard-page .client-modal-dialog .client-form-tabs button span {
    background: #555a62;
}

.dashboard-page .client-modal-dialog .client-add-car,
.dashboard-page .client-modal-dialog .client-cancel-button,
.dashboard-page .client-modal-dialog .client-car-form-card,
.dashboard-page .client-modal-dialog .client-car-form-card.is-editing {
    border-color: var(--dash-line-strong);
    background: #121417;
}

.dashboard-page .client-modal-dialog .client-add-car:hover,
.dashboard-page .client-modal-dialog .client-cancel-button:hover {
    border-color: rgba(255, 255, 255, .32);
    background: #191b1f;
}

.dashboard-page .client-modal-dialog .client-car-summary-icon {
    color: var(--crm-color-text);
    background: #25282d;
}

.dashboard-page .client-modal-dialog .client-car-editor,
.dashboard-page .client-modal-dialog .client-car-form-card.is-editing .client-car-editor {
    border-top-color: var(--dash-line);
}

.dashboard-page .client-modal-dialog .client-select-dropdown {
    border-color: var(--dash-line-strong);
    background: var(--crm-color-surface-raised);
}

/* Cashbox dialogs use a different class but share the same visual language. */
.dashboard-page .cashbox-modal {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background: rgba(0, 0, 0, .68);
    backdrop-filter: blur(10px);
    transition: opacity .24s ease, visibility 0s linear .24s;
}

.dashboard-page .cashbox-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.dashboard-page .cashbox-dialog {
    height: auto;
    max-height: none;
    margin-top: auto;
    margin-bottom: auto;
    overflow: visible;
    border: 1px solid var(--dash-line-strong);
    border-radius: 12px;
    background: var(--crm-color-canvas);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .58);
    opacity: 0;
    transform: translateY(16px) scale(.978);
    transition: opacity .22s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}

.dashboard-page .cashbox-modal.is-open .cashbox-dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
    .dashboard-page .modal-overlay,
    .dashboard-page .modal-overlay .modal-dialog,
    .dashboard-page .cashbox-modal,
    .dashboard-page .cashbox-dialog {
        transition-duration: .01ms;
    }
}

/* Modal scrolling: keep vertical wheel/touch scrolling, hide its rail, never allow horizontal scrolling. */
.dashboard-page .modal-overlay,
.dashboard-page .modal-dialog,
.dashboard-page .modal-dialog > form,
.dashboard-page .client-form,
.dashboard-page .client-form-panel,
.dashboard-page .client-cars-list {
    scrollbar-width: none !important;
    -ms-overflow-style: none;
}

.dashboard-page .modal-overlay::-webkit-scrollbar,
.dashboard-page .modal-dialog::-webkit-scrollbar,
.dashboard-page .modal-dialog > form::-webkit-scrollbar,
.dashboard-page .client-form::-webkit-scrollbar,
.dashboard-page .client-form-panel::-webkit-scrollbar,
.dashboard-page .client-cars-list::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none;
}

.dashboard-page .modal-overlay,
.dashboard-page .modal-dialog > form,
.dashboard-page .client-form,
.dashboard-page .client-form-panel,
.dashboard-page .client-cars-list {
    overflow-x: hidden !important;
}


/* crm-module-themes : assets/css/themes.css */
:root {
    --theme-background:#06131c;--theme-bg:var(--theme-background);--theme-surface:#0b1e2b;--theme-surface-alt:#102938;--theme-sidebar:#071722;--theme-text:#eaf7fb;--theme-muted:#8aa8b6;--theme-border:#234251;--theme-input:#081923;
    --theme-primary:#2bb7c9;--theme-primary-text:#031317;--theme-success:#39c58c;--theme-warning:#e8b35c;--theme-danger:#e66b79;--theme-hover:#143342;--theme-shadow:#020b10;
    --theme-input-text:#eaf7fb;--theme-input-placeholder:#668592;--theme-input-focus:#2bb7c9;--theme-search-background:#081923;--theme-search-icon:#6f929f;--theme-dropdown-background:#0d2330;--theme-dropdown-text:#dceff4;--theme-dropdown-hover:#173746;--theme-dropdown-selected:#2a6974;
    --theme-calendar-background:#0d2330;--theme-calendar-header:#102938;--theme-calendar-day:#c8e0e7;--theme-calendar-hover:#173746;--theme-calendar-selected:#2bb7c9;--theme-calendar-weekend:#ee8691;
    --theme-table-header:#0d2330;--theme-table-row:#0b1e2b;--theme-table-row-alt:#0e2431;--theme-table-hover:#143342;--theme-secondary-button:#143342;--theme-secondary-button-text:#dceff4;--theme-modal-background:#0c202d;--theme-modal-overlay:#020a0f;--theme-scrollbar-track:#081923;--theme-scrollbar-thumb:#356171;--theme-chart-grid:#234251;--theme-chart-label:#8aa8b6;
    --theme-button-hover:#1b4456;--theme-button-active:#20576b;--theme-button-disabled:#263640;--theme-button-disabled-text:#728792;--theme-loading-icon:#eaf7fb;--theme-loading-track:#356171;--theme-deposit-button:#123d2c;--theme-deposit-button-text:#75ddb0;--theme-withdrawal-button:#461f27;--theme-withdrawal-button-text:#ff9baa;--theme-modal-close-background:#143342;--theme-modal-close-text:#dceff4;--theme-modal-footer:#0c202d;--theme-danger-button:#c94e5d;--theme-danger-button-text:var(--crm-color-white);
    --dash-bg:var(--theme-background); --dash-text:var(--theme-text); --dash-muted:var(--theme-muted); --dash-soft:color-mix(in srgb,var(--theme-muted) 72%,var(--theme-background));
    --dash-line:color-mix(in srgb,var(--theme-border) 68%,transparent); --dash-line-strong:var(--theme-border); --dash-accent:var(--theme-primary);
}
body.dashboard-page { color:var(--theme-text); background-color:var(--theme-background); }
.dashboard-page .app-sidebar { background:linear-gradient(180deg,color-mix(in srgb,var(--theme-sidebar) 96%,white 4%),var(--theme-sidebar)); box-shadow:0 24px 70px color-mix(in srgb,var(--theme-shadow) 68%,transparent); }
.dashboard-page .panel,.dashboard-page .settings-panel,.dashboard-page .operations-totalbar,.dashboard-page .balance-dynamics,.dashboard-page .profile-panel { background-color:var(--theme-surface); border-color:var(--dash-line); }
.dashboard-page .modal-dialog { background:var(--theme-modal-background)!important; border-color:var(--dash-line-strong)!important; }
.dashboard-page .modal-overlay,.dashboard-page .cashbox-modal { background:color-mix(in srgb,var(--theme-modal-overlay) 78%,transparent)!important; }
.dashboard-page .custom-dropdown,.dashboard-page .date-picker,.dashboard-page .time-picker,.dashboard-page [class$="-dropdown"],.dashboard-page [class$="-options"],.dashboard-page [class$="-menu"] { color:var(--theme-dropdown-text)!important; background:var(--theme-dropdown-background)!important; border-color:var(--dash-line-strong)!important; }
.dashboard-page .custom-option:hover,.dashboard-page .custom-option.is-selected,.dashboard-page [class$="-options"] button:hover { color:var(--theme-dropdown-text)!important; background:var(--theme-dropdown-hover)!important; }
.dashboard-page .custom-option.is-selected,.dashboard-page [class$="-options"] button.is-selected { color:var(--theme-primary-text)!important; background:var(--theme-dropdown-selected)!important; }
.dashboard-page table thead,.dashboard-page [class$="-table"] thead,.dashboard-page table thead th { color:var(--theme-muted)!important;background:var(--theme-table-header)!important; }
.dashboard-page table tbody tr,.dashboard-page table tbody tr td { color:var(--theme-text);background:var(--theme-table-row)!important; }
.dashboard-page table tbody tr:nth-child(even),.dashboard-page table tbody tr:nth-child(even) td { background:var(--theme-table-row-alt)!important; }
.dashboard-page table tbody tr:hover,.dashboard-page table tbody tr:hover td { background:var(--theme-table-hover)!important; }
.dashboard-page .topbar,.dashboard-page .dashboard-topbar,.dashboard-page .breadcrumb { border-color:var(--dash-line); }
.dashboard-page input:not([type=color]),.dashboard-page textarea,.dashboard-page select,.dashboard-page [data-custom-select-toggle],.dashboard-page .custom-picker-button { color:var(--theme-input-text)!important; background:var(--theme-input)!important; border-color:var(--dash-line-strong)!important; }
.dashboard-page input::placeholder,.dashboard-page textarea::placeholder { color:var(--theme-input-placeholder)!important; opacity:1; }
.dashboard-page input:focus,.dashboard-page textarea:focus,.dashboard-page select:focus,.dashboard-page [data-custom-select-toggle]:focus { border-color:var(--theme-input-focus)!important; box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-input-focus) 20%,transparent)!important; outline:0; }
.dashboard-page [class*="search"]:not(i):not(svg),.dashboard-page .search-box { border-color:var(--dash-line-strong); }
.dashboard-page [class*="search"] input,.dashboard-page .search-box { background-color:var(--theme-search-background)!important; }
.dashboard-page [class*="search"] i,.dashboard-page .search-box svg { color:var(--theme-search-icon)!important; }
.dashboard-page .ghost-action,.dashboard-page .refresh-button,.dashboard-page .reset-table-button,.dashboard-page .filter-button { color:var(--theme-secondary-button-text)!important; background:var(--theme-secondary-button)!important; }
.dashboard-page .date-picker { color:var(--theme-calendar-day)!important; background:var(--theme-calendar-background)!important; }
.dashboard-page .balance-month-picker,.dashboard-page .balance-year-picker,.dashboard-page .time-picker { color:var(--theme-calendar-day)!important; background:var(--theme-calendar-background)!important; border-color:var(--dash-line-strong)!important; }
.dashboard-page .date-picker .picker-head { background:var(--theme-calendar-header); }
.dashboard-page .calendar-days button { color:var(--theme-calendar-day)!important; background:transparent!important; }
.dashboard-page .calendar-days button:hover { background:var(--theme-calendar-hover)!important; }
.dashboard-page .calendar-days button.is-selected { color:var(--theme-primary-text)!important; background:var(--theme-calendar-selected)!important; }
.dashboard-page .balance-month-grid button:hover,.dashboard-page .balance-year-picker button:hover,.dashboard-page [data-time-hour]:hover,.dashboard-page [data-time-minute]:hover { background:var(--theme-calendar-hover)!important; }
.dashboard-page .balance-month-grid button.is-selected,.dashboard-page .balance-year-picker button.is-selected,.dashboard-page [data-time-hour].is-selected,.dashboard-page [data-time-minute].is-selected { color:var(--theme-primary-text)!important;background:var(--theme-calendar-selected)!important; }
.dashboard-page .calendar-days button:nth-child(7n),.dashboard-page .calendar-days button:nth-child(7n - 1) { color:var(--theme-calendar-weekend)!important; }
.dashboard-page * { scrollbar-color:var(--theme-scrollbar-thumb) var(--theme-scrollbar-track); }
.dashboard-page *::-webkit-scrollbar-track { background:var(--theme-scrollbar-track); }
.dashboard-page *::-webkit-scrollbar-thumb { border-color:var(--theme-scrollbar-track); background:var(--theme-scrollbar-thumb); }
.dashboard-page .apexcharts-gridline { stroke:var(--theme-chart-grid); }
.dashboard-page .apexcharts-xaxis text,.dashboard-page .apexcharts-yaxis text,.dashboard-page .apexcharts-legend-text { fill:var(--theme-chart-label)!important;color:var(--theme-chart-label)!important; }
.dashboard-page .primary-action,.dashboard-page .new-operation-button,.dashboard-page .new-expense-button { color:var(--theme-primary-text)!important; background:var(--theme-primary)!important; border-color:color-mix(in srgb,var(--theme-primary) 78%,var(--theme-border))!important; }
.dashboard-page .sidebar-nav a.is-active,.dashboard-page .sidebar-nav a:hover { color:var(--theme-text); background:var(--theme-hover); border-color:var(--dash-line-strong); }
.dashboard-page .notice:not(.error) { border-color:color-mix(in srgb,var(--theme-success) 45%,var(--theme-border)); }
.dashboard-page .notice.error { border-color:color-mix(in srgb,var(--theme-danger) 55%,var(--theme-border)); }
.dashboard-page :is(.client-type-switch,.client-form-tabs,.row-tabs,.tariff-filter-tabs,.session-tabs,.view-switch,.metric-tabs){border-color:var(--dash-line)!important;background:var(--theme-surface-alt)!important}
.dashboard-page :is(.client-type-switch,.client-form-tabs,.row-tabs,.tariff-filter-tabs,.session-tabs,.view-switch,.metric-tabs) :is(button,label span).is-active,
.dashboard-page :is(.client-type-switch,.client-form-tabs) input:checked+span,
.dashboard-page :is(.row-tabs,.tariff-filter-tabs,.session-tabs,.view-switch,.metric-tabs) button.is-active{border-color:var(--theme-primary)!important;color:var(--theme-primary-text)!important;background:var(--theme-primary)!important;box-shadow:none!important}
.dashboard-page :is(.tariff-switch,.row-switch,.client-switch).is-active{border-color:var(--theme-primary)!important;background:var(--theme-primary)!important}.dashboard-page :is(.tariff-switch,.row-switch,.client-switch).is-active span{background:var(--theme-primary-text)!important}
.dashboard-page :is(.client-car-form-card,.client-car-editor,.client-cars-empty,.client-select-toggle,.client-add-car){border-color:var(--dash-line)!important;color:var(--theme-text)!important;background:var(--theme-surface-alt)!important}
.dashboard-page :is(.client-modal-head,.client-modal-dialog .client-form,.quick-client-dialog .client-form,.new-session-dialog .session-form,.new-session-dialog .panel-head){color:var(--theme-text)!important;background:var(--theme-modal-background)!important;border-color:var(--dash-line)!important}
.dashboard-page :is(.new-session-head,.new-session-form,.new-session-actions,.quick-client-dialog .client-modal-head,.quick-client-dialog .quick-client-form,.quick-client-dialog .client-modal-actions,.quick-create>div,.quick-create>header,.quick-create>footer){color:var(--theme-text)!important;background:var(--theme-modal-background)!important;border-color:var(--dash-line)!important}
.dashboard-page :is(.shift-close-dialog,.cashbox-dialog,.session-payment-dialog,.session-action-dialog,.parking-scheme-dialog,[class$="-dialog"]):not(.auth-dialog){color:var(--theme-text)!important;background:var(--theme-modal-background)!important;border-color:var(--dash-line-strong)!important}
.dashboard-page :is(.shift-close-modal,.quick-create,.parking-scheme-modal,.session-payment-modal,.session-action-modal){background:color-mix(in srgb,var(--theme-modal-overlay) 78%,transparent)!important}
.dashboard-page .session-picker header>:is(span,button),.dashboard-page .session-person>i{color:var(--theme-secondary-button-text)!important;background:var(--theme-secondary-button)!important;border-color:var(--dash-line)!important}
.dashboard-page :is(.session-register,.shift-opening-panel,.parking-map-head,.parking-map-layout>*,.operations-panel){background-color:var(--theme-surface)!important;border-color:var(--dash-line)!important}
.dashboard-page :is(.client-field-label,.optional-mark,.client-car-summary-copy small){color:var(--theme-muted)!important}
.dashboard-page :is(.client-car-summary-icon,.client-car-summary-actions button){color:var(--theme-secondary-button-text)!important;background:var(--theme-secondary-button)!important;border-color:var(--dash-line)!important}
.dashboard-page .client-form-tabs button span{color:var(--theme-primary-text)!important;background:color-mix(in srgb,var(--theme-primary) 82%,var(--theme-surface))!important}
.sidebar-theme { position:relative; width:100%; }
.sidebar-theme > button { width:100%; min-height:46px; padding:0 14px; border:1px solid var(--dash-line); border-radius:12px; color:var(--theme-text); background:var(--theme-surface-alt); display:grid; grid-template-columns:22px minmax(0,1fr) 12px; align-items:center; gap:10px; cursor:pointer; text-align:left; }
.sidebar-theme > button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-theme-menu { position:absolute; left:0; right:0; bottom:calc(100% + 8px); z-index:120; display:none; gap:5px; padding:7px; border:1px solid var(--dash-line-strong); border-radius:13px; background:var(--theme-surface); box-shadow:0 20px 50px color-mix(in srgb,var(--theme-shadow) 70%,transparent); }
.sidebar-theme.is-open .sidebar-theme-menu { display:grid; }
.sidebar-theme-menu button { width:100%; min-height:42px; padding:7px 9px; border:0; border-radius:9px; color:var(--theme-text); background:transparent; display:grid; grid-template-columns:28px 1fr 16px; align-items:center; gap:9px; text-align:left; cursor:pointer; }
.sidebar-theme-menu button:hover,.sidebar-theme-menu button.is-active { background:var(--theme-hover); }
.sidebar-theme-menu button > i { width:27px; height:27px; border:2px solid var(--theme-preview); border-radius:8px; background:var(--theme-preview-bg); }
.sidebar-theme-menu button b { visibility:hidden; color:var(--theme-success); }
.sidebar-theme-menu button.is-active b { visibility:visible; }
.dashboard-app.is-sidebar-collapsed .sidebar-theme > button { width:50px; padding:0; display:grid; place-items:center; grid-template-columns:1fr; }
.dashboard-app.is-sidebar-collapsed .sidebar-theme > button span,.dashboard-app.is-sidebar-collapsed .sidebar-theme > button i:last-child { display:none; }
.dashboard-app.is-sidebar-collapsed .sidebar-theme-menu { left:58px; right:auto; bottom:0; width:220px; }
.crm-dialog-overlay{position:fixed;inset:0;z-index:10000;display:none;place-items:center;padding:18px;background:color-mix(in srgb,var(--theme-modal-overlay) 78%,transparent)}.crm-dialog-overlay.is-open{display:grid}.crm-dialog{width:min(440px,100%);border:1px solid var(--dash-line-strong);border-radius:15px;color:var(--theme-text);background:var(--theme-modal-background);box-shadow:0 28px 80px color-mix(in srgb,var(--theme-shadow) 72%,transparent);overflow:hidden}.crm-dialog header{padding:17px;border-bottom:1px solid var(--dash-line);display:flex;align-items:center;gap:12px}.crm-dialog header>span{width:38px;height:38px;border-radius:11px;color:var(--theme-warning);background:color-mix(in srgb,var(--theme-warning) 14%,transparent);display:grid;place-items:center}.crm-dialog small{color:var(--theme-muted);font-size:8px;font-weight:950;letter-spacing:.12em}.crm-dialog h2{margin:3px 0 0;font-size:17px}.crm-dialog p{min-height:72px;margin:0;padding:18px;color:var(--theme-muted);line-height:1.55}.crm-dialog footer{padding:0 18px 18px;display:flex;gap:8px}.crm-dialog footer button{min-height:40px;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 14px;font-weight:850;cursor:pointer}.crm-dialog-confirm{color:var(--theme-primary-text);background:var(--theme-primary)}.crm-dialog-cancel{color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}.crm-dialog.is-alert .crm-dialog-cancel{display:none}.crm-dialog.is-danger .crm-dialog-confirm{color:var(--crm-color-white);background:var(--theme-danger)}
html[data-crm-theme="light"] .dashboard-page :is(h1,h2,h3,h4,h5,h6,strong,b){color:var(--theme-text)}
html[data-crm-theme="light"] .dashboard-page :is(p,small,label,th,td){border-color:var(--dash-line)}
html[data-crm-theme="light"] .dashboard-page :is(.topbar-meta,.admin-select,.breadcrumb-list .is-current span:last-child,.panel-head,.total-value,.total-value-card strong,.bank-balance strong,.metric-tab strong,.sidebar-brand,.sidebar-group.is-open .sidebar-group-toggle){color:var(--theme-text)!important}
html[data-crm-theme="light"] .dashboard-page :is(.panel,.settings-panel,.profile-panel,.operations-totalbar,.balance-dynamics,.bank-card,.employee-card,.client-card,.shift-report-card){color:var(--theme-text);background-color:var(--theme-surface)!important;border-color:var(--dash-line)!important;box-shadow:0 12px 35px color-mix(in srgb,var(--theme-shadow) 18%,transparent)}
html[data-crm-theme="light"] .dashboard-page :is(.sidebar-group-toggle,.sidebar-collapse,.sidebar-reset,.sidebar-logout,.filter-select,.view-select,.metric-tabs,.client-form-tabs,.row-tabs,.tariff-filter-tabs){color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);border-color:var(--dash-line)}
html[data-crm-theme="light"] .dashboard-page :is(.sidebar-nav a,.sidebar-nav svg){color:var(--theme-muted)}

/* Компактный плоский сайдбар на широких экранах. */
@media (min-width: 821px) {
    .dashboard-app { grid-template-columns: 228px minmax(0, 1fr); }
    .dashboard-app.is-sidebar-collapsed { grid-template-columns: 72px minmax(0, 1fr); }
    .app-sidebar,
    .dashboard-app.is-sidebar-collapsed .app-sidebar {
        top: 0;
        width: 100%;
        height: 100vh;
        margin: 0;
        padding: 12px 8px;
        border-width: 0 1px 0 0;
        border-radius: 0;
        gap: 10px;
        box-shadow: none;
    }
    .sidebar-brand { min-height: 40px; padding: 0 8px; gap: 9px; font-size: 19px; }
    .brand-mark { width: 32px; height: 32px; border-radius: 0; }
    .sidebar-nav { gap: 0; }
    .sidebar-group { gap: 0; }
    .sidebar-group-toggle { min-height: 32px; padding: 0 8px; border-radius: 0; border-right: 0; border-left: 0; }
    .sidebar-subnav { gap: 0; }
    .sidebar-nav a { min-height: 44px; padding: 0 11px; border-radius: 0; gap: 11px; font-size: 14px; border-right: 0; border-left: 0; }
    .sidebar-nav svg { width: 19px; height: 19px; }
    .sidebar-collapse,
    .sidebar-reset,
    .sidebar-logout { min-height: 40px; border-radius: 0; }
    .sidebar-collapse i,
    .sidebar-reset i,
    .sidebar-logout i { border-radius: 0; }
}

@media (max-width: 820px) {
    .app-sidebar,
    .dashboard-app.is-sidebar-collapsed .app-sidebar {
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        margin: 0;
        border-radius: 0;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        box-shadow: none;
    }
    .sidebar-nav a,
    .dashboard-app.is-sidebar-collapsed .sidebar-nav a { border-radius: 0; }
}
html[data-crm-theme="light"] .dashboard-page .sidebar-nav a:is(.is-active,:hover){color:var(--theme-text);background:var(--theme-hover)}
html[data-crm-theme="light"] .dashboard-page .modal-close{color:var(--theme-secondary-button-text)!important;background:var(--theme-secondary-button)!important}
html[data-crm-theme="light"] .dashboard-page .muted-italic{color:var(--theme-muted)!important}
html[data-crm-theme="light"] .dashboard-page .status-pill{color:var(--theme-success)!important;background:color-mix(in srgb,var(--theme-success) 11%,var(--theme-surface))!important}
html[data-crm-theme="light"] .dashboard-page .type-pill.is-expense{color:var(--theme-danger)!important;background:color-mix(in srgb,var(--theme-danger) 10%,var(--theme-surface))!important}
html[data-crm-theme="light"] .dashboard-page .type-pill.is-income{color:var(--theme-success)!important;background:color-mix(in srgb,var(--theme-success) 10%,var(--theme-surface))!important}
html[data-crm-theme="light"] .dashboard-page :is(.primary-action,.new-operation-button,.is-active,.is-selected) :is(strong,b){color:var(--theme-primary-text)!important}
html[data-crm-theme="light"] .dashboard-page{color-scheme:light;background-image:linear-gradient(90deg,color-mix(in srgb,var(--theme-border) 32%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--theme-border) 25%,transparent) 1px,transparent 1px),radial-gradient(circle at 76% 0%,color-mix(in srgb,var(--theme-primary) 6%,transparent),transparent 38rem)}
html[data-crm-theme="light"] .dashboard-page :is(.dashboard-topbar,.topbar,.breadcrumb,.session-register-toolbar,.session-register-tabs){color:var(--theme-text);border-color:var(--dash-line)!important;background:color-mix(in srgb,var(--theme-surface) 94%,var(--theme-background))!important}
html[data-crm-theme="light"] .dashboard-page :is(.shift-report-row,.shift-detail-section,.shift-report-values>div,.shift-report-banks,.shift-report-operations){color:var(--theme-text);border-color:var(--dash-line)!important;background:var(--theme-surface-alt)!important}
html[data-crm-theme="light"] .dashboard-page :is(.shift-report-id strong,.shift-report-brief b,.shift-report-card header strong,.shift-report-values strong,.shift-report-banks h4,.shift-report-operations h4,.shift-report-banks>div,.shift-detail-table-wrap td){color:var(--theme-text)!important}
html[data-crm-theme="light"] .dashboard-page :is(.shift-report-id>span,.shift-method-icon,.session-person>i,.session-column-button,.session-view-button){color:var(--theme-secondary-button-text)!important;border-color:var(--dash-line)!important;background:var(--theme-secondary-button)!important}
html[data-crm-theme="light"] .dashboard-page .shift-report-row [data-show-shift]{color:var(--theme-primary-text)!important;border-color:var(--theme-primary)!important;background:var(--theme-primary)!important}
html[data-crm-theme="light"] .dashboard-page .shift-active-bar{color:var(--theme-success)!important;border-color:color-mix(in srgb,var(--theme-success) 25%,var(--theme-border))!important;background:color-mix(in srgb,var(--theme-success) 8%,var(--theme-surface))!important}
html[data-crm-theme="light"] .dashboard-page :is(.session-table-search,.session-column-dropdown,.session-context-menu){color:var(--theme-text)!important;border-color:var(--dash-line)!important;background:var(--theme-surface)!important}
html[data-crm-theme="light"] .dashboard-page .session-table :is(strong,b){color:var(--theme-text)}
html[data-crm-theme="light"] .dashboard-page .session-table :is(em,small,.session-person small,.session-car small){color:var(--theme-muted)!important}
html[data-crm-theme="light"] .dashboard-page :is(.filter-chip,.metric-tab,.session-register-tabs button,.view-switch button){color:var(--theme-secondary-button-text);border-color:var(--dash-line)!important;background:var(--theme-secondary-button)}
html[data-crm-theme="light"] .dashboard-page :is(.client-list-card,.bank-list-card,.tariff-list-card,.row-list-card,.employee-list-card,.rights-card,.position-card,.settings-card,.operation-card,.cashbox-card,.parking-map-card,.session-summary-card){color:var(--theme-text)!important;border-color:var(--dash-line)!important;background:var(--theme-surface)!important;box-shadow:0 10px 28px color-mix(in srgb,var(--theme-shadow) 12%,transparent)!important}
html[data-crm-theme="light"] .dashboard-page :is(.client-custom-dropdown,.session-custom-dropdown,.session-column-dropdown,.operation-context-menu,.client-context-menu,.bank-context-menu,.custom-select-options){color:var(--theme-dropdown-text)!important;border-color:var(--theme-border)!important;background:var(--theme-dropdown-background)!important;box-shadow:0 18px 45px color-mix(in srgb,var(--theme-shadow) 24%,transparent)!important}
html[data-crm-theme="light"] .dashboard-page :is(.modal-close,[class$="-close"]):not(.shift-close-button){color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-secondary-button)!important}
html[data-crm-theme="light"] .dashboard-page :is(.modal-dialog,[class$="-dialog"]):not(.auth-dialog){color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:var(--theme-modal-background)!important;box-shadow:0 28px 80px color-mix(in srgb,var(--theme-shadow) 28%,transparent)!important}
html[data-crm-theme="light"] .dashboard-page :is(.topbar-meta,.dashboard-topbar-meta)>*{color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:var(--theme-surface)!important}
html[data-crm-theme="light"] .dashboard-page .breadcrumb :is(a,span,i){color:var(--theme-muted)!important}html[data-crm-theme="light"] .dashboard-page .breadcrumb .is-current :is(span,strong){color:var(--theme-text)!important}
html[data-crm-theme="light"] .dashboard-page :is(section,div)[class$="-toolbar"]{color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:var(--theme-surface)!important}
html[data-crm-theme="light"] .dashboard-page :is(.session-summary-grid>div,.dashboard-stats>div,.summary-grid>div,.stat-grid>div,.operations-summary>div,.bank-summary>div){color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:var(--theme-surface-alt)!important}
html[data-crm-theme="light"] .dashboard-page :is(.custom-option,.session-custom-options button,.client-select-options button,.session-column-dropdown button,.session-context-menu button,.operation-context-menu button){color:var(--theme-dropdown-text)!important;background:var(--theme-dropdown-background)!important}
html[data-crm-theme="light"] .dashboard-page :is(.custom-option,.session-custom-options button,.client-select-options button,.session-column-dropdown button,.session-context-menu button,.operation-context-menu button):hover{color:var(--theme-dropdown-text)!important;background:var(--theme-dropdown-hover)!important}
html[data-crm-theme="light"] .dashboard-page :is(.parking-canvas,.parking-map-stage,.scheme-native-map .parking-map-stage,.scheme-row-chart){color:var(--theme-text)!important;background-color:var(--theme-surface-alt)!important}
html[data-crm-theme="light"] .dashboard-page :is(.scheme-map-hint,.parking-map-toolbar,.parking-map-legend){color:var(--theme-muted)!important;border-color:var(--theme-border)!important;background:color-mix(in srgb,var(--theme-surface) 94%,transparent)!important}
html[data-crm-theme="light"] .dashboard-page :is(.form-actions,[class$="-actions"]){border-color:var(--theme-border)}
html[data-crm-theme="light"] .dashboard-page :is(.ghost-action,.secondary-action,.cancel-button,[class$="-cancel-button"]){color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-secondary-button)!important}
html[data-crm-theme="light"] .dashboard-page .tariff-card{border-color:color-mix(in srgb,var(--tariff-color,var(--crm-color-icon)) 44%,var(--theme-border))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--tariff-color,var(--crm-color-icon)) 14%,var(--theme-surface)),var(--theme-surface))!important;box-shadow:inset 4px 0 0 var(--tariff-color,var(--crm-color-icon)),0 10px 26px color-mix(in srgb,var(--theme-shadow) 12%,transparent)!important}
html[data-crm-theme="light"] .dashboard-page .row-card.has-tariff{border-color:color-mix(in srgb,var(--row-tariff-color) 48%,var(--theme-border))!important;background:linear-gradient(90deg,color-mix(in srgb,var(--row-tariff-color) 16%,var(--theme-surface)),var(--theme-surface) 42%)!important}
html[data-crm-theme="light"] .dashboard-page .row-card.has-tariff::before{background:var(--row-tariff-color)!important}
html[data-crm-theme="light"] .dashboard-page .row-tariff-badge{color:var(--theme-text)!important;border-color:color-mix(in srgb,var(--row-tariff-color) 50%,var(--theme-border))!important;background:color-mix(in srgb,var(--row-tariff-color) 14%,var(--theme-surface))!important}
html[data-crm-theme="light"] .dashboard-page .session-tariff.is-colored{border:0!important;background:transparent!important}
html[data-crm-theme="light"] .dashboard-page .session-tariff.is-colored strong{color:color-mix(in srgb,var(--tariff-color) 78%,#18202a)!important;text-shadow:none}
html[data-crm-theme="light"] .dashboard-page .session-custom-options button.is-row-color{border-color:color-mix(in srgb,var(--option-color) 38%,var(--theme-border))!important;background:color-mix(in srgb,var(--option-color) 13%,var(--theme-dropdown-background))!important}
html[data-crm-theme="light"] .dashboard-page .session-custom-options button.is-row-color:is(:hover,.is-selected){border-color:color-mix(in srgb,var(--option-color) 58%,var(--theme-border))!important;background:color-mix(in srgb,var(--option-color) 23%,var(--theme-dropdown-background))!important}
html[data-crm-theme="light"] .dashboard-page :is(.map-row,.parking-row-columns article){border-color:color-mix(in srgb,var(--row-color) 52%,var(--theme-border))!important;background:linear-gradient(135deg,color-mix(in srgb,var(--row-color) 24%,var(--theme-surface)),var(--theme-surface-alt))!important;box-shadow:inset 3px 0 0 var(--row-color)!important}
.dashboard-page .session-table tbody tr.is-blacklisted-session td{color:color-mix(in srgb,var(--theme-danger) 78%,var(--theme-text))!important;background:color-mix(in srgb,var(--theme-danger) 10%,var(--theme-table-row))!important}.dashboard-page .session-table tbody tr.is-blacklisted-session:hover td{background:color-mix(in srgb,var(--theme-danger) 16%,var(--theme-table-hover))!important}
.dashboard-page .clients-table tbody tr.is-blacklisted td{background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-table-row))!important}.dashboard-page .clients-table tbody tr.is-blacklisted:hover td{background:color-mix(in srgb,var(--theme-danger) 14%,var(--theme-table-hover))!important}.dashboard-page .clients-table tbody tr.is-blacklist-pending td{background:color-mix(in srgb,var(--theme-warning) 8%,var(--theme-table-row))!important}
html[data-crm-theme="light"] .dashboard-page .rights-modal-dialog{color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:var(--theme-modal-background)!important}
html[data-crm-theme="light"] .dashboard-page :is(.rights-permission-form,.rights-modal-actions,.rights-tabs,.rights-tab-panels,.rights-tab-panel){color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:var(--theme-surface)!important}
html[data-crm-theme="light"] .dashboard-page :is(.rights-tab,.rights-permission-option){color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-secondary-button)!important}
html[data-crm-theme="light"] .dashboard-page :is(.rights-tab,.rights-permission-option):hover{border-color:var(--theme-input-focus)!important;background:var(--theme-hover)!important}
html[data-crm-theme="light"] .dashboard-page .rights-tab.is-active{color:var(--theme-primary-text)!important;border-color:var(--theme-primary)!important;background:var(--theme-primary)!important}
html[data-crm-theme="light"] .dashboard-page .rights-permission-option input{accent-color:var(--theme-primary)}
html[data-crm-theme="light"] .dashboard-page :is(.session-custom-toggle,.session-entry-date){color:var(--theme-input-text)!important;border-color:var(--theme-border)!important;background:var(--theme-input)!important}
html[data-crm-theme="light"] .dashboard-page .session-entry-date small{color:var(--theme-muted)!important}
html[data-crm-theme="light"] .dashboard-page .session-filter-control{color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-surface)!important}
html[data-crm-theme="light"] .dashboard-page .session-filter-control :is(input,select,[data-date-toggle],.session-custom-toggle){color:var(--theme-input-text)!important;background:transparent!important;color-scheme:light}
html[data-crm-theme="light"] .dashboard-page :is(.legend-pill,.session-view-toggle button,.session-refresh){color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-secondary-button)!important}
html[data-crm-theme="light"] .dashboard-page .session-close-shift{color:var(--theme-danger)!important;border-color:color-mix(in srgb,var(--theme-danger) 28%,var(--theme-border))!important;background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-surface))!important}
html[data-crm-theme="light"] .dashboard-page :is(.category-empty,.operations-table-wrap){color:var(--theme-muted)!important;border-color:var(--theme-border)!important;background:var(--theme-surface-alt)!important}
html[data-crm-theme="light"] .dashboard-page :is(button,input,select,textarea):disabled{opacity:.58}
.settings-page .settings-field input[type=time]{width:100%;min-height:44px;border:1px solid var(--dash-line-strong);border-radius:8px;padding:0 12px;color:var(--crm-color-white);background:var(--crm-color-surface);outline:0;color-scheme:dark}.settings-page .settings-field small{color:var(--dash-muted);font-size:10px;line-height:1.4}
.dashboard-page .modal-dialog :is(.panel-head,form,.form-actions),.dashboard-page .modal-dialog>form,.dashboard-page .modal-dialog>.panel-head{color:var(--theme-text)!important;background:var(--theme-modal-background)!important;border-color:var(--theme-border)!important}
.dashboard-page .modal-dialog .form-actions>button,.dashboard-page :is(.cashbox-dialog-actions,.session-payment-actions,.session-action-actions,.shift-close-actions)>button{min-height:40px;color:var(--theme-secondary-button-text)!important;border:1px solid var(--theme-border)!important;background:var(--theme-secondary-button)!important;box-shadow:none!important}
.dashboard-page .modal-dialog :is(.primary-action,.client-save-button,.cashbox-submit),.dashboard-page :is(.cashbox-dialog-actions,.session-payment-actions,.session-action-actions)>:is(.primary-action,.cashbox-submit){color:var(--theme-primary-text)!important;border-color:var(--theme-primary)!important;background:var(--theme-primary)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--theme-primary) 22%,transparent)!important}
.dashboard-page .modal-dialog :is(.danger-link,.session-danger-action),.dashboard-page :is(.session-action-actions,.shift-close-actions)>:is(.danger-link,.session-danger-action){color:var(--theme-danger-button-text)!important;border-color:var(--theme-danger-button)!important;background:var(--theme-danger-button)!important}
.dashboard-page .modal-dialog :is(.ghost-action,.cashbox-cancel),.dashboard-page :is(.cashbox-dialog-actions,.session-payment-actions,.session-action-actions,.shift-close-actions)>:is(.ghost-action,.cashbox-cancel){color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-secondary-button)!important}
.dashboard-page .modal-dialog .modal-close,.dashboard-page :is(.cashbox-modal-close,.session-payment-head>button,.session-action-close){color:var(--theme-modal-close-text)!important;border-color:var(--theme-border)!important;background:var(--theme-modal-close-background)!important}
.dashboard-page .cashbox-action{border-width:1px!important;border-style:solid!important;font-weight:900!important}
.dashboard-page .cashbox-action.is-deposit{color:var(--theme-deposit-button-text)!important;border-color:color-mix(in srgb,var(--theme-deposit-button-text) 48%,var(--theme-border))!important;background:var(--theme-deposit-button)!important}
.dashboard-page .cashbox-action.is-withdrawal{color:var(--theme-withdrawal-button-text)!important;border-color:color-mix(in srgb,var(--theme-withdrawal-button-text) 48%,var(--theme-border))!important;background:var(--theme-withdrawal-button)!important}
.dashboard-page .cashbox-action.is-deposit:hover{background:color-mix(in srgb,var(--theme-success) 21%,var(--theme-surface))!important}.dashboard-page .cashbox-action.is-withdrawal:hover{background:color-mix(in srgb,var(--theme-danger) 20%,var(--theme-surface))!important}
.dashboard-page .modal-dialog .form-actions{background:var(--theme-modal-footer)!important}
.dashboard-page .is-button-loading::after{border-color:var(--theme-loading-track)!important;border-top-color:var(--theme-loading-icon)!important}
.dashboard-page :is(.ghost-action,.secondary-action,.filter-button,.refresh-button,.reset-table-button):hover{background:var(--theme-button-hover)!important}.dashboard-page :is(.ghost-action,.secondary-action,.filter-button,.refresh-button,.reset-table-button):active{background:var(--theme-button-active)!important}
.dashboard-page :is(button,.primary-action,.ghost-action,.danger-link):disabled{color:var(--theme-button-disabled-text)!important;border-color:var(--theme-border)!important;background:var(--theme-button-disabled)!important;opacity:1!important;cursor:not-allowed!important}
html[data-crm-theme="light"] .dashboard-page .rights-modal-dialog>.panel-head{color:var(--theme-text)!important;background:var(--theme-modal-background)!important;border-color:var(--theme-border)!important}
html[data-crm-theme="light"] .dashboard-page .rights-position-card{color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:var(--theme-surface-alt)!important}
html[data-crm-theme="light"] .dashboard-page .rights-position-main h3{color:var(--theme-text)!important}html[data-crm-theme="light"] .dashboard-page .rights-position-main p{color:var(--theme-muted)!important}
html[data-crm-theme="light"] .dashboard-page .bank-pill{color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-secondary-button)!important}
html[data-crm-theme="light"] .dashboard-page :is(.shift-bank-summary,.shift-close-operations){color:var(--theme-text)!important;border-color:var(--theme-border)!important;background:var(--theme-surface-alt)!important}
html[data-crm-theme="light"] .dashboard-page :is(.shift-bank-summary,.shift-close-operations) :is(h3,strong){color:var(--theme-text)!important}html[data-crm-theme="light"] .dashboard-page :is(.shift-bank-summary,.shift-close-operations) :is(p,small){color:var(--theme-muted)!important}
.dashboard-page .shift-close-actions>.primary-action{color:var(--theme-primary-text)!important;border-color:var(--theme-primary)!important;background:var(--theme-primary)!important}.dashboard-page .shift-close-actions>button:not(.primary-action){color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-secondary-button)!important}
html[data-crm-theme="light"] .dashboard-page .client-tabs{border-color:var(--theme-border)!important;background:var(--theme-surface-alt)!important}html[data-crm-theme="light"] .dashboard-page .client-tabs button{color:var(--theme-muted)!important;background:transparent!important}html[data-crm-theme="light"] .dashboard-page .client-tabs button.is-active{color:var(--theme-primary-text)!important;background:var(--theme-primary)!important}
html[data-crm-theme="light"] .dashboard-page :is(.client-avatar,.client-car-icon,.client-icon-button){color:var(--theme-secondary-button-text)!important;border-color:var(--theme-border)!important;background:var(--theme-secondary-button)!important}html[data-crm-theme="light"] .dashboard-page .client-icon-button.is-danger{color:var(--theme-danger)!important}html[data-crm-theme="light"] .dashboard-page :is(.client-person-tile,.client-car-tile) strong{color:var(--theme-text)!important}
html[data-crm-theme="light"] .dashboard-page :is(.map-row-copy strong,.parking-row-columns article>header span,.parking-row-numbers b,.parking-row-columns footer strong){color:var(--theme-text)!important}html[data-crm-theme="light"] .dashboard-page :is(.map-row-copy small,.parking-row-numbers span,.parking-row-columns footer){color:var(--theme-muted)!important}html[data-crm-theme="light"] .dashboard-page .map-row-copy em{color:color-mix(in srgb,var(--row-color) 72%,var(--theme-text))!important}


/* crm-module-select-clear : assets/css/select-clear.css */
.custom-select,.session-custom-select{position:relative}
.select-clear-field{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;min-width:0;width:100%}
.select-clear-field:has(.select-clear-button.is-visible){grid-template-columns:minmax(0,1fr) 38px}
.select-clear-field>.custom-select,.select-clear-field>.session-custom-select{min-width:0;width:100%}
.select-clear-button{width:38px;height:38px;border:1px solid var(--theme-border,rgba(255,255,255,.1))!important;border-radius:9px!important;padding:0!important;color:var(--theme-muted,#8f98a3)!important;background:var(--theme-secondary-button,#292929)!important;display:none;place-items:center;cursor:pointer}
.select-clear-button.is-visible{display:grid}
.select-clear-button:hover{color:var(--theme-text,var(--crm-color-white))!important;background:var(--theme-hover,#343434)!important}
.select-clear-button i{font-size:13px!important;transform:none!important}


/* crm-inline-Finance-operations-php-1 */
@scope (body.operations-page) {

.operation-category-control:not(:has(.operation-category-add)){grid-template-columns:1fr}
.category-create-dialog [data-category-parent-field][hidden]{display:none!important}
.operation-category-control{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center}.operation-category-control>.custom-select,.operation-category-control>.select-clear-field{min-width:0;width:100%}.operation-category-add{width:42px;height:42px;border:1px solid var(--theme-border);border-radius:10px;padding:0;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);display:grid;place-items:center;cursor:pointer;font-size:14px;box-shadow:none}.operation-category-add:hover{border-color:var(--dash-line-strong);color:var(--theme-text);background:var(--theme-hover);transform:none}.category-create-dialog{width:min(500px,100%)}.category-create-dialog .panel-head small{color:var(--theme-primary);font-size:9px;font-weight:950;letter-spacing:.11em}.category-create-body{padding:18px;display:grid;gap:14px}.category-create-body select,.category-create-body input{width:100%;height:43px;border:1px solid var(--theme-border);border-radius:9px;padding:0 11px;outline:0;color:var(--theme-input-text);background:var(--theme-input)}.category-create-body select:focus,.category-create-body input:focus{border-color:var(--theme-input-focus)}.category-create-hint{margin:0;border:1px solid var(--theme-border);border-radius:9px;padding:10px 11px;color:var(--theme-muted);background:var(--theme-surface-alt);font-size:10px;line-height:1.45}
.operation-document-control{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center}.operation-document-attach{width:42px;height:42px;border:1px solid var(--theme-border);border-radius:10px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);display:grid;place-items:center;cursor:pointer;font-size:14px}.operation-document-attach:hover{border-color:var(--dash-line-strong);color:var(--theme-text);background:var(--theme-hover)}.operation-document-name{margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-muted);font-size:9px}
.operation-comment-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 7px}.operation-comment-content>span{grid-column:1/-1}.operation-comment-content>small{color:var(--theme-muted);font-size:8px}.operation-comment-content>a{color:var(--theme-primary);text-decoration:none}

/* Finance operation details */
.operations-table tbody tr[data-operation-row]{cursor:pointer}.operations-table tbody tr[data-operation-row]:hover td{background:color-mix(in srgb,var(--theme-primary) 7%,transparent)}.operations-table tbody tr[data-operation-row]:focus-visible{outline:2px solid var(--theme-primary);outline-offset:-2px}
.operation-details-dialog{max-width:760px}.operation-details{padding:22px;display:grid;gap:18px}.operation-details-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-surface-alt)}.operation-details-hero>div{display:grid;gap:7px}.operation-details-hero>div>span{color:var(--theme-muted);font-size:12px}.operation-details-hero strong{font-size:28px;line-height:1}.operation-details-hero strong.is-income{color:var(--theme-success)}.operation-details-hero strong.is-expense{color:var(--theme-danger)}
.operation-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-border)}.operation-details-grid>div{min-width:0;padding:15px 17px;background:var(--theme-modal-background,var(--theme-surface))}.operation-details-grid dt{margin:0 0 6px;color:var(--theme-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.operation-details-grid dd{margin:0;color:var(--theme-text);font-size:13px;overflow-wrap:anywhere}.operation-details-grid .operation-details-wide{grid-column:1/-1}
.operation-details-document{display:flex;align-items:center;gap:14px;padding:15px 17px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-surface-alt)}.operation-details-document[hidden]{display:none}.operation-details-document>i{width:38px;color:var(--theme-primary);font-size:27px;text-align:center}.operation-details-document>div{display:grid;min-width:0;margin-right:auto;gap:3px}.operation-details-document>div span,.operation-details-document small{color:var(--theme-muted);font-size:10px}.operation-details-document>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-details-document .primary-action{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.operation-details-document.is-empty{justify-content:center;color:var(--theme-muted)}
@media(max-width:640px){.operation-details{padding:14px}.operation-details-grid{grid-template-columns:1fr}.operation-details-grid .operation-details-wide{grid-column:auto}.operation-details-hero{align-items:flex-start}.operation-details-hero strong{font-size:22px}.operation-details-document:not(.is-empty){align-items:flex-start;flex-wrap:wrap}.operation-details-document .primary-action{width:100%;justify-content:center}}



}
/* crm-inline-Finance-categories-php-1 */
@scope (body.finance-categories-page) {

.fc-page{padding-bottom:35px}.fc-hero{margin-bottom:15px;border:1px solid var(--theme-border);border-radius:15px;padding:19px;background:var(--theme-surface);display:flex;align-items:center;justify-content:space-between;gap:18px}.fc-hero h1{margin:0 0 6px;font-size:20px}.fc-hero p{margin:0;color:var(--theme-muted);font-size:12px}.fc-hero>i{font-size:28px;color:var(--theme-primary)}.fc-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.fc-section{border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-surface);overflow:hidden}.fc-section>header{padding:15px 16px;border-bottom:1px solid var(--theme-border);background:var(--theme-surface-alt);display:flex;align-items:center;justify-content:space-between;gap:12px}.fc-section h2{margin:0 0 4px;font-size:16px}.fc-section header p{margin:0;color:var(--theme-muted);font-size:10px}.fc-add,.fc-icon-button{border:0;border-radius:9px;color:var(--theme-primary-text);background:var(--theme-primary);cursor:pointer}.fc-add{min-height:38px;padding:0 12px;display:flex;align-items:center;gap:7px;font-weight:850}.fc-cards{padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px}.fc-empty{grid-column:1/-1;padding:30px;color:var(--theme-muted);text-align:center}.fc-category{min-width:0;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-surface-alt);overflow:hidden}.fc-category-head{padding:13px;display:flex;align-items:center;gap:10px}.fc-category-head>i{width:37px;height:37px;border-radius:10px;color:var(--theme-primary);background:color-mix(in srgb,var(--theme-primary) 10%,var(--theme-surface));display:grid;place-items:center}.fc-category-copy{min-width:0;display:grid;gap:3px;flex:1}.fc-category-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.fc-category-copy small{color:var(--theme-muted);font-size:9px}.fc-actions{display:flex;gap:5px}.fc-icon-button{width:32px;height:32px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}.fc-icon-button.is-danger{color:var(--theme-danger-button-text);background:var(--theme-danger-button)}.fc-items{padding:0 10px 10px;display:grid;gap:6px}.fc-item{min-height:42px;border:1px solid var(--theme-border);border-radius:9px;padding:7px 8px;background:var(--theme-surface);display:flex;align-items:center;gap:8px}.fc-item>i{color:var(--theme-muted);font-size:11px}.fc-item>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px}.fc-item-empty{padding:10px;color:var(--theme-muted);text-align:center;font-size:10px}.fc-add-child{margin:0 10px 10px;width:calc(100% - 20px);min-height:34px;border:1px dashed var(--theme-border);border-radius:8px;color:var(--theme-muted);background:transparent;cursor:pointer}.fc-add-child:hover{color:var(--theme-text);background:var(--theme-hover)}
.fc-modal{position:fixed;inset:0;z-index:3000;padding:20px;background:color-mix(in srgb,var(--theme-modal-overlay) 76%,transparent);display:none;place-items:center}.fc-modal.is-open{display:grid}.fc-dialog{width:min(440px,100%);border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-modal-background);box-shadow:0 30px 90px var(--theme-shadow);overflow:hidden}.fc-dialog>header{padding:16px 18px;border-bottom:1px solid var(--theme-border);display:flex;align-items:center;justify-content:space-between}.fc-dialog h2{margin:0;font-size:16px}.fc-dialog-close{width:34px;height:34px;border:0;border-radius:8px;color:var(--theme-modal-close-text);background:var(--theme-modal-close-background);cursor:pointer}.fc-form-body{padding:18px;display:grid;gap:13px}.fc-field{display:grid;gap:7px;color:var(--theme-muted);font-size:11px;font-weight:850}.fc-field input{height:43px;border:1px solid var(--theme-border);border-radius:9px;padding:0 11px;outline:0;color:var(--theme-input-text);background:var(--theme-input)}.fc-field input:focus{border-color:var(--theme-input-focus)}.fc-parent-note{margin:0;border:1px solid var(--theme-border);border-radius:9px;padding:10px;color:var(--theme-muted);background:var(--theme-surface-alt);font-size:10px}.fc-dialog footer{padding:12px 18px;border-top:1px solid var(--theme-border);background:var(--theme-modal-footer);display:flex;justify-content:flex-end;gap:8px}.fc-dialog footer button{min-height:38px;border:0;border-radius:8px;padding:0 14px;cursor:pointer;font-weight:850}.fc-cancel{color:var(--theme-secondary-button-text);background:var(--theme-secondary-button)}.fc-save{color:var(--theme-primary-text);background:var(--theme-primary)}.fc-delete-submit{color:var(--theme-danger-button-text);background:var(--theme-danger-button)}@media(max-width:1000px){.fc-columns{grid-template-columns:1fr}}@media(max-width:560px){.fc-section>header{align-items:flex-start;flex-direction:column}.fc-add{width:100%;justify-content:center}.fc-cards{grid-template-columns:1fr}}



}
/* crm-inline-install-php-1 */
@scope (body.install-page) {
.install-page .custom-select{width:100%;position:relative}.install-page .custom-select-trigger{width:100%;height:44px;border:1px solid #292e35;border-radius:10px;padding:0 12px;color:var(--crm-color-white);background:#14171b;display:flex;align-items:center;justify-content:space-between}.install-page .custom-dropdown{z-index:100;background:#14171b}.install-page .custom-option{color:var(--crm-color-white);background:#14171b}

}

/* crm-component-modal-standard: visual and structural baseline based on New Session */
.dashboard-page .crm-modal-standard-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2000 !important;
  padding: 16px !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--crm-overlay) !important;
  backdrop-filter: blur(8px) !important;
}

.dashboard-page .crm-modal-standard-overlay.is-open {
  display: flex !important;
}

.dashboard-page .crm-modal-standard-overlay-elevated {
  z-index: 2400 !important;
}

.dashboard-page .crm-modal-standard-overlay-system {
  z-index: 3200 !important;
}

.dashboard-page .crm-modal-standard {
  width: min(520px, calc(100vw - 24px)) !important;
  max-width: 520px !important;
  max-height: calc(100vh - 32px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--theme-border, var(--crm-color-border-dark)) !important;
  border-radius: 10px !important;
  color: var(--theme-text, var(--crm-color-text)) !important;
  background: var(--theme-modal-background, var(--crm-color-bg-deep)) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .62) !important;
  display: flex !important;
  flex-direction: column !important;
}

.dashboard-page .crm-modal-standard.crm-modal-standard-wide {
  width: min(920px, calc(100vw - 24px)) !important;
  max-width: 920px !important;
}

.dashboard-page .crm-modal-standard.crm-modal-standard-map {
  width: min(1280px, calc(100vw - 24px)) !important;
  max-width: 1280px !important;
  height: min(850px, calc(100vh - 32px)) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}

.dashboard-page .crm-modal-standard-map > .crm-modal-standard-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
}

.dashboard-page .crm-modal-standard-map .parking-scheme-tabs {
  width: max-content !important;
  display: flex !important;
  flex-flow: row nowrap !important;
}

.dashboard-page .crm-modal-standard-map .parking-scheme-tabs > button {
  width: auto !important;
  white-space: nowrap !important;
}

.dashboard-page .crm-modal-standard-head {
  width: 100% !important;
  min-height: 76px !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 16px 24px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--theme-border, var(--crm-color-border-dark)) !important;
  color: var(--theme-text, var(--crm-color-text)) !important;
  background: var(--theme-modal-background, var(--crm-color-bg-deep)) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.dashboard-page .crm-modal-standard-head > div {
  min-width: 0;
  display: grid !important;
  gap: 4px !important;
}

.dashboard-page .crm-modal-standard-head :is(h1,h2) {
  margin: 0 !important;
  color: var(--theme-text, var(--crm-color-text)) !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
}

.dashboard-page .crm-modal-standard-head :is(p,span,small) {
  margin: 0 !important;
  color: var(--crm-color-muted) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.dashboard-page .crm-modal-standard-close {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 0 !important;
  color: var(--crm-color-icon) !important;
  background: transparent !important;
  display: grid !important;
  place-items: center !important;
  font-size: 20px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.dashboard-page .crm-modal-standard-close:hover {
  color: var(--crm-color-white) !important;
  background: var(--crm-surface-hover) !important;
}

.dashboard-page .crm-modal-standard-form {
  width: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 16px 24px 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: var(--theme-modal-background, var(--crm-color-bg-deep)) !important;
  scrollbar-width: none !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

.dashboard-page .crm-modal-standard-form::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}

.dashboard-page .crm-modal-standard-form > :is(.form-grid,.client-person-fields,.client-company-fields) {
  padding: 0 !important;
}

.dashboard-page .crm-modal-standard-form :is(.form-grid,.client-person-fields,.client-company-fields,.shift-close-grid) {
  grid-template-columns: minmax(0, 1fr) !important;
}

.dashboard-page .crm-modal-standard-form :is(.tariff-validity-fields,.client-car-fields) {
  grid-template-columns: minmax(0, 1fr) !important;
}

.dashboard-page .crm-modal-standard-form-root {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}

.dashboard-page .crm-modal-standard-form-root::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}

.dashboard-page .crm-modal-standard-form-root > .crm-modal-standard-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 21 !important;
}

.dashboard-page .crm-modal-standard-form-root > :is(.cashbox-field,.cashbox-household-category,.cashbox-household-warning) {
  margin-right: 24px !important;
  margin-left: 24px !important;
}

.dashboard-page .crm-modal-standard-form-root > :is(.cashbox-field,.cashbox-household-category):first-of-type {
  margin-top: 16px !important;
}

.dashboard-page .crm-modal-standard-form-root > .crm-modal-standard-actions {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.dashboard-page .crm-modal-standard-shift > :is(.shift-close-grid,.shift-bank-summary,.shift-close-operations,.shift-closing-actual),
.dashboard-page .crm-modal-standard-session-action > :is(.session-payment-stage,.session-cancel-warning,.session-payment-error,.field) {
  margin-right: 24px !important;
  margin-left: 24px !important;
}

.dashboard-page .crm-modal-standard-shift > :is(.shift-close-grid,.session-payment-stage):first-of-type,
.dashboard-page .crm-modal-standard-session-action > :is(.session-payment-stage,.session-cancel-warning,.field):first-of-type {
  margin-top: 16px !important;
}

.dashboard-page .crm-modal-standard-shift > .crm-modal-standard-actions,
.dashboard-page .crm-modal-standard-session-action > .crm-modal-standard-actions {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.dashboard-page .crm-modal-standard > :is(.fc-form-body,.session-pickup-fields,.rights-form-body) {
  min-height: 0 !important;
  padding: 16px 24px !important;
  overflow-y: auto !important;
}

.dashboard-page .crm-modal-standard > .session-pickup-fields {
  grid-template-columns: minmax(0, 1fr) !important;
  background: var(--theme-modal-background, var(--crm-color-bg-deep)) !important;
}

.dashboard-page .crm-modal-standard > .session-pickup-fields > * {
    grid-column: auto !important;
}

.dashboard-page .crm-modal-standard .map-row-edit-form {
    grid-template-columns: minmax(0, 1fr) !important;
}

.dashboard-page .crm-modal-standard .map-edit-orientation-note {
    width: 100% !important;
    min-height: 68px !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    line-height: 1.35 !important;
}

.dashboard-page .crm-modal-standard .map-edit-orientation-note > span {
    min-width: 0 !important;
    display: grid !important;
    gap: 4px !important;
}

.dashboard-page .crm-modal-standard .map-edit-orientation-note small {
    display: block !important;
    line-height: 1.4 !important;
}

.dashboard-page .crm-modal-standard-actions {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  width: auto !important;
  min-height: auto !important;
  margin: 16px -24px 0 !important;
  padding: 14px 24px 20px !important;
  border: 0 !important;
  border-top: 1px solid var(--theme-border, var(--crm-color-border-dark)) !important;
  background: var(--theme-modal-background, var(--crm-color-bg-deep)) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.dashboard-page .crm-modal-standard-actions > :is(button,a) {
  width: 100% !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

/* Quick client/car dialogs use the standard modal shell with their own body. */
.dashboard-page .quick-client-dialog.crm-modal-standard {
  height: auto !important;
  max-height: min(700px, calc(100vh - 32px)) !important;
}

.dashboard-page .quick-client-dialog .quick-client-form {
  width: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.dashboard-page .quick-client-dialog .client-type-switch {
  width: calc(100% - 48px) !important;
  margin: 16px 24px 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dashboard-page .quick-client-dialog .client-person-fields {
  width: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  padding: 16px 24px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 13px !important;
}

.dashboard-page .quick-client-dialog .client-person-fields > .field {
  width: 100% !important;
  min-width: 0 !important;
  grid-column: auto !important;
}

.dashboard-page .quick-client-dialog .client-person-fields > .field[hidden] {
  display: none !important;
}

.dashboard-page .quick-client-dialog .select-clear-field,
.dashboard-page .quick-client-dialog .session-custom-select,
.dashboard-page .quick-client-dialog .session-custom-toggle {
  width: 100% !important;
  min-width: 0 !important;
}

.dashboard-page .quick-client-dialog .client-modal-actions.crm-modal-standard-actions {
  position: static !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 14px 24px 20px !important;
  border-top: 1px solid var(--theme-border, var(--crm-color-border-dark)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
}

@media (max-width: 620px) {
  .dashboard-page .quick-client-dialog .client-type-switch {
    width: calc(100% - 32px) !important;
    margin-right: 16px !important;
    margin-left: 16px !important;
  }

  .dashboard-page .quick-client-dialog .client-person-fields,
  .dashboard-page .quick-client-dialog .client-modal-actions.crm-modal-standard-actions {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

/* Desktop window behaviour for stacked modals */
@media (min-width: 761px) {
  .dashboard-page .crm-window-drag-handle {
    cursor: grab !important;
    user-select: none;
    touch-action: none;
  }

  .dashboard-page .crm-window-draggable.is-window-dragging .crm-window-drag-handle {
    cursor: grabbing !important;
  }

  .dashboard-page .crm-window-draggable.is-window-positioning {
    transition: margin 260ms cubic-bezier(.2, .8, .2, 1) !important;
  }

  .dashboard-page .crm-window-draggable {
    width: var(--crm-window-stack-width) !important;
    margin-left: var(--crm-window-x, 0px) !important;
    margin-top: var(--crm-window-y, 0px) !important;
    margin-right: calc(-1 * var(--crm-window-x, 0px)) !important;
    margin-bottom: calc(-1 * var(--crm-window-y, 0px)) !important;
  }

  .dashboard-page .crm-modal-standard.crm-window-draggable {
    width: var(--crm-window-stack-width) !important;
    max-width: var(--crm-window-stack-width) !important;
  }

  .dashboard-page .crm-window-draggable.is-window-dragging {
    transition: none !important;
    box-shadow: 0 38px 110px rgba(0,0,0,.72) !important;
  }

  .dashboard-page.crm-window-stack-active .crm-window-managed {
    pointer-events: none;
  }

  .dashboard-page.crm-window-stack-active .crm-window-managed > .crm-window-draggable {
    pointer-events: auto;
  }

  .dashboard-page.crm-window-stack-active .crm-window-managed.crm-window-stack-layer {
    background: transparent !important;
    backdrop-filter: none !important;
    animation: none !important;
  }
}

/* macOS-like modal motion */
@keyframes crm-modal-overlay-in {
  from { opacity: 0; backdrop-filter: blur(0); }
  to { opacity: 1; backdrop-filter: blur(10px); }
}

@keyframes crm-modal-window-in {
  from { opacity: 0; transform: translateY(14px) scale(.965); filter: blur(2px); }
  65% { opacity: 1; transform: translateY(-2px) scale(1.004); filter: blur(0); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes crm-modal-content-in {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

.dashboard-page :is(
  .crm-modal-standard-overlay.is-open,
  .shift-opening-modal,
  .quick-create.is-open,
  .shift-close-modal.is-open,
  .session-payment-modal.is-open,
  .session-action-modal.is-open,
  .parking-scheme-modal.is-open
) {
  animation: crm-modal-overlay-in 240ms cubic-bezier(.22, .61, .36, 1) backwards;
}

.dashboard-page :is(
  .crm-modal-standard-overlay.is-open,
  .shift-opening-modal,
  .quick-create.is-open,
  .shift-close-modal.is-open,
  .session-payment-modal.is-open,
  .session-action-modal.is-open,
  .parking-scheme-modal.is-open
) > .crm-modal-standard {
  transform-origin: 50% 45%;
  animation: crm-modal-window-in 380ms cubic-bezier(.2, .82, .2, 1) backwards;
}

.dashboard-page .crm-modal-standard > :is(
  .crm-modal-standard-head,
  .crm-modal-standard-form,
  .quick-client-form,
  .shift-opening-body,
  .crm-modal-standard-actions
) {
  animation: crm-modal-content-in 300ms cubic-bezier(.22, .61, .36, 1) backwards;
}

.dashboard-page .crm-modal-standard > :nth-child(2) { animation-delay: 55ms; }
.dashboard-page .crm-modal-standard > :nth-child(3) { animation-delay: 90ms; }
.dashboard-page .crm-modal-standard > :nth-child(4) { animation-delay: 120ms; }

.dashboard-page .crm-modal-standard :is(
  input,
  textarea,
  select,
  button,
  .session-custom-toggle,
  .client-type-switch span,
  .select-clear-button
) {
  transition:
    color 160ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 220ms ease,
    opacity 160ms ease,
    transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.dashboard-page .crm-modal-standard :is(input,textarea,select):focus,
.dashboard-page .crm-modal-standard .session-custom-toggle[aria-expanded="true"] {
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-input-focus) 18%, transparent), 0 7px 18px rgba(0,0,0,.16);
}

.dashboard-page .crm-modal-standard button:not(:disabled):hover {
  transform: translateY(-1px);
}

.dashboard-page .crm-modal-standard button:not(:disabled):active {
  transform: translateY(0) scale(.975);
  transition-duration: 80ms;
}

.dashboard-page .crm-modal-standard .session-custom-dropdown {
  transform-origin: top center;
  animation: crm-modal-content-in 180ms cubic-bezier(.2, .8, .2, 1) backwards;
}

.dashboard-page .crm-modal-standard .client-type-switch input:checked + span {
  box-shadow: 0 4px 14px color-mix(in srgb, var(--theme-primary) 24%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-page :is(.crm-modal-standard-overlay,.shift-opening-modal,.quick-create,.shift-close-modal,.session-payment-modal,.session-action-modal,.parking-scheme-modal),
  .dashboard-page .crm-modal-standard,
  .dashboard-page .crm-modal-standard * {
    animation: none !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

.dashboard-page .crm-modal-standard-actions > :is(button,a) > i {
  flex: 0 0 auto !important;
  font-size: 13px !important;
}

.dashboard-page .crm-modal-standard .crm-modal-standard-actions > :is([type="submit"],.primary-action,.crm-dialog-confirm,.fc-save):not(.danger-link):not(.session-danger-action):not(.fc-delete-submit) {
  border-color: var(--crm-color-text-soft) !important;
  color: var(--crm-color-ink) !important;
  background: var(--crm-gradient-primary) !important;
}

.dashboard-page .crm-modal-standard .crm-modal-standard-actions > :is(.danger-link,.session-danger-action,.fc-delete-submit) {
  border-color: var(--theme-danger-button, var(--crm-color-danger)) !important;
  color: var(--theme-danger-button-text, var(--crm-color-white)) !important;
  background: var(--theme-danger-button, var(--crm-color-danger)) !important;
}

/* One visual language for every CRM dialog, based on the new-session dialog. */
.dashboard-page .crm-modal-standard,
.dashboard-page .crm-modal-standard :is(button,input,textarea,select) {
  font-family: inherit !important;
}

.dashboard-page .crm-modal-standard-head {
  min-height: 76px !important;
  padding: 16px 24px 10px !important;
  align-items: center !important;
}

.dashboard-page .crm-modal-standard-head :is(h1,h2) {
  color: var(--theme-text, #f2f5fb) !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.dashboard-page .crm-modal-standard-head :is(p,small) {
  margin-top: 4px !important;
  color: var(--crm-color-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.dashboard-page .crm-modal-standard-head [hidden] {
  display: none !important;
}

.dashboard-page .crm-modal-standard-head .crm-modal-standard-description {
  display: block !important;
}

.dashboard-page .crm-modal-standard :is(label,.field) {
  color: #aeb8ca !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.dashboard-page .crm-modal-standard :is(input,textarea,.session-custom-toggle) {
  border-radius: 10px !important;
  font-size: 13px !important;
}

.dashboard-page .crm-modal-standard :is(input,.session-custom-toggle) {
  min-height: 42px !important;
}

.dashboard-page .crm-modal-standard-form .session-pickup-fields {
  width: 100% !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
}

.dashboard-page .crm-modal-standard-form .session-pickup-fields label {
  display: grid !important;
  gap: 8px !important;
}

.dashboard-page .crm-modal-standard-form .session-pickup-fields input {
  width: 100% !important;
  height: 42px !important;
  border: 1px solid var(--theme-border, var(--crm-color-border-dark)) !important;
  padding: 0 12px !important;
  color: var(--theme-input-text, var(--theme-text)) !important;
  background: var(--theme-input, var(--crm-color-bg-input)) !important;
  outline: 0 !important;
}

.dashboard-page .crm-modal-standard-form .session-pickup-fields input:focus {
  border-color: var(--theme-input-focus) !important;
}

.dashboard-page .crm-modal-standard .crm-modal-standard-actions {
  grid-template-columns: minmax(0, 1fr) !important;
}

.dashboard-page .crm-modal-standard .crm-modal-standard-actions > :is(button,a) {
  min-height: 38px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.dashboard-page .crm-modal-standard .crm-modal-standard-actions > :is(button,a):not(.primary-action):not([type="submit"]):not(.danger-link):not(.session-danger-action):not(.crm-dialog-confirm):not(.fc-save):not(.fc-delete-submit) {
  border: 1px solid var(--theme-border, var(--crm-color-border-dark)) !important;
  color: var(--theme-secondary-button-text, var(--theme-text)) !important;
  background: var(--theme-secondary-button, var(--crm-surface-hover)) !important;
}

.dashboard-page .crm-modal-standard-close > i {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.dashboard-page .crm-window-suspended {
  display: none !important;
}

.dashboard-page .calendar-period-selects {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px;
  gap: 6px;
}

.dashboard-page .calendar-period-selects select {
  width: 100%;
  height: 32px;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 0 7px;
  color: var(--theme-calendar-day);
  background: var(--theme-calendar-header);
  outline: 0;
  text-transform: capitalize;
}

.dashboard-page .crm-date-range-field { position: relative; min-width: 250px; }
.dashboard-page .crm-date-range-field > [data-range-toggle] { width: 100%; min-height: 42px; border: 1px solid var(--theme-border); border-radius: 10px; padding: 0 12px; color: var(--theme-input-text); background: var(--theme-input); display: flex; align-items: center; gap: 9px; cursor: pointer; }
.dashboard-page .crm-date-range-field > [data-range-toggle] [data-range-label] { min-width: 0; flex: 1; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-page .crm-date-range-picker { position: fixed; left: var(--range-picker-left,8px); top: var(--range-picker-top,80px); z-index: 10000; width: var(--range-picker-width,min(340px,calc(100vw - 16px))); border: 1px solid color-mix(in srgb,var(--theme-border) 72%,transparent); border-radius: 14px; padding: 12px; color: var(--theme-calendar-day); background: color-mix(in srgb,var(--theme-calendar-background) 96%,#000); box-shadow: 0 24px 70px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.035); display: none; }
.dashboard-page .crm-date-range-picker.is-open { display: block; }
.dashboard-page .crm-date-range-picker .picker-head { display: grid; grid-template-columns: 32px minmax(0,1fr) 32px; align-items: center; gap: 7px; }
.dashboard-page .crm-date-range-picker .picker-head > button { width: 32px; height: 32px; border: 0; border-radius: 8px; color: var(--theme-calendar-day); background: transparent; cursor: pointer; }
.dashboard-page .crm-date-range-picker .calendar-weekdays { margin-top: 9px; }
.dashboard-page .crm-date-range-picker .calendar-days button.is-in-range { border-radius: 5px; background: color-mix(in srgb,var(--theme-calendar-selected) 28%,transparent) !important; }
.dashboard-page .crm-date-range-picker .crm-range-actions { margin: 9px -10px -10px; padding: 9px 10px; border-top: 1px solid var(--theme-border); display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.dashboard-page .crm-date-range-picker .crm-range-actions button { min-height: 34px; border: 1px solid var(--theme-border); border-radius: 8px; color: var(--theme-secondary-button-text); background: var(--theme-secondary-button); cursor: pointer; }
.dashboard-page .crm-date-range-picker .crm-range-actions button:last-child { color: var(--theme-primary-text); background: var(--theme-primary); }
.dashboard-page .crm-date-range-picker .calendar-days { gap: 5px !important; }
.dashboard-page .crm-date-range-picker .calendar-days button {
  min-height: 36px !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: var(--theme-calendar-day) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-weight: 750 !important;
}
.dashboard-page .crm-date-range-picker .calendar-days button:hover:not(:disabled) { background: var(--theme-calendar-hover) !important; }
.dashboard-page .crm-date-range-picker .calendar-days button.is-selected { color: var(--theme-primary-text) !important; background: var(--theme-calendar-selected) !important; box-shadow: none !important; }
.dashboard-page .crm-date-range-picker .calendar-days button:disabled { border: 0 !important; opacity: .24 !important; background: transparent !important; }
.dashboard-page .crm-date-range-picker .picker-head > button { border: 0 !important; color: var(--theme-muted) !important; background: transparent !important; box-shadow: none !important; }
.dashboard-page .crm-date-range-picker .picker-head > button:hover { color: var(--theme-text) !important; background: var(--theme-calendar-hover) !important; }
.dashboard-page .crm-date-range-picker .calendar-period-selects select { border-color: color-mix(in srgb,var(--theme-border) 68%,transparent) !important; box-shadow: none !important; }
.dashboard-page .crm-date-range-picker .crm-range-actions button { border-color: color-mix(in srgb,var(--theme-border) 68%,transparent) !important; box-shadow: none !important; }
.dashboard-page .calendar-period-buttons { min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:6px }
.dashboard-page .calendar-period-buttons>button { height:32px!important;min-height:32px!important;border:1px solid color-mix(in srgb,var(--theme-border) 68%,transparent)!important;border-radius:8px!important;padding:0 8px!important;color:var(--theme-calendar-day)!important;background:var(--theme-calendar-header)!important;box-shadow:none!important;text-transform:capitalize;cursor:pointer }
.dashboard-page .calendar-choice-panel { min-height:258px;margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:7px }
.dashboard-page .calendar-choice-panel[hidden] { display:none!important }
.dashboard-page .calendar-choice-panel>button { min-height:42px;border:0!important;border-radius:9px;color:var(--theme-calendar-day);background:transparent;box-shadow:none!important;cursor:pointer;text-transform:capitalize }
.dashboard-page .calendar-choice-panel>button:hover { background:var(--theme-calendar-hover) }
.dashboard-page .calendar-choice-panel>button.is-selected { color:var(--theme-primary-text);background:var(--theme-calendar-selected) }
.dashboard-page .calendar-year-choice { max-height:258px;grid-template-columns:repeat(4,minmax(0,1fr));overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar-thumb) transparent }
.dashboard-page .date-picker { border-color:color-mix(in srgb,var(--theme-border) 72%,transparent)!important;box-shadow:0 24px 70px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.03)!important }
.dashboard-page .date-picker .calendar-days { gap:5px!important }
.dashboard-page .date-picker .calendar-days button { min-height:36px!important;border:0!important;border-radius:9px!important;color:var(--theme-calendar-day)!important;background:transparent!important;box-shadow:none!important;transform:none!important;font-weight:750!important;transition:color .14s ease,background-color .14s ease!important }
.dashboard-page .date-picker .calendar-days button:hover:not(:disabled) { border:0!important;color:var(--theme-calendar-day)!important;background:var(--theme-calendar-hover)!important;box-shadow:none!important;transform:none!important }
.dashboard-page .date-picker .calendar-days button.is-selected,.dashboard-page .date-picker .calendar-days button.is-selected:hover { border:0!important;color:var(--theme-primary-text)!important;background:var(--theme-calendar-selected)!important;box-shadow:none!important;transform:none!important }
.dashboard-page .date-picker .picker-head>button { border:0!important;color:var(--theme-muted)!important;background:transparent!important;box-shadow:none!important;transform:none!important }
.dashboard-page .date-picker .picker-head>button:hover { color:var(--theme-text)!important;background:var(--theme-calendar-hover)!important;transform:none!important }
.dashboard-page .date-picker .calendar-choice-panel>button { border:0!important;box-shadow:none!important;transform:none!important }
.dashboard-page .filter-button.crm-date-range-field { min-width:220px;display:inline-flex!important }
.dashboard-page .filter-button.crm-date-range-field>[data-range-toggle] { position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;border:0!important;padding:0!important;background:transparent!important;opacity:0!important;cursor:pointer!important }
.dashboard-page .crm-calendar-toggle { width:100%;min-height:42px;border:1px solid var(--theme-border);border-radius:10px;padding:0 12px;color:var(--theme-input-text);background:var(--theme-input);display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font:inherit;font-weight:800;text-align:left }
.dashboard-page .crm-calendar-toggle>span { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
.dashboard-page .crm-calendar-toggle>i { color:var(--theme-muted) }
.dashboard-page .crm-calendar-toggle:hover { border-color:var(--theme-input-focus);color:var(--theme-text);background:var(--theme-hover);transform:none!important }

/* Session date range: one visible surface without nested field/filter layers. */
.dashboard-page .session-range-filter {
    position: relative;
    width: 220px;
    min-width: 220px;
    min-height: 42px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px;
    background: transparent !important;
    display: block;
}
.dashboard-page .session-range-filter > .session-range-toggle {
    position: relative;
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--theme-border);
    border-radius: 10px;
    color: var(--theme-input-text);
    background: var(--theme-input);
    box-shadow: none;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) 12px;
    align-items: center;
    gap: 9px;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
    appearance: none;
}
.dashboard-page .session-range-filter > .session-range-toggle > i {
    color: var(--theme-muted);
    text-align: center;
}
.dashboard-page .session-range-filter > .session-range-toggle > [data-range-label] {
    min-width: 0;
    overflow: hidden;
    color: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dashboard-page .session-range-filter > .session-range-toggle:hover,
.dashboard-page .session-range-filter > .session-range-toggle:focus-visible {
    border-color: var(--theme-input-focus);
    color: var(--theme-text);
    background: var(--theme-hover);
    box-shadow: none;
    outline: none;
    transform: none !important;
}
@media (max-width: 620px) {
    .dashboard-page .session-range-filter { width: 100%; min-width: 0; }
}

/* Status dropdown keeps its styling after it is moved to the body portal. */
.dashboard-page .session-custom-dropdown.is-status-dropdown {
    width: min(250px, calc(100vw - 16px)) !important;
    padding: 7px !important;
    border: 1px solid var(--theme-border) !important;
    border-radius: 11px !important;
    color: var(--theme-dropdown-text) !important;
    background: var(--theme-dropdown-background) !important;
    box-shadow: 0 18px 42px color-mix(in srgb, var(--theme-shadow) 34%, transparent) !important;
}
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-custom-options {
    display: grid;
    gap: 4px;
}
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-custom-options > button {
    width: 100%;
    min-height: 40px;
    padding: 5px 8px;
    border: 1px solid transparent !important;
    border-radius: 8px;
    color: var(--theme-dropdown-text) !important;
    background: transparent !important;
    box-shadow: none !important;
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    text-align: left;
}
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-custom-options > button:hover {
    border-color: var(--theme-border) !important;
    background: var(--theme-dropdown-hover) !important;
}
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-custom-options > button.is-selected {
    border-color: var(--theme-input-focus) !important;
    background: color-mix(in srgb, var(--theme-dropdown-selected) 12%, transparent) !important;
}
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-option-check {
    width: 19px;
    height: 19px;
    border: 1px solid var(--theme-border);
    border-radius: 6px;
    color: transparent;
    background: var(--theme-secondary-button);
    display: grid;
    place-items: center;
    font-size: 10px;
}
.dashboard-page .session-custom-dropdown.is-status-dropdown button.is-selected .session-option-check {
    color: var(--theme-primary-text);
    border-color: var(--theme-primary);
    background: var(--theme-primary);
}
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-status {
    width: auto;
    min-height: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    color: inherit !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex;
    align-items: center;
    gap: 8px;
}
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-status::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--theme-muted);
}
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-status.is-active::before { background: #e9a23b; }
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-status.is-completed::before { background: #45bb78; }
.dashboard-page .session-custom-dropdown.is-status-dropdown .session-status.is-cancelled::before { background: #db6276; }

.dashboard-page .session-status-checks {
    min-height: 42px;
    padding: 4px;
    border: 1px solid var(--theme-border);
    border-radius: 10px;
    background: var(--theme-input);
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}
.dashboard-page .session-status-checks-title {
    padding: 0 7px;
    color: var(--theme-muted);
    font-size: 12px;
    font-weight: 850;
}
.dashboard-page .session-status-checks > button {
    min-height: 32px;
    padding: 0 9px 0 6px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--theme-input-text);
    background: transparent;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.dashboard-page .session-status-checks > button > i {
    width: 18px;
    height: 18px;
    border: 1px solid var(--theme-border);
    border-radius: 5px;
    color: transparent;
    background: var(--theme-secondary-button);
    display: grid;
    place-items: center;
    font-size: 9px;
}
.dashboard-page .session-status-checks > button:hover {
    border-color: var(--theme-border);
    color: var(--theme-text);
    background: var(--theme-hover);
    transform: none !important;
}
.dashboard-page .session-status-checks > button.is-selected {
    border-color: var(--theme-input-focus);
    color: var(--theme-text);
    background: color-mix(in srgb, var(--theme-dropdown-selected) 12%, transparent);
}
.dashboard-page .session-status-checks > button.is-selected > i {
    color: var(--theme-primary-text);
    border-color: var(--theme-primary);
    background: var(--theme-primary);
}
.workzone-action-toast { position:fixed; right:18px; bottom:18px; z-index:12000; max-width:min(420px,calc(100vw - 24px)); padding:12px 15px; border:1px solid color-mix(in srgb,var(--theme-success) 38%,var(--theme-border)); border-radius:11px; color:var(--theme-text); background:color-mix(in srgb,var(--theme-success) 14%,var(--theme-surface)); box-shadow:0 18px 48px color-mix(in srgb,var(--theme-shadow) 48%,transparent); opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; font-size:12px; font-weight:800; }
.workzone-action-toast.is-visible { opacity:1; visibility:visible; transform:none; }
.workzone-action-toast.is-error { border-color:color-mix(in srgb,var(--theme-danger) 42%,var(--theme-border)); background:color-mix(in srgb,var(--theme-danger) 14%,var(--theme-surface)); }
@media(max-width:620px){.workzone-action-toast{left:12px;right:12px;bottom:12px;max-width:none}}
@media (max-width: 900px) {
    .dashboard-page .session-status-checks { width: 100%; }
}

/* Consistent readable interaction colours for every calendar and time picker. */
.dashboard-page :is(.date-picker,.crm-date-range-picker,.crm-date-time-picker) :is(.calendar-days,.calendar-choice-panel) button:hover:not(:disabled) { color:var(--theme-text)!important;background:var(--theme-calendar-hover)!important; }
.dashboard-page :is(.date-picker,.crm-date-range-picker,.crm-date-time-picker) :is(.calendar-days,.calendar-choice-panel) button.is-selected,
.dashboard-page :is(.date-picker,.crm-date-range-picker,.crm-date-time-picker) :is(.calendar-days,.calendar-choice-panel) button.is-selected:hover { color:var(--theme-primary-text)!important;background:var(--theme-calendar-selected)!important; }
.dashboard-page :is(.date-picker,.crm-date-range-picker,.crm-date-time-picker) .calendar-period-buttons>button:hover { color:var(--theme-text)!important;background:var(--theme-calendar-hover)!important; }
.dashboard-page :is(.time-picker,.crm-date-time-picker) :is(.time-scroll-list,.time-picker-grid) button { border:0!important;color:var(--theme-calendar-day)!important;background:transparent!important;box-shadow:none!important;transform:none!important; }
.dashboard-page :is(.time-picker,.crm-date-time-picker) :is(.time-scroll-list,.time-picker-grid) button:hover { color:var(--theme-text)!important;background:var(--theme-calendar-hover)!important; }
.dashboard-page :is(.time-picker,.crm-date-time-picker) :is(.time-scroll-list,.time-picker-grid) button.is-selected { color:var(--theme-primary-text)!important;background:var(--theme-calendar-selected)!important; }

/* Calendar component portal: pickers are never clipped by modal overflow. */
.dashboard-page :is(.date-picker,.time-picker,.crm-date-time-picker,.balance-month-picker,.balance-year-picker).crm-calendar-portal {
  position:fixed!important;
  left:var(--crm-calendar-left,8px)!important;
  right:auto!important;
  top:var(--crm-calendar-top,80px)!important;
  bottom:auto!important;
  z-index:12000!important;
  width:var(--crm-calendar-width,min(330px,calc(100vw - 16px)))!important;
  max-width:calc(100vw - 16px)!important;
  max-height:var(--crm-calendar-max-height,calc(100vh - 16px))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.dashboard-page .crm-date-time-field { position: relative; }
.dashboard-page .crm-date-time-field > [hidden],.dashboard-page .crm-date-time-source-hidden { display: none !important; }
.dashboard-page .crm-date-time-picker { position: fixed; left: var(--crm-calendar-left,8px); top: var(--crm-calendar-top,80px); z-index: 10000; width: var(--crm-calendar-width,min(340px,calc(100vw - 16px))); max-height: var(--crm-calendar-max-height,calc(100vh - 16px)); overflow:auto; border:1px solid color-mix(in srgb,var(--theme-border) 72%,transparent); border-radius:14px; padding:12px; color:var(--theme-calendar-day); background:color-mix(in srgb,var(--theme-calendar-background) 96%,#000); box-shadow:0 24px 70px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.035); display:none; }
.dashboard-page .crm-date-time-picker.is-open { display: block; }
.dashboard-page .crm-date-time-picker .picker-head { display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:7px }
.dashboard-page .crm-date-time-picker .picker-head>button { width:32px;height:32px;border:0;border-radius:8px;color:var(--theme-calendar-day);background:transparent }

/* Workzone reservation flow */
.session-reservation-choice{display:grid;gap:10px}.session-reservation-switch{width:100%;min-height:62px;border:1px solid var(--theme-border);border-radius:11px;padding:10px 12px;color:var(--theme-text);background:var(--theme-surface-alt);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.session-reservation-switch>span{display:flex;align-items:center;gap:11px}.session-reservation-switch>span>i{width:36px;height:36px;border-radius:9px;color:var(--theme-muted);background:var(--theme-secondary-button);display:grid;place-items:center}.session-reservation-switch>span>span{display:grid;gap:3px}.session-reservation-switch strong{font-size:12px}.session-reservation-switch small{color:var(--theme-muted);font-size:10px}.session-reservation-switch-track{position:relative;width:40px;height:23px;flex:0 0 40px;border-radius:999px;background:var(--theme-secondary-button);transition:.2s}.session-reservation-switch-track:after{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:var(--theme-muted);transition:.2s}.session-reservation-switch.is-active{border-color:var(--theme-input-focus);background:color-mix(in srgb,var(--theme-primary) 7%,var(--theme-surface-alt))}.session-reservation-switch.is-active .session-reservation-switch-track{background:var(--theme-primary)}.session-reservation-switch.is-active .session-reservation-switch-track:after{background:var(--theme-primary-text);transform:translateX(17px)}.session-reservation-switch:focus-visible{outline:2px solid var(--theme-input-focus);outline-offset:2px}.session-reservation-fields{position:relative;border:1px solid var(--theme-border);border-radius:11px;padding:12px;background:var(--theme-surface-alt);display:grid;grid-template-columns:1fr 1fr;gap:12px}.session-reservation-fields[hidden]{display:none}.session-reservation-fields>.field{position:relative;min-width:0}.session-reservation-fields>.session-reservation-hint,.session-reservation-fields>.session-reservation-error{grid-column:1/-1;margin:0;font-size:10px}.session-reservation-hint{color:var(--theme-muted)}.session-reservation-error{min-height:14px;color:#ff8f9f}.session-reservation-fields [data-reservation-time-picker]{position:absolute;right:12px;top:70px;z-index:500;width:min(330px,calc(100% - 24px));max-height:250px;overflow:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:8px}.session-reservation-fields [data-reservation-time-picker] button{min-height:34px;border:0;border-radius:7px;color:var(--theme-calendar-day);background:transparent;cursor:pointer}.session-reservation-fields [data-reservation-time-picker] button:hover,.session-reservation-fields [data-reservation-time-picker] button:focus-visible{color:var(--theme-text);background:var(--theme-calendar-hover);outline:0}.session-status.is-reserved{color:#d9ebff;border-color:rgba(91,164,234,.5);background:linear-gradient(135deg,rgba(45,112,181,.95),rgba(35,79,135,.94))}
@media(max-width:620px){.session-reservation-fields{grid-template-columns:1fr}.session-reservation-fields>.session-reservation-hint,.session-reservation-fields>.session-reservation-error{grid-column:1}.session-reservation-fields [data-reservation-time-picker]{left:12px;right:12px;top:auto;width:auto;grid-template-columns:repeat(3,minmax(0,1fr))}}
.session-client-notify-modal{position:fixed;inset:0;z-index:3100;padding:18px;background:color-mix(in srgb,var(--theme-modal-overlay) 88%,transparent);display:none;align-items:center;justify-content:center}.session-client-notify-modal.is-open{display:flex}.session-client-notify-dialog{width:min(680px,100%);max-height:min(780px,calc(100dvh - 36px));border:1px solid var(--theme-border);border-radius:16px;color:var(--theme-text);background:var(--theme-modal-background);box-shadow:0 28px 90px var(--theme-shadow);display:flex;flex-direction:column;overflow:hidden}.session-client-notify-head{flex:0 0 auto;border-bottom:1px solid var(--theme-border);padding:18px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.session-client-notify-head>div{min-width:0}.session-client-notify-head span{color:var(--theme-muted);font-size:9px;font-weight:900;letter-spacing:.12em}.session-client-notify-head h2{margin:4px 0 5px;font-size:19px}.session-client-notify-head p{margin:0;color:var(--theme-muted);font-size:11px;overflow-wrap:anywhere}.session-client-notify-head>button{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--theme-border);border-radius:10px;color:var(--theme-secondary-button-text);background:var(--theme-secondary-button);cursor:pointer}.session-client-notify-body{min-height:0;padding:18px 20px 20px;display:grid;gap:14px;overflow:auto}.session-client-notify-preview{min-height:230px;border:1px solid var(--theme-border);border-radius:12px;padding:15px;color:var(--theme-text);background:var(--theme-input);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.session-client-notify-error{min-height:15px;margin:0;color:var(--theme-danger);font-size:11px}.session-client-notify-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.session-client-notify-channels>a,.session-client-notify-channels>button{min-height:62px;border:1px solid var(--theme-border);border-radius:11px;padding:10px 12px;color:var(--theme-text);background:var(--theme-surface-alt);display:flex;align-items:center;gap:11px;cursor:pointer;text-align:left;text-decoration:none}.session-client-notify-channels>a:hover,.session-client-notify-channels>button:hover{background:var(--theme-hover)}.session-client-notify-channels>a:focus-visible,.session-client-notify-channels>button:focus-visible,.session-client-notify-head>button:focus-visible{outline:2px solid var(--theme-input-focus);outline-offset:2px}.session-client-notify-channels [aria-disabled=true]{opacity:.5;pointer-events:none}.session-client-notify-channels>a>i,.session-client-notify-channels>button>i{width:34px;height:34px;flex:0 0 34px;border-radius:9px;color:var(--theme-primary-text);background:var(--theme-primary);display:grid;place-items:center}.session-client-notify-channels span{min-width:0;display:grid;gap:3px}.session-client-notify-channels strong{font-size:12px}.session-client-notify-channels small{color:var(--theme-muted);font-size:9px;line-height:1.35}
@media(max-width:620px){.session-client-notify-modal{padding:0;align-items:flex-end}.session-client-notify-dialog{width:100%;max-height:calc(100dvh - 58px);border-right:0;border-bottom:0;border-left:0;border-radius:16px 16px 0 0}.session-client-notify-head{padding:15px 16px}.session-client-notify-body{padding:14px 16px calc(18px + env(safe-area-inset-bottom))}.session-client-notify-preview{min-height:190px}.session-client-notify-channels{grid-template-columns:1fr}.session-client-notify-channels>a,.session-client-notify-channels>button{min-height:58px}}

body.workzone-page .session-context-menu{display:block;background:#191919!important;border-bottom:1px solid rgb(34 34 34)!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-7px) scale(.975);transform-origin:top left;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .22s}
body.workzone-page .session-context-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}
@media(prefers-reduced-motion:reduce){body.workzone-page .session-context-menu,body.workzone-page .session-context-menu.is-open{transition:none;transform:none}}
.dashboard-page .crm-date-time-controls { margin:9px -10px -10px; padding:9px 10px; border-top:1px solid var(--theme-border); display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:7px; }
.dashboard-page .crm-time-custom-select { position:relative;display:grid;gap:4px;color:var(--theme-muted);font-size:10px }
.dashboard-page .crm-time-custom-toggle { height:34px;border:1px solid var(--theme-border);border-radius:8px;padding:0 9px;color:var(--theme-calendar-day);background:var(--theme-calendar-header);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer }
.dashboard-page .crm-time-custom-toggle i { color:var(--theme-muted);font-size:9px;transition:transform .15s ease }
.dashboard-page .crm-time-custom-toggle[aria-expanded="true"] i { transform:rotate(180deg) }
.dashboard-page .crm-time-custom-dropdown { position:absolute;left:0;right:0;bottom:calc(100% + 5px);z-index:4;max-height:190px;overflow-y:auto;border:1px solid var(--theme-border);border-radius:9px;padding:5px;color:var(--theme-calendar-day);background:var(--theme-calendar-background);box-shadow:0 14px 34px rgba(0,0,0,.42);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;scrollbar-width:thin }
.dashboard-page .crm-time-custom-dropdown[hidden] { display:none!important }
.dashboard-page .crm-time-custom-dropdown button { min-height:30px;border:0;border-radius:7px;color:var(--theme-calendar-day);background:transparent;cursor:pointer }
.dashboard-page .crm-time-custom-dropdown button:hover { color:var(--theme-text);background:var(--theme-calendar-hover) }
.dashboard-page .crm-time-custom-dropdown button.is-selected { color:var(--theme-primary-text);background:var(--theme-calendar-selected) }
.dashboard-page .crm-date-time-controls button { height:34px;border:0;border-radius:8px;padding:0 12px;color:var(--theme-primary-text);background:var(--theme-primary) }

@media (max-width: 620px) {
  .dashboard-page .crm-modal-standard-overlay {
    padding: 6px !important;
    align-items: flex-end !important;
  }

  .dashboard-page .crm-modal-standard,
  .dashboard-page .crm-modal-standard.crm-modal-standard-wide {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100vh - 12px) !important;
    border-radius: 10px !important;
  }

  .dashboard-page .crm-modal-standard-map > .crm-modal-standard-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .dashboard-page .crm-modal-standard-map > .crm-modal-standard-head .parking-scheme-tabs {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  .dashboard-page .crm-modal-standard-head {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .dashboard-page .crm-modal-standard-form {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .dashboard-page .crm-modal-standard-actions {
    margin-right: -16px !important;
    margin-left: -16px !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

}

/* Final employee position dropdown layer (kept unscoped for browser compatibility). */
body.employees-page :is(.employee-invitation,.employees-panel,.employee-list,.employee-card,.employee-info,.employee-position-form,.modal-dialog,.modal-dialog>form,.modal-dialog .form-grid,.modal-dialog .field:has(.custom-select)) {
  overflow: visible !important;
}
body.employees-page .custom-select.is-open { z-index:620 !important; }
body.employees-page .custom-select .custom-dropdown {
  z-index:621 !important;
  max-height:var(--employee-dropdown-max-height,min(320px,50vh)) !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
}
body.employees-page .custom-select.opens-up .custom-dropdown {
  top:auto !important;
  bottom:calc(100% + 7px) !important;
}
body.employees-page .custom-select:not(.opens-up) .custom-dropdown {
  top:calc(100% + 7px) !important;
  bottom:auto !important;
}
body.employees-page .custom-select .custom-option {
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.35;
  text-align:left;
}

body.employees-page .employee-invitation label {
  width:min(360px,100%);
  min-width:0;
}
body.employees-page .employee-invitation-position {
  width:100%;
  min-width:0;
}
body.employees-page .employee-invitation-position .custom-select-trigger,
body.employees-page .employee-invitation-position .custom-dropdown {
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
body.employees-page > .custom-dropdown.employee-dropdown-portal {
  position:fixed !important;
  right:auto !important;
  z-index:5000 !important;
  display:grid !important;
  gap:5px;
  max-height:var(--employee-dropdown-max-height,320px) !important;
  overflow-y:auto !important;
}
body.employees-page .employee-invitation-open{min-height:44px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;text-decoration:none}

.pagination-size-control{display:flex;align-items:center;gap:8px}.pagination-size-select{position:relative}.pagination-size-select>[data-pagination-size-toggle]{min-width:76px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pagination-size-select>[data-pagination-size-toggle] i{font-size:9px;transition:transform .18s ease}.pagination-size-select.is-open>[data-pagination-size-toggle] i{transform:rotate(180deg)}.pagination-size-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:120;width:100%;min-width:76px;border:1px solid var(--theme-border);border-radius:9px;padding:5px;background:var(--theme-modal-background,var(--theme-surface));box-shadow:0 16px 42px rgba(0,0,0,.42);display:grid;gap:3px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px);transition:.16s ease}.pagination-size-select.is-open .pagination-size-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}.pagination-size-menu button{width:100%;border-color:transparent;background:transparent}.pagination-size-menu button:hover,.pagination-size-menu button.is-selected{color:var(--theme-primary-text);background:var(--theme-primary)}[data-pagination-table][aria-busy="true"]{opacity:.55;pointer-events:none}

/* Paginated tables fit the desktop viewport; horizontal scrolling remains mobile-only. */
@media (min-width:821px) {
  .dashboard-page :is(.operations-table-wrap,.session-table-wrap,.clients-table-wrap) {
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  .dashboard-page :is(.operations-table,.session-table,.clients-table,.manager-finance-table) {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    table-layout:fixed !important;
  }
  .dashboard-page :is(.operations-table,.session-table,.clients-table,.manager-finance-table) col {
    width:auto !important;
    min-width:0 !important;
  }
  .dashboard-page :is(.operations-table,.session-table,.clients-table,.manager-finance-table) :is(th,td) {
    min-width:0 !important;
    max-width:none !important;
    padding-right:8px !important;
    padding-left:8px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .dashboard-page .session-table :is(th,td) { padding-right:5px !important;padding-left:5px !important;font-size:9px; }
  .dashboard-page :is(.table-scroll-top,.session-table-scroll-top) { display:none !important; }
  .dashboard-page :is(.operations-table-wrap,.session-table-wrap,.clients-table-wrap)::-webkit-scrollbar { display:none !important; }
}

/* Larger, more readable type in finance and session registers. */
.operations-page .operations-table,
.dashboard-page .session-register .session-table { font-size: 13px; }
.operations-page .operations-table thead th,
.dashboard-page .session-register .session-table thead th { font-size: 12px; line-height: 1.25; }
.operations-page .operations-table tbody td,
.dashboard-page .session-register .session-table tbody td { font-size: 13px; line-height: 1.35; }
.operations-page .operations-table :is(.status-pill,.type-pill,.pay-pill,.category-pill),
.dashboard-page .session-register .session-status { font-size: 12px; }
.dashboard-page .session-register .session-table :is(small,em) { font-size: 11px; }
@media (min-width:821px) {
  .dashboard-page .session-register .session-table :is(th,td) { font-size: 12px !important; }
  .dashboard-page .session-register .session-table tbody td { font-size: 13px !important; }
}

/* Daily Vladivostok airport arrivals on the sessions page. */
.airport-flights-panel{margin-top:16px;overflow:hidden}.airport-flights-head{padding:17px 19px;border-bottom:1px solid var(--theme-border);display:flex;align-items:center;justify-content:space-between;gap:16px}.airport-flights-head>div{display:grid;gap:4px}.airport-flights-head span{color:var(--theme-primary);font-size:9px;font-weight:950;letter-spacing:.08em}.airport-flights-head h2{margin:0;display:flex;align-items:center;gap:9px;font-size:18px}.airport-flights-head h2 i{color:var(--theme-primary)}.airport-flights-head small{color:var(--theme-muted);font-size:11px}.airport-flights-head>a{min-height:36px;border:1px solid var(--theme-border);border-radius:9px;padding:0 11px;color:var(--theme-text);background:var(--theme-secondary-button);display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:11px;font-weight:800}.airport-flights-table-wrap{max-height:440px;overflow:auto}.airport-flights-table{width:100%;border-collapse:collapse;font-size:12px}.airport-flights-table th{position:sticky;top:0;z-index:1;padding:10px 12px;color:var(--theme-muted);background:var(--theme-surface);text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.airport-flights-table td{padding:11px 12px;border-top:1px solid var(--theme-border);color:var(--theme-text)}.airport-flights-table tbody tr:hover td{background:var(--theme-table-hover)}.airport-flights-table td:has(small){display:grid;gap:3px}.airport-flights-table td small{color:var(--theme-muted);font-size:10px}.airport-flight-time{color:var(--theme-primary)!important;font-size:15px;font-weight:950}.airport-flight-status{border-radius:999px;padding:5px 8px;display:inline-flex;white-space:nowrap;font-size:10px;font-weight:900}.airport-flight-status.is-arrived{color:var(--theme-success);background:color-mix(in srgb,var(--theme-success) 12%,transparent)}.airport-flight-status.is-planned{color:var(--theme-primary);background:color-mix(in srgb,var(--theme-primary) 12%,transparent)}.airport-flight-status.is-delayed{color:var(--theme-warning);background:color-mix(in srgb,var(--theme-warning) 14%,transparent)}.airport-flight-status.is-cancelled{color:var(--theme-danger);background:color-mix(in srgb,var(--theme-danger) 12%,transparent)}.airport-flights-error,.airport-flights-empty{margin:0;padding:24px;color:var(--theme-muted);text-align:center}.airport-flights-error{color:var(--theme-danger)}.airport-flights-error i{margin-right:8px}@media(max-width:820px){.airport-flights-head{align-items:flex-start}.airport-flights-table-wrap{overflow-x:auto}.airport-flights-table{min-width:780px}.airport-flights-head>a{font-size:0}.airport-flights-head>a i{font-size:12px}}
.airport-board-mini{width:min(620px,100%);margin:10px 0;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface-alt);overflow:hidden}.airport-board-mini>header{min-height:42px;padding:5px 7px 5px 11px;border-bottom:1px solid var(--theme-border);display:flex;align-items:center;gap:9px}.airport-board-mini>header>div:first-child{margin-right:auto;display:flex;align-items:center;gap:8px}.airport-board-mini>header>div:first-child>i{color:var(--theme-primary)}.airport-board-mini>header span{display:grid;gap:1px}.airport-board-mini>header strong{font-size:11px}.airport-board-mini>header small{color:var(--theme-muted);font-size:8px}.airport-board-mini>header>a{width:30px;height:30px;border-radius:8px;color:var(--theme-muted);display:grid;place-items:center;text-decoration:none}.airport-board-tabs{display:flex;gap:3px}.airport-board-tabs button{height:29px;border:0;border-radius:7px;padding:0 8px;color:var(--theme-muted);background:transparent;font-size:9px;font-weight:900;cursor:pointer}.airport-board-tabs button b{margin-left:3px}.airport-board-tabs button.is-active{color:var(--theme-primary-text);background:var(--theme-primary)}.airport-board-list{height:176px;overflow-y:auto;display:none;scrollbar-width:thin}.airport-board-list.is-active{display:block}.airport-board-list article{min-height:35px;padding:4px 9px;border-top:1px solid color-mix(in srgb,var(--theme-border) 65%,transparent);display:grid;grid-template-columns:42px minmax(0,1fr) 68px 90px;align-items:center;gap:7px}.airport-board-list article:first-child{border-top:0}.airport-board-list time{color:var(--theme-primary);font-size:12px;font-weight:950}.airport-board-list article>span{min-width:0;display:grid;gap:1px}.airport-board-list article>span strong,.airport-board-list article>span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-board-list article>span strong{font-size:10px}.airport-board-list article>span small{color:var(--theme-muted);font-size:8px}.airport-board-list article>b{font-size:9px}.airport-board-list article>em{justify-self:start;border-radius:999px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:900;white-space:nowrap}.airport-board-list article>em.is-arrived{color:var(--theme-success)}.airport-board-list article>em.is-planned{color:var(--theme-primary)}.airport-board-list article>em.is-delayed{color:var(--theme-warning)}.airport-board-list article>em.is-cancelled{color:var(--theme-danger)}.airport-board-message{height:90px;margin:0;padding:20px;color:var(--theme-muted);display:grid;place-items:center;text-align:center;font-size:10px}@media(max-width:620px){.airport-board-mini{width:100%}.airport-board-mini>header{align-items:flex-start;flex-wrap:wrap}.airport-board-tabs{order:3;width:100%}.airport-board-tabs button{flex:1}.airport-board-list article{grid-template-columns:38px minmax(0,1fr) 58px}.airport-board-list article>em{display:none}}

/* Compact session metrics with the airport board aligned on the right. */
.session-overview-grid{margin:10px 0 18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,620px);gap:12px;align-items:end}.session-overview-metrics{min-width:0;display:flex;flex-direction:column}.session-overview-metrics .cashbox-indicator{width:100%;margin:0 0 12px}.session-overview-metrics .session-summary{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.session-overview-grid .airport-board-mini{width:100%;height:170px;margin:0;display:flex;flex-direction:column}.session-overview-grid .airport-board-list{height:auto;min-height:0;flex:1}.session-overview-grid .airport-board-list.is-active{overflow-y:auto}@media(max-width:1180px){.session-overview-grid{grid-template-columns:1fr}.session-overview-grid .airport-board-mini{height:170px}}@media(max-width:760px){.session-overview-metrics .session-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.session-overview-metrics .session-summary{grid-template-columns:1fr}.session-overview-grid .airport-board-mini{height:170px}}

.airport-overview-panels{min-width:0;display:grid;grid-template-columns:minmax(240px,300px) minmax(360px,620px);gap:12px}.client-arrival-reminders{min-width:0;height:170px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface-alt);display:flex;flex-direction:column;overflow:hidden}.client-arrival-reminders>header{min-height:42px;padding:5px 11px;border-bottom:1px solid var(--theme-border);display:flex;align-items:center}.client-arrival-reminders>header>div{min-width:0;display:flex;align-items:center;gap:8px}.client-arrival-reminders>header i{color:var(--theme-warning)}.client-arrival-reminders>header span{min-width:0;display:grid;gap:1px}.client-arrival-reminders>header strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.client-arrival-reminders>header small{color:var(--theme-muted);font-size:8px}.client-arrival-reminders-list{min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin}.client-arrival-reminders-list article{min-height:42px;padding:5px 10px;border-top:1px solid color-mix(in srgb,var(--theme-border) 65%,transparent);display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px}.client-arrival-reminders-list article:first-child{border-top:0}.client-arrival-reminders-list time{color:var(--theme-warning);font-size:12px;font-weight:950}.client-arrival-reminders-list article>span{min-width:0;display:grid;gap:2px}.client-arrival-reminders-list article strong,.client-arrival-reminders-list article small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-arrival-reminders-list article strong{font-size:10px}.client-arrival-reminders-list article small{color:var(--theme-muted);font-size:8px}.client-arrival-reminders-empty{height:100%;margin:0;padding:14px;color:var(--theme-muted);display:grid;place-items:center;align-content:center;gap:7px;text-align:center;font-size:9px}.client-arrival-reminders-empty i{color:var(--theme-success);font-size:16px}@media(min-width:1181px){.session-overview-grid{grid-template-columns:minmax(0,1fr) minmax(612px,932px)}}@media(max-width:760px){.airport-overview-panels{grid-template-columns:1fr}.client-arrival-reminders,.session-overview-grid .airport-board-mini{height:170px}}@media(max-width:420px){.client-arrival-reminders>header strong{white-space:normal}}

.fc-drag-handle{width:26px;height:32px;flex:0 0 26px;color:var(--theme-muted);display:grid;place-items:center;cursor:grab}.fc-drag-handle.is-small{width:18px;height:24px;flex-basis:18px}.fc-category[draggable="true"],.fc-item[draggable="true"]{transition:opacity .15s ease,transform .15s ease}.fc-category[draggable="true"] .fc-category-head,.fc-item[draggable="true"]{cursor:grab}.fc-category.is-dragging,.fc-item.is-dragging{opacity:.4;transform:scale(.985)}

.finance-categories-page .custom-option[hidden],.operations-page [data-finance-nomenclature-select] .custom-option[hidden]{display:none!important}

.analytics-record-traffic{grid-row:span 2;align-content:start}.analytics-record-head{padding-bottom:10px;border-bottom:1px solid var(--dash-line);display:grid;gap:4px}.analytics-record-head strong{font-size:17px}.analytics-record-values{display:grid;gap:0}.analytics-record-values>div{min-height:48px;border-bottom:1px solid var(--dash-line);display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-record-values>div:last-child{border-bottom:0}.analytics-record-values small{font-size:10px}.analytics-record-values b{font-size:20px}

/* Notification delivery settings. */
.settings-page .settings-field-wide,.settings-page .settings-notification-events{grid-column:1/-1}.settings-page .settings-field :is(input[type="password"],textarea){width:100%;border:1px solid var(--dash-line-strong);border-radius:9px;padding:0 12px;color:var(--theme-input-text,var(--crm-color-white));background:var(--theme-input,var(--crm-color-surface));outline:0;font:inherit;font-weight:600;transition:border-color .18s ease,box-shadow .18s ease}.settings-page .settings-field input[type="password"]{min-height:44px}.settings-page .settings-field textarea{min-height:92px;padding-top:11px;padding-bottom:11px;resize:vertical;line-height:1.5}.settings-page .settings-field :is(input[type="password"],textarea):focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 15%,transparent)}.settings-page .settings-field :is(input,textarea)::placeholder{color:var(--theme-muted);opacity:.72}.settings-page .settings-notification-events{border:1px solid var(--dash-line);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--theme-surface-alt) 76%,transparent);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-page .settings-notification-events .checkbox-line{min-height:54px;margin:0;border:1px solid var(--dash-line);border-radius:9px;padding:9px 12px;color:var(--theme-text);background:var(--theme-surface);display:flex;align-items:center;gap:10px;cursor:pointer;font-size:11px;font-weight:850}.settings-page .settings-notification-events .checkbox-line:hover{border-color:color-mix(in srgb,var(--theme-primary) 42%,var(--dash-line));background:var(--theme-hover)}.settings-page .settings-notification-events input{width:18px;height:18px;margin:0;accent-color:var(--theme-primary);cursor:pointer}.settings-page .settings-notification-events span{line-height:1.35}@media(max-width:760px){.settings-page .settings-notification-events{grid-template-columns:1fr}}

.fixed-monthly-reports{display:grid;gap:14px}.fixed-monthly-head{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.fixed-monthly-head>div{display:grid;gap:4px}.fixed-monthly-head span,.fixed-monthly-report>header span{color:var(--theme-primary);font-size:9px;font-weight:950;letter-spacing:.08em}.fixed-monthly-head h2,.fixed-monthly-report h3{margin:0}.fixed-monthly-head p{margin:0;color:var(--theme-muted);font-size:10px}.fixed-monthly-head form{display:flex;align-items:end;gap:8px}.fixed-monthly-head label{display:grid;gap:5px;color:var(--theme-muted);font-size:9px;font-weight:900}.fixed-monthly-head input{height:40px;border:1px solid var(--dash-line);border-radius:9px;padding:0 10px;color:var(--theme-text);background:var(--theme-input);color-scheme:dark}.fixed-monthly-empty{min-height:130px;padding:20px;color:var(--theme-muted);display:grid;place-items:center;align-content:center;gap:7px;text-align:center}.fixed-monthly-report{overflow:hidden}.fixed-monthly-report>header{padding:16px 18px;border-bottom:1px solid var(--dash-line);display:flex;align-items:center;justify-content:space-between}.fixed-monthly-report>header>div{display:grid;gap:4px}.fixed-monthly-report>header small{color:var(--theme-muted)}.fixed-monthly-report>header>i{color:var(--theme-primary);font-size:20px}.fixed-monthly-values{padding:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.fixed-monthly-values>div{border:1px solid var(--dash-line);border-radius:10px;padding:12px;display:grid;gap:6px}.fixed-monthly-values span{color:var(--theme-muted);font-size:9px}.fixed-monthly-values strong{font-size:17px}.fixed-monthly-values .is-income strong{color:var(--theme-success)}.fixed-monthly-values .is-expense strong{color:var(--theme-danger)}.fixed-monthly-values .is-closing{border-color:color-mix(in srgb,var(--theme-primary) 38%,var(--dash-line))}.fixed-monthly-chart{margin:0 12px}.fixed-monthly-report .analytics-method-table{margin:0 12px 14px}@media(max-width:900px){.fixed-monthly-values{grid-template-columns:repeat(2,1fr)}.fixed-monthly-head{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.fixed-monthly-head form{width:100%;align-items:stretch;flex-direction:column}.fixed-monthly-values{grid-template-columns:1fr}}

/* Universal CRM controls: semantic native fields remain as backing controls. */
.dashboard-page .crm-native-select-backing{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.dashboard-page .crm-universal-select{position:relative;width:100%;min-width:0}.dashboard-page .crm-universal-select-trigger{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--theme-border,var(--dash-line));border-radius:9px;color:var(--theme-input-text,var(--theme-text));background:var(--theme-input,var(--theme-surface-alt));display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font:inherit;font-weight:750;cursor:pointer}.dashboard-page .crm-universal-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .crm-universal-select-trigger>i{color:var(--theme-muted);font-size:10px;transition:transform .16s ease}.dashboard-page .crm-universal-select.is-open .crm-universal-select-trigger>i{transform:rotate(180deg)}.dashboard-page .crm-universal-select-trigger:focus-visible{outline:0;border-color:var(--theme-input-focus,var(--theme-primary));box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 16%,transparent)}.dashboard-page .crm-universal-select-trigger:disabled{opacity:.5;cursor:not-allowed}.dashboard-page .crm-universal-select-menu{position:absolute;z-index:3300;top:calc(100% + 6px);left:0;display:none;width:max(100%,220px);max-width:min(420px,calc(100vw - 16px));max-height:min(320px,48dvh);padding:6px;border:1px solid var(--theme-border,var(--dash-line));border-radius:10px;background:var(--theme-dropdown-background,var(--theme-surface));box-shadow:0 18px 48px color-mix(in srgb,var(--theme-shadow,#000) 45%,transparent);overflow:auto}.dashboard-page .crm-universal-select.is-open .crm-universal-select-menu{display:grid;gap:3px}.dashboard-page .crm-universal-select-option{width:100%;min-height:42px;padding:7px 9px;border:1px solid transparent;border-radius:7px;color:var(--theme-dropdown-text,var(--theme-text));background:transparent;display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:8px;text-align:left;font:inherit;cursor:pointer}.dashboard-page .crm-universal-select-option>span{min-width:0;white-space:normal;line-height:1.3}.dashboard-page .crm-universal-select-option>i{opacity:0;color:var(--theme-primary)}.dashboard-page .crm-universal-select-option:hover,.dashboard-page .crm-universal-select-option:focus-visible{outline:0;border-color:var(--theme-border);background:var(--theme-dropdown-hover,var(--theme-hover))}.dashboard-page .crm-universal-select-option.is-selected{background:color-mix(in srgb,var(--theme-primary) 12%,var(--theme-dropdown-background,var(--theme-surface)))}.dashboard-page .crm-universal-select-option.is-selected>i{opacity:1}.dashboard-page .crm-universal-select-option:disabled{opacity:.42;cursor:not-allowed}
.dashboard-page input[type=number]{appearance:textfield;-moz-appearance:textfield}.dashboard-page input[type=number]::-webkit-inner-spin-button,.dashboard-page input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.dashboard-page input:is([type=checkbox],[type=radio]){position:relative;width:20px!important;height:20px!important;min-width:20px;margin:0;appearance:none;-webkit-appearance:none;border:1px solid var(--theme-border,var(--dash-line))!important;background:var(--theme-input,var(--theme-surface-alt))!important;display:inline-grid;place-items:center;cursor:pointer}.dashboard-page input[type=checkbox]{border-radius:6px!important}.dashboard-page input[type=radio]{border-radius:50%!important}.dashboard-page input:is([type=checkbox],[type=radio])::after{content:"";width:10px;height:10px;transform:scale(0);transition:transform .12s ease;background:var(--theme-primary)}.dashboard-page input[type=checkbox]::after{clip-path:polygon(14% 44%,0 59%,39% 100%,100% 20%,84% 6%,38% 70%);background:var(--theme-primary-text,#fff)}.dashboard-page input[type=radio]::after{border-radius:50%}.dashboard-page input:is([type=checkbox],[type=radio]):checked{border-color:var(--theme-primary)!important;background:var(--theme-primary)!important}.dashboard-page input:is([type=checkbox],[type=radio]):checked::after{transform:scale(1)}.dashboard-page input:is([type=checkbox],[type=radio]):focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 18%,transparent)}
@media(max-width:760px){.dashboard-page .crm-universal-select-menu{position:fixed;z-index:4200;top:auto;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;width:auto;max-width:none;max-height:min(56dvh,440px);border-radius:14px}.dashboard-page .crm-universal-select-trigger{min-height:44px}.dashboard-page .crm-universal-select-option{min-height:46px}}
.dashboard-page .crm-native-picker{position:relative;width:100%;min-width:0}.dashboard-page .crm-native-picker-toggle{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--theme-border,var(--dash-line));border-radius:9px;color:var(--theme-input-text,var(--theme-text));background:var(--theme-input,var(--theme-surface-alt));display:grid;grid-template-columns:18px minmax(0,1fr) 12px;align-items:center;gap:9px;text-align:left;font:inherit;font-weight:750;cursor:pointer}.dashboard-page .crm-native-picker-toggle>i{color:var(--theme-muted)}.dashboard-page .crm-native-picker-toggle>i:last-child{font-size:10px;transition:transform .16s ease}.dashboard-page .crm-native-picker.is-open .crm-native-picker-toggle>i:last-child{transform:rotate(180deg)}.dashboard-page .crm-native-picker-toggle:focus-visible{outline:0;border-color:var(--theme-input-focus,var(--theme-primary));box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 16%,transparent)}.dashboard-page .crm-native-picker-popover{position:absolute;z-index:3400;top:calc(100% + 6px);right:0;display:none;width:300px;max-width:calc(100vw - 16px);padding:10px;border:1px solid var(--theme-border,var(--dash-line));border-radius:12px;color:var(--theme-calendar-day,var(--theme-text));background:var(--theme-calendar-background,var(--theme-surface));box-shadow:0 20px 55px color-mix(in srgb,var(--theme-shadow,#000) 48%,transparent)}.dashboard-page .crm-native-picker.is-open .crm-native-picker-popover{display:block}.dashboard-page .crm-native-picker-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:9px}.dashboard-page .crm-native-picker-head strong{text-align:center}.dashboard-page .crm-native-picker-head button,.dashboard-page .crm-native-month-grid button,.dashboard-page .crm-native-time-grid button,.dashboard-page .crm-native-time-done{min-height:38px;border:1px solid transparent;border-radius:8px;color:inherit;background:transparent;font:inherit;font-weight:800;cursor:pointer}.dashboard-page .crm-native-picker-head button{border-color:var(--theme-border);background:var(--theme-secondary-button)}.dashboard-page .crm-native-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.dashboard-page .crm-native-month-grid button:hover,.dashboard-page .crm-native-time-grid button:hover{border-color:var(--theme-border);background:var(--theme-calendar-hover,var(--theme-hover))}.dashboard-page .crm-native-month-grid button.is-selected,.dashboard-page .crm-native-time-grid button.is-selected{color:var(--theme-primary-text);background:var(--theme-calendar-selected,var(--theme-primary))}.dashboard-page .crm-native-month-grid button:disabled{opacity:.35;cursor:not-allowed}.dashboard-page .crm-native-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dashboard-page .crm-native-time-grid section{min-width:0}.dashboard-page .crm-native-time-grid section>strong{display:block;margin:2px 0 7px;color:var(--theme-muted);font-size:9px;text-align:center}.dashboard-page .crm-native-time-grid section>div{max-height:220px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;overflow-y:auto}.dashboard-page .crm-native-time-done{width:100%;margin-top:8px;color:var(--theme-primary-text);background:var(--theme-primary)}
@media(max-width:760px){.dashboard-page .crm-native-picker-popover{position:fixed;z-index:4300;top:auto;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;width:auto;max-width:none;max-height:min(62dvh,520px);overflow:auto;border-radius:14px}.dashboard-page .crm-native-picker-toggle{min-height:44px}.dashboard-page .crm-native-month-grid button,.dashboard-page .crm-native-time-grid button{min-height:44px}}
.dashboard-page .crm-native-color-backing{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;opacity:0!important;pointer-events:none!important}.dashboard-page .crm-color-control{position:relative;width:100%;min-width:0}.dashboard-page .crm-color-toggle{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--theme-border,var(--dash-line));border-radius:9px;color:var(--theme-input-text,var(--theme-text));background:var(--theme-input,var(--theme-surface-alt));display:grid;grid-template-columns:26px minmax(0,1fr) 12px;align-items:center;gap:9px;text-align:left;font:inherit;font-weight:800;cursor:pointer}.dashboard-page .crm-color-toggle>i:first-child{width:26px;height:26px;border:2px solid color-mix(in srgb,var(--theme-text) 24%,transparent);border-radius:7px}.dashboard-page .crm-color-toggle>i:last-child{color:var(--theme-muted);font-size:10px}.dashboard-page .crm-color-toggle:focus-visible{outline:0;border-color:var(--theme-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 16%,transparent)}.dashboard-page .crm-color-popover{position:absolute;z-index:3500;top:calc(100% + 6px);left:0;display:none;width:270px;max-width:calc(100vw - 16px);padding:10px;border:1px solid var(--theme-border,var(--dash-line));border-radius:12px;background:var(--theme-dropdown-background,var(--theme-surface));box-shadow:0 20px 55px color-mix(in srgb,var(--theme-shadow,#000) 48%,transparent)}.dashboard-page .crm-color-control.is-open .crm-color-popover{display:grid;gap:9px}.dashboard-page .crm-color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.dashboard-page .crm-color-grid button{aspect-ratio:1;border:2px solid transparent;border-radius:8px;background:var(--control-color);cursor:pointer}.dashboard-page .crm-color-grid button:hover,.dashboard-page .crm-color-grid button:focus-visible,.dashboard-page .crm-color-grid button.is-selected{outline:0;border-color:var(--theme-text);box-shadow:0 0 0 2px var(--theme-surface)}.dashboard-page .crm-color-popover>label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:var(--theme-muted);font-size:9px;font-weight:900}.dashboard-page .crm-color-popover input{width:100%;min-height:40px;border:1px solid var(--theme-border);border-radius:8px;padding:0 9px;color:var(--theme-input-text);background:var(--theme-input);font:inherit;text-transform:uppercase}.dashboard-page .crm-color-apply{min-height:40px;border:0;border-radius:8px;color:var(--theme-primary-text);background:var(--theme-primary);font:inherit;font-weight:900;cursor:pointer}.dashboard-page input[type=file]::file-selector-button{min-height:38px;margin:0 10px 0 0;border:1px solid var(--theme-border,var(--dash-line));border-radius:8px;padding:0 11px;color:var(--theme-secondary-button-text,var(--theme-text));background:var(--theme-secondary-button,var(--theme-surface-alt));font:inherit;font-weight:850;cursor:pointer}
@media(max-width:760px){.dashboard-page .crm-color-popover{position:fixed;z-index:4400;top:auto;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;width:auto;max-width:none;border-radius:14px}.dashboard-page .crm-color-toggle{min-height:44px}.dashboard-page .crm-color-grid button{min-height:42px}}

/* Parking map is the third mode in the chart segmented control. */
.dashboard-page .view-switch .parking-scheme-toggle{white-space:nowrap}.dashboard-page .view-switch .parking-scheme-toggle[aria-expanded="true"]{border-color:var(--theme-primary)!important;color:var(--theme-primary-text)!important;background:var(--theme-primary)!important;box-shadow:none!important}
.dashboard-page .chart-rows-toggle{min-height:32px;border:1px solid var(--dash-line);border-radius:9px;padding:0 12px;color:var(--theme-muted);background:var(--theme-secondary-button);font:inherit;font-size:11px;font-weight:850;cursor:pointer}.dashboard-page .chart-rows-toggle.is-active{border-color:var(--theme-primary);color:var(--theme-primary-text);background:var(--theme-primary)}.dashboard-page .chart-parking-rows{display:none;height:420px;padding:12px;overflow:auto}.dashboard-page .hour-chart-wrap.is-rows-view>.hour-chart,.dashboard-page .hour-chart-wrap.is-rows-view>.line-chart{display:none}.dashboard-page .hour-chart-wrap.is-rows-view>.chart-parking-rows{display:block}.dashboard-page .chart-parking-rows .parking-row-columns{display:grid;grid-template-columns:1fr;gap:6px}.dashboard-page .chart-parking-rows .parking-row-columns article{min-height:64px;padding:9px 12px;grid-template-columns:minmax(130px,1.1fr) minmax(130px,1.5fr) minmax(220px,1.4fr) minmax(190px,1fr);align-items:center;gap:14px;border-radius:9px}.dashboard-page .chart-parking-rows .parking-row-columns article>header{min-width:0;justify-content:flex-start}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .chart-parking-rows .parking-row-columns article>header b{margin-left:auto}.dashboard-page .chart-parking-rows .parking-row-bar{min-width:120px}.dashboard-page .chart-parking-rows .parking-row-numbers{justify-content:space-around}.dashboard-page .chart-parking-rows .parking-row-numbers span{display:flex;align-items:baseline;gap:4px;white-space:nowrap}.dashboard-page .chart-parking-rows .parking-row-numbers b{font-size:17px}.dashboard-page .chart-parking-rows .parking-row-columns footer{min-width:0;border-top:0;padding-top:0}.dashboard-page .chart-parking-rows .parking-row-columns footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .chart-parking-rows .parking-row-columns footer strong{white-space:nowrap}@media(max-width:900px){.dashboard-page .chart-parking-rows .parking-row-columns article{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(210px,1.5fr)}.dashboard-page .chart-parking-rows .parking-row-columns footer{grid-column:1/-1;border-top:1px solid var(--dash-line);padding-top:7px}}@media(max-width:760px){.dashboard-page .chart-rows-toggle{min-height:44px}.dashboard-page .chart-parking-rows{height:420px;padding:8px}.dashboard-page .chart-parking-rows .parking-row-columns article{grid-template-columns:minmax(0,1fr) auto;gap:9px}.dashboard-page .chart-parking-rows .parking-row-columns article>header{grid-column:1/-1}.dashboard-page .chart-parking-rows .parking-row-bar{grid-column:1/-1}.dashboard-page .chart-parking-rows .parking-row-numbers{grid-column:1/-1;justify-content:space-between}.dashboard-page .chart-parking-rows .parking-row-columns footer{grid-column:1/-1}}
.dashboard-page .parking-scheme-modal.is-inline{position:static;inset:auto;z-index:auto;width:100%;margin:14px 0 0;padding:0;background:transparent;backdrop-filter:none;display:none;place-items:initial}.dashboard-page .parking-scheme-modal.is-inline.is-open{display:block}.dashboard-page .parking-scheme-modal.is-inline .parking-scheme-dialog{width:100%;height:auto;min-height:0;border-radius:14px;transform:none!important}.dashboard-page .parking-scheme-modal.is-inline .parking-scheme-dialog>header{cursor:default}.dashboard-page .parking-scheme-modal.is-inline .parking-scheme-close{display:none}.dashboard-page .parking-scheme-modal.is-inline .parking-scheme-view{max-height:min(720px,75dvh)}.dashboard-page .parking-scheme-modal.is-inline .scheme-native-map{overflow:auto}.dashboard-page .parking-scheme-modal.is-inline .parking-canvas{height:620px}.dashboard-page:has(.parking-scheme-modal.is-inline.is-open).is-modal-open{overflow:auto}
@media(max-width:760px){.dashboard-page .parking-scheme-modal.is-inline{margin-top:10px}.dashboard-page .parking-scheme-modal.is-inline .parking-scheme-dialog>header{grid-template-columns:1fr;padding:12px}.dashboard-page .parking-scheme-modal.is-inline .parking-scheme-tabs{grid-column:1;grid-row:auto;width:100%}.dashboard-page .parking-scheme-modal.is-inline .parking-scheme-view{max-height:68dvh;padding:8px}.dashboard-page .parking-scheme-modal.is-inline .parking-canvas{height:560px}}
.dashboard-page .parking-scheme-inline-panel{width:100%;margin:14px 0 0}.dashboard-page .parking-scheme-inline-panel[hidden]{display:none!important}.dashboard-page .parking-scheme-inline-panel .parking-scheme-dialog{width:100%;height:auto;min-height:0;border-radius:14px;transform:none!important}.dashboard-page .parking-scheme-inline-panel .parking-scheme-dialog>header{grid-template-columns:minmax(0,1fr) auto;cursor:default}.dashboard-page .parking-scheme-inline-panel .parking-scheme-view{max-height:min(720px,75dvh)}.dashboard-page .parking-scheme-inline-panel .scheme-native-map{overflow:auto}.dashboard-page .parking-scheme-inline-panel .parking-canvas{height:620px}
@media(max-width:760px){.dashboard-page .parking-scheme-inline-panel{margin-top:10px}.dashboard-page .parking-scheme-inline-panel .parking-scheme-dialog>header{grid-template-columns:1fr;padding:12px}.dashboard-page .parking-scheme-inline-panel .parking-scheme-tabs{width:100%}.dashboard-page .parking-scheme-inline-panel .parking-scheme-view{max-height:68dvh;padding:8px}.dashboard-page .parking-scheme-inline-panel .parking-canvas{height:560px}}

/* Parking rows are vertical lanes inside the chart viewport. */
.dashboard-page .chart-parking-rows{overflow-x:auto;overflow-y:hidden}.dashboard-page .chart-parking-rows .parking-row-columns{height:100%;display:grid;grid-auto-flow:column;grid-auto-columns:156px;grid-template-columns:none;align-items:stretch;gap:8px}.dashboard-page .chart-parking-rows .parking-row-columns article{min-width:0;min-height:0;height:100%;padding:12px 10px;display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(120px,1fr) auto auto;justify-items:stretch;gap:10px;text-align:center}.dashboard-page .chart-parking-rows .parking-row-columns article>header{min-width:0;display:grid;justify-items:center;gap:5px}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{width:100%}.dashboard-page .chart-parking-rows .parking-row-columns article>header b{margin:0}.dashboard-page .chart-parking-rows .parking-row-bar{align-self:center;justify-self:center;width:190px;min-width:190px;height:10px;transform:rotate(-90deg);border-radius:999px}.dashboard-page .chart-parking-rows .parking-row-numbers{display:grid;grid-template-columns:1fr;justify-items:center;gap:4px}.dashboard-page .chart-parking-rows .parking-row-numbers span{display:flex;justify-content:center}.dashboard-page .chart-parking-rows .parking-row-columns footer{grid-column:auto;min-width:0;border-top:1px solid var(--dash-line);padding-top:8px;display:grid;justify-items:center;gap:4px}.dashboard-page .chart-parking-rows .parking-row-columns footer span,.dashboard-page .chart-parking-rows .parking-row-columns footer strong{max-width:100%}@media(max-width:760px){.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:142px}.dashboard-page .chart-parking-rows .parking-row-columns article{grid-template-columns:1fr;grid-template-rows:auto minmax(115px,1fr) auto auto}.dashboard-page .chart-parking-rows .parking-row-columns article>header,.dashboard-page .chart-parking-rows .parking-row-bar,.dashboard-page .chart-parking-rows .parking-row-numbers,.dashboard-page .chart-parking-rows .parking-row-columns footer{grid-column:auto}.dashboard-page .chart-parking-rows .parking-row-bar{width:175px;min-width:175px}.dashboard-page .chart-parking-rows .parking-row-numbers{justify-content:initial}}

/* Maximum-density vertical row mode. */
.dashboard-page .chart-parking-rows{padding:5px}.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:104px;gap:4px}.dashboard-page .chart-parking-rows .parking-row-columns article{padding:7px 5px;grid-template-rows:auto minmax(90px,1fr) auto auto;gap:5px;border-radius:6px}.dashboard-page .chart-parking-rows .parking-row-columns article>header{gap:2px}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{font-size:10px}.dashboard-page .chart-parking-rows .parking-row-columns article>header b{font-size:10px}.dashboard-page .chart-parking-rows .parking-row-bar{width:150px;min-width:150px;height:6px}.dashboard-page .chart-parking-rows .parking-row-numbers{gap:1px}.dashboard-page .chart-parking-rows .parking-row-numbers span{gap:2px;font-size:7px}.dashboard-page .chart-parking-rows .parking-row-numbers b{font-size:11px}.dashboard-page .chart-parking-rows .parking-row-columns footer{padding-top:4px;gap:2px;font-size:7px}.dashboard-page .chart-parking-rows .parking-row-columns footer span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .chart-parking-rows .parking-row-columns footer strong{font-size:8px}@media(max-width:760px){.dashboard-page .chart-parking-rows{padding:4px}.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:96px;gap:3px}.dashboard-page .chart-parking-rows .parking-row-columns article{padding:6px 4px}.dashboard-page .chart-parking-rows .parking-row-bar{width:140px;min-width:140px}}

/* Real parking rows as a compact column chart. */
.dashboard-page .chart-parking-rows{padding:12px 8px 6px;background-image:linear-gradient(to top,rgba(207,211,216,.09) 1px,transparent 1px);background-size:100% 25%;background-position:left bottom}.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:76px;gap:6px;align-items:end}.dashboard-page .chart-parking-rows .parking-row-columns article{height:390px;padding:0 3px;border:0;border-radius:0;background:transparent;box-shadow:none;grid-template-rows:22px minmax(210px,1fr) 54px 38px;gap:3px;overflow:visible}.dashboard-page .chart-parking-rows .parking-row-columns article>header{grid-row:1;display:block;position:relative}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{position:absolute;top:302px;left:50%;width:72px;transform:translateX(-50%);font-size:9px;text-align:center}.dashboard-page .chart-parking-rows .parking-row-columns article>header b{display:block;color:var(--row-color);font-size:11px}.dashboard-page .chart-parking-rows .parking-row-bar{grid-row:2;align-self:end;justify-self:center;width:220px;min-width:220px;height:20px;border-radius:5px;transform:rotate(-90deg);background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.dashboard-page .chart-parking-rows .parking-row-bar i{border-radius:5px;background:var(--row-color);box-shadow:0 0 14px color-mix(in srgb,var(--row-color) 22%,transparent)}.dashboard-page .chart-parking-rows .parking-row-numbers{grid-row:3;align-self:end;display:grid;grid-template-columns:1fr 1fr;gap:2px}.dashboard-page .chart-parking-rows .parking-row-numbers span{display:grid;gap:1px;font-size:6px;line-height:1.1}.dashboard-page .chart-parking-rows .parking-row-numbers span:last-child{grid-column:1/-1}.dashboard-page .chart-parking-rows .parking-row-numbers b{font-size:10px}.dashboard-page .chart-parking-rows .parking-row-columns footer{grid-row:4;padding:3px 0 0;border-top:1px solid var(--dash-line);font-size:6px}.dashboard-page .chart-parking-rows .parking-row-columns footer strong{font-size:7px}@media(max-width:760px){.dashboard-page .chart-parking-rows{padding-inline:5px}.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:68px;gap:4px}.dashboard-page .chart-parking-rows .parking-row-columns article{height:390px;padding-inline:2px}.dashboard-page .chart-parking-rows .parking-row-bar{width:210px;min-width:210px;height:17px}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{width:64px}}

/* Keep every chart label on its own readable level. */
.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:92px;gap:7px}.dashboard-page .chart-parking-rows .parking-row-columns article{position:relative;padding-inline:5px;grid-template-rows:20px minmax(220px,1fr) 38px 28px;gap:3px}.dashboard-page .chart-parking-rows .parking-row-columns article>header{position:static}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{top:auto;bottom:31px;width:82px;font-size:8px;font-weight:900}.dashboard-page .chart-parking-rows .parking-row-columns article>header b{font-size:10px}.dashboard-page .chart-parking-rows .parking-row-bar{width:218px;min-width:218px;height:18px}.dashboard-page .chart-parking-rows .parking-row-numbers{grid-template-columns:repeat(3,1fr);gap:2px}.dashboard-page .chart-parking-rows .parking-row-numbers span,.dashboard-page .chart-parking-rows .parking-row-numbers span:last-child{grid-column:auto;display:grid;justify-items:center;font-size:0}.dashboard-page .chart-parking-rows .parking-row-numbers b{font-size:10px}.dashboard-page .chart-parking-rows .parking-row-numbers span::after{color:var(--dash-muted);font-size:6px}.dashboard-page .chart-parking-rows .parking-row-numbers span:nth-child(1)::after{content:'зан.'}.dashboard-page .chart-parking-rows .parking-row-numbers span:nth-child(2)::after{content:'св.'}.dashboard-page .chart-parking-rows .parking-row-numbers span:nth-child(3)::after{content:'всего'}.dashboard-page .chart-parking-rows .parking-row-columns footer{padding-top:2px;overflow:hidden}.dashboard-page .chart-parking-rows .parking-row-columns footer span{display:none}.dashboard-page .chart-parking-rows .parking-row-columns footer strong{font-size:7px;white-space:nowrap}@media(max-width:760px){.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:86px;gap:5px}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{width:76px}}

/* Minimal chart axis labels: occupied/free and row name only. */
.dashboard-page .chart-parking-rows .parking-row-columns article{grid-template-rows:20px minmax(235px,1fr) 34px 18px}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{bottom:0}.dashboard-page .chart-parking-rows .parking-row-numbers{grid-template-columns:1fr 1fr}.dashboard-page .chart-parking-rows .parking-row-numbers span:nth-child(3){display:none}.dashboard-page .chart-parking-rows .parking-row-columns footer{display:none}

/* Remove secondary text from the compact chart. */
.dashboard-page .chart-parking-rows .parking-row-numbers span::after{display:none}.dashboard-page .chart-parking-rows .parking-row-numbers{align-items:center}.dashboard-page .chart-parking-rows .parking-row-numbers b{font-size:11px}

/* Text-free dense column chart. */
.dashboard-page .chart-parking-rows{padding:8px 6px}.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:22px;gap:2px;align-items:end}.dashboard-page .chart-parking-rows .parking-row-columns article{height:404px;padding:0;display:grid;grid-template:1fr/1fr;place-items:end center;gap:0}.dashboard-page .chart-parking-rows .parking-row-columns article>header,.dashboard-page .chart-parking-rows .parking-row-numbers,.dashboard-page .chart-parking-rows .parking-row-columns footer{display:none}.dashboard-page .chart-parking-rows .parking-row-bar{grid-row:auto;align-self:end;width:386px;min-width:386px;height:18px;margin-bottom:193px;border-radius:3px}.dashboard-page .chart-parking-rows .parking-row-bar i{border-radius:3px}@media(max-width:760px){.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-columns:20px;gap:2px}.dashboard-page .chart-parking-rows .parking-row-bar{width:380px;min-width:380px;height:16px;margin-bottom:190px}}

/* Fit all columns without scrolling; center occupied/free values. */
.dashboard-page .chart-parking-rows{overflow:hidden}.dashboard-page .chart-parking-rows .parking-row-columns{width:100%;display:flex;align-items:flex-end;gap:2px}.dashboard-page .chart-parking-rows .parking-row-columns article{container-type:inline-size;position:relative;flex:1 1 0;min-width:0}.dashboard-page .chart-parking-rows .parking-row-bar{height:max(3px,calc(100cqi - 2px))}.dashboard-page .chart-parking-rows .parking-row-numbers{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;gap:1px;color:#fff;pointer-events:none;text-shadow:0 1px 3px #000}.dashboard-page .chart-parking-rows .parking-row-numbers span{display:block!important;font-size:0}.dashboard-page .chart-parking-rows .parking-row-numbers span:nth-child(3){display:none!important}.dashboard-page .chart-parking-rows .parking-row-numbers b{font-size:clamp(5px,60cqi,9px);line-height:1}.dashboard-page .chart-parking-rows .parking-row-numbers span::after{display:none!important}.dashboard-page .chart-parking-rows .parking-row-numbers span:first-child::after{content:'/';display:inline!important;margin-left:1px;color:rgba(255,255,255,.72);font-size:clamp(5px,50cqi,8px)}@media(max-width:760px){.dashboard-page .chart-parking-rows .parking-row-columns{gap:1px}}

/* Show only the row identity below each column. */
.dashboard-page .chart-parking-rows .parking-row-columns article>header{position:absolute;z-index:4;right:0;bottom:2px;left:0;display:block!important;pointer-events:none}.dashboard-page .chart-parking-rows .parking-row-columns article>header b{display:none}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{position:static;display:block;width:100%;overflow:hidden;color:var(--theme-text);font-size:clamp(5px,45cqi,8px);font-weight:850;line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:nowrap;transform:none;text-shadow:0 1px 3px #000}

/* Center rotated bars inside their own flex cells without layout displacement. */
.dashboard-page .chart-parking-rows .parking-row-bar{position:absolute;left:50%;top:50%;width:370px;min-width:370px;margin:0;transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center}.dashboard-page .chart-parking-rows .parking-row-columns article:first-child{margin-left:0}@media(max-width:760px){.dashboard-page .chart-parking-rows .parking-row-bar{width:370px;min-width:370px;margin:0}}

/* Readable row names at high column density. */
.dashboard-page .chart-parking-rows .parking-row-bar{top:44%;width:320px;min-width:320px}.dashboard-page .chart-parking-rows .parking-row-columns article>header{bottom:24px;overflow:visible}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{position:absolute;left:50%;bottom:0;width:54px;overflow:visible;color:var(--theme-text);font-size:9px;line-height:1;white-space:nowrap;text-overflow:clip;transform:translateX(-50%) rotate(-90deg);transform-origin:center;text-shadow:0 1px 4px #000,0 0 2px #000}@media(max-width:760px){.dashboard-page .chart-parking-rows .parking-row-bar{top:44%;width:315px;min-width:315px}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{font-size:8px}}

/* Wrap parking bars into rows of fifteen. */
.dashboard-page .chart-parking-rows{padding:6px;overflow:hidden}.dashboard-page .chart-parking-rows .parking-row-columns{width:100%;height:100%;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-auto-rows:minmax(92px,1fr);align-items:stretch;gap:4px 5px}.dashboard-page .chart-parking-rows .parking-row-columns article{width:auto;height:auto;min-height:0;display:block;border:1px solid rgba(255,255,255,.055);border-radius:5px;background:rgba(255,255,255,.015)}.dashboard-page .chart-parking-rows .parking-row-bar{left:50%;top:40%;width:58px;min-width:58px;height:max(6px,calc(100cqi - 8px));margin:0;transform:translate(-50%,-50%) rotate(-90deg)}.dashboard-page .chart-parking-rows .parking-row-numbers{top:0;right:0;bottom:22px;left:0}.dashboard-page .chart-parking-rows .parking-row-numbers b{font-size:clamp(7px,14cqi,10px)}.dashboard-page .chart-parking-rows .parking-row-numbers span:first-child::after{font-size:clamp(6px,11cqi,9px)}.dashboard-page .chart-parking-rows .parking-row-columns article>header{right:3px;bottom:4px;left:3px;height:16px}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{position:static;width:100%;overflow:hidden;font-size:clamp(7px,13cqi,10px);line-height:16px;text-overflow:ellipsis;white-space:nowrap;transform:none;text-shadow:0 1px 3px #000}@media(max-width:760px){.dashboard-page .chart-parking-rows{padding:4px}.dashboard-page .chart-parking-rows .parking-row-columns{grid-template-columns:repeat(15,minmax(0,1fr));gap:3px 2px}.dashboard-page .chart-parking-rows .parking-row-bar{top:39%;width:54px;min-width:54px;height:max(3px,calc(100cqi - 3px))}.dashboard-page .chart-parking-rows .parking-row-columns article>header{right:1px;left:1px}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{font-size:clamp(5px,22cqi,8px)}}

.dashboard-page .chart-parking-rows .parking-row-columns{grid-auto-flow:row;grid-auto-columns:auto}

/* Exact label placement: row name below, occupied/free in the bar center. */
.dashboard-page .chart-parking-rows .parking-row-columns article>header{position:absolute;right:2px;bottom:3px;left:2px;height:18px;display:block!important}.dashboard-page .chart-parking-rows .parking-row-columns article>header span{display:block;width:100%;height:18px;overflow:hidden;font-size:9px;line-height:18px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .chart-parking-rows .parking-row-numbers{position:absolute;z-index:5;top:0;right:0;bottom:24px;left:0;display:flex;align-items:center;justify-content:center;gap:1px;width:auto;height:auto;margin:0;padding:0;text-align:center}.dashboard-page .chart-parking-rows .parking-row-numbers span{display:inline-flex!important;align-items:center;justify-content:center;margin:0;padding:0}.dashboard-page .chart-parking-rows .parking-row-numbers b{display:inline-block;font-size:10px;line-height:1;text-align:center}.dashboard-page .chart-parking-rows .parking-row-numbers span:first-child::after{display:inline-block!important;margin:0 1px;line-height:1}@media(max-width:760px){.dashboard-page .chart-parking-rows .parking-row-columns article>header span{font-size:7px}.dashboard-page .chart-parking-rows .parking-row-numbers b{font-size:8px}}

.dashboard-page .session-flight-search-empty{min-height:70px;padding:18px;color:var(--theme-muted);display:grid;place-items:center;text-align:center;font-size:11px}
.dashboard-page .session-extra-modal{z-index:2600}
.dashboard-page .session-extras-picker{border-radius:11px}.dashboard-page .session-extras-heading{min-height:50px;padding:6px 8px;gap:8px}.dashboard-page .session-extras-title{grid-template-columns:30px minmax(0,1fr) auto;gap:7px}.dashboard-page .session-extras-title>span{width:30px;height:30px;border-radius:8px;font-size:11px}.dashboard-page .session-extras-title strong{font-size:11px}.dashboard-page .session-extras-title>b{min-width:22px;height:22px;padding:0 5px;font-size:9px}.dashboard-page .session-extras-heading>button{min-height:34px;border-radius:8px;padding:0 10px;gap:6px;font-size:10px}.dashboard-page .session-extras-list{padding:5px 8px}.dashboard-page .session-extras-list>p{min-height:25px;gap:7px}.dashboard-page .session-extras-list>p>i{width:22px;height:22px;border-radius:6px;font-size:9px}.dashboard-page .session-extras-list>p strong{font-size:9px}@media(max-width:620px){.dashboard-page .session-extras-heading{align-items:center;flex-direction:row}.dashboard-page .session-extras-heading>button{width:auto}.dashboard-page .session-extras-title{grid-template-columns:30px minmax(0,1fr) auto}}
.dashboard-page .session-extras-picker{border:1px solid var(--theme-border);border-radius:14px;padding:0;background:var(--theme-surface-alt);overflow:hidden;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--theme-text) 4%,transparent)}.dashboard-page .session-extras-heading{min-height:68px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-page .session-extras-title{min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px}.dashboard-page .session-extras-title>span{width:40px;height:40px;border-radius:11px;color:var(--theme-primary);background:color-mix(in srgb,var(--theme-primary) 10%,var(--theme-secondary-button));display:grid;place-items:center}.dashboard-page .session-extras-title>div{min-width:0;display:grid;gap:3px}.dashboard-page .session-extras-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-text);font-size:13px}.dashboard-page .session-extras-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-muted);font-size:9px}.dashboard-page .session-extras-title>b{min-width:26px;height:26px;border:1px solid var(--theme-border);border-radius:999px;padding:0 7px;color:var(--theme-text);background:var(--theme-secondary-button);display:grid;place-items:center;font-size:11px}.dashboard-page .session-extras-heading>button{min-height:42px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--theme-primary) 55%,var(--theme-border));border-radius:10px;padding:0 14px;color:var(--theme-primary-text);background:var(--theme-primary);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:850}.dashboard-page .session-extras-heading>button:hover{filter:brightness(1.06)}.dashboard-page .session-extras-heading>button:focus-visible{outline:2px solid var(--theme-input-focus);outline-offset:2px}.dashboard-page .session-extras-list{border-top:1px solid var(--theme-border);padding:9px 12px;display:grid;gap:8px;background:color-mix(in srgb,var(--theme-input) 45%,transparent)}.dashboard-page .session-extras-list>p{min-height:36px;margin:0;color:var(--theme-muted);display:flex;align-items:center;gap:10px}.dashboard-page .session-extras-list>p>i{width:28px;height:28px;border-radius:8px;color:var(--theme-muted);background:var(--theme-secondary-button);display:grid;place-items:center}.dashboard-page .session-extras-list>p>span{display:grid;gap:2px}.dashboard-page .session-extras-list>p strong{color:var(--theme-secondary-button-text);font-size:10px}.dashboard-page .session-extras-list>p small{color:var(--theme-muted);font-size:8px}@media(max-width:620px){.dashboard-page .session-extras-heading{align-items:stretch;flex-direction:column}.dashboard-page .session-extras-heading>button{width:100%}.dashboard-page .session-extras-title{grid-template-columns:40px minmax(0,1fr) auto}}

.dashboard-page .session-extra-native-select[hidden]{display:none!important}.dashboard-page .session-extra-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-page .session-extra-choices:empty::after{content:'Нет доступных услуг';grid-column:1/-1;min-height:90px;border:1px dashed var(--theme-border);border-radius:10px;color:var(--theme-muted);display:grid;place-items:center}.dashboard-page .session-extra-choices button{min-width:0;min-height:68px;border:1px solid var(--theme-border);border-radius:11px;padding:10px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 9px;color:var(--theme-text);background:var(--theme-secondary-button);text-align:left;cursor:pointer}.dashboard-page .session-extra-choices button>span{grid-row:1/3;width:34px;height:34px;border-radius:8px;color:var(--theme-muted);background:var(--theme-input);display:grid;place-items:center}.dashboard-page .session-extra-choices button strong,.dashboard-page .session-extra-choices button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .session-extra-choices button small{color:var(--theme-muted)}.dashboard-page .session-extra-choices button:hover,.dashboard-page .session-extra-choices button.is-selected{border-color:var(--theme-input-focus);background:color-mix(in srgb,var(--theme-primary) 10%,var(--theme-secondary-button))}.dashboard-page .session-extra-choices button.is-selected>span{color:var(--theme-primary-text);background:var(--theme-primary)}@media(max-width:620px){.dashboard-page .session-extra-choices{grid-template-columns:1fr}}

/* Stable geometry for the create-client dialog. */
.clients-page #clientCreateModal {
    padding: 16px;
    align-items: center;
    justify-content: center;
}

.clients-page #clientCreateModal .client-modal-dialog {
    width: min(640px, calc(100vw - 32px));
    height: auto;
    max-height: calc(100dvh - 32px);
    margin: 0;
    border-radius: 14px;
    overflow: hidden;
}

.clients-page #clientCreateModal .client-modal-head {
    min-height: 62px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--theme-border);
}

.clients-page #clientCreateModal .client-form {
    min-height: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.clients-page #clientCreateModal .client-form-tabs {
    width: auto;
    min-height: 42px;
    margin: 14px 20px 0;
    padding: 4px;
    flex: 0 0 auto;
}

.clients-page #clientCreateModal .client-form-tabs button {
    min-height: 34px;
    padding-inline: 14px;
}

.clients-page #clientCreateModal .client-form-panel {
    min-height: 0;
    margin: 0;
    padding: 16px 20px 20px;
    overflow-x: hidden;
    overflow-y: auto;
}

.clients-page #clientCreateModal .client-person-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 14px;
}

.clients-page #clientCreateModal :is(.client-full-name, .client-company-name, .client-comment-field) {
    grid-column: 1 / -1;
}

.clients-page #clientCreateModal .client-modal-actions {
    width: 100%;
    margin: 0;
    padding: 14px 20px 18px;
    border-top: 1px solid var(--theme-border);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.clients-page #clientCreateModal .client-save-button {
    width: 100%;
    min-height: 44px;
}

.clients-page #clientCreateModal .client-cancel-button {
    width: auto;
    min-width: 120px;
    min-height: 44px;
}

@media (max-width: 620px) {
    .clients-page #clientCreateModal {
        padding: 6px;
        align-items: flex-end;
    }

    .clients-page #clientCreateModal .client-modal-dialog {
        width: 100%;
        max-height: calc(100dvh - 12px);
        border-radius: 14px 14px 10px 10px;
    }

    .clients-page #clientCreateModal .client-modal-head,
    .clients-page #clientCreateModal .client-form-panel,
    .clients-page #clientCreateModal .client-modal-actions {
        padding-right: 16px;
        padding-left: 16px;
    }

    .clients-page #clientCreateModal .client-form-tabs {
        margin-right: 16px;
        margin-left: 16px;
    }

    .clients-page #clientCreateModal .client-person-fields,
    .clients-page #clientCreateModal .client-modal-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .clients-page #clientCreateModal .client-cancel-button {
        width: 100%;
    }
}

/* Responsive finance-category cards: action buttons always remain reachable. */
.finance-categories-page .fc-cards {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    align-items: start;
}

.finance-categories-page .fc-category {
    width: 100%;
    min-width: 0;
}

.finance-categories-page .fc-category-head {
    display: grid;
    grid-template-columns: 26px 37px minmax(0, 1fr) auto;
}

.finance-categories-page .fc-actions {
    min-width: max-content;
    flex: 0 0 auto;
}

.finance-categories-page .fc-icon-button {
    width: 34px;
    min-width: 34px;
    height: 34px;
    flex: 0 0 34px;
}

.finance-categories-page .fc-item {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 18px 14px minmax(0, 1fr) 34px 34px;
    gap: 7px;
}

.finance-categories-page .fc-item > span:not(.fc-drag-handle) {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
    line-height: 1.3;
}

@media (max-width: 760px) {
    .finance-categories-page .fc-cards {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 560px) {
    .finance-categories-page .fc-cards {
        padding: 8px;
        gap: 8px;
    }

    .finance-categories-page .fc-category-head {
        grid-template-columns: 22px 34px minmax(0, 1fr) auto;
        padding: 10px;
        gap: 7px;
    }

    .finance-categories-page .fc-items {
        padding-right: 8px;
        padding-left: 8px;
    }

    .finance-categories-page .fc-item {
        grid-template-columns: 18px 12px minmax(0, 1fr) 44px 44px;
        padding: 6px;
        gap: 5px;
    }

    .finance-categories-page .fc-item .fc-icon-button {
        width: 44px;
        min-width: 44px;
        height: 44px;
        flex-basis: 44px;
    }
}
