@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;600;700&display=swap");@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-yBxCyPWP.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff) format('woff');
}
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2') format('woff2'), url('/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff') format('woff');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}


@media print {
  /* Hide app chrome/toolbars when printing */
  .q-editor__toolbar {
    display: none !important;
  }
  /* Force page breaks where requested */
  .page-break {
    break-after: page;
    page-break-after: always;
    height: 0;
    overflow: hidden;
  }
  @page {
    margin: 12mm;
  }
}
body {
  font-family: "Comfortaa", sans-serif;
  background-color: var(--background-color);
  color: var(--text-color);
  transition: background-color 0.3s, color 0.3s;
}
button,
input,
textarea,
select,
.q-field,
.q-btn,
.q-table,
.q-card,
.q-item,
.q-menu,
.q-dialog,
.q-toolbar {
  font-family: "Comfortaa", sans-serif;
}
.q-icon,
.material-icons,
.material-icons-outlined,
.material-icons-round,
.material-icons-sharp,
.material-symbols-outlined {
  font-family: "Material Icons" !important;
}
:root {
  /* Light Theme Variables */
  --primary-green: #111111;
  --accent-red: #eb5757;
  --neutral-gray: #f4f4f5;
  --text-color: #000000;
  --text-secondary: #555555;
  --card-bg: rgba(255, 255, 255, 0.92);
  --card-border: rgba(0, 0, 0, 0.08);
  --shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
  --border-radius: 24px;
  --blur-bg: rgba(248, 248, 248, 0.6);
  --background-color: #fafafa;
  --surface-color: #f4f4f5;
  --surface-color-2: #e4e4e7;
  --border-color: rgba(0, 0, 0, 0.12);
  --input-bg: #ffffff;
  --table-header-bg: #f5f5f5;
  --table-row-hover: #f0f4f8;
  --table-border: rgba(0, 0, 0, 0.08);
  --sidebar-bg: #ffffff;
  --drawer-bg: #ffffff;
  --dialog-bg: #ffffff;
  --vengeance-bg: #f4f4f5;
  --vengeance-panel: rgba(255, 255, 255, 0.92);
  --vengeance-soft: #f4f4f5;
  --vengeance-ink: #09090b;
  --vengeance-muted: #71717a;
  --vengeance-line: rgba(0, 0, 0, 0.1);
  --chip-bg: #e0e0e0;
  --chip-text: #333333;
  --hover-overlay: rgba(0, 0, 0, 0.04);
  --active-overlay: rgba(0, 0, 0, 0.08);
  --scrollbar-thumb: rgba(0, 0, 0, 0.2);
  --scrollbar-track: rgba(0, 0, 0, 0.05);
  --dark-header-bg: #ffffff;
}
/* ─── Dark Theme ─── */
.body--dark {
  --primary-green: #ffffff;
  --accent-red: #ef5350;
  --neutral-gray: #333333;
  --text-color: #e8e6e3;
  --text-secondary: #aaaaaa;
  --card-bg: rgba(9, 9, 11, 0.92);
  --card-border: rgba(255, 255, 255, 0.1);
  --shadow: 0 8px 30px rgba(255, 255, 255, 0.02);
  --border-radius: 24px;
  --blur-bg: rgba(24, 26, 27, 0.6);
  --background-color: #050505;
  --surface-color: #09090b;
  --surface-color-2: #18181b;
  --border-color: rgba(255, 255, 255, 0.08);
  --input-bg: #2a2c2e;
  --table-header-bg: #1e2022;
  --table-row-hover: #2a2c2e;
  --table-border: rgba(255, 255, 255, 0.06);
  --sidebar-bg: #050505;
  --drawer-bg: #09090b;
  --dialog-bg: #09090b;
  --vengeance-bg: #050505;
  --vengeance-panel: rgba(9, 9, 11, 0.94);
  --vengeance-soft: #18181b;
  --vengeance-ink: #ffffff;
  --vengeance-muted: #a1a1aa;
  --vengeance-line: rgba(255, 255, 255, 0.1);
  --chip-bg: #3a3c3e;
  --chip-text: #e8e6e3;
  --hover-overlay: rgba(255, 255, 255, 0.05);
  --active-overlay: rgba(255, 255, 255, 0.1);
  --scrollbar-thumb: rgba(255, 255, 255, 0.2);
  --scrollbar-track: rgba(255, 255, 255, 0.04);
  --dark-header-bg: #1e2022;
}
/* ─── Global Scrollbar ─── */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}
*::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
*::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}
*::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 3px;
}
/* ─── Layout ─── */
.bg-grey-1 {
  background-color: var(--vengeance-bg) !important;
}
/* ─── Dark header background ─── */
.bg-dark-header {
  background-color: var(--dark-header-bg) !important;
}
/* ─── Cards ─── */
.q-card {
  background: var(--card-bg);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  padding: 0;
  color: var(--text-color);
  border: 1px solid var(--card-border);
  backdrop-filter: blur(18px);
}
/* ─── Buttons ─── */
.q-btn {
  border-radius: 16px;
  padding: 10px 18px;
  text-transform: none;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.q-btn--standard.q-btn--filled {
  background-color: var(--primary-green) !important;
  color: white !important;
}
.q-btn--standard.q-btn--outline {
  color: var(--primary-green) !important;
  border-color: var(--primary-green) !important;
}
.q-btn--primary {
  color: var(--primary-green) !important;
}
.q-btn--primary.q-btn--filled {
  background-color: var(--primary-green) !important;
  color: white !important;
}
/* ─── Toolbar ─── */
.q-toolbar {
  background: var(--card-bg);
  box-shadow: none;
  color: var(--text-color);
  border-bottom: 1px solid var(--vengeance-line);
  backdrop-filter: blur(18px);
}
/* ─── Drawer / Sidebar ─── */
.q-drawer {
  background: var(--sidebar-bg) !important;
  color: var(--text-color);
  border-color: var(--vengeance-line) !important;
}
/* Vengeance UI system */
.v-shell {
  background: var(--vengeance-bg);
  color: var(--vengeance-ink);
}
.v-header {
  height: 64px;
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink) !important;
  border-bottom: 1px solid var(--vengeance-line);
  backdrop-filter: blur(18px);
}
.v-brand-mark,
.v-icon-box {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--vengeance-ink);
  color: var(--background-color);
  border: 1px solid var(--vengeance-line);
}
.v-eyebrow {
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--vengeance-muted);
}
.v-title {
  margin: 0;
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--vengeance-ink);
}
.v-subtitle {
  margin: 8px 0 0;
  color: var(--vengeance-muted);
  font-size: 0.9rem;
}
.v-panel,
.styled-card,
.dashboard-card,
.kpi-card,
.documents-card,
.stat-card,
.approval-card,
.template-card,
.form-card,
.editor-card,
.document-header-card,
.document-content-card,
.highlight-comments-card {
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink) !important;
  border: 1px solid var(--vengeance-line) !important;
  border-radius: 28px !important;
  box-shadow: var(--shadow) !important;
  backdrop-filter: blur(18px);
}
.v-soft,
.q-table__container,
.q-field--outlined .q-field__control,
.q-field--filled .q-field__control {
  background: var(--vengeance-soft) !important;
  color: var(--vengeance-ink) !important;
  border-color: var(--vengeance-line) !important;
}
.v-btn,
.q-btn--standard.q-btn--filled,
.q-btn--rectangle.q-btn--actionable.bg-primary {
  border-radius: 16px !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.v-btn-primary {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
}
.v-btn-ghost {
  background: rgba(0, 0, 0, 0.04) !important;
  color: var(--vengeance-ink) !important;
  border: 1px solid var(--vengeance-line) !important;
}
.body--dark .v-btn-ghost {
  background: rgba(255, 255, 255, 0.05) !important;
}
.v-status-chip,
.q-chip {
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.v-page {
  min-height: calc(100vh - 64px);
  background: radial-gradient(circle at top right, rgba(16, 185, 129, 0.08), transparent 28rem), var(--vengeance-bg);
}
.v-page-pad {
  padding: 32px;
}
.v-grid-bg {
  position: relative;
  overflow: hidden;
}
.v-grid-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.18;
  background-image: linear-gradient(var(--vengeance-line) 1px, transparent 1px), linear-gradient(90deg, var(--vengeance-line) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(145deg, black, transparent 70%);
}
.v-grid-bg > * {
  position: relative;
  z-index: 1;
}
.q-table thead tr th {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--vengeance-muted);
}
@media (max-width: 1024px) {
  .v-page-pad {
    padding: 24px;
  }
  .v-panel,
  .styled-card,
  .dashboard-card,
  .kpi-card,
  .documents-card,
  .stat-card,
  .approval-card,
  .template-card,
  .form-card,
  .editor-card,
  .document-header-card,
  .document-content-card,
  .highlight-comments-card {
    border-radius: 22px !important;
  }
}
@media (max-width: 700px) {
  .v-page {
    min-height: calc(100svh - 64px);
  }
  .v-page-pad {
    padding: 16px;
  }
  .v-title {
    font-size: 1.4rem;
    line-height: 1.08;
  }
  .v-subtitle {
    font-size: 0.78rem;
    line-height: 1.5;
  }
  .v-panel,
  .styled-card,
  .dashboard-card,
  .kpi-card,
  .documents-card,
  .stat-card,
  .approval-card,
  .template-card,
  .form-card,
  .editor-card,
  .document-header-card,
  .document-content-card,
  .highlight-comments-card {
    border-radius: 18px !important;
  }
  .q-btn {
    min-height: 36px;
    padding: 8px 12px;
    letter-spacing: 0.06em;
  }
  .q-table__container {
    overflow-x: auto;
  }
}
@media (max-width: 420px) {
  .v-page-pad {
    padding: 12px;
  }
  .v-title {
    font-size: 1.22rem;
  }
}
.body--dark .q-drawer {
  background: var(--sidebar-bg) !important;
  border-right: 1px solid var(--border-color);
}
.body--dark .q-drawer--right {
  border-left: 1px solid var(--border-color);
  border-right: none;
}
/* ─── List Items ─── */
.body--dark .q-item {
  color: var(--text-color);
}
.body--dark .q-item__label {
  color: var(--text-color);
}
.body--dark .q-item__label--caption {
  color: var(--text-secondary);
}
.body--dark .q-item--active {
  color: white !important;
}
.body--dark .q-list--separator .q-item-type + .q-item-type {
  border-top: 1px solid var(--border-color);
}
/* ─── Separator ─── */
.body--dark .q-separator {
  background: var(--border-color);
}
/* ─── Inputs & Fields ─── */
.body--dark .q-field__control {
  background: var(--input-bg);
  color: var(--text-color);
}
.body--dark .q-field__native,
.body--dark .q-field__prefix,
.body--dark .q-field__suffix,
.body--dark .q-field__input {
  color: var(--text-color);
}
.body--dark .q-field__label {
  color: var(--text-secondary);
}
.body--dark .q-field--focused .q-field__label {
  color: var(--primary-green);
}
.body--dark .q-field--outlined .q-field__control {
  background: var(--input-bg);
  border-color: var(--border-color);
}
.body--dark .q-field--outlined .q-field__control:hover::before {
  border-color: var(--primary-green);
}
.body--dark .q-field--filled .q-field__control {
  background: var(--surface-color-2);
}
.body--dark .q-field--standout .q-field__control {
  background: var(--surface-color-2);
}
.body--dark .q-field__bottom {
  color: var(--text-secondary);
}
.body--dark .q-field__messages {
  color: var(--text-secondary);
}
/* ─── Select ─── */
.body--dark .q-select__dropdown-icon {
  color: var(--text-secondary);
}
/* ─── Menu / Popup ─── */
.body--dark .q-menu {
  background: var(--dialog-bg);
  color: var(--text-color);
  border: 1px solid var(--border-color);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
.body--dark .q-virtual-scroll__content .q-item {
  color: var(--text-color);
}
/* ─── Tables ─── */
.body--dark .q-table__container {
  background: var(--card-bg);
  color: var(--text-color);
}
.body--dark .q-table thead tr th {
  background: var(--table-header-bg);
  color: var(--text-secondary);
  border-bottom: 1px solid var(--table-border);
}
.body--dark .q-table tbody tr td {
  border-bottom: 1px solid var(--table-border);
  color: var(--text-color);
}
.body--dark .q-table tbody tr:hover td {
  background: var(--table-row-hover);
}
.body--dark .q-table__bottom {
  background: var(--card-bg);
  color: var(--text-secondary);
  border-top: 1px solid var(--table-border);
}
.body--dark .q-table--bordered {
  border: 1px solid var(--table-border);
}
/* ─── Tabs ─── */
.body--dark .q-tabs {
  background: var(--card-bg);
  color: var(--text-color);
}
.body--dark .q-tab__label {
  color: var(--text-color);
}
.body--dark .q-tab--active .q-tab__label {
  color: var(--primary-green);
}
.body--dark .q-tab-panels {
  background: var(--card-bg);
}
.body--dark .q-panel {
  background: var(--card-bg);
  color: var(--text-color);
}
/* ─── Dialogs ─── */
.body--dark .q-dialog__inner > .q-card {
  background: var(--dialog-bg);
  color: var(--text-color);
}
/* ─── Chips ─── */
.body--dark .q-chip {
  background: var(--chip-bg);
  color: var(--chip-text);
}
/* ─── Badges ─── */
.body--dark .q-badge--floating {
  border-color: var(--card-bg);
}
/* ─── Expansion Items ─── */
.body--dark .q-expansion-item .q-item {
  background: var(--card-bg);
  color: var(--text-color);
}
.body--dark .q-expansion-item__container {
  background: var(--surface-color);
}
/* ─── Item Label (headers in lists) ─── */
.body--dark .q-item-label--header {
  color: var(--text-secondary);
}
/* ─── Tooltip ─── */
.body--dark .q-tooltip {
  background: #444648;
  color: #e8e6e3;
}
/* ─── Scroll Area ─── */
.body--dark .q-scrollarea__thumb {
  background: var(--scrollbar-thumb);
}
/* ─── Avatar ─── */
.body--dark .q-avatar {
  background: var(--surface-color-2);
  color: var(--text-color);
}
/* ─── Banner ─── */
.body--dark .q-banner {
  background: var(--surface-color);
  color: var(--text-color);
}
/* ─── Breadcrumbs ─── */
.body--dark .q-breadcrumbs__el {
  color: var(--text-color);
}
.body--dark .q-breadcrumbs__separator {
  color: var(--text-secondary);
}
/* ─── Timeline ─── */
.body--dark .q-timeline__dot {
  background: var(--card-bg);
}
.body--dark .q-timeline__line {
  background: var(--border-color);
}
/* ─── Knob / Circular progress ─── */
.body--dark .q-circular-progress__track {
  color: var(--surface-color-2);
}
/* ─── Linear Progress ─── */
.body--dark .q-linear-progress__track {
  background: var(--surface-color-2);
}
/* ─── Stepper ─── */
.body--dark .q-stepper {
  background: var(--card-bg);
  color: var(--text-color);
}
.body--dark .q-stepper__header {
  background: var(--card-bg);
  border-bottom: 1px solid var(--border-color);
}
.body--dark .q-stepper__dot {
  border-color: var(--border-color);
}
/* ─── Tree ─── */
.body--dark .q-tree__node-header {
  color: var(--text-color);
}
.body--dark .q-tree__node-header:hover {
  background: var(--hover-overlay);
}
/* ─── Date Picker / Time Picker ─── */
.body--dark .q-date {
  background: var(--dialog-bg);
  color: var(--text-color);
}
.body--dark .q-date__header {
  background: var(--primary-green);
}
.body--dark .q-date__calendar-item button,
.body--dark .q-date__months-item button,
.body--dark .q-date__years-item button {
  color: var(--text-color);
}
.body--dark .q-date__calendar-item button:hover {
  background: var(--hover-overlay);
}
.body--dark .q-time {
  background: var(--dialog-bg);
  color: var(--text-color);
}
.body--dark .q-time__header {
  background: var(--primary-green);
}
.body--dark .q-time__clock {
  background: var(--surface-color);
}
.body--dark .q-time__clock-circle {
  color: var(--text-color);
}
.body--dark .q-time__clock-pointer {
  background: var(--primary-green);
}
/* ─── Pagination ─── */
.body--dark .q-pagination .q-btn:not(.bg-primary) {
  color: var(--text-color);
  background: var(--surface-color-2);
}
/* ─── Uploader ─── */
.body--dark .q-uploader {
  background: var(--card-bg);
  color: var(--text-color);
  border: 1px solid var(--border-color);
}
.body--dark .q-uploader__list {
  background: var(--surface-color);
}
/* ─── Editor ─── */
.body--dark .q-editor {
  background: var(--input-bg);
  color: var(--text-color);
  border: 1px solid var(--border-color);
}
.body--dark .q-editor__toolbar {
  background: var(--surface-color);
  border-bottom: 1px solid var(--border-color);
}
/* ─── Slider / Range ─── */
.body--dark .q-slider__track {
  background: var(--surface-color-2);
}
.body--dark .q-slider__thumb {
  color: var(--primary-green);
}
/* ─── Toggle / Checkbox / Radio ─── */
.body--dark .q-toggle__inner {
  color: var(--text-secondary);
}
.body--dark .q-checkbox__inner {
  color: var(--text-secondary);
}
.body--dark .q-radio__inner {
  color: var(--text-secondary);
}
/* ─── Skeletons ─── */
.body--dark .q-skeleton {
  background: var(--surface-color-2);
}
/* ─── Specific Quasar Page backgrounds ─── */
.body--dark .q-page {
  background: var(--background-color);
}
.body--dark .q-layout {
  background: var(--background-color);
}
/* ─── Fix hardcoded bg-white / bg-grey classes in dark mode ─── */
.body--dark .bg-white {
  background-color: var(--card-bg) !important;
  color: var(--text-color) !important;
}
.body--dark .bg-grey-1 {
  background-color: var(--background-color) !important;
}
.body--dark .bg-grey-2 {
  background-color: var(--surface-color) !important;
}
.body--dark .bg-grey-3 {
  background-color: var(--surface-color-2) !important;
}
.body--dark .bg-grey-4 {
  background-color: #303234 !important;
}
.body--dark .bg-grey-9 {
  background-color: #c0bebb !important;
}
/* Ensure text colors adapt */
.body--dark .text-grey-9 {
  color: #d0cecc !important;
}
.body--dark .text-grey-8 {
  color: #b0aeac !important;
}
.body--dark .text-grey-7 {
  color: #909090 !important;
}
.body--dark .text-grey-6 {
  color: #787878 !important;
}
.body--dark .text-dark {
  color: var(--text-color) !important;
}
.body--dark .text-black {
  color: var(--text-color) !important;
}
/* ─── Utility Classes ─── */
.transparent-blur-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--blur-bg);
  backdrop-filter: blur(10px);
}
.primary-green {
  background: var(--primary-green);
  color: white;
  border-radius: var(--border-radius);
}
.accent-red {
  background: var(--accent-red);
  color: white;
  border-radius: var(--border-radius);
}
/* ─── Glass Card ─── */
.glass-card {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(12px);
  border-radius: var(--border-radius);
  padding: 15px;
  box-shadow: var(--shadow);
  color: var(--text-color);
}
.body--dark .glass-card {
  background: rgba(35, 37, 39, 0.6);
}
/* ─── Glass Effect ─── */
.glass-effect {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 15px;
  color: var(--text-color);
}
.body--dark .glass-effect {
  background: rgba(35, 37, 39, 0.6);
}
/* ─── Transparent Card ─── */
.transparent-card {
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  color: var(--text-color);
}
.body--dark .transparent-card {
  background-color: rgba(35, 37, 39, 0.6);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
}
/* ─── Module Page Cards (used across all modules) ─── */
.body--dark .module-card,
.body--dark .stat-card,
.body--dark .info-card,
.body--dark .summary-card,
.body--dark .detail-card,
.body--dark .report-card,
.body--dark .dashboard-card {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--card-border);
}
/* ─── Tables used in modules (custom) ─── */
.body--dark table {
  color: var(--text-color);
}
.body--dark table th {
  background: var(--table-header-bg);
  color: var(--text-secondary);
  border-bottom: 1px solid var(--table-border);
}
.body--dark table td {
  border-bottom: 1px solid var(--table-border);
  color: var(--text-color);
}
/* ─── Charts (ApexCharts) ─── */
.body--dark .apexcharts-canvas {
  background: transparent !important;
}
.body--dark .apexcharts-text,
.body--dark .apexcharts-title-text,
.body--dark .apexcharts-legend-text {
  fill: var(--text-color) !important;
  color: var(--text-color) !important;
}
.body--dark .apexcharts-gridline {
  stroke: var(--border-color);
}
.body--dark .apexcharts-xaxis-label, .body--dark .apexcharts-yaxis-label {
  fill: var(--text-secondary);
}
.body--dark .apexcharts-tooltip {
  background: var(--dialog-bg) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--border-color) !important;
}
.body--dark .apexcharts-tooltip-title {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
  border-bottom: 1px solid var(--border-color) !important;
}
/* ─── Notification Drawer ─── */
.body--dark .notification-drawer,
.body--dark .notifications-panel {
  background: var(--drawer-bg) !important;
  color: var(--text-color);
}
/* ─── Status badges / pills ─── */
.body--dark .status-badge,
.body--dark .status-pill {
  background: var(--surface-color-2);
  color: var(--text-color);
}
/* ─── Form headers and section titles ─── */
.body--dark h1, .body--dark h2, .body--dark h3,
.body--dark h4, .body--dark h5, .body--dark h6 {
  color: var(--text-color);
}
/* ─── Inline text helpers ─── */
.body--dark .text-caption {
  color: var(--text-secondary) !important;
}
.body--dark .text-subtitle1,
.body--dark .text-subtitle2 {
  color: var(--text-color);
}
/* ─── Borders ─── */
.body--dark .bordered,
.body--dark .q-card--bordered {
  border: 1px solid var(--border-color) !important;
}
/* ─── Sidebar active items in all module sidebars ─── */
.body--dark .sidebar-active-item,
.body--dark .q-item--active:not(.bg-primary) {
  background: var(--active-overlay) !important;
  color: var(--primary-green) !important;
}
/* ─── Sidebar section headers ─── */
.body--dark .sidebar-section-header {
  color: var(--text-secondary) !important;
  border-bottom: 1px solid var(--border-color);
}
/* ─── Search bars ─── */
.body--dark .search-bar,
.body--dark .search-input {
  background: var(--input-bg) !important;
  color: var(--text-color) !important;
}
/* ─── Quasar color tint overrides for dark mode ─── */
/* Blue */
.body--dark .bg-blue-1 {
  background-color: rgba(33, 150, 243, 0.12) !important;
}
.body--dark .bg-blue-2 {
  background-color: rgba(33, 150, 243, 0.18) !important;
}
.body--dark .bg-blue-3 {
  background-color: rgba(33, 150, 243, 0.25) !important;
}
/* Red */
.body--dark .bg-red-1 {
  background-color: rgba(244, 67, 54, 0.12) !important;
}
.body--dark .bg-red-2 {
  background-color: rgba(244, 67, 54, 0.18) !important;
}
.body--dark .bg-red-3 {
  background-color: rgba(244, 67, 54, 0.25) !important;
}
/* Green */
.body--dark .bg-green-1 {
  background-color: rgba(76, 175, 80, 0.12) !important;
}
.body--dark .bg-green-2 {
  background-color: rgba(76, 175, 80, 0.18) !important;
}
.body--dark .bg-green-3 {
  background-color: rgba(76, 175, 80, 0.25) !important;
}
/* Orange */
.body--dark .bg-orange-1 {
  background-color: rgba(255, 152, 0, 0.12) !important;
}
.body--dark .bg-orange-2 {
  background-color: rgba(255, 152, 0, 0.18) !important;
}
.body--dark .bg-orange-3 {
  background-color: rgba(255, 152, 0, 0.25) !important;
}
/* Amber */
.body--dark .bg-amber-1 {
  background-color: rgba(255, 193, 7, 0.12) !important;
}
.body--dark .bg-amber-2 {
  background-color: rgba(255, 193, 7, 0.18) !important;
}
/* Yellow */
.body--dark .bg-yellow-1 {
  background-color: rgba(255, 235, 59, 0.1) !important;
}
/* Purple */
.body--dark .bg-purple-1 {
  background-color: rgba(156, 39, 176, 0.12) !important;
}
.body--dark .bg-purple-2 {
  background-color: rgba(156, 39, 176, 0.18) !important;
}
/* Teal */
.body--dark .bg-teal-1 {
  background-color: rgba(0, 150, 136, 0.12) !important;
}
.body--dark .bg-teal-2 {
  background-color: rgba(0, 150, 136, 0.18) !important;
}
/* Cyan */
.body--dark .bg-cyan-1 {
  background-color: rgba(0, 188, 212, 0.12) !important;
}
/* Indigo */
.body--dark .bg-indigo-1 {
  background-color: rgba(63, 81, 181, 0.12) !important;
}
/* Pink */
.body--dark .bg-pink-1 {
  background-color: rgba(233, 30, 99, 0.12) !important;
}
/* Lime */
.body--dark .bg-lime-1 {
  background-color: rgba(205, 220, 57, 0.1) !important;
}
/* Brown */
.body--dark .bg-brown-1 {
  background-color: rgba(121, 85, 72, 0.12) !important;
}
/* Grey */
.body--dark .bg-grey-5 {
  background-color: #2e3032 !important;
}
.body--dark .bg-grey-6 {
  background-color: #353739 !important;
}
.body--dark .bg-grey-7 {
  background-color: #3c3e40 !important;
}
.body--dark .bg-grey-8 {
  background-color: #434547 !important;
}
/* Light (near-white) Quasar helpers */
.body--dark .bg-light {
  background-color: var(--surface-color) !important;
}
/* ─── q-page always uses dark background ─── */
.body--dark .q-page,
.body--dark .q-page.bg-grey-1,
.body--dark .q-page.bg-grey-2,
.body--dark .q-page.bg-white {
  background-color: var(--background-color) !important;
  color: var(--text-color) !important;
}
/* ─── Inline style background: white / #fff overrides (via class targeting) ─── */
/* These cover common hand-written class names across modules */
.body--dark .page-wrapper,
.body--dark .page-container,
.body--dark .content-wrapper,
.body--dark .main-content,
.body--dark .module-content,
.body--dark .section-wrapper {
  background-color: var(--background-color) !important;
  color: var(--text-color) !important;
}
/* ─── Common card class names used across all modules ─── */
.body--dark .card-container,
.body--dark .info-card,
.body--dark .stat-card,
.body--dark .summary-card,
.body--dark .detail-card,
.body--dark .report-card,
.body--dark .widget-card,
.body--dark .metric-card,
.body--dark .overview-card,
.body--dark .kpi-card,
.body--dark .data-card {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}
/* ─── q-card--flat inside dark mode ─── */
.body--dark .q-card.q-card--flat {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}
/* ─── DMS dark workspace hardening ─── */
.body--dark .dms-page,
.body--dark .dms-workspace,
.body--dark .documents-dashboard-page,
.body--dark .document-list-page,
.body--dark .document-view-page {
  background: var(--vengeance-bg) !important;
  color: var(--vengeance-ink) !important;
}
.body--dark .dms-page .q-card,
.body--dark .dms-page .styled-card,
.body--dark .dms-page .header-section,
.body--dark .dms-page .filter-card,
.body--dark .dms-page .folder-card,
.body--dark .dms-page .documents-card,
.body--dark .dms-page .document-header-card,
.body--dark .dms-page .highlight-comments-card,
.body--dark .dms-page .digital-signatures-section,
.body--dark .dms-page .rejection-message-section,
.body--dark .dms-page .new-document-modal,
.body--dark .dms-page .upload-modal,
.body--dark .dms-page .folder-modal,
.body--dark .dms-page .document-details,
.body--dark .dms-page .text-editor-section {
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink) !important;
  border-color: var(--vengeance-line) !important;
}
.body--dark .dms-page .q-card__section,
.body--dark .dms-page .q-card__actions,
.body--dark .dms-page .q-list,
.body--dark .dms-page .q-item {
  background-color: transparent;
  color: var(--vengeance-ink);
}
.body--dark .dms-page .quick-action-tile,
.body--dark .dms-page .dashboard-hero,
.body--dark .dms-page .library-header,
.body--dark .dms-page .digital-signature-card {
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink) !important;
  border-color: var(--vengeance-line) !important;
}
.body--dark .dms-page .quick-action-icon-wrap,
.body--dark .dms-page .folder-count,
.body--dark .dms-page .q-field__control,
.body--dark .dms-page .q-table__top,
.body--dark .dms-page .q-table__bottom {
  background: var(--vengeance-soft) !important;
  color: var(--vengeance-ink) !important;
  border-color: var(--vengeance-line) !important;
}
.body--dark .dms-page .quick-action-label,
.body--dark .dms-page .text-h5,
.body--dark .dms-page .text-h6,
.body--dark .dms-page .meta-value,
.body--dark .dms-page .company-details h4 {
  color: var(--vengeance-ink) !important;
}
.body--dark .dms-page .quick-action-sub,
.body--dark .dms-page .text-grey-6,
.body--dark .dms-page .text-grey-7,
.body--dark .dms-page .text-caption,
.body--dark .dms-page .meta-label {
  color: var(--vengeance-muted) !important;
}
.body--dark .dms-page .document-content-card {
  background: #ffffff !important;
  color: #111111 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}
/* ─── Tables (custom + Quasar) ─── */
.body--dark .q-table__container,
.body--dark .q-table--card {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}
/* ─── Sidebars ─── */
.body--dark .q-drawer .q-list {
  background: transparent;
}
.body--dark .q-drawer .q-item__label--header {
  color: var(--text-secondary);
}
/* ─── Dialogs / Modals ─── */
.body--dark .q-dialog__inner .q-card,
.body--dark .q-dialog__backdrop + .q-dialog__inner .q-card {
  background: var(--dialog-bg) !important;
  color: var(--text-color) !important;
}
/* ─── Select options popup ─── */
.body--dark .q-item.q-manual-focusable--focused > .q-focus-helper,
.body--dark .q-item.q-focusable:focus > .q-focus-helper {
  background: var(--hover-overlay) !important;
}
/* ─── Notification / Chip text ─── */
.body--dark .q-notification {
  background: #2a2c2e;
  color: var(--text-color);
}
/* ─── q-header force dark ─── */
.body--dark .q-header.bg-white {
  background: var(--dark-header-bg) !important;
}
/* ─── Prevent white flash on q-dialog backgrounds ─── */
.body--dark .q-dialog__backdrop {
  background: rgba(0, 0, 0, 0.65);
}
/* ─── Upload area (common pattern) ─── */
.body--dark .upload-area,
.body--dark .drop-zone {
  background: var(--surface-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}
/* ══════════════════════════════════════════════════════════════
   COMPREHENSIVE MODULE PAGE DARK OVERRIDES
   Covers every card/header/container class found across all modules
   Uses !important to override scoped component styles.
   ══════════════════════════════════════════════════════════════ */
/* ─── Page-level header cards (most common pattern across ALL modules) ─── */
.body--dark .page-header-card,
.body--dark .executive-header-card,
.body--dark .banner-warning,
.body--dark .summary-warning {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}
/* ─── Section / container headers ─── */
.body--dark .header-section,
.body--dark .card-header,
.body--dark .section-header,
.body--dark .modal-header,
.body--dark .dialog-header,
.body--dark .drawer-header,
.body--dark .controls-container,
.body--dark .page-header {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}
/* ─── Additional card variants not in earlier block ─── */
.body--dark .styled-card,
.body--dark .hero-card,
.body--dark .chart-card,
.body--dark .stats-card,
.body--dark .status-card,
.body--dark .content-card,
.body--dark .panel-card,
.body--dark .action-card,
.body--dark .form-card,
.body--dark .table-card,
.body--dark .filter-card,
.body--dark .filters-card,
.body--dark .approval-card,
.body--dark .upload-card,
.body--dark .alert-card,
.body--dark .kanban-card,
.body--dark .editor-card,
.body--dark .modal-card,
.body--dark .bulk-actions-card,
.body--dark .settings-card,
.body--dark .steps-card,
.body--dark .notes-card,
.body--dark .limit-card,
.body--dark .main-card,
.body--dark .preview-card,
.body--dark .recipients-card,
.body--dark .po-summary-card,
.body--dark .stock-card,
.body--dark .kpi-card-modern,
.body--dark .kpi-gauge-card,
.body--dark .executive-kpi,
.body--dark .completion-status-card,
.body--dark .purchase-orders-card,
.body--dark .payment-flow-card,
.body--dark .properties-card,
.body--dark .view-dialog-card,
.body--dark .view-modal-card,
.body--dark .module-modal,
.body--dark .order-info-card,
.body--dark .cost-breakdown-card,
.body--dark .cost-total-item,
.body--dark .total-cost-summary,
.body--dark .chart-toolbar,
.body--dark .chart-controls,
.body--dark .config-panel,
.body--dark .preview-panel,
.body--dark .custom-report-builder,
.body--dark .print-options-section,
.body--dark .data-status-section,
.body--dark .labor-type-section,
.body--dark .active-shift,
.body--dark .branch-overview-stats {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}
/* ─── Supplier / Ledger drawers ─── */
.body--dark .supplier-ledger-drawer,
.body--dark .view-details-table,
.body--dark .view-details-table table {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}
.body--dark .value-cell {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
}
/* ─── Empty / loading states ─── */
.body--dark .empty-state,
.body--dark .empty-state-supply-chain,
.body--dark .loading-state-supply-chain {
  background: transparent !important;
  color: var(--text-secondary) !important;
}
/* ─── Header stat chips (supply chain / stock pages) ─── */
.body--dark .header-stat-chip,
.body--dark .company-info-card,
.body--dark .kpi-card-modern,
.body--dark .kpi-card--active {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}
/* ─── Warn / status highlight rows ─── */
.body--dark .warning-stat,
.body--dark .positive-stat,
.body--dark .banner-warning {
  background: rgba(255, 171, 0, 0.1) !important;
  color: var(--text-color) !important;
  border-color: rgba(255, 171, 0, 0.25) !important;
}
/* ─── Stock / inventory table overrides ─── */
.body--dark .stock-page-bg,
.body--dark .stock-table-modern,
.body--dark .supply-chain-table,
.body--dark .supplier-ledger-drawer .ledger-table {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}
/* ─── Sticky / module table TOP BARS (all custom table wrappers) ─── */
.body--dark .my-sticky-header-table .q-table__top,
.body--dark .my-sticky-header-table .q-table__bottom,
.body--dark .module-table .q-table__top,
.body--dark .module-table .q-table__bottom,
.body--dark .purchase-orders-table .q-table__top,
.body--dark .purchase-orders-table .q-table__bottom,
.body--dark .supply-chain-table .q-table__top,
.body--dark .supply-chain-table .q-table__bottom,
.body--dark .responsive-table .q-table__top,
.body--dark .stock-table-modern .q-table__top,
.body--dark .inv-table .q-table__top,
.body--dark .material-table-container .q-table__top {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}
/* ─── Sticky / module table HEADERS (th) ─── */
.body--dark .my-sticky-header-table thead tr th,
.body--dark .my-sticky-header-table thead tr:first-child th,
.body--dark .module-table .q-table__thead th,
.body--dark .module-table thead th,
.body--dark .purchase-orders-table .q-table__thead th,
.body--dark .supply-chain-table thead th,
.body--dark .responsive-table thead tr:first-child th,
.body--dark .responsive-table :deep(thead tr:first-child th),
.body--dark .stock-table-modern .table-header-row,
.body--dark .inv-table thead th,
.body--dark .view-details-table thead th,
.body--dark .ledger-table thead th,
.body--dark .supplier-ledger-drawer .ledger-table .q-table__top {
  background: var(--table-header-bg) !important;
  color: var(--text-secondary) !important;
  border-color: var(--table-border) !important;
}
/* ─── Table row hover ─── */
.body--dark .module-table .q-table__tbody tr:hover,
.body--dark .purchase-orders-table .q-table__tbody tr:hover,
.body--dark .my-sticky-header-table .q-table__tbody tr:hover,
.body--dark .supply-chain-table .q-table__tbody tr:hover,
.body--dark .responsive-table tbody tr:hover,
.body--dark .stock-table-modern .low-stock-row,
.body--dark .inv-table tbody tr:hover {
  background: var(--table-row-hover) !important;
}
/* ─── Audit & compliance items ─── */
.body--dark .compliance-item,
.body--dark .financial-control-item {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
}
.body--dark .compliance-item:hover,
.body--dark .financial-control-item:hover {
  background: var(--table-row-hover) !important;
}
/* ─── Stage/progress icon wrappers (used in supply chain, operations) ─── */
.body--dark .stage-progress-icon,
.body--dark .timeline-step-icon {
  background: var(--surface-color) !important;
  border-color: var(--border-color) !important;
}
/* ─── Report builder / chart containers ─── */
.body--dark .branch-summary-item,
.body--dark .report-header,
.body--dark .material-table-container {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}
/* ─── Weighbridge specific ─── */
.body--dark .wb-stat {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}
/* ─── JSON mini viewers (audit pages) ─── */
.body--dark .json-mini {
  background: #1a1c1e !important;
  color: #a8d5a2 !important;
  border-color: var(--border-color) !important;
}
/* ─── CATCH-ALL: attribute substring selectors for max coverage ─── */
/* These match any element whose class attribute CONTAINS the substring,
   catching variants like "inv-stat-card", "kpi-card-modern", "items-table", etc. */
/* Cards with a word ending in -card */
.body--dark [class*=-card]:not([class*=q-card]):not([class*=q-chip]):not([class*=q-badge]) {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}
/* Any custom table wrapper (contains "-table") — target their th and hover rows */
.body--dark [class*=-table] th,
.body--dark [class*=-table] .q-table__thead th {
  background: var(--table-header-bg) !important;
  color: var(--text-secondary) !important;
  border-color: var(--table-border) !important;
}
.body--dark [class*=-table] tbody tr:hover,
.body--dark [class*=-table] .q-table__tbody tr:hover {
  background: var(--table-row-hover) !important;
}
.body--dark [class*=-table] .q-table__top,
.body--dark [class*=-table] .q-table__bottom {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}
/* ─── Dark mode: lighten hardcoded grey text utility classes ─── */
/* Quasar utility text classes use !important — we match with our own !important */
.body--dark .text-grey-10 {
  color: #e0e0e0 !important;
}
.body--dark .text-grey-9 {
  color: #d4d4d4 !important;
}
.body--dark .text-grey-8 {
  color: #c0c0c0 !important;
}
.body--dark .text-grey-7 {
  color: #a8a8a8 !important;
}
.body--dark .text-grey-6 {
  color: #909090 !important;
}
/* ─── Print styles unchanged ─── */:root {
  --calendar-border: #e0e0e0 1px solid;
  --calendar-border-dark: #71755d 1px solid;
  --calendar-border-section: #e0e0e0 1px dashed;
  --calendar-border-section-dark: #71755d 1px dashed;
  --calendar-border-current: #027BE3 2px solid;
  --calendar-border-current-dark: #ffff66 2px solid;
  --calendar-mini-range-connector-hover-border: #027BE3 1px dashed;
  --calendar-mini-range-connector-hover-border-dark: #ffff66 1px dashed;
  --calendar-color: #606c71;
  --calendar-color-dark: #fafafa;
  --calendar-background: #ffffff;
  --calendar-background-dark: #121212;
  --calendar-current-color: #027BE3;
  --calendar-current-color-dark: #ffff66;
  --calendar-current-background: #00000000;
  --calendar-current-background-dark: #121212;
  --calendar-disabled-date-color: #a1a1a1;
  --calendar-disabled-date-color-dark: #bebebe;
  --calendar-disabled-date-background: #ffffff;
  --calendar-disabled-date-background-dark: #121212;
  --calendar-active-date-color: #027BE3FF;
  --calendar-active-date-color-dark: #cce7ffff;
  --calendar-active-date-background: #cce7ffff;
  --calendar-active-date-background-dark: #027BE3FF;
  --calendar-outside-color: #606c71;
  --calendar-outside-color-dark: #bebebe;
  --calendar-outside-background: #00000000;
  --calendar-outside-background-dark: #121212;
  --calendar-selected-color: #027BE3;
  --calendar-selected-color-dark: #027BE3;
  --calendar-selected-background: #cce7ff;
  --calendar-selected-background-dark: #cce7ff;
  --calendar-mini-selected-color: #027BE3;
  --calendar-mini-selected-color-dark: #027BE3;
  --calendar-mini-selected-background: #00000000;
  --calendar-mini-selected-background-dark: #00000000;
  --calendar-mini-selected-label-color: #027BE3;
  --calendar-mini-selected-label-color-dark: #cce7ff;
  --calendar-mini-selected-label-background: #cce7ff;
  --calendar-mini-selected-label-background-dark: #027BE3;
  --calendar-range-color: #027BE3;
  --calendar-range-color-dark: #027BE3;
  --calendar-range-background: #cce7ff;
  --calendar-range-background-dark: #cce7ff;
  --calendar-mini-range-color: #cce7ff;
  --calendar-mini-range-color-dark: #027BE3;
  --calendar-mini-range-background: #00000000;
  --calendar-mini-range-background-dark: #00000000;
  --calendar-mini-range-label-color: #cce7ff;
  --calendar-mini-range-label-color-dark: #027BE3;
  --calendar-mini-range-label-background: #cce7ff;
  --calendar-mini-range-label-background-dark: #cce7ff;
  --calendar-mini-range-connector-color: #cce7ff;
  --calendar-mini-range-connector-color-dark: #ffff66;
  --calendar-mini-range-hover-color: #027BE3;
  --calendar-mini-range-hover-color-dark: #ffff66;
  --calendar-mini-range-firstlast-color: #cce7ff;
  --calendar-mini-range-firstlast-color-dark: #cce7ff;
  --calendar-mini-range-firstlast-background: #00000000;
  --calendar-mini-range-firstlast-background-dark: #cce7ff;
  --calendar-mini-range-firstlast-label-color: #cce7ff;
  --calendar-mini-range-firstlast-label-color-dark: #cce7ff;
  --calendar-mini-range-firstlast-label-background: #027BE3;
  --calendar-mini-range-firstlast-label-background-dark: #ffff66;
  --calendar-scrollbar-width-height: 10px;
  --calendar-scrollbar-track: #eeeeee;
  --calendar-scrollbar-thumb: #888888;
  --calendar-scrollbar-thumb-hover: #555555;
  --calendar-scrollbar-track-dark: #eeeeee;
  --calendar-scrollbar-thumb-dark: #888888;
  --calendar-scrollbar-thumb-hover-dark: #555555;
  --calendar-intervals-width: 56px;
  --calendar-resources-width: 100px;
  --calendar-work-week-width: 30px;
  --calendar-mini-work-week-width: 30px;
  --calendar-work-week-font-size: 1.0em;
  --calendar-head-font-weight: 600;
}

.q-calendar--roll-right-leave-active, .q-calendar--roll-left-leave-active, .q-calendar--roll-up-leave-active, .q-calendar--roll-down-leave-active, .q-calendar--slide-right-leave-active, .q-calendar--slide-left-leave-active, .q-calendar--slide-up-leave-active, .q-calendar--slide-down-leave-active, .q-calendar--jump-right-leave-active, .q-calendar--jump-left-leave-active, .q-calendar--jump-up-leave-active, .q-calendar--jump-down-leave-active, .q-calendar--fade-leave-active, .q-calendar--scale-leave-active, .q-calendar--rotate-leave-active, .q-calendar--spin-leave-active, .q-calendar--flip-leave-active {
  position: absolute;
}
.q-calendar--roll-right-enter-active, .q-calendar--roll-right-leave-active, .q-calendar--roll-left-enter-active, .q-calendar--roll-left-leave-active, .q-calendar--roll-up-enter-active, .q-calendar--roll-up-leave-active, .q-calendar--roll-down-enter-active, .q-calendar--roll-down-leave-active, .q-calendar--slide-right-enter-active, .q-calendar--slide-right-leave-active, .q-calendar--slide-left-enter-active, .q-calendar--slide-left-leave-active, .q-calendar--slide-up-enter-active, .q-calendar--slide-up-leave-active, .q-calendar--slide-down-enter-active, .q-calendar--slide-down-leave-active {
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.q-calendar--roll-right-enter-from {
  transform: translate3d(-100%, 0, 0) rotate(360deg);
}
.q-calendar--roll-right-leave-to {
  transform: translate3d(100%, 0, 0) rotate(0deg);
}
.q-calendar--roll-left-enter-from {
  transform: translate3d(100%, 0, 0) rotate(-360deg);
}
.q-calendar--roll-left-leave-to {
  transform: translate3d(-100%, 0, 0) rotate(0deg);
}
.q-calendar--roll-up-enter-from {
  transform: translate3d(0, 100%, 0) rotate(-360deg);
}
.q-calendar--roll-up-leave-to {
  transform: translate3d(0, -100%, 0) rotate(0deg);
}
.q-calendar--roll-down-enter-from {
  transform: translate3d(0, -100%, 0) rotate(360deg);
}
.q-calendar--roll-down-leave-to {
  transform: translate3d(0, 100%, 0) rotate(0deg);
}
.q-calendar--slide-right-enter-from {
  transform: translate3d(-100%, 0, 0);
}
.q-calendar--slide-right-leave-to {
  transform: translate3d(100%, 0, 0);
}
.q-calendar--slide-left-enter-from {
  transform: translate3d(100%, 0, 0);
}
.q-calendar--slide-left-leave-to {
  transform: translate3d(-100%, 0, 0);
}
.q-calendar--slide-up-enter-from {
  transform: translate3d(0, 100%, 0);
}
.q-calendar--slide-up-leave-to {
  transform: translate3d(0, -100%, 0);
}
.q-calendar--slide-down-enter-from {
  transform: translate3d(0, -100%, 0);
}
.q-calendar--slide-down-leave-to {
  transform: translate3d(0, 100%, 0);
}
.q-calendar--jump-right-enter-active, .q-calendar--jump-right-leave-active, .q-calendar--jump-left-enter-active, .q-calendar--jump-left-leave-active, .q-calendar--jump-up-enter-active, .q-calendar--jump-up-leave-active, .q-calendar--jump-down-enter-active, .q-calendar--jump-down-leave-active {
  transition: opacity 0.3s, transform 0.3s;
}
.q-calendar--jump-right-enter-from, .q-calendar--jump-right-leave-to, .q-calendar--jump-left-enter-from, .q-calendar--jump-left-leave-to, .q-calendar--jump-up-enter-from, .q-calendar--jump-up-leave-to, .q-calendar--jump-down-enter-from, .q-calendar--jump-down-leave-to {
  opacity: 0;
}
.q-calendar--jump-right-enter-from {
  transform: translate3d(-15px, 0, 0);
}
.q-calendar--jump-right-leave-to {
  transform: translate3d(15px, 0, 0);
}
.q-calendar--jump-left-enter-from {
  transform: translate3d(15px, 0, 0);
}
.q-calendar--jump-left-leave-to {
  transform: translateX(-15px);
}
.q-calendar--jump-up-enter-from {
  transform: translate3d(0, 15px, 0);
}
.q-calendar--jump-up-leave-to {
  transform: translate3d(0, -15px, 0);
}
.q-calendar--jump-down-enter-from {
  transform: translate3d(0, -15px, 0);
}
.q-calendar--jump-down-leave-to {
  transform: translate3d(0, 15px, 0);
}
.q-calendar--fade-enter-active, .q-calendar--fade-leave-active {
  transition: opacity 0.3s ease-out;
}
.q-calendar--fade-enter-from, .q-calendar--fade-leave-to {
  opacity: 0;
}
.q-calendar--scale-enter-active, .q-calendar--scale-leave-active {
  transition: opacity 0.3s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.q-calendar--scale-enter-from, .q-calendar--scale-leave-to {
  opacity: 0;
  transform: scale3d(0, 0, 1);
}
.q-calendar--rotate-enter-active, .q-calendar--rotate-leave-active {
  transition: opacity 0.3s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform-style: preserve-3d;
}
.q-calendar--rotate-enter-from, .q-calendar--rotate-leave-to {
  opacity: 0;
  transform: scale3d(0, 0, 1) rotate3d(0, 0, 1, 90deg);
}
.q-calendar--spin-enter-active, .q-calendar--spin-leave-active {
  transition: opacity 0.3s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform-style: preserve-3d;
}
.q-calendar--spin-enter-from, .q-calendar--spin-leave-from, .q-calendar--spin-leave-to {
  opacity: 0;
  transform: scale3d(0, 0, 1) rotate3d(0, 0, 1, 720deg);
}
.q-calendar--flip-right-enter-active, .q-calendar--flip-right-leave-active, .q-calendar--flip-left-enter-active, .q-calendar--flip-left-leave-active, .q-calendar--flip-up-enter-active, .q-calendar--flip-up-leave-active, .q-calendar--flip-down-enter-active, .q-calendar--flip-down-leave-active {
  transition: transform 0.3s;
  backface-visibility: hidden;
}
.q-calendar--flip-right-enter-to, .q-calendar--flip-right-leave-from, .q-calendar--flip-left-enter-to, .q-calendar--flip-left-leave-from, .q-calendar--flip-up-enter-to, .q-calendar--flip-up-leave-from, .q-calendar--flip-down-enter-to, .q-calendar--flip-down-leave-from {
  transform: perspective(400px) rotate3d(1, 1, 0, 0deg);
}
.q-calendar--flip-right-enter-from {
  transform: perspective(400px) rotate3d(0, 1, 0, -180deg);
}
.q-calendar--flip-right-leave-to {
  transform: perspective(400px) rotate3d(0, 1, 0, 180deg);
}
.q-calendar--flip-left-enter-from {
  transform: perspective(400px) rotate3d(0, 1, 0, 180deg);
}
.q-calendar--flip-left-leave-to {
  transform: perspective(400px) rotate3d(0, 1, 0, -180deg);
}
.q-calendar--flip-up-enter-from {
  transform: perspective(400px) rotate3d(1, 0, 0, -180deg);
}
.q-calendar--flip-up-leave-to {
  transform: perspective(400px) rotate3d(1, 0, 0, 180deg);
}
.q-calendar--flip-down-enter-from {
  transform: perspective(400px) rotate3d(1, 0, 0, 180deg);
}
.q-calendar--flip-down-leave-to {
  transform: perspective(400px) rotate3d(1, 0, 0, -180deg);
}

.q-calendar {
  position: relative;
  display: flex;
  flex-direction: column;
  color: var(--calendar-color);
  background: var(--calendar-background);
  width: 100%;
  min-width: auto;
  overflow: hidden;
}
.q-calendar__bordered {
  border: var(--calendar-border);
}
.q-calendar__button {
  display: inline-block;
  flex-direction: row;
  align-items: center;
  position: relative;
  outline: 0;
  border: 0;
  vertical-align: middle;
  padding: 0;
  font-size: 0.75em;
  line-height: 1.715em;
  text-decoration: none;
  color: inherit;
  background: transparent;
  text-transform: uppercase;
  text-align: center;
  width: auto;
  height: auto;
  min-height: 2em;
  min-width: 2em;
  will-change: background;
  transition: background 0.3s;
}
.q-calendar__button--rounded {
  border-radius: 6px;
}
.q-calendar__button--round {
  border-radius: 50%;
}
.q-calendar__button--bordered {
  border: var(--calendar-border);
}
.q-calendar__left {
  text-align: left !important;
  justify-content: flex-start;
}
.q-calendar__center {
  text-align: center !important;
  justify-content: center;
}
.q-calendar__right {
  text-align: right !important;
  justify-content: flex-end;
}
.q-calendar__justify {
  justify-content: space-between !important;
}
.q-calendar__header--inline {
  display: flex;
  flex: 1 0 0;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
.q-calendar__ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.q-calendar__overflow-wrap {
  overflow-wrap: break-word;
  overflow: hidden;
}
.q-calendar__parent {
  transition: transform 0.3s;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 2px;
  width: 2px;
  height: 2px;
  cursor: pointer;
}
.q-calendar__parent--expanded {
  margin: 0 2px;
  transform: rotate(-135deg);
}
.q-calendar__parent--collapsed {
  margin: 0 2px;
  transform: rotate(45deg);
}
.q-calendar__child {
  position: relative;
  transition: max-height 0.28s linear;
}
.q-calendar__child--expanded {
  max-height: 800px;
  height: auto;
}
.q-calendar__child--collapsed {
  max-height: 0;
  overflow-y: hidden;
}
.q-calendar__focusable, .q-calendar__manual-focusable, .q-calendar__hoverable {
  outline: 0;
}
.q-calendar__focus-helper {
  position: absolute;
  top: 0;
  left: 0; /* rtl:ignore */
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1);
}
.q-calendar__focus-helper:before, .q-calendar__focus-helper:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0; /* rtl:ignore */
  width: 100%;
  height: 100%;
  opacity: 0;
  border-radius: inherit;
  transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.6s cubic-bezier(0.25, 0.8, 0.5, 1);
}
.q-calendar__focus-helper:before {
  background: #000;
}
.q-calendar__focus-helper:after {
  background: #fff;
}
.q-calendar__focus-helper--rounded {
  border-radius: 6px;
}
.q-calendar__focus-helper--round {
  border-radius: 50%;
}
.q-calendar__focusable:focus > .q-calendar__focus-helper, .q-calendar__manual-focusable--focused > .q-calendar__focus-helper, .q-calendar__hoverable:hover > .q-calendar__focus-helper {
  background: currentColor;
  opacity: 0.15;
}
.q-calendar__focusable:focus > .q-calendar__focus-helper:before, .q-calendar__manual-focusable--focused > .q-calendar__focus-helper:before, .q-calendar__hoverable:hover > .q-calendar__focus-helper:before {
  opacity: 0.1;
}
.q-calendar__focusable:focus > .q-calendar__focus-helper:after, .q-calendar__manual-focusable--focused > .q-calendar__focus-helper:after, .q-calendar__hoverable:hover > .q-calendar__focus-helper:after {
  opacity: 0.4;
}
.q-calendar__focusable:focus > .q-calendar__focus-helper, .q-calendar__manual-focusable--focused > .q-calendar__focus-helper {
  opacity: 0.22;
}
.q-calendar .disabled,
.q-calendar .disabled *,
.q-calendar [disabled],
.q-calendar [disabled] * {
  outline: 0 !important;
  cursor: not-allowed !important;
}
.q-calendar .disabled,
.q-calendar [disabled] {
  opacity: 0.6 !important;
}

.q-calendar {
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar {
  width: var(--calendar-scrollbar-width-height);
  height: var(--calendar-scrollbar-width-height);
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar-track {
  background: var(--calendar-scrollbar-track);
  box-shadow: inset 0 0 4px var(--calendar-scrollbar-track);
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar-corner {
  background: var(--calendar-scrollbar-track);
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb {
  background: var(--calendar-scrollbar-thumb);
  border-radius: 5px;
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb:hover {
  background: var(--calendar-scrollbar-thumb-hover);
}

.q-dark div.q-calendar,
.body--dark div.q-calendar,
.q-calendar--dark.q-calendar {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div.q-calendar__bordered,
.body--dark div.q-calendar__bordered,
.q-calendar--dark.q-calendar__bordered {
  border: var(--calendar-border-dark);
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar {
  width: var(--calendar-scrollbar-width-height);
  height: var(--calendar-scrollbar-width-height);
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-track,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-track,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar-track {
  background: var(--calendar-scrollbar-track-dark);
  box-shadow: inset 0 0 4px var(--calendar-scrollbar-track-dark);
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-corner,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-corner,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar-corner {
  background: var(--calendar-scrollbar-track-dark);
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb {
  background: var(--calendar-scrollbar-thumb-dark);
  border-radius: 5px;
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb:hover,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb:hover,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb:hover {
  background: var(--calendar-scrollbar-thumb-hover-dark);
}

.q-calendar-agenda {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-agenda__head {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: row;
}
.q-calendar-agenda__head--intervals {
  flex: none;
  display: flex;
  vertical-align: bottom;
}
.q-calendar-agenda__head--days__column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-agenda__head--days__weekdays {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-agenda__head--days__event {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
}
.q-calendar-agenda__head--days__events {
  position: absolute;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  bottom: 0;
  left: 0;
  right: 0;
}
.q-calendar-agenda__head--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-agenda__head--day__event {
  position: relative;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  overflow: hidden;
}
.q-calendar-agenda__head--weekday, .q-calendar-agenda__head--date, .q-calendar-agenda__column-header--before, .q-calendar-agenda__column-header--after {
  display: flex;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-agenda__head--weekday, .q-calendar-agenda__head--date {
  margin: 2px;
  flex: 1 0 0;
}
.q-calendar-agenda__head--day__label {
  -webkit-user-select: none;
          user-select: none;
  cursor: pointer;
}
.q-calendar-agenda__body {
  flex: 1 1 60%;
  overflow: hidden;
  display: flex;
  position: relative;
}
.q-calendar-agenda__scroll-area {
  overflow: auto;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
}
.q-calendar-agenda__pane {
  width: 100%;
  overflow: hidden;
  flex: none;
  display: flex;
  align-items: flex-start;
}
.q-calendar-agenda__day-container {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
}
.q-calendar-agenda__intervals-column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-agenda__interval {
  text-align: left;
  outline: 0;
}
.q-calendar-agenda__interval--section {
  position: relative;
  text-align: left;
  outline: 0;
}
.q-calendar-agenda__interval--text {
  display: block;
  position: relative;
  top: -6px;
  font-size: 10px;
  width: 100%;
  text-align: center;
}
.q-calendar-agenda__day {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 0;
}
.q-calendar-agenda__day-interval {
  position: relative;
  outline: 0;
}
.q-calendar-agenda__day-interval--section {
  position: relative;
  outline: 0;
}

.q-calendar-agenda__intervals-column.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-agenda__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-agenda__head--intervals.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 3;
}

.q-calendar-agenda__head {
  border-bottom: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-agenda__interval {
  border-bottom: var(--calendar-background) 1px solid;
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-agenda__head--intervals {
  border-right: var(--calendar-border);
  min-width: var(--calendar-intervals-width);
  max-width: var(--calendar-intervals-width);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-agenda__head--day {
  font-weight: var(--calendar-head-font-weight);
  border-right: var(--calendar-border);
}
.q-calendar-agenda__head--day:last-child {
  border-right: none;
}
.q-calendar-agenda__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-agenda__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-agenda__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-agenda__head--day__event {
  border-right: var(--calendar-border);
}
.q-calendar-agenda__head--day__event:last-child {
  border-right: none;
}
.q-calendar-agenda__column-header--before {
  border-bottom: var(--calendar-border);
}
.q-calendar-agenda__column-header--after {
  border-top: var(--calendar-border);
}
.q-calendar-agenda__intervals-column {
  border-right: var(--calendar-border);
  min-width: var(--calendar-intervals-width);
  max-width: var(--calendar-intervals-width);
}
.q-calendar-agenda__day {
  border-right: var(--calendar-border);
}
.q-calendar-agenda__day:last-child {
  border-right: none !important;
}
.q-calendar-agenda__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-agenda__day-interval {
  width: 100%;
  border-top: var(--calendar-border);
}
.q-calendar-agenda__day-interval.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-agenda__day-interval.q-range-first, .q-calendar-agenda__day-interval.q-range-last, .q-calendar-agenda__day-interval.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-agenda__day-interval--section {
  border-top: var(--calendar-border-section);
}
.q-calendar-agenda__day-interval--section.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-agenda__day-interval--section.q-range-first, .q-calendar-agenda__day-interval--section.q-range-last, .q-calendar-agenda__day-interval--section.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-agenda__day-interval:first-child {
  border-top: none !important;
}
.q-calendar-agenda__day-interval:last-child {
  border-bottom: none !important;
}

.q-dark div .q-calendar-agenda__head,
.body--dark div .q-calendar-agenda__head,
.q-calendar--dark .q-calendar-agenda__head {
  border-bottom: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-agenda__interval,
.body--dark div .q-calendar-agenda__interval,
.q-calendar--dark .q-calendar-agenda__interval {
  border-bottom: var(--calendar-background-dark) 1px solid;
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-agenda__head--intervals,
.body--dark div .q-calendar-agenda__head--intervals,
.q-calendar--dark .q-calendar-agenda__head--intervals {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-agenda__head--day,
.body--dark div .q-calendar-agenda__head--day,
.q-calendar--dark .q-calendar-agenda__head--day {
  border-right: var(--calendar-border-dark);
  font-weight: var(--calendar-head-font-weight);
}
.q-dark div .q-calendar-agenda__head--day:last-child,
.body--dark div .q-calendar-agenda__head--day:last-child,
.q-calendar--dark .q-calendar-agenda__head--day:last-child {
  border-right: none;
}
.q-dark div .q-calendar-agenda__head--day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-agenda__head--day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-agenda__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark);
}
.q-dark div .q-calendar-agenda__head--day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-agenda__head--day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-agenda__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-agenda__head--day__event,
.body--dark div .q-calendar-agenda__head--day__event,
.q-calendar--dark .q-calendar-agenda__head--day__event {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__head--day.q-disabled-day,
.body--dark div .q-calendar-agenda__head--day.q-disabled-day,
.q-calendar--dark .q-calendar-agenda__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-agenda__column-header--before,
.body--dark div .q-calendar-agenda__column-header--before,
.q-calendar--dark .q-calendar-agenda__column-header--before {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__column-header--after,
.body--dark div .q-calendar-agenda__column-header--after,
.q-calendar--dark .q-calendar-agenda__column-header--after {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__intervals-column,
.body--dark div .q-calendar-agenda__intervals-column,
.q-calendar--dark .q-calendar-agenda__intervals-column {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__day,
.body--dark div .q-calendar-agenda__day,
.q-calendar--dark .q-calendar-agenda__day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__day:last-child,
.body--dark div .q-calendar-agenda__day:last-child,
.q-calendar--dark .q-calendar-agenda__day:last-child {
  border-right: none !important;
}
.q-dark div .q-calendar-agenda__day.q-disabled-day,
.body--dark div .q-calendar-agenda__day.q-disabled-day,
.q-calendar--dark .q-calendar-agenda__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-dark div .q-calendar-agenda__day-interval,
.body--dark div .q-calendar-agenda__day-interval,
.q-calendar--dark .q-calendar-agenda__day-interval {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__day-interval.q-selected,
.body--dark div .q-calendar-agenda__day-interval.q-selected,
.q-calendar--dark .q-calendar-agenda__day-interval.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-agenda__day-interval.q-range-first, .q-dark div .q-calendar-agenda__day-interval.q-range-last, .q-dark div .q-calendar-agenda__day-interval.q-range,
.body--dark div .q-calendar-agenda__day-interval.q-range-first,
.body--dark div .q-calendar-agenda__day-interval.q-range-last,
.body--dark div .q-calendar-agenda__day-interval.q-range,
.q-calendar--dark .q-calendar-agenda__day-interval.q-range-first,
.q-calendar--dark .q-calendar-agenda__day-interval.q-range-last,
.q-calendar--dark .q-calendar-agenda__day-interval.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-agenda__day-interval:first-child,
.body--dark div .q-calendar-agenda__day-interval:first-child,
.q-calendar--dark .q-calendar-agenda__day-interval:first-child {
  border-top: none !important;
}
.q-dark div .q-calendar-agenda__day-interval:last-child,
.body--dark div .q-calendar-agenda__day-interval:last-child,
.q-calendar--dark .q-calendar-agenda__day-interval:last-child {
  border-bottom: none !important;
}
.q-dark div .q-calendar-agenda__day-interval--section,
.body--dark div .q-calendar-agenda__day-interval--section,
.q-calendar--dark .q-calendar-agenda__day-interval--section {
  border-top: var(--calendar-border-section-dark);
}
.q-dark div .q-calendar-agenda__day-interval--section.q-selected,
.body--dark div .q-calendar-agenda__day-interval--section.q-selected,
.q-calendar--dark .q-calendar-agenda__day-interval--section.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-agenda__day-interval--section.q-range-first, .q-dark div .q-calendar-agenda__day-interval--section.q-range-last, .q-dark div .q-calendar-agenda__day-interval--section.q-range,
.body--dark div .q-calendar-agenda__day-interval--section.q-range-first,
.body--dark div .q-calendar-agenda__day-interval--section.q-range-last,
.body--dark div .q-calendar-agenda__day-interval--section.q-range,
.q-calendar--dark .q-calendar-agenda__day-interval--section.q-range-first,
.q-calendar--dark .q-calendar-agenda__day-interval--section.q-range-last,
.q-calendar--dark .q-calendar-agenda__day-interval--section.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}

.q-calendar-day {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-day__head {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: row;
}
.q-calendar-day__head--intervals {
  flex: none;
  display: flex;
  vertical-align: bottom;
}
.q-calendar-day__head--days__column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-day__head--days__weekdays {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-day__head--days__event {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
}
.q-calendar-day__head--days__events {
  position: absolute;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  bottom: 0;
  left: 0;
  right: 0;
}
.q-calendar-day__head--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-day__head--day__event {
  position: relative;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  overflow: hidden;
}
.q-calendar-day__head--weekday, .q-calendar-day__head--date, .q-calendar-day__column-header--before, .q-calendar-day__column-header--after {
  display: flex;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-day__head--weekday, .q-calendar-day__head--date {
  margin: 2px;
  flex: 1 0 0;
}
.q-calendar-day__head--day__label {
  -webkit-user-select: none;
          user-select: none;
  cursor: pointer;
}
.q-calendar-day__body {
  flex: 1 1 60%;
  overflow: hidden;
  display: flex;
  position: relative;
}
.q-calendar-day__scroll-area {
  overflow: auto;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
}
.q-calendar-day__pane {
  width: 100%;
  overflow: hidden;
  flex: none;
  display: flex;
  align-items: flex-start;
}
.q-calendar-day__day-container {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.q-calendar-day__intervals-column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-day__interval {
  text-align: left;
  outline: 0;
}
.q-calendar-day__interval--section {
  position: relative;
  text-align: left;
  outline: 0;
}
.q-calendar-day__interval--text {
  display: block;
  position: relative;
  top: -6px;
  font-size: 10px;
  width: 100%;
  text-align: center;
}
.q-calendar-day__day {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 0;
}
.q-calendar-day__day-interval {
  position: relative;
  outline: 0;
}
.q-calendar-day__day-interval--section {
  position: relative;
  outline: 0;
}

.q-calendar-day__intervals-column.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-day__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-day__head--intervals.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 3;
}

.q-calendar-day__head {
  border-bottom: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-day__interval, .q-calendar-day__interval--section {
  border-bottom: var(--calendar-background) 1px solid;
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-day__head--intervals {
  border-right: var(--calendar-border);
  min-width: var(--calendar-intervals-width);
  max-width: var(--calendar-intervals-width);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-day__head--day {
  font-weight: var(--calendar-head-font-weight);
  border-right: var(--calendar-border);
}
.q-calendar-day__head--day:last-child {
  border-right: none;
}
.q-calendar-day__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-day__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-day__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-day__head--day__event {
  border-right: var(--calendar-border);
}
.q-calendar-day__head--day__event:last-child {
  border-right: none;
}
.q-calendar-day__column-header--before {
  border-bottom: var(--calendar-border);
}
.q-calendar-day__column-header--after {
  border-top: var(--calendar-border);
}
.q-calendar-day__intervals-column {
  border-right: var(--calendar-border);
  min-width: var(--calendar-intervals-width);
  max-width: var(--calendar-intervals-width);
}
.q-calendar-day__day {
  border-right: var(--calendar-border);
}
.q-calendar-day__day:last-child {
  border-right: none !important;
}
.q-calendar-day__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-day__day-interval {
  width: 100%;
  border-top: var(--calendar-border);
}
.q-calendar-day__day-interval.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-day__day-interval.q-range-first, .q-calendar-day__day-interval.q-range-last, .q-calendar-day__day-interval.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-day__day-interval--section {
  border-top: var(--calendar-border-section);
}
.q-calendar-day__day-interval--section.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-day__day-interval--section.q-range-first, .q-calendar-day__day-interval--section.q-range-last, .q-calendar-day__day-interval--section.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-day__day-interval:first-child {
  border-top: none !important;
}
.q-calendar-day__day-interval:last-child {
  border-bottom: none !important;
}

.q-dark div .q-calendar-day__head,
.body--dark div .q-calendar-day__head,
.q-calendar--dark .q-calendar-day__head {
  border-bottom: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-day__interval, .q-dark div .q-calendar-day__interval--section,
.body--dark div .q-calendar-day__interval,
.body--dark div .q-calendar-day__interval--section,
.q-calendar--dark .q-calendar-day__interval,
.q-calendar--dark .q-calendar-day__interval--section {
  border-bottom: var(--calendar-background-dark) 1px solid;
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-day__head--intervals,
.body--dark div .q-calendar-day__head--intervals,
.q-calendar--dark .q-calendar-day__head--intervals {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-day__head--day,
.body--dark div .q-calendar-day__head--day,
.q-calendar--dark .q-calendar-day__head--day {
  border-right: var(--calendar-border-dark);
  font-weight: var(--calendar-head-font-weight);
}
.q-dark div .q-calendar-day__head--day:last-child,
.body--dark div .q-calendar-day__head--day:last-child,
.q-calendar--dark .q-calendar-day__head--day:last-child {
  border-right: none;
}
.q-dark div .q-calendar-day__head--day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-day__head--day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-day__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark);
}
.q-dark div .q-calendar-day__head--day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-day__head--day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-day__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-day__head--day__event,
.body--dark div .q-calendar-day__head--day__event,
.q-calendar--dark .q-calendar-day__head--day__event {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__head--day.q-disabled-day,
.body--dark div .q-calendar-day__head--day.q-disabled-day,
.q-calendar--dark .q-calendar-day__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-day__column-header--before,
.body--dark div .q-calendar-day__column-header--before,
.q-calendar--dark .q-calendar-day__column-header--before {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__column-header--after,
.body--dark div .q-calendar-day__column-header--after,
.q-calendar--dark .q-calendar-day__column-header--after {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__intervals-column,
.body--dark div .q-calendar-day__intervals-column,
.q-calendar--dark .q-calendar-day__intervals-column {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__day,
.body--dark div .q-calendar-day__day,
.q-calendar--dark .q-calendar-day__day {
  border-right: var --calendar-border-dark;
}
.q-dark div .q-calendar-day__day:last-child,
.body--dark div .q-calendar-day__day:last-child,
.q-calendar--dark .q-calendar-day__day:last-child {
  border-right: none !important;
}
.q-dark div .q-calendar-day__day.q-disabled-day,
.body--dark div .q-calendar-day__day.q-disabled-day,
.q-calendar--dark .q-calendar-day__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-dark div .q-calendar-day__day-interval,
.body--dark div .q-calendar-day__day-interval,
.q-calendar--dark .q-calendar-day__day-interval {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__day-interval.q-selected,
.body--dark div .q-calendar-day__day-interval.q-selected,
.q-calendar--dark .q-calendar-day__day-interval.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-day__day-interval.q-range-first, .q-dark div .q-calendar-day__day-interval.q-range-last, .q-dark div .q-calendar-day__day-interval.q-range,
.body--dark div .q-calendar-day__day-interval.q-range-first,
.body--dark div .q-calendar-day__day-interval.q-range-last,
.body--dark div .q-calendar-day__day-interval.q-range,
.q-calendar--dark .q-calendar-day__day-interval.q-range-first,
.q-calendar--dark .q-calendar-day__day-interval.q-range-last,
.q-calendar--dark .q-calendar-day__day-interval.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-day__day-interval:first-child,
.body--dark div .q-calendar-day__day-interval:first-child,
.q-calendar--dark .q-calendar-day__day-interval:first-child {
  border-top: none !important;
}
.q-dark div .q-calendar-day__day-interval:last-child,
.body--dark div .q-calendar-day__day-interval:last-child,
.q-calendar--dark .q-calendar-day__day-interval:last-child {
  border-bottom: none !important;
}
.q-dark div .q-calendar-day__day-interval--section,
.body--dark div .q-calendar-day__day-interval--section,
.q-calendar--dark .q-calendar-day__day-interval--section {
  border-top: var(--calendar-border-section-dark);
}
.q-dark div .q-calendar-day__day-interval--section.q-selected,
.body--dark div .q-calendar-day__day-interval--section.q-selected,
.q-calendar--dark .q-calendar-day__day-interval--section.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-day__day-interval--section.q-range-first, .q-dark div .q-calendar-day__day-interval--section.q-range-last, .q-dark div .q-calendar-day__day-interval--section.q-range,
.body--dark div .q-calendar-day__day-interval--section.q-range-first,
.body--dark div .q-calendar-day__day-interval--section.q-range-last,
.body--dark div .q-calendar-day__day-interval--section.q-range,
.q-calendar--dark .q-calendar-day__day-interval--section.q-range-first,
.q-calendar--dark .q-calendar-day__day-interval--section.q-range-last,
.q-calendar--dark .q-calendar-day__day-interval--section.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}

.q-calendar-task {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-task__head {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: column;
}
.q-calendar-task__head--tasks {
  position: relative;
  display: flex;
}
.q-calendar-task__head--days {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-task__head--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-task__title {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
}
.q-calendar-task__title--task {
  position: relative;
  display: flex;
}
.q-calendar-task__title--days {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-task__title--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-task__head--weekday, .q-calendar-task__head--date {
  display: flex;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  margin: 2px;
  flex: 1 0 0;
}
.q-calendar-task__container {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.q-calendar-task__body {
  position: relative;
  display: flex;
  flex: 1 1 60%;
  overflow: hidden;
}
.q-calendar-task__scroll-area {
  overflow: auto;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
}
.q-calendar-task__task {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
  width: 100%;
}
.q-calendar-task__task--section {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
  width: 100%;
}
.q-calendar-task__task--container {
  position: relative;
  min-height: 22px;
}
.q-calendar-task__task--item {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
}
.q-calendar-task__task--days-row {
  position: relative;
  display: flex;
  flex: none;
}
.q-calendar-task__task--day {
  display: flex;
  justify-content: center;
  align-items: center;
}
.q-calendar-task__footer {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: column;
}
.q-calendar-task__footer--wrapper {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
}
.q-calendar-task__footer--task, .q-calendar-task__footer--day-wrapper {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
}

.q-calendar-task__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-task__head--tasks.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-task__title--task.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-task__task--container.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-task__task--item.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-task__footer.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  bottom: 0;
  z-index: 1;
}

.q-calendar-task__footer--task.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  bottom: 0;
  z-index: 2;
}

.q-calendar-task__footer--day.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 2;
}

.q-calendar-task__head {
  color: var(--calendar-color);
  background: var(--calendar-background);
  border-bottom: var(--calendar-border);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-task__head--tasks {
  color: var(--calendar-color);
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__head--day {
  border-right: var(--calendar-border);
}
.q-calendar-task__head--day:last-child {
  border-right: none;
}
.q-calendar-task__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-task__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-task__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-task__title {
  color: var(--calendar-color);
  background: var(--calendar-background);
  border-top: var(--calendar-border);
}
.q-calendar-task__title--task {
  color: var(--calendar-color);
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__title--day {
  border-right: var(--calendar-border);
}
.q-calendar-task__title--day:last-child {
  border-right: none;
}
.q-calendar-task__title--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-task__task {
  border-bottom: var(--calendar-border);
}
.q-calendar-task__task:last-child {
  border-bottom: none !important;
}
.q-calendar-task__task--section {
  border-bottom: var(--calendar-border-section);
}
.q-calendar-task__task--item {
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__task--day {
  border-right: var(--calendar-border);
}
.q-calendar-task__task--day:last-child {
  border-right: none;
}
.q-calendar-task__footer {
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-task__footer--wrapper {
  border-top: var(--calendar-border);
}
.q-calendar-task__footer--task {
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__footer--day {
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__footer--day:last-child {
  border-right: none;
}

.q-dark div .q-calendar-task__head,
.body--dark div .q-calendar-task__head,
.q-calendar--dark .q-calendar-task__head {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__head--tasks,
.body--dark div .q-calendar-task__head--tasks,
.q-calendar--dark .q-calendar-task__head--tasks {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__head--day,
.body--dark div .q-calendar-task__head--day,
.q-calendar--dark .q-calendar-task__head--day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__head--day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-task__head--day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-task__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark);
}
.q-dark div .q-calendar-task__head--day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-task__head--day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-task__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-task__head--day.q-disabled-day,
.body--dark div .q-calendar-task__head--day.q-disabled-day,
.q-calendar--dark .q-calendar-task__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-task__title,
.body--dark div .q-calendar-task__title,
.q-calendar--dark .q-calendar-task__title {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__title--task,
.body--dark div .q-calendar-task__title--task,
.q-calendar--dark .q-calendar-task__title--task {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__title--day,
.body--dark div .q-calendar-task__title--day,
.q-calendar--dark .q-calendar-task__title--day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__title--day.q-disabled-day,
.body--dark div .q-calendar-task__title--day.q-disabled-day,
.q-calendar--dark .q-calendar-task__title--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-task__task,
.body--dark div .q-calendar-task__task,
.q-calendar--dark .q-calendar-task__task {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__task--section,
.body--dark div .q-calendar-task__task--section,
.q-calendar--dark .q-calendar-task__task--section {
  border-bottom: var(--calendar-border-section-dark);
}
.q-dark div .q-calendar-task__task--item,
.body--dark div .q-calendar-task__task--item,
.q-calendar--dark .q-calendar-task__task--item {
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__task--day,
.body--dark div .q-calendar-task__task--day,
.q-calendar--dark .q-calendar-task__task--day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__footer--wrapper,
.body--dark div .q-calendar-task__footer--wrapper,
.q-calendar--dark .q-calendar-task__footer--wrapper {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__footer--task,
.body--dark div .q-calendar-task__footer--task,
.q-calendar--dark .q-calendar-task__footer--task {
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__footer--day,
.body--dark div .q-calendar-task__footer--day,
.q-calendar--dark .q-calendar-task__footer--day {
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}

.q-calendar-month {
  display: flex;
  flex: 1 0 100%;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
}
.q-calendar-month__head {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
}
.q-calendar-month__head--wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
}
.q-calendar-month__head--workweek {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  -webkit-user-select: none;
          user-select: none;
  padding: 0;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
}
.q-calendar-month__head--weekdays {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-month__head--events {
  position: relative;
  display: flex;
  flex: 1 1 100%;
  flex-direction: row;
  flex-wrap: nowrap;
}
.q-calendar-month__head--weekday {
  position: relative;
  display: flex;
  flex: 1 0 100%;
  flex-direction: column;
  justify-content: flex-start;
  height: auto;
  overflow: hidden;
  -webkit-user-select: none;
          user-select: none;
  outline: 0;
}
.q-calendar-month__body {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.q-calendar-month__week {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  flex: 10000 1 0%;
}
.q-calendar-month__week--wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow: hidden;
  min-width: 100%;
  transition: height 0.3s;
}
.q-calendar-month__week--auto-height {
  flex: 1 1 auto;
}
.q-calendar-month__week--days {
  position: relative;
  height: auto;
  display: flex;
  flex: 1 0 auto;
  flex-wrap: nowrap;
  padding: 0;
}
.q-calendar-month__week--events {
  position: absolute;
  margin-top: 28px;
  width: 100%;
  overflow: hidden;
}
.q-calendar-month__workweek {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  -webkit-user-select: none;
          user-select: none;
  padding: 0;
  align-items: center;
}
.q-calendar-month__day {
  position: relative;
  display: flex;
  flex: 1 0 100%;
  flex-direction: column;
  height: auto;
  overflow: hidden;
  -webkit-user-select: none;
          user-select: none;
  outline: 0;
}
.q-calendar-month__day--content {
  position: relative;
  width: 100%;
  height: auto;
  flex: 1 0 auto;
  flex-direction: column;
  min-width: 100%;
}
.q-calendar-month__day--label {
  text-decoration: none;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-month__day--label__wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  min-width: 100%;
  min-height: 22px;
}
.q-calendar-month__day--month {
  position: relative;
  text-decoration: none;
  -webkit-user-select: none;
          user-select: none;
  padding: 1px;
  font-size: 0.75em;
  line-height: 22px;
  transition: font-size 0.3s;
}
.q-calendar-month__day--day-of-year {
  position: relative;
  text-decoration: none;
  -webkit-user-select: none;
          user-select: none;
  box-shadow: none;
  font-size: 0.6rem;
  padding: 1px;
}

.q-calendar-month__head {
  border-bottom: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-month__head--workweek {
  font-size: var(--calendar-work-week-font-size);
  border-right: var(--calendar-border);
  max-width: var(--calendar-work-week-width);
  min-width: var(--calendar-work-week-width);
}
.q-calendar-month__head--weekday {
  border-right: var(--calendar-border);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-month__head--weekday:last-child {
  border-right: none !important;
}
.q-calendar-month__head--event {
  border-right: var(--calendar-border);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-month__head--event:last-child {
  border-right: none !important;
}
.q-calendar-month__head--event.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-month__workweek {
  font-size: var(--calendar-work-week-font-size);
  border-right: var(--calendar-border);
  max-width: var(--calendar-work-week-width);
  min-width: var(--calendar-work-week-width);
}
.q-calendar-month__workweek.q-current-day {
  color: var(--calendar-current-color);
}
.q-calendar-month__week--wrapper {
  border-bottom: var(--calendar-border);
}
.q-calendar-month__week--wrapper:last-child {
  border-bottom: none !important;
}
.q-calendar-month__day {
  border-right: var(--calendar-border);
}
.q-calendar-month__day:last-child {
  border-right: none !important;
}
.q-calendar-month__day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-month__day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-month__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-month__day.q-outside {
  color: var(--calendar-outside-color) !important;
  background: var(--calendar-outside-background);
}
.q-calendar-month__day.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-month__day.q-selected .q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark) !important;
}
.q-calendar-month__day.q-range-first, .q-calendar-month__day.q-range-last, .q-calendar-month__day.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-month__day.q-range-first .q-current-day .q-calendar__button, .q-calendar-month__day.q-range-last .q-current-day .q-calendar__button, .q-calendar-month__day.q-range .q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark) !important;
}

.q-dark div .q-calendar-month__head,
.body--dark div .q-calendar-month__head,
.q-calendar--dark .q-calendar-month__head {
  border-bottom: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-month__head--workweek,
.body--dark div .q-calendar-month__head--workweek,
.q-calendar--dark .q-calendar-month__head--workweek {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__head--weekday,
.body--dark div .q-calendar-month__head--weekday,
.q-calendar--dark .q-calendar-month__head--weekday {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__head--weekday:last-child,
.body--dark div .q-calendar-month__head--weekday:last-child,
.q-calendar--dark .q-calendar-month__head--weekday:last-child {
  border-right: none !important;
}
.q-dark div .q-calendar-month__head--weekday.q-disabled-day,
.body--dark div .q-calendar-month__head--weekday.q-disabled-day,
.q-calendar--dark .q-calendar-month__head--weekday.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-month__workweek,
.body--dark div .q-calendar-month__workweek,
.q-calendar--dark .q-calendar-month__workweek {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__workweek.q-current-day,
.body--dark div .q-calendar-month__workweek.q-current-day,
.q-calendar--dark .q-calendar-month__workweek.q-current-day {
  color: var(--calendar-current-color-dark);
}
.q-dark div .q-calendar-month__week--wrapper,
.body--dark div .q-calendar-month__week--wrapper,
.q-calendar--dark .q-calendar-month__week--wrapper {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__week--wrapper:last-child,
.body--dark div .q-calendar-month__week--wrapper:last-child,
.q-calendar--dark .q-calendar-month__week--wrapper:last-child {
  border-bottom: none !important;
}
.q-dark div .q-calendar-month__day,
.body--dark div .q-calendar-month__day,
.q-calendar--dark .q-calendar-month__day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__day:last-child,
.body--dark div .q-calendar-month__day:last-child,
.q-calendar--dark .q-calendar-month__day:last-child {
  border-right: none !important;
}
.q-dark div .q-calendar-month__day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-month__day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark) !important;
}
.q-dark div .q-calendar-month__day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-month__day.q-current-day,
.body--dark div .q-calendar-month__day.q-current-day,
.q-calendar--dark .q-calendar-month__day.q-current-day {
  color: var(--calendar-current-color-dark) !important;
  background: var(--calendar-current-background-dark);
}
.q-dark div .q-calendar-month__day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark) !important;
  background: var(--calendar-current-background-dark);
}
.q-dark div .q-calendar-month__day.q-disabled-day,
.body--dark div .q-calendar-month__day.q-disabled-day,
.q-calendar--dark .q-calendar-month__day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-month__day.q-outside,
.body--dark div .q-calendar-month__day.q-outside,
.q-calendar--dark .q-calendar-month__day.q-outside {
  color: var(--calendar-outside-color-dark) !important;
  background: var(--calendar-outside-background-dark);
}
.q-dark div .q-calendar-month__day.q-selected,
.body--dark div .q-calendar-month__day.q-selected,
.q-calendar--dark .q-calendar-month__day.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-month__day.q-selected .q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-selected .q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-selected .q-current-day .q-calendar__button {
  border: var(--calendar-border-current) !important;
}
.q-dark div .q-calendar-month__day.q-range-first, .q-dark div .q-calendar-month__day.q-range-last, .q-dark div .q-calendar-month__day.q-range,
.body--dark div .q-calendar-month__day.q-range-first,
.body--dark div .q-calendar-month__day.q-range-last,
.body--dark div .q-calendar-month__day.q-range,
.q-calendar--dark .q-calendar-month__day.q-range-first,
.q-calendar--dark .q-calendar-month__day.q-range-last,
.q-calendar--dark .q-calendar-month__day.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-month__day.q-range-first .q-current-day .q-calendar__button, .q-dark div .q-calendar-month__day.q-range-last .q-current-day .q-calendar__button, .q-dark div .q-calendar-month__day.q-range .q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-range-first .q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-range-last .q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-range .q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-range-first .q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-range-last .q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-range .q-current-day .q-calendar__button {
  border: var(--calendar-border-current) !important;
}

.q-day-event:first-child {
  margin-top: 0em;
}

.q-calendar-resource {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-resource__head--intervals {
  display: flex;
  flex-direction: row;
}
.q-calendar-resource__head {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: row;
}
.q-calendar-resource__head--intervals {
  display: flex;
  flex-direction: row;
}
.q-calendar-resource__head--interval {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: 10px;
  -webkit-user-select: none;
          user-select: none;
  width: 100%;
  height: 100%;
}
.q-calendar-resource__body {
  position: relative;
  display: flex;
  flex: 1 1 60%;
  flex-direction: column;
  overflow: hidden;
}
.q-calendar-resource__scroll-area {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
  overflow: auto;
}
.q-calendar-resource__day--container {
  position: relative;
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  flex-direction: column;
}
.q-calendar-resource__resource--head {
  display: flex;
  flex-direction: row;
  flex: 1;
  position: relative;
  font-size: 10px;
}
.q-calendar-resource__resources--body {
  display: flex;
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
}
.q-calendar-resource__resource--row {
  display: flex;
  position: relative;
  flex-direction: row;
  flex-wrap: nowrap;
  flex: 1;
}
.q-calendar-resource__resource {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-resource__resource--interval {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-resource__resource--section {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-resource__resource--text {
  display: flex;
  position: relative;
  font-size: 12px;
  align-items: center;
  flex-wrap: wrap;
  padding: 2px;
}
.q-calendar-resource__resource--intervals {
  display: flex;
  position: relative;
}

.q-calendar-resource__resource.q-calendar__sticky,
.q-calendar-resource__resource--section.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-resource__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-resource__head--resources.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 10;
}

.q-calendar-resource__head {
  color: var(--calendar-color);
  background: var(--calendar-background);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-resource__head--resources {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-resource__head--resources:last-child {
  border-bottom: none;
}
.q-calendar-resource__head--interval {
  border-right: var(--calendar-border);
}
.q-calendar-resource__head--interval:last-child {
  border-right: none;
}
.q-calendar-resource__resource {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-resource__resource:last-child {
  border-right: none;
}
.q-calendar-resource__resource--row {
  border-top: var(--calendar-border);
}
.q-calendar-resource__resource--row:first-child {
  border-top: none;
}
.q-calendar-resource__resource--section {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-resource__resource--interval {
  border-right: var(--calendar-border);
}
.q-calendar-resource__resource--interval:last-child {
  border-right: none;
}
.q-calendar-resource .q-calendar__child--expanded > .q-calendar-resource__resource--row {
  border-top: var(--calendar-border) !important;
}

.q-dark div .q-calendar-resource__head,
.body--dark div .q-calendar-resource__head,
.q-calendar--dark .q-calendar-resource__head {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-resource__head--resources,
.body--dark div .q-calendar-resource__head--resources,
.q-calendar--dark .q-calendar-resource__head--resources {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-resource__head--interval,
.body--dark div .q-calendar-resource__head--interval,
.q-calendar--dark .q-calendar-resource__head--interval {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-resource__resource,
.body--dark div .q-calendar-resource__resource,
.q-calendar--dark .q-calendar-resource__resource {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-resource__resource--row,
.body--dark div .q-calendar-resource__resource--row,
.q-calendar--dark .q-calendar-resource__resource--row {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-resource__resource--section,
.body--dark div .q-calendar-resource__resource--section,
.q-calendar--dark .q-calendar-resource__resource--section {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-resource__resource--interval,
.body--dark div .q-calendar-resource__resource--interval,
.q-calendar--dark .q-calendar-resource__resource--interval {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-resource .q-calendar__child--expanded > .q-calendar-resource__resource--row,
.body--dark div .q-calendar-resource .q-calendar__child--expanded > .q-calendar-resource__resource--row,
.q-calendar--dark .q-calendar-resource .q-calendar__child--expanded > .q-calendar-resource__resource--row {
  border-top: var(--calendar-border-dark) !important;
}

.q-calendar-scheduler {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-scheduler__head {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: row;
}
.q-calendar-scheduler__head--resources {
  display: flex;
  flex-direction: row;
}
.q-calendar-scheduler__head--days__body {
  position: relative;
  display: flex;
  flex-direction: row;
  flex: 10000 1 0%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-scheduler__head--days__column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-scheduler__head--days__weekdays {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-scheduler__head--days__event {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
}
.q-calendar-scheduler__head--days__events {
  position: absolute;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  bottom: 0;
  left: 0;
  right: 0;
}
.q-calendar-scheduler__head--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-scheduler__head--day__event {
  position: relative;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  overflow: hidden;
}
.q-calendar-scheduler__head--weekday, .q-calendar-scheduler__head--date, .q-calendar-scheduler__column-header--before, .q-calendar-scheduler__column-header--after {
  display: flex;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-scheduler__head--weekday, .q-calendar-scheduler__head--date {
  margin: 2px;
  flex: 1 0 0;
}
.q-calendar-scheduler__head--day__label {
  -webkit-user-select: none;
          user-select: none;
  cursor: pointer;
}
.q-calendar-scheduler__body {
  flex: 1 1 60%;
  overflow: hidden;
  display: flex;
  position: relative;
}
.q-calendar-scheduler__scroll-area {
  overflow: auto;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
}
.q-calendar-scheduler__pane {
  width: 100%;
  overflow: hidden;
  flex: none;
  display: flex;
  align-items: flex-start;
}
.q-calendar-scheduler__day--container {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.q-calendar-scheduler__resources--column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-scheduler__resource {
  position: relative;
  display: flex;
  align-items: center;
  outline: 0;
}
.q-calendar-scheduler__resource--interval {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-scheduler__resource--section {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-scheduler__resource--text {
  position: relative;
  display: block;
  font-size: 12px;
  text-align: left;
  margin-left: 2px;
}
.q-calendar-scheduler__resource--row {
  position: relative;
  display: flex;
  flex: 1 0 100%;
}
.q-calendar-scheduler__resource--days {
  flex: 1 1 60%;
  overflow: hidden;
  display: flex;
  position: relative;
}
.q-calendar-scheduler__day {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  outline: 0;
}
.q-calendar-scheduler__day--section {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  outline: 0;
}
.q-calendar-scheduler__day--resource {
  position: relative;
  width: 100%;
  outline: 0;
  overflow: hidden;
}
.q-calendar-scheduler__day--resource__section {
  position: relative;
  width: 100%;
  outline: 0;
  overflow: hidden;
}

.q-calendar-scheduler__resource.q-calendar__sticky,
.q-calendar-scheduler__resource--section.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-scheduler__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-scheduler__head--resources.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 3;
}

.q-calendar-scheduler__head {
  border-bottom: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-scheduler__head--resources {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-scheduler__resource {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var --calendar-resources-width;
}
.q-calendar-scheduler__resource--section {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-scheduler__head--day {
  border-right: var(--calendar-border);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-scheduler__head--day:last-child {
  border-right: none;
}
.q-calendar-scheduler__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-scheduler__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-scheduler__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-scheduler__head--day__event {
  border-right: var(--calendar-border);
}
.q-calendar-scheduler__head--day__event:last-child {
  border-right: none;
}
.q-calendar-scheduler__column-header--before {
  border-bottom: var(--calendar-border);
}
.q-calendar-scheduler__column-header--after {
  border-top: var(--calendar-border);
}
.q-calendar-scheduler__resources--column {
  border-right: var(--calendar-border);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-scheduler__resource--row {
  border-top: var(--calendar-border);
}
.q-calendar-scheduler__resource--row:first-child {
  border-top: none !important;
}
.q-calendar-scheduler__day, .q-calendar-scheduler__day--section {
  border-right: var(--calendar-border);
}
.q-calendar-scheduler__day:last-child, .q-calendar-scheduler__day--section:last-child {
  border-right: none;
}
.q-calendar-scheduler__day.q-disabled-day, .q-calendar-scheduler__day--section.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-scheduler__day--resource {
  border-top: var(--calendar-border);
}
.q-calendar-scheduler__day--resource.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-scheduler__day--resource.q-range-first, .q-calendar-scheduler__day--resource.q-range-last, .q-calendar-scheduler__day--resource.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-scheduler__day--resource__section {
  border-top: var(--calendar-border-section);
}
.q-calendar-scheduler__day--resource__section.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-scheduler__day--resource__section.q-range-first, .q-calendar-scheduler__day--resource__section.q-range-last, .q-calendar-scheduler__day--resource__section.q-range {
  color: var(--calendar-range-color);
  background: var --calendar-range-background;
}
.q-calendar-scheduler__day--resource__section:first-child {
  border-top: none !important;
}
.q-calendar-scheduler__day--resource__section:last-child {
  border-bottom: none !important;
}
.q-calendar-scheduler .q-calendar__child--expanded > .q-calendar-scheduler__resource--row {
  border-top: var(--calendar-border) !important;
}

.q-dark div .q-calendar-scheduler__head,
.body--dark div .q-calendar-scheduler__head,
.q-calendar--dark .q-calendar-scheduler__head {
  border-bottom: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-scheduler__resource,
.body--dark div .q-calendar-scheduler__resource,
.q-calendar--dark .q-calendar-scheduler__resource {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-scheduler__resource--section,
.body--dark div .q-calendar-scheduler__resource--section,
.q-calendar--dark .q-calendar-scheduler__resource--section {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-scheduler__head--resources,
.body--dark div .q-calendar-scheduler__head--resources,
.q-calendar--dark .q-calendar-scheduler__head--resources {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-scheduler__head--day,
.body--dark div .q-calendar-scheduler__head--day,
.q-calendar--dark .q-calendar-scheduler__head--day {
  border-right: var(--calendar-border-dark);
  font-weight: var(--calendar-head-font-weight);
}
.q-dark div .q-calendar-scheduler__head--day:last-child,
.body--dark div .q-calendar-scheduler__head--day:last-child,
.q-calendar--dark .q-calendar-scheduler__head--day:last-child {
  border-right: none;
}
.q-dark div .q-calendar-scheduler__head--day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-scheduler__head--day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-scheduler__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark);
}
.q-dark div .q-calendar-scheduler__head--day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-scheduler__head--day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-scheduler__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-scheduler__head--day__event,
.body--dark div .q-calendar-scheduler__head--day__event,
.q-calendar--dark .q-calendar-scheduler__head--day__event {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__head--day.q-disabled-day,
.body--dark div .q-calendar-scheduler__head--day.q-disabled-day,
.q-calendar--dark .q-calendar-scheduler__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-scheduler__column-header--before,
.body--dark div .q-calendar-scheduler__column-header--before,
.q-calendar--dark .q-calendar-scheduler__column-header--before {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__column-header--after,
.body--dark div .q-calendar-scheduler__column-header--after,
.q-calendar--dark .q-calendar-scheduler__column-header--after {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__resources--column,
.body--dark div .q-calendar-scheduler__resources--column,
.q-calendar--dark .q-calendar-scheduler__resources--column {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__resource--row,
.body--dark div .q-calendar-scheduler__resource--row,
.q-calendar--dark .q-calendar-scheduler__resource--row {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__day, .q-dark div .q-calendar-scheduler__day--section,
.body--dark div .q-calendar-scheduler__day,
.body--dark div .q-calendar-scheduler__day--section,
.q-calendar--dark .q-calendar-scheduler__day,
.q-calendar--dark .q-calendar-scheduler__day--section {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__day:last-child, .q-dark div .q-calendar-scheduler__day--section:last-child,
.body--dark div .q-calendar-scheduler__day:last-child,
.body--dark div .q-calendar-scheduler__day--section:last-child,
.q-calendar--dark .q-calendar-scheduler__day:last-child,
.q-calendar--dark .q-calendar-scheduler__day--section:last-child {
  border-right: none;
}
.q-dark div .q-calendar-scheduler__day.q-disabled-day, .q-dark div .q-calendar-scheduler__day--section.q-disabled-day,
.body--dark div .q-calendar-scheduler__day.q-disabled-day,
.body--dark div .q-calendar-scheduler__day--section.q-disabled-day,
.q-calendar--dark .q-calendar-scheduler__day.q-disabled-day,
.q-calendar--dark .q-calendar-scheduler__day--section.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-dark div .q-calendar-scheduler__day--resource,
.body--dark div .q-calendar-scheduler__day--resource,
.q-calendar--dark .q-calendar-scheduler__day--resource {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-selected,
.body--dark div .q-calendar-scheduler__day--resource.q-selected,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first, .q-dark div .q-calendar-scheduler__day--resource.q-range-last, .q-dark div .q-calendar-scheduler__day--resource.q-range,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last,
.body--dark div .q-calendar-scheduler__day--resource.q-range,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first:first-child, .q-dark div .q-calendar-scheduler__day--resource.q-range-last:first-child, .q-dark div .q-calendar-scheduler__day--resource.q-range:first-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first:first-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last:first-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range:first-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first:first-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last:first-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range:first-child {
  border-top: none !important;
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first:last-child, .q-dark div .q-calendar-scheduler__day--resource.q-range-last:last-child, .q-dark div .q-calendar-scheduler__day--resource.q-range:last-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first:last-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last:last-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range:last-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first:last-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last:last-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range:last-child {
  border-bottom: none !important;
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first__section, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section, .q-dark div .q-calendar-scheduler__day--resource.q-range__section,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section {
  border-top: var(--calendar-border-section-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-selected, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-selected, .q-dark div .q-calendar-scheduler__day--resource.q-range__section.q-selected,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-selected,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-selected,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section.q-selected,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section.q-selected,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section.q-selected,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range-first, .q-dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range-last, .q-dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range-first, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range-last, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range, .q-dark div .q-calendar-scheduler__day--resource.q-range__section.q-range-first, .q-dark div .q-calendar-scheduler__day--resource.q-range__section.q-range-last, .q-dark div .q-calendar-scheduler__day--resource.q-range__section.q-range,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range-first,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range-last,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range-first,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range-last,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section.q-range-first,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section.q-range-last,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section.q-range,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section.q-range-first,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section.q-range-last,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section.q-range,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section.q-range-first,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section.q-range-last,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section.q-range,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section.q-range-first,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section.q-range-last,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-scheduler .q-calendar__child--expanded > .q-calendar-scheduler__resource--row,
.body--dark div .q-calendar-scheduler .q-calendar__child--expanded > .q-calendar-scheduler__resource--row,
.q-calendar--dark .q-calendar-scheduler .q-calendar__child--expanded > .q-calendar-scheduler__resource--row {
  border-top: var(--calendar-border-dark) !important;
}
/* Overlay */
.global-loader-overlay[data-v-a19408c9] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 18, 0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* Card */
.global-loader-container[data-v-a19408c9] {
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  padding: 2rem 2.5rem 1.75rem;
  text-align: center;
  min-width: 200px;
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.1),
    0 24px 56px rgba(46, 125, 50, 0.14);
}

/* Top accent bar (matches login card) */
.accent-bar[data-v-a19408c9] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #1b5e20 0%, #43a047 50%, #81c784 100%);
  margin: -2rem -2.5rem 0;
}

/* SVG spinner */
.spinner-wrap[data-v-a19408c9] {
  display: flex;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.spinner-svg[data-v-a19408c9] {
  width: 52px;
  height: 52px;
  animation: spin-a19408c9 1.6s linear infinite;
}
.spinner-track[data-v-a19408c9] {
  fill: none;
  stroke: #e8f5e9;
  stroke-width: 4;
}
.spinner-arc[data-v-a19408c9] {
  fill: none;
  stroke: url(#spinnerGrad);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 138;
  stroke-dashoffset: 104;
  animation: arc-dash-a19408c9 1.6s ease-in-out infinite;
}
@keyframes spin-a19408c9 {
to { transform: rotate(360deg);
}
}
@keyframes arc-dash-a19408c9 {
0%   { stroke-dashoffset: 115;
}
50%  { stroke-dashoffset: 28;
}
100% { stroke-dashoffset: 115;
}
}

/* Message */
.loading-message[data-v-a19408c9] {
  color: #444;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.3px;
}

/* Fade transition */
.fade-enter-active[data-v-a19408c9],
.fade-leave-active[data-v-a19408c9] {
  transition: opacity 0.2s ease;
}
.fade-enter-from[data-v-a19408c9],
.fade-leave-to[data-v-a19408c9] {
  opacity: 0;
}

/* ─── Dark Mode ─── */
.body--dark .global-loader-overlay[data-v-a19408c9] {
  background: rgba(0, 0, 0, 0.6);
}
.body--dark .global-loader-container[data-v-a19408c9] {
  background: #232527;
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.3),
    0 8px 24px rgba(0, 0, 0, 0.5),
    0 24px 56px rgba(0, 0, 0, 0.4);
}
.body--dark .spinner-track[data-v-a19408c9] {
  stroke: rgba(46, 125, 50, 0.2);
}
.body--dark .loading-message[data-v-a19408c9] {
  color: #94a3b8;
}

/* ─── Root ─── */
.ask-hybrid-chat[data-v-19ed9054] {
  --assistant-content-width: min(1040px, calc(100vw - 48px));
  --assistant-readable-width: min(920px, 100%);
  --assistant-edge-padding: clamp(18px, 3vw, 42px);
  --assistant-section-gap: clamp(18px, 2.6vw, 30px);
  min-height: 420px;
  height: 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ─── Layout grid ─── */
.chat-layout[data-v-19ed9054] {
  height: 100%;
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  overflow: hidden;
  background: #fff;
  position: relative;
  min-width: 0;
  max-width: 100%;
}
.chat-layout.full-page-mode[data-v-19ed9054] {
  min-height: 0;
  height: 100%;
}
.chat-layout.sidebar-collapsed[data-v-19ed9054] {
  grid-template-columns: 64px minmax(0, 1fr);
}

/* ─── Mobile overlay ─── */
.sidebar-backdrop[data-v-19ed9054] {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.18);
  z-index: 10;
}

/* ─── Sidebar ─── */
.chat-sidebar[data-v-19ed9054] {
  background: #f9f9f9;
  color: #0d0d0d;
  border-right: 1px solid #e5e5e5;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  z-index: 12;
  transition: width 0.25s ease, transform 0.25s ease;
}
.chat-sidebar.collapsed[data-v-19ed9054] {
  width: 64px;
}
.sidebar-top[data-v-19ed9054] {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  min-width: 0;
}
.sidebar-brand[data-v-19ed9054] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}
.brand-mark[data-v-19ed9054] {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: linear-gradient(135deg, #2e7d32, #1565c0);
  display: grid;
  place-items: center;
  color: #fff;
  flex-shrink: 0;
}
.brand-name[data-v-19ed9054] {
  font-size: 14.5px;
  font-weight: 700;
  color: #0d0d0d;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.new-chat-icon-btn[data-v-19ed9054] {
  color: #0d0d0d;
  flex-shrink: 0;
}
.new-chat-icon-btn[data-v-19ed9054]:hover {
  background: #ececec;
}
.sidebar-history[data-v-19ed9054] {
  flex: 1;
  min-width: 0;
  overflow-x: hidden;
}
.history-list[data-v-19ed9054] {
  padding: 10px 12px 14px;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}
.history-label[data-v-19ed9054] {
  font-size: 11px;
  font-weight: 600;
  color: rgba(13, 13, 13, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 6px 10px 8px;
  margin: 0;
}
.history-item[data-v-19ed9054] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  text-align: left;
  background: transparent;
  border: none;
  color: #0d0d0d;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 5px;
  cursor: pointer;
  display: block;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background 0.15s ease;
  font-family: inherit;
}
.chat-sidebar.collapsed .history-item[data-v-19ed9054] {
  display: grid;
  place-items: center;
  padding: 12px 0;
}
.history-item[data-v-19ed9054]:hover {
  background: #ececec;
}
.history-item.active[data-v-19ed9054] {
  background: #e3e3e3;
  font-weight: 600;
}
.history-item[data-v-19ed9054]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.history-title[data-v-19ed9054] {
  display: block;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-bottom[data-v-19ed9054] {
  padding: 12px;
  border-top: 1px solid #e5e5e5;
}
.sidebar-collapse-btn[data-v-19ed9054] {
  width: 100%;
  justify-content: flex-start;
  color: rgba(13, 13, 13, 0.6);
  font-size: 13px;
  border-radius: 8px;
}
.sidebar-collapse-btn[data-v-19ed9054]:hover {
  background: #ececec;
}

/* ─── Main area ─── */
.chat-main[data-v-19ed9054] {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}

/* ─── Header ─── */
.chat-header[data-v-19ed9054] {
  padding: 14px var(--assistant-edge-padding);
  border-bottom: 1px solid #e5e5e5;
  background: #fff;
  min-height: 64px;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.sidebar-toggle[data-v-19ed9054] {
  display: none;
  color: rgba(13, 13, 13, 0.7);
}
.header-center[data-v-19ed9054] {
  flex: 1;
  min-width: 0;
  justify-content: center;
}
.header-ai-icon[data-v-19ed9054] {
  color: #2e7d32;
}
.header-model-name[data-v-19ed9054] {
  font-size: 15px;
  font-weight: 700;
  color: #0d0d0d;
}
.status-chip[data-v-19ed9054] {
  font-size: 11px;
  font-weight: 600;
}
.header-icon-btn[data-v-19ed9054] {
  color: rgba(13, 13, 13, 0.7);
}
.header-icon-btn[data-v-19ed9054]:hover {
  background: #f4f4f4;
}

/* ─── Chat body ─── */
.chat-body[data-v-19ed9054] {
  min-height: 0;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.chat-body.empty[data-v-19ed9054] {
  justify-content: center;
  align-items: center;
  padding: 28px var(--assistant-edge-padding) 6vh;
}

/* ─── Empty / Landing ─── */
.empty-stage[data-v-19ed9054] {
  text-align: center;
  width: var(--assistant-content-width);
  min-width: 0;
}
.empty-logo[data-v-19ed9054] {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2e7d32, #1565c0);
  display: grid;
  place-items: center;
  margin: 0 auto 24px;
  color: #fff;
}
.empty-title[data-v-19ed9054] {
  margin: 0 0 34px;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  color: #0d0d0d;
}
.suggestions-grid[data-v-19ed9054] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 auto;
  max-width: 100%;
}
.suggestion-card[data-v-19ed9054] {
  min-width: 0;
  background: #f9f9f9;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  padding: 18px 16px;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 9px;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  font-family: inherit;
}
.suggestion-card[data-v-19ed9054]:hover {
  background: #ececec;
  border-color: #d0d0d0;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
.suggestion-icon[data-v-19ed9054] {
  color: #2e7d32;
  margin-bottom: 6px;
}
.suggestion-label[data-v-19ed9054] {
  font-size: 14px;
  font-weight: 700;
  color: #0d0d0d;
  line-height: 1.3;
}
.suggestion-desc[data-v-19ed9054] {
  font-size: 12.5px;
  color: rgba(13, 13, 13, 0.55);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─── Conversation area ─── */
.conversation-area[data-v-19ed9054] {
  background: #fff;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}
.conversation-content[data-v-19ed9054] {
  width: var(--assistant-readable-width);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  padding: 32px var(--assistant-edge-padding) 28px;
  overflow-x: hidden;
}
.message-stack[data-v-19ed9054] {
  display: flex;
  flex-direction: column;
  gap: 28px;
  min-width: 0;
  max-width: 100%;
}

/* ─── Messages ─── */
.message-row[data-v-19ed9054] {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
  max-width: 100%;
}
.user-row[data-v-19ed9054] {
  justify-content: flex-end;
}
.assistant-row[data-v-19ed9054] {
  justify-content: flex-start;
}
.assistant-avatar[data-v-19ed9054] {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #2e7d32, #1565c0);
  flex-shrink: 0;
  margin-top: 2px;
}
.chat-bubble[data-v-19ed9054] {
  max-width: min(88%, 780px);
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.full-page-mode .chat-bubble[data-v-19ed9054] {
  max-width: min(90%, 860px);
}
.user-bubble[data-v-19ed9054] {
  background: #f4f4f4;
  color: #0d0d0d;
  border-radius: 20px;
  padding: 13px 18px;
}
.assistant-bubble[data-v-19ed9054] {
  background: transparent;
  color: #0d0d0d;
  padding: 6px 0;
}

/* ─── Message tools row ─── */
.message-tools-row[data-v-19ed9054] {
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}
.message-mode-toggle[data-v-19ed9054] {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
  flex: 1 1 280px;
  min-width: 0;
  max-width: 100%;
  background: #f9f9f9;
}
.message-tools-actions[data-v-19ed9054] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  max-width: 100%;
  flex-wrap: wrap;
}
.tool-icon-btn[data-v-19ed9054] {
  color: rgba(13, 13, 13, 0.55);
}
.tool-icon-btn[data-v-19ed9054]:hover {
  background: #f4f4f4;
}
.copy-selected-btn[data-v-19ed9054] {
  color: #2e7d32;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
}

/* ─── Export menu ─── */
.export-menu[data-v-19ed9054] {
  min-width: 230px;
}

/* ─── Message text ─── */
.message-text[data-v-19ed9054] {
  font-size: 14.5px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.white-space-pre-wrap[data-v-19ed9054] {
  white-space: pre-wrap;
}

/* ─── Executive answer blocks ─── */
.executive-answer[data-v-19ed9054] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.answer-title[data-v-19ed9054] {
  font-size: 16px;
  font-weight: 800;
  color: #0d0d0d;
  line-height: 1.35;
}
.answer-metric[data-v-19ed9054] {
  border: 1px solid rgba(46, 125, 50, 0.18);
  background: rgba(46, 125, 50, 0.05);
  border-radius: 8px;
  padding: 12px 14px;
}
.answer-metric-label[data-v-19ed9054] {
  font-size: 11px;
  color: rgba(13, 13, 13, 0.55);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.answer-metric-value[data-v-19ed9054] {
  margin-top: 3px;
  font-size: 16px;
  color: #2e7d32;
  font-weight: 800;
  line-height: 1.35;
}
.answer-section[data-v-19ed9054] {
  border-left: 3px solid rgba(46, 125, 50, 0.35);
  padding-left: 14px;
}
.answer-section-title[data-v-19ed9054] {
  font-size: 12px;
  color: #2e7d32;
  font-weight: 800;
}
.answer-section-text[data-v-19ed9054],
.answer-paragraph[data-v-19ed9054],
.answer-list[data-v-19ed9054] {
  font-size: 14.5px;
  line-height: 1.72;
  color: rgba(13, 13, 13, 0.82);
}
.answer-list[data-v-19ed9054] {
  margin: 0;
  padding-left: 22px;
}
.answer-list li + li[data-v-19ed9054] {
  margin-top: 7px;
}
.answer-sources[data-v-19ed9054] {
  padding-top: 4px;
}
.answer-actions[data-v-19ed9054] {
  padding-top: 2px;
}
.answer-trust-panel[data-v-19ed9054] {
  margin-top: 14px;
  display: grid;
  gap: 10px;
  max-width: 100%;
  min-width: 0;
}
.filter-strip[data-v-19ed9054] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
}
.filter-pill[data-v-19ed9054] {
  min-width: 0;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  padding: 6px 10px;
  background: #fafafa;
  color: rgba(13, 13, 13, 0.68);
  font-size: 11px;
  line-height: 1.25;
}
.filter-pill strong[data-v-19ed9054] {
  color: rgba(13, 13, 13, 0.82);
}
.filter-pill span[data-v-19ed9054] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.match-section-grid[data-v-19ed9054] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  max-width: 100%;
  min-width: 0;
}
.match-section[data-v-19ed9054] {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 10px;
  min-width: 0;
  background: #fafafa;
}
.match-section.exact[data-v-19ed9054] {
  border-color: rgba(46, 125, 50, 0.3);
  background: rgba(46, 125, 50, 0.06);
}
.match-section-title[data-v-19ed9054] {
  font-size: 11px;
  font-weight: 800;
  color: rgba(13, 13, 13, 0.72);
  text-transform: uppercase;
}
.match-chip-row[data-v-19ed9054] {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}
.match-chip[data-v-19ed9054] {
  max-width: 100%;
  border-radius: 999px;
  padding: 4px 7px;
  background: #fff;
  border: 1px solid #e5e5e5;
  color: #0d0d0d;
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.feedback-row[data-v-19ed9054] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 14px;
}
.feedback-btn[data-v-19ed9054] {
  color: rgba(13, 13, 13, 0.55);
}
.source-records-btn[data-v-19ed9054] {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  color: #2e7d32;
  margin-left: 2px;
}
.source-records-card[data-v-19ed9054] {
  width: min(92vw, 760px);
  max-width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
}
.source-records-header[data-v-19ed9054] {
  padding: 14px 16px;
}
.source-records-title[data-v-19ed9054] {
  font-size: 15px;
  font-weight: 800;
  color: #0d0d0d;
}
.source-records-subtitle[data-v-19ed9054] {
  margin-top: 2px;
  font-size: 11px;
  color: rgba(13, 13, 13, 0.55);
}
.source-records-body[data-v-19ed9054] {
  min-height: 0;
  overflow: auto;
  padding: 12px;
}
.source-record-group-list[data-v-19ed9054] {
  display: grid;
  gap: 12px;
}
.source-record-group[data-v-19ed9054] {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.source-record-group-title[data-v-19ed9054] {
  padding: 10px 12px 4px;
  font-size: 13px;
  font-weight: 800;
  color: #0d0d0d;
}
.source-record-meta[data-v-19ed9054] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 12px 10px;
  font-size: 11px;
  color: rgba(13, 13, 13, 0.62);
}
.source-record-meta span[data-v-19ed9054] {
  border-radius: 999px;
  background: #f4f4f4;
  padding: 4px 7px;
}
.source-record-table[data-v-19ed9054] {
  max-width: 100%;
}
.source-record-table[data-v-19ed9054] .q-table {
  table-layout: fixed;
}
.source-record-table[data-v-19ed9054] th,
.source-record-table[data-v-19ed9054] td {
  white-space: normal;
  overflow-wrap: anywhere;
}
.source-record-json[data-v-19ed9054] {
  margin: 0 12px 12px;
  max-height: 320px;
  overflow: auto;
  border-radius: 8px;
  background: #f6f8fa;
  padding: 10px;
  font-size: 11px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* ─── Follow-up chips ─── */
.follow-up-prompts[data-v-19ed9054] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5e5e5;
}
.follow-up-chip[data-v-19ed9054] {
  background: #f4f4f4;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  padding: 8px 13px;
  font-size: 12px;
  color: #0d0d0d;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: background 0.15s ease;
  font-family: inherit;
}
.follow-up-chip[data-v-19ed9054]:hover {
  background: #ececec;
}

/* ─── Mode empties ─── */
.mode-empty[data-v-19ed9054] {
  border: 1px dashed #e5e5e5;
  border-radius: 10px;
  padding: 16px;
  color: rgba(13, 13, 13, 0.55);
  background: #f9f9f9;
  font-size: 13px;
}

/* ─── Actions ─── */
.action-grid[data-v-19ed9054] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  min-width: 0;
  max-width: 100%;
}
.action-tile[data-v-19ed9054] {
  min-height: 42px;
  border-radius: 8px;
}

/* ─── Sources ─── */
.source-list[data-v-19ed9054] {
  display: grid;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
}
.source-card[data-v-19ed9054] {
  width: 100%;
  min-width: 0;
  border: 1px solid #e5e5e5;
  background: #f9f9f9;
  border-radius: 8px;
  padding: 12px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease, border-color 0.15s ease;
  font-family: inherit;
}
.source-card[data-v-19ed9054]:hover {
  border-color: #d0d0d0;
  background: #ececec;
}
.source-card strong[data-v-19ed9054],
.source-card small[data-v-19ed9054] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.source-card small[data-v-19ed9054] {
  margin-top: 2px;
  color: rgba(13, 13, 13, 0.5);
  font-size: 11px;
}

/* ─── Table / chart cards ─── */
.table-card[data-v-19ed9054] {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
  max-width: 100%;
  min-width: 0;
}
.response-table[data-v-19ed9054] {
  font-size: 12px;
  max-width: 100%;
  min-width: 0;
}
.response-table[data-v-19ed9054] .q-table {
  background: #fff;
  width: 100%;
  table-layout: fixed;
}
.response-table[data-v-19ed9054] .q-table__container,
.response-table[data-v-19ed9054] .q-table__middle {
  max-width: 100%;
  overflow-x: hidden;
}
.response-table[data-v-19ed9054] th,
.response-table[data-v-19ed9054] td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.response-table[data-v-19ed9054] thead tr {
  background: rgba(46, 125, 50, 0.08);
}
.response-table[data-v-19ed9054] .q-table__bottom {
  display: none;
}
.response-chart[data-v-19ed9054] {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
  background: #fff;
}

/* ─── Stream cursor ─── */
.stream-cursor[data-v-19ed9054] {
  display: inline-block;
  margin-left: 1px;
  color: #2e7d32;
  animation: cursor-blink-19ed9054 0.9s steps(1) infinite;
  font-weight: 700;
}

/* ─── Timestamp ─── */
.message-time[data-v-19ed9054] {
  margin-top: 10px;
  font-size: 10px;
  color: rgba(13, 13, 13, 0.45);
}

/* ─── Typing indicator ─── */
.typing-wrap[data-v-19ed9054] {
  min-height: 24px;
}
.typing-text[data-v-19ed9054] {
  font-size: 12px;
  color: rgba(13, 13, 13, 0.65);
  font-weight: 600;
}
.typing-dot[data-v-19ed9054] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(13, 13, 13, 0.4);
  animation: typing-19ed9054 1.4s ease-in-out infinite both;
}
.typing-dot[data-v-19ed9054]:nth-child(2) { animation-delay: 0.2s;
}
.typing-dot[data-v-19ed9054]:nth-child(3) { animation-delay: 0.4s;
}

/* ─── Input area ─── */
.input-area[data-v-19ed9054] {
  padding: 16px var(--assistant-edge-padding) 10px;
  background: #fff;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  transition: all 0.22s ease;
}
.input-area.centered[data-v-19ed9054] {
  width: min(780px, 100%);
  margin: 38px auto 28px;
  padding: 0;
}
.input-box[data-v-19ed9054] {
  max-width: 100%;
  min-width: 0;
  border: 1px solid #d9d9e3;
  border-radius: 16px;
  padding: 12px 14px 10px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.input-box[data-v-19ed9054]:focus-within {
  border-color: #acacc0;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1);
}
.input-field[data-v-19ed9054] .q-field__control {
  min-height: 42px;
}
.input-field[data-v-19ed9054] .q-field__native {
  font-size: 14px;
  line-height: 1.5;
}
.input-actions-row[data-v-19ed9054] {
  display: flex;
  align-items: center;
  margin-top: 8px;
}
.input-icon-btn[data-v-19ed9054] {
  color: rgba(13, 13, 13, 0.5);
  position: relative;
  overflow: visible;
}
.input-icon-btn.listening[data-v-19ed9054] {
  color: #c62828;
}
.input-spacer[data-v-19ed9054] {
  flex: 1;
}
.send-btn[data-v-19ed9054] {
  background: #0d0d0d;
  color: #fff;
  width: 34px;
  height: 34px;
}
.send-btn[data-v-19ed9054]:hover {
  background: #2a2a2a;
}
.send-btn.disabled[data-v-19ed9054],
.send-btn[disabled][data-v-19ed9054] {
  background: #d4d4d4;
  color: #888;
}
.send-btn[data-v-19ed9054] .q-spinner {
  color: #fff;
}

/* ─── Voice listening ─── */
.voice-pulse[data-v-19ed9054] {
  position: absolute;
  inset: -5px;
  border-radius: 999px;
  border: 1px solid rgba(198, 40, 40, 0.42);
  pointer-events: none;
  animation: voice-pulse-19ed9054 1.6s ease-out infinite;
}
.voice-pulse-two[data-v-19ed9054] {
  animation-delay: 0.55s;
}
.voice-listening-row[data-v-19ed9054] {
  padding: 6px 0 0 4px;
  color: rgba(13, 13, 13, 0.55);
  font-size: 12px;
  min-height: 22px;
}
.voice-wave[data-v-19ed9054] {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 16px;
}
.voice-wave i[data-v-19ed9054] {
  width: 3px;
  height: 8px;
  border-radius: 999px;
  background: #c62828;
  animation: voice-wave-19ed9054 0.9s ease-in-out infinite;
}
.voice-wave i[data-v-19ed9054]:nth-child(2) { animation-delay: 0.12s;
}
.voice-wave i[data-v-19ed9054]:nth-child(3) { animation-delay: 0.24s;
}
.voice-wave i[data-v-19ed9054]:nth-child(4) { animation-delay: 0.36s;
}

/* ─── Input note ─── */
.input-note[data-v-19ed9054] {
  text-align: center;
  font-size: 11px;
  color: rgba(13, 13, 13, 0.42);
  margin: 6px 0 0;
}

/* ─── Transitions ─── */
.msg-in-enter-active[data-v-19ed9054] {
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.msg-in-enter-from[data-v-19ed9054] {
  opacity: 0;
  transform: translateY(8px);
}

/* ─── Animations ─── */
@keyframes cursor-blink-19ed9054 {
0%, 45% { opacity: 1;
}
46%, 100% { opacity: 0;
}
}
@keyframes typing-19ed9054 {
0%, 80%, 100% { transform: scale(0.6); opacity: 0.5;
}
40% { transform: scale(1); opacity: 1;
}
}
@keyframes voice-pulse-19ed9054 {
0% { opacity: 0.72; transform: scale(0.82);
}
100% { opacity: 0; transform: scale(1.45);
}
}
@keyframes voice-wave-19ed9054 {
0%, 100% { height: 6px; opacity: 0.55;
}
50% { height: 16px; opacity: 1;
}
}

/* ─── Responsive ─── */
@media (max-width: 1024px) {
.ask-hybrid-chat[data-v-19ed9054] {
    --assistant-content-width: min(100%, calc(100vw - 32px));
    --assistant-readable-width: min(100%, 860px);
    --assistant-edge-padding: 22px;
}
.chat-layout[data-v-19ed9054] {
    grid-template-columns: 1fr;
}
.chat-layout.sidebar-collapsed[data-v-19ed9054] {
    grid-template-columns: 1fr;
}
.chat-sidebar[data-v-19ed9054] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(86vw, 304px);
    transform: translateX(-105%);
    transition: transform 0.25s ease;
    box-shadow: 4px 0 18px rgba(0, 0, 0, 0.12);
}
.chat-sidebar.collapsed[data-v-19ed9054] {
    width: min(86vw, 304px);
}
.chat-sidebar.open[data-v-19ed9054] {
    transform: translateX(0);
}
.sidebar-toggle[data-v-19ed9054] {
    display: inline-flex;
}
.chat-body.empty[data-v-19ed9054] {
    padding: 28px var(--assistant-edge-padding) 8vh;
}
}
@media (max-width: 680px) {
.ask-hybrid-chat[data-v-19ed9054] {
    --assistant-edge-padding: 14px;
}
.chat-header[data-v-19ed9054] {
    padding: 10px 12px;
    min-height: 56px;
}
.header-model-name[data-v-19ed9054] {
    font-size: 13px;
}
.chat-body.empty[data-v-19ed9054] {
    justify-content: flex-start;
    padding-top: 28px;
}
.conversation-content[data-v-19ed9054] {
    padding: 20px var(--assistant-edge-padding) 22px;
}
.message-stack[data-v-19ed9054] {
    gap: 22px;
}
.empty-logo[data-v-19ed9054] {
    width: 58px;
    height: 58px;
    margin-bottom: 18px;
}
.suggestions-grid[data-v-19ed9054] {
    grid-template-columns: 1fr;
    gap: 10px;
}
.suggestion-card[data-v-19ed9054] {
    padding: 14px 14px;
}
.chat-bubble[data-v-19ed9054] {
    max-width: calc(100% - 4px);
}
.assistant-avatar[data-v-19ed9054] {
    width: 30px;
    height: 30px;
}
.message-row[data-v-19ed9054] {
    gap: 10px;
}
.empty-title[data-v-19ed9054] {
    font-size: 24px;
    margin-bottom: 22px;
}
.input-area[data-v-19ed9054] {
    padding: 12px var(--assistant-edge-padding) 8px;
}
.input-area.centered[data-v-19ed9054] {
    margin: 24px auto 16px;
}
.input-note[data-v-19ed9054] {
    font-size: 10px;
}
}

/* ─── Dark mode ─── */
.body--dark .chat-layout[data-v-19ed9054] { background: #212121;
}
.body--dark .chat-sidebar[data-v-19ed9054] {
  background: #171717;
  border-right-color: rgba(255, 255, 255, 0.08);
  color: #ececec;
}
.body--dark .brand-name[data-v-19ed9054] { color: #ececec;
}
.body--dark .new-chat-icon-btn[data-v-19ed9054] { color: #ececec;
}
.body--dark .new-chat-icon-btn[data-v-19ed9054]:hover { background: #2f2f2f;
}
.body--dark .history-label[data-v-19ed9054] { color: rgba(255, 255, 255, 0.4);
}
.body--dark .history-item[data-v-19ed9054] { color: #ececec;
}
.body--dark .history-item[data-v-19ed9054]:hover { background: #2f2f2f;
}
.body--dark .history-item.active[data-v-19ed9054] { background: #3a3a3a;
}
.body--dark .sidebar-bottom[data-v-19ed9054] { border-top-color: rgba(255, 255, 255, 0.08);
}
.body--dark .sidebar-collapse-btn[data-v-19ed9054] { color: rgba(255, 255, 255, 0.55);
}
.body--dark .sidebar-collapse-btn[data-v-19ed9054]:hover { background: #2f2f2f;
}
.body--dark .chat-main[data-v-19ed9054] { background: #212121;
}
.body--dark .chat-header[data-v-19ed9054] {
  background: #212121;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
.body--dark .header-model-name[data-v-19ed9054] { color: #ececec;
}
.body--dark .header-icon-btn[data-v-19ed9054] { color: rgba(255, 255, 255, 0.7);
}
.body--dark .header-icon-btn[data-v-19ed9054]:hover { background: #2f2f2f;
}
.body--dark .conversation-area[data-v-19ed9054] { background: #212121;
}
.body--dark .empty-title[data-v-19ed9054] { color: #ececec;
}
.body--dark .suggestion-card[data-v-19ed9054] {
  background: #2f2f2f;
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .suggestion-card[data-v-19ed9054]:hover {
  background: #3a3a3a;
  border-color: rgba(255, 255, 255, 0.18);
}
.body--dark .suggestion-label[data-v-19ed9054] { color: #ececec;
}
.body--dark .suggestion-desc[data-v-19ed9054] { color: rgba(255, 255, 255, 0.5);
}
.body--dark .user-bubble[data-v-19ed9054] {
  background: #2f2f2f;
  color: #ececec;
}
.body--dark .assistant-bubble[data-v-19ed9054] { color: #ececec;
}
.body--dark .answer-title[data-v-19ed9054] { color: #ececec;
}
.body--dark .answer-section-text[data-v-19ed9054],
.body--dark .answer-paragraph[data-v-19ed9054],
.body--dark .answer-list[data-v-19ed9054] { color: rgba(255, 255, 255, 0.82);
}
.body--dark .answer-metric-label[data-v-19ed9054] { color: rgba(255, 255, 255, 0.5);
}
.body--dark .message-mode-toggle[data-v-19ed9054] {
  background: #2f2f2f;
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .tool-icon-btn[data-v-19ed9054] { color: rgba(255, 255, 255, 0.55);
}
.body--dark .tool-icon-btn[data-v-19ed9054]:hover { background: #2f2f2f;
}
.body--dark .follow-up-prompts[data-v-19ed9054] { border-top-color: rgba(255, 255, 255, 0.08);
}
.body--dark .follow-up-chip[data-v-19ed9054] {
  background: #2f2f2f;
  border-color: rgba(255, 255, 255, 0.1);
  color: #ececec;
}
.body--dark .follow-up-chip[data-v-19ed9054]:hover { background: #3a3a3a;
}
.body--dark .mode-empty[data-v-19ed9054] {
  background: #2a2a2a;
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.55);
}
.body--dark .source-card[data-v-19ed9054] {
  background: #2a2a2a;
  border-color: rgba(255, 255, 255, 0.08);
}
.body--dark .source-card[data-v-19ed9054]:hover {
  background: #2f2f2f;
  border-color: rgba(255, 255, 255, 0.15);
}
.body--dark .source-card small[data-v-19ed9054] { color: rgba(255, 255, 255, 0.45);
}
.body--dark .response-table[data-v-19ed9054] .q-table { background: #2a2a2a;
}
.body--dark .response-chart[data-v-19ed9054] { background: #2a2a2a; border-color: rgba(255, 255, 255, 0.08);
}
.body--dark .input-area[data-v-19ed9054] { background: #212121;
}
.body--dark .input-box[data-v-19ed9054] {
  background: #2f2f2f;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}
.body--dark .input-box[data-v-19ed9054]:focus-within { border-color: rgba(255, 255, 255, 0.25);
}
.body--dark .message-time[data-v-19ed9054] { color: rgba(255, 255, 255, 0.35);
}
.body--dark .input-note[data-v-19ed9054] { color: rgba(255, 255, 255, 0.35);
}
.body--dark .send-btn[data-v-19ed9054] { background: #fff; color: #0d0d0d;
}
.body--dark .send-btn[data-v-19ed9054]:hover { background: #ececec;
}
.body--dark .send-btn.disabled[data-v-19ed9054],
.body--dark .send-btn[disabled][data-v-19ed9054] { background: #444; color: #888;
}

/* Vengeance AI overrides */
.ask-hybrid-chat[data-v-19ed9054],
.chat-layout[data-v-19ed9054] {
  background: var(--vengeance-bg) !important;
  color: var(--vengeance-ink);
}
.chat-layout[data-v-19ed9054] {
  border-radius: 0;
}
.chat-sidebar[data-v-19ed9054] {
  background: var(--vengeance-panel) !important;
  border-right: 1px solid var(--vengeance-line) !important;
}
.brand-mark[data-v-19ed9054],
.empty-logo[data-v-19ed9054],
.assistant-avatar[data-v-19ed9054] {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
  border-radius: 14px;
}
.brand-name[data-v-19ed9054],
.header-model-name[data-v-19ed9054],
.empty-title[data-v-19ed9054] {
  color: var(--vengeance-ink) !important;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.history-label[data-v-19ed9054],
.suggestion-desc[data-v-19ed9054],
.input-note[data-v-19ed9054],
.message-time[data-v-19ed9054] {
  color: var(--vengeance-muted) !important;
}
.history-item[data-v-19ed9054],
.suggestion-card[data-v-19ed9054],
.assistant-bubble[data-v-19ed9054],
.input-box[data-v-19ed9054],
.source-card[data-v-19ed9054],
.response-chart[data-v-19ed9054],
.mode-empty[data-v-19ed9054] {
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink) !important;
  border: 1px solid var(--vengeance-line) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}
.history-item.active[data-v-19ed9054],
.history-item[data-v-19ed9054]:hover,
.suggestion-card[data-v-19ed9054]:hover {
  background: var(--vengeance-soft) !important;
}
.chat-main[data-v-19ed9054],
.chat-header[data-v-19ed9054],
.conversation-area[data-v-19ed9054],
.input-area[data-v-19ed9054] {
  background: transparent !important;
  border-color: var(--vengeance-line) !important;
}
.chat-header[data-v-19ed9054] {
  background: var(--vengeance-panel) !important;
}
.user-bubble[data-v-19ed9054] {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
  border-radius: 20px 20px 4px 20px !important;
}
.assistant-bubble[data-v-19ed9054] {
  border-radius: 4px 20px 20px 20px !important;
}
.send-btn[data-v-19ed9054] {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
  border-radius: 14px !important;
}
.follow-up-chip[data-v-19ed9054],
.filter-pill[data-v-19ed9054],
.match-chip[data-v-19ed9054] {
  border-radius: 999px;
  background: var(--vengeance-soft) !important;
  color: var(--vengeance-ink) !important;
  border: 1px solid var(--vengeance-line) !important;
}

.dark-mode-toggle[data-v-1f8ff1eb] {
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.dark-mode-toggle[data-v-1f8ff1eb]:hover {
  transform: rotate(18deg);
}

.notification-drawer[data-v-7512f446] {
  background-color: #f8fafc;
}
.notification-header[data-v-7512f446] {
  border-bottom: 1px solid #e2e8f0;
  background-color: #fff;
}
.notification-content[data-v-7512f446] {
  background-color: #f8fafc;
}
.notification-group-header[data-v-7512f446] {
  margin: 8px 12px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background-color: #fff;
  transition: all 0.2s ease;
}
.notification-group-header[data-v-7512f446]:hover {
  border-color: var(--q-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.notification-group-header.workflow[data-v-7512f446] {
  background-color: #eff6ff;
  border-color: #bfdbfe;
}
.notification-item[data-v-7512f446] {
  margin: 4px 12px;
  border-radius: 12px;
  background-color: #fff;
  border: 1px solid transparent;
  transition: all 0.2s ease;
}
.notification-item[data-v-7512f446]:hover {
  background-color: #f1f5f9;
  border-color: #e2e8f0;
}
.notification-item.unread[data-v-7512f446] {
  border-left: 4px solid var(--q-primary);
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(var(--q-primary-rgb), 0.08);
}
.notification-message[data-v-7512f446] {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  color: #475569;
}
.notification-time[data-v-7512f446] {
  font-size: 0.7rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
}

/* Mobile responsiveness */
@media (max-width: 600px) {
.notification-drawer[data-v-7512f446] {
    width: 100vw !important;
}
}

/* ─── Dark Mode ─── */
.body--dark .notification-drawer[data-v-7512f446] {
  background-color: #181a1b;
}
.body--dark .notification-header[data-v-7512f446] {
  background-color: #1e2022;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
.body--dark .notification-content[data-v-7512f446] {
  background-color: #181a1b;
}
.body--dark .notification-group-header[data-v-7512f446] {
  background-color: #232527;
  border-color: rgba(255, 255, 255, 0.08);
}
.body--dark .notification-group-header[data-v-7512f446]:hover {
  border-color: var(--q-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.body--dark .notification-group-header.workflow[data-v-7512f446] {
  background-color: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.22);
}
.body--dark .notification-item[data-v-7512f446] {
  background-color: #232527;
}
.body--dark .notification-item[data-v-7512f446]:hover {
  background-color: #2a2c2e;
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .notification-item.unread[data-v-7512f446] {
  background-color: #232527;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.body--dark .notification-message[data-v-7512f446] {
  color: #94a3b8;
}
.body--dark .notification-time[data-v-7512f446] {
  color: #64748b;
}

.notification-toast-container[data-v-b40cfdc3] {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  max-width: 400px;
  min-width: 300px;
}
.notification-toast[data-v-b40cfdc3] {
  animation: slideInRight-b40cfdc3 0.3s ease-out;
  border-left: 4px solid;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.notification-toast[data-v-b40cfdc3]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.toast-info[data-v-b40cfdc3] {
  border-left-color: #1976d2;
}
.toast-success[data-v-b40cfdc3] {
  border-left-color: #4caf50;
}
.toast-warning[data-v-b40cfdc3] {
  border-left-color: #ff9800;
}
.toast-error[data-v-b40cfdc3] {
  border-left-color: #f44336;
}
@keyframes slideInRight-b40cfdc3 {
from {
    transform: translateX(100%);
    opacity: 0;
}
to {
    transform: translateX(0);
    opacity: 1;
}
}

/* Mobile responsiveness */
@media (max-width: 600px) {
.notification-toast-container[data-v-b40cfdc3] {
    left: 10px;
    right: 10px;
    bottom: 10px;
    max-width: none;
    min-width: auto;
}
}

/* Modern Modal Card */
.change-password-modal-card[data-v-e33edde2] {
  width: 100%;
  max-width: 420px;
  min-width: 320px;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  z-index: 2999;
  position: relative;
  margin: auto;
}

/* Header Section */
.change-password-modal-header[data-v-e33edde2] {
  background: white;
  text-align: center;
  padding: 32px 24px 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.change-password-icon-wrapper[data-v-e33edde2] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: rgba(25, 118, 210, 0.1);
  border-radius: 50%;
  margin-bottom: 8px;
}
.password-title[data-v-e33edde2] {
  color: #000;
  margin: 0;
}
.change-password-modal-header .text-body2[data-v-e33edde2] {
  color: #616161;
}

/* Body Section */
.change-password-modal-body[data-v-e33edde2] {
  padding: 32px 24px;
  background: white;
}
.password-form[data-v-e33edde2] {
  width: 100%;
}

/* Input Styling */
[data-v-e33edde2] .q-field--outlined .q-field__control {
  border-radius: 8px;
}
[data-v-e33edde2] .q-field--dense .q-field__control {
  min-height: 48px;
}
[data-v-e33edde2] .q-field__label {
  font-weight: 500;
  color: #424242;
}
.password-input-error[data-v-e33edde2] .q-field__control {
  border-color: #f44336;
}

/* Error Message */
.error-message[data-v-e33edde2] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: #ffebee;
  border-left: 4px solid #f44336;
  border-radius: 4px;
  color: #c62828;
  font-size: 14px;
}

/* Actions */
.change-password-modal-actions[data-v-e33edde2] {
  margin-top: 8px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.password-submit-btn[data-v-e33edde2] {
  min-width: 140px;
  height: 48px;
  border-radius: 8px;
  font-weight: 600;
  text-transform: none;
  font-size: 15px;
  letter-spacing: 0.5px;
}

/* Responsive */
@media (max-width: 600px) {
.change-password-modal-card[data-v-e33edde2] {
    max-width: 90%;
    margin: 20px;
}
.change-password-modal-header[data-v-e33edde2] {
    padding: 24px 20px 20px;
}
.change-password-modal-body[data-v-e33edde2] {
    padding: 24px 20px;
}
.change-password-icon-wrapper[data-v-e33edde2] {
    width: 56px;
    height: 56px;
}
}

/* Animation */
.change-password-modal-card[data-v-e33edde2] {
  animation: slideUp-e33edde2 0.3s ease-out;
}
@keyframes slideUp-e33edde2 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* ─── Dark Mode ─── */
.body--dark .change-password-modal-card[data-v-e33edde2] {
  background: #232527;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.body--dark .change-password-modal-header[data-v-e33edde2] {
  background: #232527;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
.body--dark .password-title[data-v-e33edde2] { color: #e8e6e3;
}
.body--dark .change-password-modal-header .text-body2[data-v-e33edde2] { color: #94a3b8;
}
.body--dark .change-password-modal-body[data-v-e33edde2] { background: #232527;
}
.body--dark .error-message[data-v-e33edde2] {
  background: rgba(244, 67, 54, 0.12);
  color: #ef9a9a;
}

.message-context-menu[data-v-afc8b7b0] {
  z-index: 10000;
}
.menu-item[data-v-afc8b7b0] {
  transition: background-color 0.2s ease;
}
.menu-item[data-v-afc8b7b0]:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.message-bubble-wrapper[data-v-f24f7ab9] {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
  padding: 0 8px;
}
.message-sender[data-v-f24f7ab9] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  margin-bottom: 2px;
  margin-left: 12px;
  align-self: flex-start;
}
.message-own .message-sender[data-v-f24f7ab9] {
  align-self: flex-end;
  margin-right: 12px;
  margin-left: 0;
}
.message-bubble[data-v-f24f7ab9] {
  max-width: 70%;
  position: relative;
  display: flex;
  flex-direction: column;
}
.message-own .message-bubble[data-v-f24f7ab9] {
  align-self: flex-end;
}
.message-content[data-v-f24f7ab9] {
  background-color: var(--q-grey-1);
  border-radius: 18px;
  padding: 12px 16px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  position: relative;
  color: var(--q-dark); /* Ensure text is dark on light background */
}
.message-own .message-content[data-v-f24f7ab9] {
  background-color: var(--q-green-1); /* Subtle green for own messages */
  border-bottom-right-radius: 4px;
}
.message-text[data-v-f24f7ab9] {
  font-size: 14px;
  line-height: 1.4;
  color: var(--q-dark); /* Ensure text is dark on light background */
  word-wrap: break-word;
  margin-bottom: 4px;
}
.message-own .message-text[data-v-f24f7ab9] {
  color: var(--q-dark); /* Ensure text is dark on light background */
}
.message-meta[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  min-height: 16px;
}
.message-time[data-v-f24f7ab9] {
  font-size: 11px;
  color: #8e8e8e;
  font-weight: 400;
}
.message-status[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  transition: opacity 0.3s ease, transform 0.2s ease;
}
.message-status[data-v-f24f7ab9]:hover {
  transform: scale(1.1);
}
.status-icon[data-v-f24f7ab9] {
  margin-left: 2px;
}

/* Message Tail (WhatsApp-style bubble tail) */
.message-tail[data-v-f24f7ab9] {
  position: absolute;
  bottom: 0;
  left: -8px;
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-right-color: var(--q-grey-1); /* Match received message background */
  border-bottom-color: var(--q-grey-1);
}
.message-own .message-tail[data-v-f24f7ab9] {
  left: auto;
  right: -8px;
  border-right-color: var(--q-green-1); /* Match own message background */
  border-bottom-color: var(--q-green-1);
}

/* Hover effects */
.message-bubble:hover .message-content[data-v-f24f7ab9] {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Animations for new messages */
@keyframes messageSlideInLeft-f24f7ab9 {
from {
    opacity: 0;
    transform: translateX(-20px) translateY(10px);
}
to {
    opacity: 1;
    transform: translateX(0) translateY(0);
}
}
@keyframes messageSlideInRight-f24f7ab9 {
from {
    opacity: 0;
    transform: translateX(20px) translateY(10px);
}
to {
    opacity: 1;
    transform: translateX(0) translateY(0);
}
}
@keyframes messagePulse-f24f7ab9 {
0%, 100% {
    transform: scale(1);
}
50% {
    transform: scale(1.02);
}
}
@keyframes fadeIn-f24f7ab9 {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes reactionPop-f24f7ab9 {
0% {
    transform: scale(0);
    opacity: 0;
}
50% {
    transform: scale(1.2);
}
100% {
    transform: scale(1);
    opacity: 1;
}
}
.message-bubble-wrapper[data-v-f24f7ab9] {
  animation: fadeIn-f24f7ab9 0.3s ease-out;
}
.message-bubble-wrapper[data-v-f24f7ab9]:not(.message-own) {
  animation: messageSlideInLeft-f24f7ab9 0.4s ease-out;
}
.message-bubble-wrapper.message-own[data-v-f24f7ab9] {
  animation: messageSlideInRight-f24f7ab9 0.4s ease-out;
}

/* Pulse animation for newly received messages */
.message-bubble-wrapper.message-new[data-v-f24f7ab9] {
  animation: messageSlideInLeft-f24f7ab9 0.4s ease-out,messagePulse-f24f7ab9 0.6s ease-out 0.4s;
}
.message-bubble-wrapper.message-own.message-new[data-v-f24f7ab9] {
  animation: messageSlideInRight-f24f7ab9 0.4s ease-out,messagePulse-f24f7ab9 0.6s ease-out 0.4s;
}

/* Reaction animations */
.message-reactions .reaction-item[data-v-f24f7ab9] {
  animation: reactionPop-f24f7ab9 0.3s ease-out;
  transition: transform 0.2s ease;
}
.message-reactions .reaction-item[data-v-f24f7ab9]:hover {
  transform: scale(1.15);
}

/* Responsive adjustments */
@media (max-width: 768px) {
.message-bubble[data-v-f24f7ab9] {
    max-width: 85%;
}
.message-content[data-v-f24f7ab9] {
    padding: 10px 14px;
}
.message-text[data-v-f24f7ab9] {
    font-size: 13px;
}
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
.message-content[data-v-f24f7ab9] {
    background-color: #2d2d2d;
    color: #ffffff;
}
.message-own .message-content[data-v-f24f7ab9] {
    background-color: #056162;
}
.message-text[data-v-f24f7ab9] {
    color: #ffffff;
}
.message-tail[data-v-f24f7ab9] {
    border-right-color: #2d2d2d;
    border-bottom-color: #2d2d2d;
}
.message-own .message-tail[data-v-f24f7ab9] {
    border-right-color: #056162;
    border-bottom-color: #056162;
}
}

/* File Attachment Styles */
.message-attachment[data-v-f24f7ab9] {
  margin-top: 8px;
}

/* Audio Attachment Styles */
.audio-attachment[data-v-f24f7ab9] {
  margin: 4px 0;
}
.audio-player[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  gap: 12px;
  background-color: var(--q-grey-1);
  border-radius: 12px;
  padding: 12px 16px;
  min-width: 200px;
  max-width: 300px;
}
.message-own .audio-player[data-v-f24f7ab9] {
  background-color: var(--q-green-1);
}
.audio-play-button[data-v-f24f7ab9] {
  flex-shrink: 0;
  background-color: rgba(255, 255, 255, 0.9);
  color: black;
}
.audio-play-button[data-v-f24f7ab9]:hover {
  background-color: white;
  color: black;
}
.message-own .audio-play-button[data-v-f24f7ab9] {
  background-color: rgba(255, 255, 255, 0.9);
  color: black;
}
.message-own .audio-play-button[data-v-f24f7ab9]:hover {
  background-color: white;
  color: black;
}
.audio-info[data-v-f24f7ab9] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.audio-duration[data-v-f24f7ab9] {
  font-size: 11px;
  color: #666;
  font-weight: 500;
}
.message-own .audio-duration[data-v-f24f7ab9] {
  color: var(--q-dark);
}
.audio-progress-slider[data-v-f24f7ab9] {
  width: 100%;
}
.audio-progress-slider[data-v-f24f7ab9] .q-slider__track {
  height: 4px;
}
.audio-progress-slider[data-v-f24f7ab9] .q-slider__thumb {
  width: 12px;
  height: 12px;
}

/* Image with text layout */
.message-text + .message-attachment[data-v-f24f7ab9] {
  margin-top: 12px;
}
.image-attachment[data-v-f24f7ab9] {
  max-width: 320px;
  max-height: 400px;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin: 4px 0;
  position: relative;
}
.image-attachment[data-v-f24f7ab9]:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.image-wrapper[data-v-f24f7ab9] {
  position: relative;
  width: 100%;
  height: 100%;
}
.attachment-image[data-v-f24f7ab9] {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  object-fit: cover;
}
.image-actions[data-v-f24f7ab9] {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.image-attachment:hover .image-actions[data-v-f24f7ab9] {
  opacity: 1;
}
.image-action-btn[data-v-f24f7ab9] {
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  opacity: 0.9;
}
.image-action-btn[data-v-f24f7ab9]:hover {
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 1;
}
.file-attachment[data-v-f24f7ab9] {
  background-color: var(--q-grey-2); /* Lighter background for attachments */
  border-radius: 12px;
  padding: 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.file-attachment[data-v-f24f7ab9]:hover {
  background-color: var(--q-grey-3); /* Slightly darker on hover */
}
.file-info[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.file-icon[data-v-f24f7ab9] {
  flex-shrink: 0;
}
.file-details[data-v-f24f7ab9] {
  flex: 1;
  min-width: 0;
}
.file-name[data-v-f24f7ab9] {
  font-weight: 500;
  font-size: 14px;
  color: #333;
  word-break: break-word;
  margin-bottom: 2px;
}
.file-size[data-v-f24f7ab9] {
  font-size: 12px;
  color: #666;
}
.download-icon[data-v-f24f7ab9] {
  flex-shrink: 0;
  opacity: 0.7;
}
.message-own .file-attachment[data-v-f24f7ab9] {
  background-color: var(--q-green-1); /* Subtle green for own message attachments */
  border-color: var(--q-green-2);
}
.message-own .file-attachment[data-v-f24f7ab9]:hover {
  background-color: var(--q-green-2); /* Slightly darker on hover */
}
.message-own .file-name[data-v-f24f7ab9] {
  color: var(--q-dark);
}
.message-own .file-size[data-v-f24f7ab9] {
  color: var(--q-grey-7);
}

/* Responsive adjustments */
@media (max-width: 768px) {
.image-attachment[data-v-f24f7ab9] {
    max-width: 280px;
    max-height: 350px;
}
.file-attachment[data-v-f24f7ab9] {
    padding: 10px;
}
.file-info[data-v-f24f7ab9] {
    gap: 8px;
}
}
@media (max-width: 480px) {
.image-attachment[data-v-f24f7ab9] {
    max-width: 240px;
    max-height: 300px;
}
}

/* Image Viewer Modal */
.image-viewer-modal[data-v-f24f7ab9] {
  position: relative;
  background: rgba(0, 0, 0, 0.9);
  width: 90%;
  max-width: 95%;
  height: 100vh;
  max-height: 90vh;
  margin: auto;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  border-radius: 8px;
}
.image-viewer-header[data-v-f24f7ab9] {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 1000;
}
.close-button[data-v-f24f7ab9] {
  background: rgba(0, 0, 0, 0.5);
}
.image-viewer-content[data-v-f24f7ab9] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  cursor: pointer;
}
.viewer-image[data-v-f24f7ab9] {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* PDF Preview Styles */
.pdf-attachment[data-v-f24f7ab9] {
  margin: 4px 0;
}
.pdf-preview[data-v-f24f7ab9] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background-color: var(--q-grey-1); /* Light background for PDF preview */
  border: 2px solid var(--q-primary); /* Green border accent */
  border-radius: 12px;
  padding: 16px;
  transition: all 0.2s ease;
}
.pdf-preview[data-v-f24f7ab9]:hover {
  background-color: var(--q-grey-2);
  border-color: var(--q-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Lighter shadow */
}
.pdf-preview-content[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.pdf-icon[data-v-f24f7ab9] {
  flex-shrink: 0;
}
.pdf-info[data-v-f24f7ab9] {
  flex: 1;
  min-width: 0;
}
.pdf-hint[data-v-f24f7ab9] {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
  font-style: italic;
}
.pdf-actions[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 0, 0, 0.1);
}
.pdf-action-btn[data-v-f24f7ab9] {
  opacity: 0.8;
  transition: opacity 0.2s ease;
  color: var(--q-primary); /* Green accent for PDF action buttons */
}
.pdf-action-btn[data-v-f24f7ab9]:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* PDF Viewer Modal */
.pdf-viewer-modal[data-v-f24f7ab9] {
  position: relative;
  background: rgba(0, 0, 0, 0.95);
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
}
.pdf-viewer-header[data-v-f24f7ab9] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.8);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1000;
}
.pdf-viewer-title[data-v-f24f7ab9] {
  color: white;
  font-size: 16px;
  font-weight: 500;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-right: 16px;
}
.pdf-viewer-actions[data-v-f24f7ab9] {
  display: flex;
  gap: 8px;
}
.action-button[data-v-f24f7ab9] {
  background: rgba(255, 255, 255, 0.1);
}
.pdf-viewer-content[data-v-f24f7ab9] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  padding-top: 60px;
  position: relative;
}
.pdf-viewer-embed[data-v-f24f7ab9] {
  width: 100%;
  height: 100%;
  border: none;
  background: white;
  min-height: 0;
  flex: 1;
}
.pdf-viewer-fallback[data-v-f24f7ab9] {
  position: absolute;
  top: 80px;
  right: 20px;
  z-index: 1001;
}
.open-pdf-button[data-v-f24f7ab9] {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  border-radius: 8px;
  padding: 8px 16px;
}

/* Phase 1: Reply Preview */
.reply-preview[data-v-f24f7ab9] {
  border-left: 3px solid var(--q-primary); /* Green accent for reply border */
  background-color: var(--q-grey-2); /* Light background for reply preview */
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  color: var(--q-dark);
}
.reply-preview[data-v-f24f7ab9]:hover {
  background-color: var(--q-grey-3); /* Slightly darker on hover */
}
.reply-preview-content[data-v-f24f7ab9] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.reply-preview-sender[data-v-f24f7ab9] {
  font-size: 12px;
  font-weight: 600;
  color: var(--q-primary); /* Green accent for sender name */
}
.reply-preview-text[data-v-f24f7ab9] {
  font-size: 13px;
  color: var(--q-dark);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
}
.message-own .reply-preview[data-v-f24f7ab9] {
  border-left-color: var(--q-secondary); /* A different subtle color for own replies */
  background-color: var(--q-green-1);
}
.message-own .reply-preview-sender[data-v-f24f7ab9] {
  color: var(--q-secondary); /* A different subtle color for own replies sender */
}

/* Phase 1: Forwarded Indicator */
.forwarded-indicator[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #666;
  margin-bottom: 4px;
  font-style: italic;
}

/* Phase 1: Deleted Message */
.deleted-message[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #999;
  font-style: italic;
  padding: 8px 0;
}

/* Phase 1: Edited Indicator */
.edited-indicator[data-v-f24f7ab9] {
  font-size: 11px;
  color: #999;
  font-style: italic;
  margin-left: 4px;
}

/* Phase 1: Message Reactions */
.message-reactions[data-v-f24f7ab9] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
  margin-bottom: 4px;
}
.reaction-item[data-v-f24f7ab9] {
  display: flex;
  align-items: center;
  gap: 2px;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  padding: 2px 6px;
  font-size: 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.reaction-item[data-v-f24f7ab9]:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.reaction-own[data-v-f24f7ab9] {
  background-color: var(--q-green-2); /* Subtle green for own reactions */
  color: var(--q-dark);
}
.reaction-emoji[data-v-f24f7ab9] {
  font-size: 14px;
}
.reaction-count[data-v-f24f7ab9] {
  font-size: 11px;
  color: #666;
  font-weight: 500;
}
.message-own .reaction-item[data-v-f24f7ab9] {
  background-color: var(--q-green-1);
}
.message-own .reaction-item[data-v-f24f7ab9]:hover {
  background-color: var(--q-green-2);
}

/* NCAT message bubble refinement */
.message-bubble-wrapper[data-v-f24f7ab9] {
  margin-bottom: 12px;
  padding: 0 4px;
}
.message-sender[data-v-f24f7ab9] {
  color: var(--vengeance-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}
.message-bubble[data-v-f24f7ab9] {
  max-width: min(70%, 620px);
}
.message-content[data-v-f24f7ab9] {
  padding: 10px 13px;
  color: var(--vengeance-ink);
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
  border-radius: 15px;
  box-shadow: none;
}
.message-own .message-content[data-v-f24f7ab9] {
  color: #123c34;
  background: color-mix(in srgb, #4fd1a5 24%, #ffffff);
  border-color: color-mix(in srgb, #0f5a4d 18%, transparent);
  border-bottom-right-radius: 6px;
}
.message-text[data-v-f24f7ab9],
.message-own .message-text[data-v-f24f7ab9] {
  color: inherit;
  font-size: 0.88rem;
  line-height: 1.5;
}
.message-time[data-v-f24f7ab9],
.edited-indicator[data-v-f24f7ab9],
.forwarded-indicator[data-v-f24f7ab9],
.deleted-message[data-v-f24f7ab9],
.reaction-count[data-v-f24f7ab9] {
  color: color-mix(in srgb, var(--vengeance-muted) 86%, transparent);
}
.message-tail[data-v-f24f7ab9] {
  left: -7px;
  border-width: 7px;
  border-right-color: var(--vengeance-panel);
  border-bottom-color: var(--vengeance-panel);
}
.message-own .message-tail[data-v-f24f7ab9] {
  right: -7px;
  border-right-color: color-mix(in srgb, #4fd1a5 24%, #ffffff);
  border-bottom-color: color-mix(in srgb, #4fd1a5 24%, #ffffff);
}
.message-bubble:hover .message-content[data-v-f24f7ab9] {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}
.reaction-item[data-v-f24f7ab9] {
  background: var(--vengeance-soft);
  border: 1px solid var(--vengeance-line);
  color: var(--vengeance-ink);
}
.message-own .reaction-item[data-v-f24f7ab9],
.reaction-own[data-v-f24f7ab9] {
  background: color-mix(in srgb, #4fd1a5 18%, #ffffff);
  color: #123c34;
}
@media (max-width: 768px) {
.message-bubble[data-v-f24f7ab9] {
    max-width: 88%;
}
.message-content[data-v-f24f7ab9] {
    padding: 9px 12px;
}
.message-text[data-v-f24f7ab9] {
    font-size: 0.84rem;
}
}

.typing-indicator[data-v-e9c509e1] {
  padding: 8px 16px;
  margin-bottom: 16px;
}
.typing-bubble[data-v-e9c509e1] {
  background-color: white;
  border-radius: 18px;
  padding: 12px 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 120px;
}
.typing-dots[data-v-e9c509e1] {
  display: flex;
  gap: 4px;
}
.dot[data-v-e9c509e1] {
  width: 8px;
  height: 8px;
  background-color: #8e8e8e;
  border-radius: 50%;
  animation: typingBounce-e9c509e1 1.4s infinite ease-in-out;
}
.dot[data-v-e9c509e1]:nth-child(1) {
  animation-delay: -0.32s;
}
.dot[data-v-e9c509e1]:nth-child(2) {
  animation-delay: -0.16s;
}
.dot[data-v-e9c509e1]:nth-child(3) {
  animation-delay: 0s;
}
@keyframes typingBounce-e9c509e1 {
0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}
.typing-text[data-v-e9c509e1] {
  font-size: 12px;
  color: #8e8e8e;
  font-style: italic;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
.typing-bubble[data-v-e9c509e1] {
    background-color: #2d2d2d;
}
.typing-text[data-v-e9c509e1] {
    color: #b0b0b0;
}
}

.conversation-item-whatsapp[data-v-09ed30af] {
  padding: 12px 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 1px solid #f0f0f0;
  position: relative;
}
.conversation-item-whatsapp[data-v-09ed30af]:hover {
  background-color: #f5f5f5;
  transform: translateX(2px);
}
.conversation-item-whatsapp[data-v-09ed30af]:active {
  transform: translateX(1px);
}
.conversation-selected[data-v-09ed30af] {
  background-color: #e8f5e8;
  border-left: 4px solid #4caf50;
}
.conversation-content[data-v-09ed30af] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.conversation-avatar[data-v-09ed30af] {
  position: relative;
  flex-shrink: 0;
}
.avatar-circle[data-v-09ed30af] {
  border: 2px solid #e0e0e0;
}
.online-indicator[data-v-09ed30af] {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 12px;
  height: 12px;
  background-color: #4caf50;
  border: 2px solid white;
  border-radius: 50%;
}
.online-indicator.pulse[data-v-09ed30af] {
  animation: pulse-09ed30af 2s infinite;
}
.offline-indicator[data-v-09ed30af] {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 12px;
  height: 12px;
  background-color: #8e8e8e;
  border: 2px solid white;
  border-radius: 50%;
}

/* Pulse animation for online indicator */
@keyframes pulse-09ed30af {
0% {
    box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7);
}
70% {
    box-shadow: 0 0 0 10px rgba(76, 175, 80, 0);
}
100% {
    box-shadow: 0 0 0 0 rgba(76, 175, 80, 0);
}
}
.conversation-details[data-v-09ed30af] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.conversation-header[data-v-09ed30af] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.conversation-title[data-v-09ed30af] {
  font-weight: 600;
  font-size: 14px;
  color: #303030;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.conversation-time[data-v-09ed30af] {
  font-size: 11px;
  color: #8e8e8e;
  flex-shrink: 0;
  margin-left: 8px;
}
.conversation-preview[data-v-09ed30af] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.preview-text[data-v-09ed30af] {
  font-size: 13px;
  color: #8e8e8e;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  margin-right: 8px;
}
.search-match-preview[data-v-09ed30af] {
  display: inline-flex;
  align-items: center;
  color: var(--q-primary);
  font-weight: 500;
}
.match-count-badge[data-v-09ed30af] {
  margin-left: 4px;
  font-size: 11px;
  color: var(--q-primary);
  font-weight: 600;
}
.preview-text[data-v-09ed30af] mark {
  background-color: #fff3cd;
  color: #856404;
  padding: 1px 2px;
  border-radius: 2px;
  font-weight: 600;
}

/* Search Match List Styles */
.search-match-list[data-v-09ed30af] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}
.search-match-item[data-v-09ed30af] {
  display: flex;
  align-items: flex-start;
  padding: 4px 0;
  font-size: 12px;
  color: #666;
  line-height: 1.4;
}
.search-match-text[data-v-09ed30af] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.search-match-item[data-v-09ed30af] mark {
  background-color: #fff3cd;
  color: #856404;
  padding: 1px 2px;
  border-radius: 2px;
  font-weight: 600;
}
.unread-badge[data-v-09ed30af] {
  background-color: #4caf50;
  color: white;
  font-size: 11px;
  font-weight: 600;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
  flex-shrink: 0;
}
.conversation-actions[data-v-09ed30af] {
  position: relative;
  flex-shrink: 0;
}
.action-btn[data-v-09ed30af] {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.conversation-item-whatsapp:hover .action-btn[data-v-09ed30af] {
  opacity: 1;
}
.conversation-menu[data-v-09ed30af] {
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* Animation for new conversations */
@keyframes conversationSlideIn-09ed30af {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.conversation-item-whatsapp[data-v-09ed30af] {
  animation: conversationSlideIn-09ed30af 0.3s ease-out;
}

/* Responsive adjustments */
@media (max-width: 768px) {
.conversation-item-whatsapp[data-v-09ed30af] {
    padding: 10px 12px;
}
.conversation-title[data-v-09ed30af] {
    font-size: 13px;
}
.preview-text[data-v-09ed30af] {
    font-size: 12px;
}
.action-btn[data-v-09ed30af] {
    opacity: 1;
}
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
.conversation-item-whatsapp[data-v-09ed30af] {
    border-bottom-color: #404040;
}
.conversation-item-whatsapp[data-v-09ed30af]:hover {
    background-color: #2a2a2a;
}
.conversation-selected[data-v-09ed30af] {
    background-color: #1b3a1b;
}
.conversation-title[data-v-09ed30af] {
    color: #ffffff;
}
.preview-text[data-v-09ed30af] {
    color: #b0b0b0;
}
.conversation-time[data-v-09ed30af] {
    color: #808080;
}
}

.online-users-container[data-v-b456a56a] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #f8f9fa;
}
.online-users-header[data-v-b456a56a] {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.search-section[data-v-b456a56a] {
  border-bottom: 1px solid #e0e0e0;
}
.search-input[data-v-b456a56a] {
  background-color: #f5f5f5;
}
.users-list[data-v-b456a56a] {
  flex: 1;
  overflow-y: auto;
}
.users-section[data-v-b456a56a] {
  margin-bottom: 16px;
}
.section-header[data-v-b456a56a] {
  border-bottom: 1px solid #e0e0e0;
}
.users-items[data-v-b456a56a] {
  background-color: white;
}
.user-item[data-v-b456a56a] {
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s ease;
}
.user-item[data-v-b456a56a]:hover {
  background-color: #f5f5f5;
  transform: translateX(2px);
}
.user-item[data-v-b456a56a]:active {
  transform: translateX(1px);
}
.user-avatar-container[data-v-b456a56a] {
  position: relative;
}
.online-indicator[data-v-b456a56a] {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 12px;
  height: 12px;
  background-color: #4caf50;
  border: 2px solid white;
  border-radius: 50%;
  animation: pulse-b456a56a 2s infinite;
}
.offline-indicator[data-v-b456a56a] {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 12px;
  height: 12px;
  background-color: #9e9e9e;
  border: 2px solid white;
  border-radius: 50%;
}
.offline-avatar[data-v-b456a56a] {
  opacity: 0.7;
}
.user-info[data-v-b456a56a] {
  min-width: 0;
  overflow: hidden;
}
.user-name[data-v-b456a56a] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}
.user-status[data-v-b456a56a] {
  display: flex;
  align-items: center;
  font-size: 12px;
}
.chat-btn[data-v-b456a56a] {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.user-item:hover .chat-btn[data-v-b456a56a] {
  opacity: 1;
}
.empty-state[data-v-b456a56a] {
  color: #9e9e9e;
}
.refresh-section[data-v-b456a56a] {
  border-top: 1px solid #e0e0e0;
}

/* Pulse animation for online indicator */
@keyframes pulse-b456a56a {
0% {
    box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7);
}
70% {
    box-shadow: 0 0 0 10px rgba(76, 175, 80, 0);
}
100% {
    box-shadow: 0 0 0 0 rgba(76, 175, 80, 0);
}
}

/* Scrollbar styling */
.users-list[data-v-b456a56a]::-webkit-scrollbar {
  width: 4px;
}
.users-list[data-v-b456a56a]::-webkit-scrollbar-track {
  background: transparent;
}
.users-list[data-v-b456a56a]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 2px;
}
.users-list[data-v-b456a56a]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Responsive adjustments */
@media (max-width: 768px) {
.user-item[data-v-b456a56a] {
    padding: 10px 12px;
}
.user-name[data-v-b456a56a] {
    font-size: 13px;
}
.user-status[data-v-b456a56a] {
    font-size: 11px;
}
.chat-btn[data-v-b456a56a] {
    opacity: 1;
}
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
.online-users-container[data-v-b456a56a] {
    background-color: #1a1a1a;
}
.users-items[data-v-b456a56a] {
    background-color: #2d2d2d;
}
.user-item[data-v-b456a56a] {
    border-bottom-color: #404040;
}
.user-item[data-v-b456a56a]:hover {
    background-color: #3a3a3a;
}
.section-header[data-v-b456a56a] {
    background-color: #2a2a2a;
    border-bottom-color: #404040;
}
.refresh-section[data-v-b456a56a] {
    background-color: #2a2a2a;
    border-top-color: #404040;
}
}

.voice-note-button-container[data-v-8522944d] {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.voice-note-button[data-v-8522944d] {
  transition: all 0.3s ease;
}
.voice-note-button.recording[data-v-8522944d] {
  background-color: rgba(244, 67, 54, 0.1) !important;
}
.voice-note-button.pulsing[data-v-8522944d] {
  animation: pulse-8522944d 1.5s ease-in-out infinite;
}
@keyframes pulse-8522944d {
0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(244, 67, 54, 0.7);
}
50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 8px rgba(244, 67, 54, 0);
}
}
.recording-indicator[data-v-8522944d] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  pointer-events: none;
  z-index: 1;
}
.recording-dot[data-v-8522944d] {
  width: 8px;
  height: 8px;
  background-color: #f44336;
  border-radius: 50%;
  animation: blink-8522944d 1s ease-in-out infinite;
}
@keyframes blink-8522944d {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.3;
}
}
.recording-timer[data-v-8522944d] {
  font-size: 10px;
  font-weight: 600;
  color: #f44336;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2px 6px;
  border-radius: 10px;
  white-space: nowrap;
}

.voice-to-text-button-container[data-v-8f7fbc98] {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.voice-to-text-button[data-v-8f7fbc98] {
  transition: all 0.3s ease;
}
.voice-to-text-button.recording[data-v-8f7fbc98] {
  background-color: rgba(33, 150, 243, 0.1) !important;
}
.voice-to-text-button.pulsing[data-v-8f7fbc98] {
  animation: pulse-8f7fbc98 1.5s ease-in-out infinite;
}
@keyframes pulse-8f7fbc98 {
0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(33, 150, 243, 0.7);
}
50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 8px rgba(33, 150, 243, 0);
}
}
.recording-indicator[data-v-8f7fbc98] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  pointer-events: none;
  z-index: 1;
}
.recording-dot[data-v-8f7fbc98] {
  width: 8px;
  height: 8px;
  background-color: #2196F3;
  border-radius: 50%;
  animation: blink-8f7fbc98 1s ease-in-out infinite;
}
@keyframes blink-8f7fbc98 {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.3;
}
}
.recording-timer[data-v-8f7fbc98] {
  font-size: 10px;
  font-weight: 600;
  color: #2196F3;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2px 6px;
  border-radius: 10px;
  white-space: nowrap;
}

/* Transcription Preview Overlay - Fixed positioning for better visibility */
.transcription-preview-overlay[data-v-8f7fbc98] {
  position: fixed;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  pointer-events: none;
  max-width: 90vw;
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 16px;
}
.transcription-preview-card[data-v-8f7fbc98] {
  background: linear-gradient(135deg, rgba(33, 150, 243, 0.95) 0%, rgba(25, 118, 210, 0.95) 100%);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1);
  max-width: 600px;
  width: 100%;
  animation: slideUp-8f7fbc98 0.3s ease-out;
}
@keyframes slideUp-8f7fbc98 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.transcription-header[data-v-8f7fbc98] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.listening-indicator[data-v-8f7fbc98] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.listening-dot[data-v-8f7fbc98] {
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50%;
  animation: pulse-dot-8f7fbc98 1.5s ease-in-out infinite;
}
@keyframes pulse-dot-8f7fbc98 {
0%, 100% {
    opacity: 1;
    transform: scale(1);
}
50% {
    opacity: 0.5;
    transform: scale(1.2);
}
}
.listening-text[data-v-8f7fbc98] {
  color: white;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.recording-time[data-v-8f7fbc98] {
  color: white;
  font-size: 12px;
  font-weight: 500;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 4px 10px;
  border-radius: 12px;
}
.transcription-content[data-v-8f7fbc98] {
  max-height: 200px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 8px;
}
.transcription-content[data-v-8f7fbc98]::-webkit-scrollbar {
  width: 6px;
}
.transcription-content[data-v-8f7fbc98]::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
}
.transcription-content[data-v-8f7fbc98]::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}
.transcription-content[data-v-8f7fbc98]::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}
.listening-placeholder[data-v-8f7fbc98] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  font-weight: 500;
}
.listening-icon[data-v-8f7fbc98] {
  animation: pulse-icon-8f7fbc98 2s ease-in-out infinite;
}
@keyframes pulse-icon-8f7fbc98 {
0%, 100% {
    transform: scale(1);
    opacity: 0.8;
}
50% {
    transform: scale(1.1);
    opacity: 1;
}
}
.transcription-text-wrapper[data-v-8f7fbc98] {
  color: white;
  font-size: 18px;
  line-height: 1.6;
  word-wrap: break-word;
  min-height: 24px;
}
.transcription-final[data-v-8f7fbc98] {
  color: white;
  font-weight: 400;
}
.transcription-interim[data-v-8f7fbc98] {
  color: rgba(255, 255, 255, 0.7);
  font-style: italic;
  font-weight: 300;
}
.transcription-cursor[data-v-8f7fbc98] {
  display: inline-block;
  width: 2px;
  height: 20px;
  background-color: white;
  margin-left: 2px;
  animation: cursor-blink-8f7fbc98 1s infinite;
  vertical-align: middle;
}
@keyframes cursor-blink-8f7fbc98 {
0%, 50% {
    opacity: 1;
}
51%, 100% {
    opacity: 0;
}
}

/* Mobile responsiveness */
@media (max-width: 768px) {
.transcription-preview-overlay[data-v-8f7fbc98] {
    bottom: 80px;
    padding: 0 12px;
}
.transcription-preview-card[data-v-8f7fbc98] {
    padding: 16px 20px;
    border-radius: 12px;
}
.transcription-text-wrapper[data-v-8f7fbc98] {
    font-size: 16px;
}
.transcription-content[data-v-8f7fbc98] {
    max-height: 150px;
}
}
@media (max-width: 480px) {
.transcription-preview-overlay[data-v-8f7fbc98] {
    bottom: 70px;
    padding: 0 8px;
}
.transcription-preview-card[data-v-8f7fbc98] {
    padding: 14px 16px;
}
.transcription-text-wrapper[data-v-8f7fbc98] {
    font-size: 15px;
}
.transcription-content[data-v-8f7fbc98] {
    max-height: 120px;
}
}

.sticky-note-card[data-v-b533fcb1] {
  min-width: 600px;
  width: 90%;
  max-width: 95%;
  max-height: 95vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sticky-note-card.full-width[data-v-b533fcb1] {
  min-width: 100%;
  max-width: 100%;
  max-height: 100vh;
}
.sticky-note-content[data-v-b533fcb1] {
  padding: 16px 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
  max-height: calc(95vh - 140px); /* Account for header and actions */
}
.canvas-container[data-v-b533fcb1] {
  border: 2px dashed #ccc;
  border-radius: 8px;
  overflow: hidden; /* Use hidden to clip border-radius, but canvas will fill inside */
  background: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  flex: 1;
  display: block;
  width: 100%;
  min-height: 300px;
  height: 100%; /* Fill available height */
  max-height: calc(95vh - 250px); /* Increased height for more canvas space */
  position: relative; /* For proper canvas positioning */
  padding: 0; /* Ensure no padding constrains drawing area */
  margin: 0; /* Ensure no margin constrains drawing area */
}
.drawing-canvas[data-v-b533fcb1] {
  display: block;
  touch-action: none;
  cursor: crosshair;
  position: absolute; /* Position absolutely within container */
  top: 0;
  left: 0;
  /* Width and height are set via JavaScript to exact pixel values */
  /* Using explicit width/height instead of right/bottom to ensure 1:1 coordinate mapping */
  /* This ensures 1:1 coordinate mapping - no CSS scaling */
  transform: none; /* Ensure no transforms affect coordinate mapping */
  transform-origin: top left;
}
.drawing-controls[data-v-b533fcb1] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
  overflow: visible;
  min-height: 0;
}
.controls-row[data-v-b533fcb1] {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
}
.control-group[data-v-b533fcb1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.color-control-group[data-v-b533fcb1] {
  flex: 0 0 auto;
}
.action-buttons[data-v-b533fcb1] {
  flex: 0 0 auto;
  flex-direction: row !important; /* Override control-group column direction */
  justify-content: flex-start;
  margin-left: auto;
  gap: 8px;
}
.control-label[data-v-b533fcb1] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}
.color-picker[data-v-b533fcb1] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.color-btn[data-v-b533fcb1] {
  width: 36px;
  height: 36px;
  border: 2px solid transparent;
  transition: all 0.2s ease;
}
.color-btn.active[data-v-b533fcb1] {
  border-color: #1976D2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
  transform: scale(1.1);
}
.color-btn[data-v-b533fcb1]:hover {
  transform: scale(1.05);
}
.thickness-control-group[data-v-b533fcb1] {
  margin-left: 8px;
}
.thickness-slider[data-v-b533fcb1] {
  width: 100%;
}
.dialog-actions[data-v-b533fcb1] {
  border-top: 1px solid #e0e0e0;
}
@media (max-width: 768px) {
.sticky-note-card[data-v-b533fcb1] {
    margin: 0;
    border-radius: 0;
    height: 100vh;
    width: 100%;
    max-width: 100%;
}
.sticky-note-content[data-v-b533fcb1] {
    padding: 8px 0;
}
.canvas-container[data-v-b533fcb1] {
    margin: 0 -16px;
    border-left: none;
    border-right: none;
    border-radius: 0;
    width: calc(100% + 32px);
}
.controls-row[data-v-b533fcb1] {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}
.action-buttons[data-v-b533fcb1] {
    margin-left: 0;
    justify-content: center;
}
}

.date-separator[data-v-882205bc] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 16px 0;
  position: relative;
}
.date-separator-line[data-v-882205bc] {
  flex: 1;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.12);
}
.date-separator-text[data-v-882205bc] {
  padding: 0 12px;
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.6);
  background-color: #e5ddd5;
  white-space: nowrap;
}

/* Dark mode support */
.body--dark .date-separator-line[data-v-882205bc] {
  background-color: rgba(255, 255, 255, 0.12);
}
.body--dark .date-separator-text[data-v-882205bc] {
  color: rgba(255, 255, 255, 0.6);
  background-color: #2b2b2b;
}

.chat-module-container.whatsapp-layout[data-v-1f458f27] {
  height: 100%; /* Use 100% of parent container (not viewport) */
  max-height: 100%; /* Don't exceed parent */
  display: flex;
  flex-direction: row; /* Explicit row direction */
  background-color: #f0f2f5;
  overflow: hidden; /* Prevent any overflow */
}

/* Left Sidebar - Conversations */
.conversations-sidebar[data-v-1f458f27] {
  width: 350px;
  min-width: 350px;
  max-width: 400px;
  height: 100%;
  background-color: white;
  border-right: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
}
.sidebar-header[data-v-1f458f27] {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
}

/* Tab styling */
.sidebar-tabs[data-v-1f458f27] {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
}
.tab-panels[data-v-1f458f27] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0; /* Allow flex shrinking */
  overflow: hidden; /* Prevent overflow */
}
.tab-panels .q-tab-panel[data-v-1f458f27] {
  flex: 1;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.search-input[data-v-1f458f27] {
  background-color: rgba(255, 255, 255, 0.1);
}
.conversations-list[data-v-1f458f27] {
  flex: 1;
  overflow-y: auto;
}

/* Right Side - Main Chat Area */
.chat-main-area[data-v-1f458f27] {
  flex: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0; /* Allow flex shrinking */
  overflow: hidden; /* Prevent overflow */
}
.chat-area[data-v-1f458f27] {
  flex: 1;
  display: flex;
  flex-direction: column;
  background-color: #e5ddd5;
  height: 100%;
  min-height: 0; /* Allow flex shrinking */
  overflow: hidden; /* Prevent overflow */
}
.chat-container[data-v-1f458f27] {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  min-height: 0; /* Allow flex shrinking */
  overflow: hidden; /* Prevent container from growing */
  position: relative; /* For proper positioning */
}
.chat-header[data-v-1f458f27] {
  flex-shrink: 0; /* Prevent header from shrinking */
  background-color: #f0f2f5;
  border-left: 1px solid #e0e0e0;
}
.messages-container[data-v-1f458f27] {
  flex: 1 1 auto; /* Grow and shrink as needed */
  min-height: 0; /* Allow flex shrinking */
  max-height: 100%; /* Don't exceed container */
  overflow-y: auto;
  overflow-x: hidden;
  background-color: white; /* Changed to white */
  padding: 16px;
  position: relative; /* For scroll button positioning */
  /* Ensure smooth scrolling */
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}
.message-input-container[data-v-1f458f27] {
  flex-shrink: 0;
  flex-grow: 0;
  background-color: #ffffff;
  border-top: 1px solid #eef2f7;
  position: relative;
  z-index: 10;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.03);
  padding: 12px 16px !important;
}
.message-input-field[data-v-1f458f27] {
  background-color: #f8fafc;
  border-radius: 24px;
  transition: all 0.3s ease;
}
.message-input-field[data-v-1f458f27] .q-field__control {
  border-radius: 24px !important;
  background-color: #f8fafc !important;
  padding: 0 16px !important;
  border: 1px solid transparent !important;
  min-height: 44px !important;
}
.message-input-field[data-v-1f458f27] .q-field__control:before {
  border: none !important;
}
.message-input-field[data-v-1f458f27] .q-field__control:after {
  display: none !important;
}
.message-input-field.q-field--focused[data-v-1f458f27] .q-field__control {
  background-color: #ffffff !important;
  border-color: #25d366 !important;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.1) !important;
}
.message-input-field[data-v-1f458f27] .q-field__native {
  padding: 8px 0 !important;
  font-size: 15px;
  color: #334155;
}
.message-input-field[data-v-1f458f27] .q-field__prepend,
.message-input-field[data-v-1f458f27] .q-field__append {
  padding: 0 !important;
}

/* Phase 1: Reply Preview Bar */
.reply-preview-bar[data-v-1f458f27] {
  background-color: #f1f5f9;
  border-left: 4px solid #25d366;
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 12px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.reply-preview-content[data-v-1f458f27] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.reply-preview-label[data-v-1f458f27] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #25d366;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.reply-preview-text[data-v-1f458f27] {
  font-size: 14px;
  color: #475569;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

/* Phase 1: Edit Indicator Bar */
.edit-indicator-bar[data-v-1f458f27] {
  background-color: #fffbeb;
  border-left: 4px solid #f59e0b;
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 12px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.edit-indicator-content[data-v-1f458f27] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #f59e0b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.send-button[data-v-1f458f27] {
  width: 44px;
  height: 44px;
  box-shadow: 0 4px 10px rgba(37, 211, 102, 0.3);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.send-button[data-v-1f458f27]:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 14px rgba(37, 211, 102, 0.4);
}
.send-button[data-v-1f458f27]:active {
  transform: scale(0.95);
}
.send-button[data-v-1f458f27] .q-icon {
  font-size: 22px;
}
.welcome-screen[data-v-1f458f27] {
  background-color: #f0f2f5;
}
.new-conversation-dialog[data-v-1f458f27] {
  border-radius: 12px;
}

/* Message bubbles styling */
.message-wrapper[data-v-1f458f27] {
  display: flex;
  margin-bottom: 16px;
}
.message-own[data-v-1f458f27] {
  flex-direction: row-reverse;
}
.message-bubble[data-v-1f458f27] {
  max-width: 70%;
  border-radius: 18px;
  background-color: white;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  position: relative;
}
.message-own .message-bubble[data-v-1f458f27] {
  background-color: #dcf8c6;
  border-bottom-right-radius: 4px;
}
.message-own .message-bubble[data-v-1f458f27]::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: -8px;
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-left-color: #dcf8c6;
  border-bottom-color: #dcf8c6;
}
.message-bubble[data-v-1f458f27]::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -8px;
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-right-color: white;
  border-bottom-color: white;
}
.message-own .message-bubble[data-v-1f458f27]::before {
  display: none;
}
.message-time[data-v-1f458f27] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Scrollbar styling */
.conversations-list[data-v-1f458f27]::-webkit-scrollbar,
.messages-container[data-v-1f458f27]::-webkit-scrollbar {
  width: 6px;
}
.conversations-list[data-v-1f458f27]::-webkit-scrollbar-track,
.messages-container[data-v-1f458f27]::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.conversations-list[data-v-1f458f27]::-webkit-scrollbar-thumb,
.messages-container[data-v-1f458f27]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.conversations-list[data-v-1f458f27]::-webkit-scrollbar-thumb:hover,
.messages-container[data-v-1f458f27]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Scroll to Bottom Button */
.scroll-to-bottom-btn[data-v-1f458f27] {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.scroll-to-bottom-btn[data-v-1f458f27]:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* Fade transition for scroll button */
.fade-enter-active[data-v-1f458f27],
.fade-leave-active[data-v-1f458f27] {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.fade-enter-from[data-v-1f458f27],
.fade-leave-to[data-v-1f458f27] {
  opacity: 0;
  transform: translateY(10px);
}

/* Responsive adjustments */
@media (max-width: 768px) {
.conversations-sidebar[data-v-1f458f27] {
    width: 100%;
    max-width: none;
}
.chat-main-area[data-v-1f458f27] {
    display: none;
}
.whatsapp-layout[data-v-1f458f27] {
    flex-direction: column;
}
}
.border-bottom[data-v-1f458f27] {
  border-bottom: 1px solid #e0e0e0;
}
.border-top[data-v-1f458f27] {
  border-top: 1px solid #e0e0e0;
}

/* New Chat Dialog Styles */
.new-chat-dialog[data-v-1f458f27] {
  width: 90vw;
  max-width: 450px;
  max-height: 90vh;
  border-radius: 12px;
  overflow: hidden;
}
.dialog-header[data-v-1f458f27] {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.search-section[data-v-1f458f27] {
  border-bottom: 1px solid #e0e0e0;
  background-color: #f8f9fa;
}
.search-input[data-v-1f458f27] {
  background-color: white;
}
.content-section[data-v-1f458f27] {
  max-height: 60vh;
  overflow-y: auto;
}

/* Users List */
.users-list[data-v-1f458f27] {
  max-height: 400px;
  overflow-y: auto;
}
.user-item[data-v-1f458f27] {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
  cursor: pointer;
}
.user-item[data-v-1f458f27]:hover {
  background-color: #f8f9fa;
}
.user-item[data-v-1f458f27]:last-child {
  border-bottom: none;
}
.user-info[data-v-1f458f27] {
  min-width: 0;
}
.user-email[data-v-1f458f27] {
  word-break: break-all;
}

/* Group Creation */
.group-creation[data-v-1f458f27] {
  padding: 20px;
}
.group-avatar[data-v-1f458f27] {
  margin: 0 auto;
  border: 3px solid #e0e0e0;
}
.selected-participants[data-v-1f458f27] {
  margin-bottom: 20px;
}
.participants-list[data-v-1f458f27] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.add-participants[data-v-1f458f27] {
  margin-top: 20px;
}
.available-users-list[data-v-1f458f27] {
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-top: 12px;
}
.available-user-item[data-v-1f458f27] {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}
.available-user-item[data-v-1f458f27]:hover {
  background-color: #f8f9fa;
}
.available-user-item[data-v-1f458f27]:last-child {
  border-bottom: none;
}

/* Dialog Actions */
.dialog-actions[data-v-1f458f27] {
  border-top: 1px solid #e0e0e0;
  background-color: #f8f9fa;
}

/* Responsive adjustments for dialog */
@media (max-width: 600px) {
.new-chat-dialog[data-v-1f458f27] {
    width: 95vw;
    max-height: 95vh;
}
.content-section[data-v-1f458f27] {
    max-height: 50vh;
}
.users-list[data-v-1f458f27],
  .available-users-list[data-v-1f458f27] {
    max-height: 300px;
}
}

/* Search Info */
.search-info[data-v-1f458f27] {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
}

/* Load More Button */
.load-more-container[data-v-1f458f27] {
  border-top: 1px solid #e0e0e0;
  background-color: #f8f9fa;
}
.load-more-btn[data-v-1f458f27] {
  min-width: 150px;
}

/* Enhanced User Items */
.user-item[data-v-1f458f27] {
  transition: all 0.2s ease;
  border-bottom: 1px solid #f0f0f0;
}
.user-item[data-v-1f458f27]:hover {
  background-color: #f8f9fa;
  transform: translateX(2px);
}
.user-item[data-v-1f458f27]:last-child {
  border-bottom: none;
}

/* Online Status Indicator */
.online-indicator[data-v-1f458f27] {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  color: #4caf50;
}

/* Search Input Enhancements */
.search-input[data-v-1f458f27] {
  background-color: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transition: all 0.2s ease; /* Keep existing transition */
}
.search-input[data-v-1f458f27]:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
.search-input.q-field--focused[data-v-1f458f27] {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  border-color: var(--q-primary); /* Green border on focus */
}
.search-input[data-v-1f458f27] .q-field__native::placeholder {
  color: black;
  opacity: 1; /* Ensure placeholder is not transparent */
}
.search-input[data-v-1f458f27] .q-field__control-container {
  color: black; /* Ensure typed text is black */
}
.search-input[data-v-1f458f27] .q-field__control {
  color: black;
  background-color: white; /* Explicitly set background for control */
}

/* Search Highlighting */
mark[data-v-1f458f27] {
  background-color: #fff3cd;
  color: #856404;
  padding: 2px 4px;
  border-radius: 3px;
  font-weight: 600;
}

/* Animation for dialog */
.q-dialog__inner--minimized > .new-chat-dialog[data-v-1f458f27] {
  animation: slideIn-1f458f27 0.3s ease-out;
}
@keyframes slideIn-1f458f27 {
from {
    opacity: 0;
    transform: scale(0.9) translateY(-20px);
}
to {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}

/* File Upload Styles */
.file-preview[data-v-1f458f27] {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
  background-color: white;
}
.image-preview[data-v-1f458f27] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 150px;
  max-height: 300px;
  overflow: hidden;
}
.preview-image[data-v-1f458f27] {
  max-width: 100%;
  max-height: 300px;
  object-fit: contain;
  border-radius: 8px;
}
.file-info[data-v-1f458f27] {
  padding: 8px 12px;
}
.file-info .text-weight-medium[data-v-1f458f27] {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}
.file-info .text-caption[data-v-1f458f27] {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
}

/* Upload progress */
.q-linear-progress[data-v-1f458f27] {
  margin-top: 8px;
  border-radius: 2px;
}

/* Responsive file upload */
@media (max-width: 768px) {
.file-preview[data-v-1f458f27] {
    margin: 0 8px;
}
.image-preview[data-v-1f458f27] {
    min-height: 120px;
    max-height: 250px;
}
.preview-image[data-v-1f458f27] {
    max-height: 250px;
}
}

/* Chat Header Search - Inline WhatsApp Style */
.chat-header.search-mode[data-v-1f458f27] {
  min-height: 64px;
}
.search-input-inline[data-v-1f458f27] {
  flex: 1;
}
.search-navigation[data-v-1f458f27] {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.search-result-count[data-v-1f458f27] {
  white-space: nowrap;
  min-width: 50px;
  text-align: center;
}

/* Search Results in Messages Area */
.search-results-header[data-v-1f458f27] {
  padding: 8px 0;
  margin-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
}
.empty-search-state[data-v-1f458f27] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

/* Message Highlighting */
.message-bubble-wrapper.message-highlight[data-v-1f458f27] {
  animation: highlightPulse-1f458f27 2s ease-in-out;
  border-radius: 8px;
  padding: 4px;
  margin: -4px;
}
@keyframes highlightPulse-1f458f27 {
0% {
    background-color: rgba(76, 175, 80, 0.3);
}
50% {
    background-color: rgba(76, 175, 80, 0.5);
}
100% {
    background-color: transparent;
}
}

/* Search term highlighting in message text */
.message-text[data-v-1f458f27] mark {
  background-color: #fff3cd;
  color: #856404;
  padding: 2px 4px;
  border-radius: 3px;
  font-weight: 600;
}

/* Vengeance chat overrides */
.chat-module-container[data-v-1f458f27] {
  height: calc(100vh - 64px);
  padding: 24px;
  gap: 24px;
  background: var(--vengeance-bg);
  color: var(--vengeance-ink);
}
.conversations-sidebar[data-v-1f458f27] {
  width: 340px;
  border-radius: 28px;
  overflow: hidden;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
  box-shadow: var(--shadow);
}
.sidebar-tabs[data-v-1f458f27],
.sidebar-header[data-v-1f458f27],
.chat-header[data-v-1f458f27],
.message-input-container[data-v-1f458f27] {
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink) !important;
  border-color: var(--vengeance-line) !important;
}
.sidebar-tabs[data-v-1f458f27] .q-tab,
.sidebar-header .text-h6[data-v-1f458f27],
.chat-header .text-h6[data-v-1f458f27] {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tab-panels[data-v-1f458f27],
.conversations-list[data-v-1f458f27],
.messages-container[data-v-1f458f27],
.welcome-screen[data-v-1f458f27] {
  background: transparent !important;
}
.search-input[data-v-1f458f27] .q-field__control,
.search-input-inline[data-v-1f458f27] .q-field__control,
.message-input-field[data-v-1f458f27] .q-field__control {
  border-radius: 16px;
  background: var(--vengeance-soft) !important;
  color: var(--vengeance-ink) !important;
  border: 1px solid var(--vengeance-line);
  box-shadow: none;
}
.chat-main-area[data-v-1f458f27] {
  min-width: 0;
}
.chat-area[data-v-1f458f27],
.chat-container[data-v-1f458f27] {
  border-radius: 28px;
  overflow: hidden;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
  box-shadow: var(--shadow);
}
.message-input-container[data-v-1f458f27] {
  border-top: 1px solid var(--vengeance-line);
}
.file-preview[data-v-1f458f27],
.reply-preview-bar[data-v-1f458f27],
.edit-indicator-bar[data-v-1f458f27] {
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
  border-radius: 18px;
}
.send-button[data-v-1f458f27] {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
}
.new-chat-dialog[data-v-1f458f27] {
  border-radius: 28px !important;
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink);
}
.dialog-header[data-v-1f458f27] {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
}
@media (max-width: 900px) {
.chat-module-container[data-v-1f458f27] {
    padding: 12px;
}
.conversations-sidebar[data-v-1f458f27] {
    width: 100%;
}
}

/* NCAT collaboration refinement */
.chat-module-container.whatsapp-layout[data-v-1f458f27] {
  height: 100%;
  padding: 14px;
  gap: 14px;
  background: var(--vengeance-bg);
  color: var(--vengeance-ink);
}
.conversations-sidebar[data-v-1f458f27] {
  width: 326px;
  min-width: 300px;
  max-width: 360px;
  border-radius: 18px;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
  box-shadow: none;
}
.sidebar-tabs[data-v-1f458f27] {
  min-height: 48px;
  background: var(--vengeance-panel) !important;
  border-bottom: 1px solid var(--vengeance-line);
}
.sidebar-tabs[data-v-1f458f27] .q-tabs__content {
  min-height: 48px;
}
.sidebar-tabs[data-v-1f458f27] .q-tab {
  min-height: 48px;
  padding: 0 14px;
  color: var(--vengeance-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sidebar-tabs[data-v-1f458f27] .q-tab--active {
  color: var(--vengeance-ink);
}
.sidebar-tabs[data-v-1f458f27] .q-tab__indicator {
  height: 2px;
  background: var(--vengeance-ink);
}
.sidebar-header[data-v-1f458f27] {
  padding: 14px !important;
  background: var(--vengeance-panel) !important;
  border-bottom: 1px solid var(--vengeance-line);
}
.sidebar-header .text-h6[data-v-1f458f27],
.chat-header .text-h6[data-v-1f458f27] {
  color: var(--vengeance-ink);
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.25;
  text-transform: none;
}
.sidebar-header .q-btn[data-v-1f458f27],
.chat-header .q-btn[data-v-1f458f27],
.message-input-container .q-btn[data-v-1f458f27] {
  color: var(--vengeance-muted);
}
.sidebar-header .q-btn[data-v-1f458f27]:hover,
.chat-header .q-btn[data-v-1f458f27]:hover,
.message-input-container .q-btn[data-v-1f458f27]:hover {
  color: var(--vengeance-ink);
  background: var(--vengeance-soft);
}
.search-input[data-v-1f458f27] {
  box-shadow: none !important;
}
.search-input[data-v-1f458f27] .q-field__control,
.search-input-inline[data-v-1f458f27] .q-field__control,
.message-input-field[data-v-1f458f27] .q-field__control {
  min-height: 42px !important;
  border-radius: 12px !important;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line) !important;
  box-shadow: none !important;
}
.search-input[data-v-1f458f27] .q-field__native,
.search-input-inline[data-v-1f458f27] .q-field__native,
.message-input-field[data-v-1f458f27] .q-field__native {
  color: var(--vengeance-ink) !important;
  font-size: 0.86rem;
}
.search-input[data-v-1f458f27] .q-field__native::placeholder,
.search-input-inline[data-v-1f458f27] .q-field__native::placeholder,
.message-input-field[data-v-1f458f27] .q-field__native::placeholder {
  color: var(--vengeance-muted);
  opacity: 0.82;
}
.tab-panels[data-v-1f458f27] {
  background: var(--vengeance-panel) !important;
}
.conversations-list[data-v-1f458f27] {
  background: var(--vengeance-panel);
}
.empty-state[data-v-1f458f27],
.empty-search-state[data-v-1f458f27] {
  color: var(--vengeance-muted);
}
.chat-main-area[data-v-1f458f27] {
  min-width: 0;
}
.chat-area[data-v-1f458f27],
.chat-container[data-v-1f458f27] {
  border-radius: 18px;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
  box-shadow: none;
}
.chat-header[data-v-1f458f27] {
  min-height: 68px;
  padding: 13px 16px !important;
  background: var(--vengeance-panel) !important;
  border-bottom: 1px solid var(--vengeance-line) !important;
  border-left: 0;
}
.chat-header .text-caption[data-v-1f458f27],
.search-result-count[data-v-1f458f27],
.search-results-header[data-v-1f458f27] {
  color: var(--vengeance-muted) !important;
}
.chat-header[data-v-1f458f27] .q-avatar {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--background-color) 28%, transparent);
}
.messages-container[data-v-1f458f27] {
  padding: 18px !important;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--vengeance-soft) 76%, transparent), transparent 58%),
    var(--vengeance-soft) !important;
}
.message-input-container[data-v-1f458f27] {
  padding: 12px 14px !important;
  background: var(--vengeance-panel) !important;
  border-top: 1px solid var(--vengeance-line) !important;
  box-shadow: none;
}
.message-input-field[data-v-1f458f27] {
  background: transparent;
  border-radius: 12px;
}
.message-input-field.q-field--focused[data-v-1f458f27] .q-field__control {
  background: var(--vengeance-panel) !important;
  border-color: var(--vengeance-ink) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vengeance-ink) 10%, transparent) !important;
}
.reply-preview-bar[data-v-1f458f27],
.edit-indicator-bar[data-v-1f458f27],
.file-preview[data-v-1f458f27] {
  border-radius: 12px;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
  box-shadow: none;
}
.reply-preview-bar[data-v-1f458f27] {
  border-left: 3px solid #0f5a4d;
}
.edit-indicator-bar[data-v-1f458f27] {
  border-left: 3px solid #8a6a12;
}
.reply-preview-label[data-v-1f458f27] {
  color: #0f5a4d;
  font-size: 0.72rem;
}
.edit-indicator-content[data-v-1f458f27] {
  color: #8a6a12;
  font-size: 0.72rem;
}
.send-button[data-v-1f458f27] {
  width: 42px;
  height: 42px;
  background: #0f5a4d !important;
  color: #ffffff !important;
  box-shadow: none;
  transition: transform 160ms ease, background 160ms ease;
}
.send-button[data-v-1f458f27]:hover {
  background: var(--vengeance-ink) !important;
  box-shadow: none;
  transform: translateY(-1px);
}
.send-button[data-v-1f458f27]:active {
  transform: translateY(0);
}
.welcome-screen[data-v-1f458f27] {
  border-radius: 18px;
  background: var(--vengeance-panel) !important;
  border: 1px solid var(--vengeance-line);
}
.welcome-screen .text-h4[data-v-1f458f27] {
  color: var(--vengeance-ink) !important;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 900;
}
.welcome-screen .text-body1[data-v-1f458f27] {
  color: var(--vengeance-muted) !important;
  font-size: 0.92rem;
}
.new-chat-dialog[data-v-1f458f27] {
  border-radius: 18px !important;
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.22);
}
.dialog-header[data-v-1f458f27] {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
}
.search-section[data-v-1f458f27],
.dialog-actions[data-v-1f458f27],
.load-more-container[data-v-1f458f27],
.search-info[data-v-1f458f27] {
  background: var(--vengeance-soft) !important;
  border-color: var(--vengeance-line) !important;
}
.user-item[data-v-1f458f27],
.available-user-item[data-v-1f458f27] {
  border-color: var(--vengeance-line);
}
.user-item[data-v-1f458f27]:hover,
.available-user-item[data-v-1f458f27]:hover {
  background: var(--vengeance-soft);
  transform: none;
}
.conversations-list[data-v-1f458f27]::-webkit-scrollbar,
.messages-container[data-v-1f458f27]::-webkit-scrollbar,
.content-section[data-v-1f458f27]::-webkit-scrollbar,
.users-list[data-v-1f458f27]::-webkit-scrollbar {
  width: 7px;
}
.conversations-list[data-v-1f458f27]::-webkit-scrollbar-track,
.messages-container[data-v-1f458f27]::-webkit-scrollbar-track,
.content-section[data-v-1f458f27]::-webkit-scrollbar-track,
.users-list[data-v-1f458f27]::-webkit-scrollbar-track {
  background: transparent;
}
.conversations-list[data-v-1f458f27]::-webkit-scrollbar-thumb,
.messages-container[data-v-1f458f27]::-webkit-scrollbar-thumb,
.content-section[data-v-1f458f27]::-webkit-scrollbar-thumb,
.users-list[data-v-1f458f27]::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--vengeance-muted) 42%, transparent);
  border-radius: 999px;
}
.scroll-to-bottom-btn[data-v-1f458f27] {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}
@media (max-width: 900px) {
.chat-module-container.whatsapp-layout[data-v-1f458f27] {
    padding: 10px;
    gap: 10px;
}
.conversations-sidebar[data-v-1f458f27] {
    width: 100%;
    min-width: 0;
    max-width: none;
}
.chat-area[data-v-1f458f27],
  .chat-container[data-v-1f458f27],
  .welcome-screen[data-v-1f458f27],
  .conversations-sidebar[data-v-1f458f27] {
    border-radius: 14px;
}
.messages-container[data-v-1f458f27] {
    padding: 12px !important;
}
}
@media (max-width: 768px) {
.chat-main-area[data-v-1f458f27] {
    display: none;
}
.chat-module-container.whatsapp-layout[data-v-1f458f27] {
    flex-direction: column;
}
}

.dms-app-header[data-v-f58ae995] {
  height: 64px;
  box-shadow: none !important;
}
.dms-app-toolbar[data-v-f58ae995] {
  min-height: 64px;
  height: 64px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (min-width: 1024px) {
.dms-app-toolbar[data-v-f58ae995] {
    padding: 0 32px;
}
}
.dms-header-left[data-v-f58ae995],
.dms-header-actions[data-v-f58ae995] {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.dms-header-left[data-v-f58ae995] {
  gap: 16px;
}
.dms-header-actions[data-v-f58ae995] {
  gap: 8px;
  flex: 0 0 auto;
}
.dms-brand-lockup[data-v-f58ae995] {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.dms-header-brand-mark[data-v-f58ae995] {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  flex: 0 0 32px;
  background: #ffffff;
  color: var(--vengeance-ink);
  border: 0;
  overflow: hidden;
}
.dms-header-brand-mark img[data-v-f58ae995] {
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.dms-header-title[data-v-f58ae995] {
  color: var(--vengeance-ink);
  font-size: 1.125rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.v-header-icon[data-v-f58ae995] {
  width: 36px;
  height: 36px;
  color: var(--vengeance-muted);
  border-radius: 10px;
}
.v-header-icon[data-v-f58ae995]:hover {
  color: var(--vengeance-ink);
  background: var(--vengeance-soft);
}
.dms-ask-ai[data-v-f58ae995] {
  min-height: 34px;
  padding: 0 16px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}
.dms-ask-ai[data-v-f58ae995] .q-btn__content {
  gap: 8px;
  line-height: 1;
}
.dms-header-divider[data-v-f58ae995] {
  width: 1px;
  height: 24px;
  margin: 0 8px;
  background: var(--vengeance-line);
}
.dms-theme-toggle[data-v-f58ae995] {
  width: 36px;
  height: 36px;
  color: var(--vengeance-muted);
  border-radius: 10px;
}
.dms-theme-toggle[data-v-f58ae995]:hover {
  color: var(--vengeance-ink);
  background: var(--vengeance-soft);
}
.dms-user-menu-btn[data-v-f58ae995] {
  min-height: 36px;
  max-width: min(260px, 38vw);
  padding: 0 8px !important;
  border-radius: 12px !important;
  color: var(--vengeance-ink);
}
.dms-user-menu-btn[data-v-f58ae995] .q-btn__content {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: nowrap;
}
.dms-user-menu-btn[data-v-f58ae995]:hover {
  background: var(--vengeance-soft);
}
.dms-user-avatar[data-v-f58ae995] {
  flex: 0 0 auto;
  background: var(--vengeance-ink);
  color: var(--vengeance-panel);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
}
.dms-user-name[data-v-f58ae995] {
  display: inline-block;
  min-width: 0;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
}
.dms-profile-menu[data-v-f58ae995] {
  min-width: 260px;
  border-radius: 12px;
  border: 1px solid var(--vengeance-line);
  background: var(--vengeance-panel);
  color: var(--vengeance-ink);
  box-shadow: var(--shadow);
}
.dms-profile-menu-header[data-v-f58ae995] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  min-width: 0;
}
.dms-profile-menu-copy[data-v-f58ae995] {
  min-width: 0;
}
.dms-profile-menu-name[data-v-f58ae995] {
  max-width: 178px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
}
.dms-profile-menu-meta[data-v-f58ae995] {
  max-width: 178px;
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--vengeance-muted);
  font-size: 12px;
  line-height: 1.2;
}
.dms-profile-menu-list[data-v-f58ae995] {
  padding: 6px;
}
.dms-profile-menu-list[data-v-f58ae995] .q-item {
  min-height: 38px;
  border-radius: 8px;
}
.ai-drawer[data-v-f58ae995] {
  background: var(--drawer-bg) !important;
  color: var(--text-color);
}
.chat-drawer[data-v-f58ae995] {
  background: var(--vengeance-bg) !important;
  color: var(--vengeance-ink);
}
.chat-drawer-content[data-v-f58ae995] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.collaboration-drawer-header[data-v-f58ae995] {
  min-height: 72px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--vengeance-panel);
  border-bottom: 1px solid var(--vengeance-line);
}
.collaboration-drawer-eyebrow[data-v-f58ae995] {
  color: var(--vengeance-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.collaboration-drawer-title[data-v-f58ae995] {
  margin-top: 4px;
  color: var(--vengeance-ink);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
.chat-drawer-body[data-v-f58ae995] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.chat-drawer-body[data-v-f58ae995] .chat-module-container {
  height: 100%;
}
.floating-actions-container[data-v-f58ae995] {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}
.floating-action-btn[data-v-f58ae995] {
  width: 44px;
  height: 44px;
  color: var(--background-color);
  background: var(--vengeance-ink);
  border: 1px solid color-mix(in srgb, var(--background-color) 18%, transparent);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.floating-action-btn[data-v-f58ae995]:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.22);
}
.floating-action-btn--notifications[data-v-f58ae995] {
  background: #8a6a12;
}
.floating-action-btn--chat[data-v-f58ae995] {
  background: #0f5a4d;
}
.floating-action-btn--ai[data-v-f58ae995] {
  background: var(--vengeance-ink);
}
.floating-action-btn[data-v-f58ae995] .q-badge {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 900;
  border: 2px solid var(--vengeance-panel);
}
.v-global-drawer[data-v-f58ae995] {
  background: var(--sidebar-bg) !important;
  border-right: 1px solid var(--vengeance-line);
}
.v-drawer-content[data-v-f58ae995] {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.v-drawer-list[data-v-f58ae995] {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.v-drawer-footer[data-v-f58ae995] {
  flex: 0 0 auto;
  padding: 12px 14px 16px;
  border-top: 1px solid var(--vengeance-line);
}
.v-drawer-collapse-btn[data-v-f58ae995] {
  width: 100%;
  min-height: 38px;
  justify-content: flex-start;
  border-radius: 14px;
  color: var(--vengeance-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.v-drawer-collapse-btn[data-v-f58ae995]:hover {
  background: var(--vengeance-soft);
  color: var(--vengeance-ink);
}
.v-global-drawer[data-v-f58ae995] .q-item {
  border-radius: 14px;
  min-height: 42px;
  margin: 3px 8px;
  padding: 0 14px;
  color: var(--vengeance-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}
.v-global-drawer[data-v-f58ae995] .q-item__section--avatar {
  min-width: 0;
  padding-right: 12px;
  color: inherit;
}
.v-nav-icon-section[data-v-f58ae995] {
  flex: 0 0 auto;
}
.v-global-drawer--mini[data-v-f58ae995] .q-list {
  padding-top: 12px;
}
.v-global-drawer--mini[data-v-f58ae995] .q-item {
  justify-content: center;
  min-height: 44px;
  margin: 5px 10px;
  padding: 0;
}
.v-global-drawer--mini[data-v-f58ae995] .q-item__section--avatar {
  padding-right: 0;
}
.v-global-drawer--mini .v-drawer-footer[data-v-f58ae995] {
  padding: 12px 13px 16px;
}
.v-global-drawer--mini .v-drawer-collapse-btn[data-v-f58ae995] {
  width: 50px;
  min-width: 50px;
  height: 42px;
  min-height: 42px;
  justify-content: center;
  padding: 0;
}
.v-global-drawer[data-v-f58ae995] .q-item:hover {
  background: rgba(0, 0, 0, 0.05);
  color: var(--vengeance-ink);
}
.body--dark .v-global-drawer[data-v-f58ae995] .q-item:hover {
  background: rgba(255, 255, 255, 0.05);
}
.v-global-drawer[data-v-f58ae995] .v-nav-active {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
}
.v-nav-label[data-v-f58ae995] {
  white-space: nowrap;
  line-height: 1;
}
@media (max-width: 520px) {
.dms-app-toolbar[data-v-f58ae995] {
    padding: 0 10px;
    gap: 8px;
}
.dms-header-left[data-v-f58ae995] {
    gap: 8px;
}
.dms-header-actions[data-v-f58ae995] {
    gap: 2px;
}
.dms-brand-lockup[data-v-f58ae995] {
    gap: 8px;
}
.dms-header-brand-mark[data-v-f58ae995] {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}
.dms-header-title[data-v-f58ae995] {
    font-size: 0.82rem;
    letter-spacing: 0.12em;
}
.v-header-icon[data-v-f58ae995] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
}
.floating-actions-container[data-v-f58ae995] {
    right: 14px;
    bottom: 14px;
    gap: 8px;
}
.floating-action-btn[data-v-f58ae995] {
    width: 42px;
    height: 42px;
}
.collaboration-drawer-header[data-v-f58ae995] {
    min-height: 66px;
    padding: 12px 14px;
}
}

.password-input[data-v-08f89121] {
  transition: all 0.3s ease;
}
.password-input:hover .q-field__append[data-v-08f89121] {
  opacity: 1;
}
.q-field__append[data-v-08f89121] {
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.text-grey-5[data-v-08f89121] {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}

.public-chat-widget[data-v-4a4faa38] {
  --public-chat-width: 420px;
  --public-chat-height: 640px;
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 10020;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.chat-launcher[data-v-4a4faa38] {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: #ffffff;
  background: #0b302c;
  box-shadow: 0 18px 40px rgba(5, 18, 17, 0.32);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.chat-launcher[data-v-4a4faa38]:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 48px rgba(5, 18, 17, 0.36);
}
.chat-panel[data-v-4a4faa38] {
  position: absolute;
  right: 0;
  bottom: 78px;
  width: min(var(--public-chat-width), calc(100vw - 32px));
  height: min(var(--public-chat-height), calc(100vh - 120px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  overflow: hidden;
  border-radius: 18px;
  color: #111b18;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 26px 80px rgba(5, 18, 17, 0.28);
}
.chat-panel-header[data-v-4a4faa38] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  color: #ffffff;
  background: #0b302c;
}
.assistant-mark[data-v-4a4faa38] {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
}
.assistant-title[data-v-4a4faa38] {
  min-width: 0;
  flex: 1;
}
.assistant-title strong[data-v-4a4faa38],
.assistant-title span[data-v-4a4faa38] {
  display: block;
}
.assistant-title strong[data-v-4a4faa38] {
  font-size: 0.95rem;
  font-weight: 900;
}
.assistant-title span[data-v-4a4faa38] {
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 800;
}
.panel-close[data-v-4a4faa38] {
  color: #ffffff;
}
.chat-messages[data-v-4a4faa38] {
  min-height: 0;
  overflow-y: auto;
  padding: 18px;
  background: #f6fbf8;
}
.welcome-state[data-v-4a4faa38] {
  min-height: 100%;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
}
.welcome-icon[data-v-4a4faa38] {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #0b302c;
  background: #e8f5ef;
}
.welcome-state h3[data-v-4a4faa38] {
  margin: 14px 0 6px;
  color: #111b18;
  font-size: 1.25rem;
  font-weight: 900;
}
.welcome-state p[data-v-4a4faa38] {
  max-width: 290px;
  margin: 0;
  color: #66736f;
  font-size: 0.84rem;
  line-height: 1.45;
}
.starter-grid[data-v-4a4faa38] {
  width: 100%;
  display: grid;
  gap: 8px;
  margin-top: 18px;
}
.starter-grid button[data-v-4a4faa38] {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(11, 48, 44, 0.14);
  border-radius: 999px;
  color: #0b302c;
  background: #ffffff;
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}
.message-row[data-v-4a4faa38] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.message-row.user[data-v-4a4faa38] {
  justify-content: flex-end;
}
.message-avatar[data-v-4a4faa38] {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #ffffff;
  background: #0b302c;
}
.message-bubble[data-v-4a4faa38] {
  max-width: 82%;
  padding: 11px 12px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(11, 48, 44, 0.08);
}
.message-row.user .message-bubble[data-v-4a4faa38] {
  color: #ffffff;
  background: #0b302c;
}
.message-bubble p[data-v-4a4faa38] {
  margin: 0;
  white-space: pre-wrap;
  font-size: 0.84rem;
  line-height: 1.5;
}
.message-block[data-v-4a4faa38] {
  display: flex;
  gap: 7px;
  margin: 0 0 8px;
  font-size: 0.84rem;
  line-height: 1.5;
}
.message-block[data-v-4a4faa38]:last-child {
  margin-bottom: 0;
}
.message-block--heading[data-v-4a4faa38] {
  margin-top: 10px;
  margin-bottom: 6px;
  color: #0b302c;
  font-size: 0.78rem;
  line-height: 1.25;
}
.message-block--heading[data-v-4a4faa38]:first-child {
  margin-top: 0;
}
.message-block--bullet[data-v-4a4faa38],
.message-block--numbered[data-v-4a4faa38] {
  align-items: flex-start;
}
.block-marker[data-v-4a4faa38] {
  min-width: 18px;
  color: #0b302c;
  font-weight: 900;
}
.source-strip[data-v-4a4faa38] {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}
.source-strip span[data-v-4a4faa38] {
  padding: 3px 7px;
  border-radius: 999px;
  color: #0b302c;
  background: #e8f5ef;
  font-size: 0.64rem;
  font-weight: 900;
}
.typing[data-v-4a4faa38] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 38px;
}
.typing span[data-v-4a4faa38] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0b302c;
  animation: typingPulse-4a4faa38 1s ease-in-out infinite;
}
.typing span[data-v-4a4faa38]:nth-child(2) {
  animation-delay: 0.16s;
}
.typing span[data-v-4a4faa38]:nth-child(3) {
  animation-delay: 0.32s;
}
.suggestion-rail[data-v-4a4faa38] {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 12px 0;
  background: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.suggestion-rail button[data-v-4a4faa38] {
  flex: 0 0 auto;
  max-width: 230px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(11, 48, 44, 0.14);
  border-radius: 999px;
  color: #0b302c;
  background: #f6fbf8;
  font-size: 0.74rem;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}
.chat-input-bar[data-v-4a4faa38] {
  display: flex;
  gap: 8px;
  padding: 12px;
  background: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.chat-input-bar input[data-v-4a4faa38] {
  min-width: 0;
  flex: 1;
  height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(11, 48, 44, 0.14);
  border-radius: 999px;
  outline: none;
  background: #f6fbf8;
}
.chat-input-bar input[data-v-4a4faa38]:focus {
  border-color: #0b302c;
}
.chat-input-bar button[data-v-4a4faa38] {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: #ffffff;
  background: #0b302c;
  cursor: pointer;
}
.chat-input-bar button[data-v-4a4faa38]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.chat-pop-enter-active[data-v-4a4faa38],
.chat-pop-leave-active[data-v-4a4faa38] {
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.chat-pop-enter-from[data-v-4a4faa38],
.chat-pop-leave-to[data-v-4a4faa38] {
  opacity: 0;
  transform: translateY(12px) scale(0.98);
}
@keyframes typingPulse-4a4faa38 {
0%, 80%, 100% { opacity: 0.35; transform: translateY(0);
}
40% { opacity: 1; transform: translateY(-2px);
}
}
.body--dark .chat-panel[data-v-4a4faa38] {
  color: #f4f4f5;
  background: #09090b;
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .chat-messages[data-v-4a4faa38] {
  background: #050505;
}
.body--dark .welcome-state h3[data-v-4a4faa38] {
  color: #ffffff;
}
.body--dark .welcome-state p[data-v-4a4faa38] {
  color: #a1a1aa;
}
.body--dark .starter-grid button[data-v-4a4faa38],
.body--dark .suggestion-rail[data-v-4a4faa38],
.body--dark .suggestion-rail button[data-v-4a4faa38],
.body--dark .message-bubble[data-v-4a4faa38],
.body--dark .chat-input-bar[data-v-4a4faa38] {
  color: #f4f4f5;
  background: #18181b;
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .chat-input-bar input[data-v-4a4faa38] {
  color: #ffffff;
  background: #09090b;
  border-color: rgba(255, 255, 255, 0.12);
}
.body--dark .message-block--heading[data-v-4a4faa38],
.body--dark .block-marker[data-v-4a4faa38] {
  color: #7dd3b0;
}
@media (max-width: 520px) {
.public-chat-widget[data-v-4a4faa38] {
    right: 16px;
    bottom: 16px;
}
.chat-panel[data-v-4a4faa38] {
    right: -4px;
    bottom: 74px;
    width: calc(100vw - 24px);
    height: min(600px, calc(100vh - 106px));
}
}

.dms-login-page[data-v-7cd3c9c6] {
  min-height: 100vh;
  background:
    linear-gradient(135deg, rgba(11, 48, 44, 0.92), rgba(18, 75, 66, 0.88)),
    linear-gradient(180deg, #f6fbf8 0%, #edf5f2 100%);
  color: #15201d;
}
.login-theme-toggle[data-v-7cd3c9c6] {
  position: fixed;
  top: 18px;
  left: 18px;
  z-index: 10000;
  color: white;
  background: rgba(11, 48, 44, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  backdrop-filter: blur(12px);
}
.login-stage[data-v-7cd3c9c6] {
  width: min(1040px, calc(100vw - 32px));
  min-height: 100vh;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  align-items: center;
  gap: 32px;
  padding: 32px 0;
}
.dms-panel[data-v-7cd3c9c6] {
  min-height: 540px;
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  padding: 44px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.05)),
    #0b302c;
  box-shadow: 0 24px 60px rgba(5, 18, 17, 0.28);
}
.dms-panel[data-v-7cd3c9c6]::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(140deg, black, transparent 70%);
}
.panel-mark[data-v-7cd3c9c6],
.panel-copy[data-v-7cd3c9c6],
.document-stack[data-v-7cd3c9c6] {
  position: relative;
  z-index: 1;
}
.panel-mark[data-v-7cd3c9c6] {
  width: 86px;
  height: 86px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: #e8fff7;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
}
.panel-copy[data-v-7cd3c9c6] {
  margin-top: 34px;
  color: white;
}
.panel-kicker[data-v-7cd3c9c6] {
  margin: 0 0 8px;
  color: #a6d8c8;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
}
.panel-copy h1[data-v-7cd3c9c6] {
  margin: 0;
  font-size: clamp(2.5rem, 6vw, 4.8rem);
  line-height: 0.95;
  font-weight: 900;
  letter-spacing: 0;
}
.panel-rule[data-v-7cd3c9c6] {
  width: 120px;
  height: 5px;
  margin-top: 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f4c95d, #42d6a4);
}
.document-stack[data-v-7cd3c9c6] {
  height: 210px;
  margin-top: 56px;
}
.document-sheet[data-v-7cd3c9c6] {
  position: absolute;
  width: 230px;
  min-height: 160px;
  border-radius: 8px;
  padding: 24px;
  background: #ffffff;
  color: #124b42;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
}
.document-sheet span[data-v-7cd3c9c6] {
  display: block;
  height: 9px;
  margin-top: 16px;
  border-radius: 999px;
  background: #d9e9e4;
}
.document-sheet .short[data-v-7cd3c9c6] {
  width: 58%;
}
.sheet-primary[data-v-7cd3c9c6] {
  left: 0;
  bottom: 0;
}
.sheet-secondary[data-v-7cd3c9c6] {
  left: 190px;
  bottom: 24px;
  transform: rotate(4deg);
  background: #f8fffc;
}
.sheet-tertiary[data-v-7cd3c9c6] {
  left: 380px;
  bottom: 5px;
  transform: rotate(-3deg);
  background: #fffaf0;
  color: #8a5b00;
}
.login-card[data-v-7cd3c9c6] {
  width: 430px;
  max-width: 100%;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(5, 18, 17, 0.3);
}
.vengeance-login-card[data-v-7cd3c9c6] {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(22px);
}
.card-accent-bar[data-v-7cd3c9c6] {
  height: 0;
  background: transparent;
}
.login-heading[data-v-7cd3c9c6] {
  padding: 48px 40px 22px;
  text-align: left;
}
.brand-lockup[data-v-7cd3c9c6] {
  width: 78px;
  height: 58px;
  margin: 0 0 28px;
  display: grid;
  place-items: start;
}
.brand-lockup img[data-v-7cd3c9c6] {
  max-width: 112px;
  max-height: 78px;
  object-fit: contain;
}
.login-kicker[data-v-7cd3c9c6],
.login-field-label[data-v-7cd3c9c6],
.recover-btn[data-v-7cd3c9c6] .q-btn__content {
  display: block;
  color: #71717a;
  font-size: 0.63rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.login-field-label[data-v-7cd3c9c6] {
  margin: 0 0 8px;
}
.recover-btn[data-v-7cd3c9c6] {
  color: #111 !important;
  padding: 2px 0 !important;
}
.login-heading h2[data-v-7cd3c9c6] {
  margin: 10px 0 0;
  color: #111b18;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.login-heading small[data-v-7cd3c9c6] {
  color: #62736d;
  font-size: 0.85rem;
  font-weight: 500;
}
.login-heading p[data-v-7cd3c9c6] {
  margin: 10px 0 0;
  color: #62736d;
  font-size: 0.78rem;
  line-height: 1.45;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.login-input[data-v-7cd3c9c6] .q-field__control {
  min-height: 52px;
  border-radius: 18px;
  background: #f4f4f5;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.login-submit[data-v-7cd3c9c6] {
  min-height: 56px;
  border-radius: 18px;
  background: #09090b !important;
}
.fingerprint-icon[data-v-7cd3c9c6] {
  border-left: 1px solid rgba(255, 255, 255, 0.42);
  padding-left: 14px;
  margin-left: 14px;
}
.download-section[data-v-7cd3c9c6] {
  padding: 26px 24px 24px;
  color: #62736d;
}
.download-section .q-btn[data-v-7cd3c9c6] {
  color: #111;
  background: #f4f4f5;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.company-info-section[data-v-7cd3c9c6] {
  padding: 16px 20px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.company-lockup[data-v-7cd3c9c6] {
  min-width: 0;
}
.company-logo[data-v-7cd3c9c6] {
  border-radius: 7px;
}
.company-text[data-v-7cd3c9c6] {
  color: #4c5d58;
  font-weight: 700;
}
.pwa-install-banner[data-v-7cd3c9c6] {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 9999;
}
.pwa-banner-card[data-v-7cd3c9c6] {
  background: linear-gradient(135deg, #0b302c 0%, #2f8f76 100%);
  border-radius: 8px !important;
  box-shadow: 0 14px 32px rgba(11, 48, 44, 0.28);
  min-width: 240px;
}
.pwa-install-modal[data-v-7cd3c9c6] {
  position: relative;
  width: min(360px, calc(100vw - 32px));
  border-radius: 8px;
  padding-top: 12px;
}
.pwa-install-modal__close[data-v-7cd3c9c6] {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
}
.modal-logo-wrap[data-v-7cd3c9c6] {
  width: 76px;
  height: 76px;
  margin: 0 auto;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: #124b42;
  background: #eef7f4;
}
.slide-down-enter-active[data-v-7cd3c9c6],
.slide-down-leave-active[data-v-7cd3c9c6] {
  transition: all 0.3s ease;
}
.slide-down-enter-from[data-v-7cd3c9c6],
.slide-down-leave-to[data-v-7cd3c9c6] {
  opacity: 0;
  transform: translateY(-20px);
}
.body--dark .dms-login-page[data-v-7cd3c9c6] {
  background:
    linear-gradient(135deg, rgba(5, 18, 17, 0.96), rgba(16, 44, 40, 0.94)),
    #101614;
}
.body--dark .login-card[data-v-7cd3c9c6] {
  background: rgba(9, 9, 11, 0.96);
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .login-heading h2[data-v-7cd3c9c6] {
  color: #edf5f2;
}
.body--dark .login-heading small[data-v-7cd3c9c6],
.body--dark .login-heading p[data-v-7cd3c9c6],
.body--dark .download-section[data-v-7cd3c9c6],
.body--dark .company-text[data-v-7cd3c9c6] {
  color: #aab9b4;
}
.body--dark .download-section .q-btn[data-v-7cd3c9c6] {
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .recover-btn[data-v-7cd3c9c6] {
  color: #fff !important;
}
.body--dark .login-input[data-v-7cd3c9c6] .q-field__control {
  background: #18181b;
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .company-info-section[data-v-7cd3c9c6] {
  border-top-color: rgba(255, 255, 255, 0.08);
}
@media (max-width: 900px) {
.login-stage[data-v-7cd3c9c6] {
    grid-template-columns: 1fr;
    width: min(460px, calc(100vw - 28px));
    padding: 24px 0;
}
.dms-panel[data-v-7cd3c9c6] {
    display: none;
}
.login-card[data-v-7cd3c9c6] {
    width: 100%;
}
}
@media (max-width: 460px) {
.login-stage[data-v-7cd3c9c6] {
    width: calc(100vw - 20px);
}
.login-heading[data-v-7cd3c9c6] {
    padding: 22px 22px 8px;
}
.company-info-section[data-v-7cd3c9c6] .q-btn__content {
    font-size: 0.7rem;
}
.company-lockup[data-v-7cd3c9c6] {
    justify-content: flex-end;
}
}

/* Exact TSX-inspired login implementation */
.dms-login-page[data-v-7cd3c9c6] {
  min-height: 100vh;
  background: #fafafa;
  color: #09090b;
  overflow: hidden;
}
.login-theme-toggle[data-v-7cd3c9c6] {
  top: 24px;
  right: 24px;
  left: auto;
  z-index: 20;
  color: #52525b;
  background: rgba(0, 0, 0, 0.05);
  border: 0;
  border-radius: 999px;
  backdrop-filter: blur(12px);
}
.login-stage[data-v-7cd3c9c6] {
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 24px;
}
.login-shell[data-v-7cd3c9c6] {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
  min-height: 560px;
  display: flex;
  padding: 6px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  backdrop-filter: blur(24px);
}
.dms-panel[data-v-7cd3c9c6] {
  width: 50%;
  min-height: auto;
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 32px;
  border-radius: 18px;
  background: #050505;
  color: #fff;
  box-shadow: none;
}
.dms-panel[data-v-7cd3c9c6]::before {
  display: none;
}
.panel-pattern[data-v-7cd3c9c6] {
  position: absolute;
  inset: 0;
  opacity: 0.2;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
  background-size: 24px 24px;
}
.panel-top[data-v-7cd3c9c6],
.panel-copy[data-v-7cd3c9c6],
.panel-flow[data-v-7cd3c9c6],
.document-stack[data-v-7cd3c9c6] {
  position: relative;
  z-index: 1;
}
.panel-top[data-v-7cd3c9c6] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 36px;
}
.panel-top span[data-v-7cd3c9c6] {
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.panel-brand-icon[data-v-7cd3c9c6],
.mobile-brand-icon[data-v-7cd3c9c6] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #050505;
  overflow: hidden;
}
.panel-brand-icon img[data-v-7cd3c9c6],
.mobile-brand-icon img[data-v-7cd3c9c6] {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.panel-copy[data-v-7cd3c9c6] {
  margin: 0;
}
.panel-copy h1[data-v-7cd3c9c6] {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}
.panel-copy p[data-v-7cd3c9c6] {
  max-width: 320px;
  margin: 0;
  color: #a1a1aa;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.ncat-campus-card[data-v-7cd3c9c6] {
  position: relative;
  z-index: 1;
  width: min(360px, 100%);
  height: 128px;
  margin-top: 24px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
}
.ncat-campus-card[data-v-7cd3c9c6]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.35));
}
.ncat-campus-card img[data-v-7cd3c9c6] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.panel-flow[data-v-7cd3c9c6] {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}
.flow-card[data-v-7cd3c9c6] {
  width: min(300px, 100%);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
}
.flow-card.offset[data-v-7cd3c9c6] {
  margin-left: 20px;
}
.flow-card span[data-v-7cd3c9c6] {
  display: block;
  color: #a1a1aa;
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.flow-card strong[data-v-7cd3c9c6] {
  display: block;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.35;
}
.document-stack[data-v-7cd3c9c6] {
  height: 110px;
  margin-top: 18px;
  opacity: 0.95;
}
.document-sheet[data-v-7cd3c9c6] {
  width: 165px;
  min-height: 92px;
  border-radius: 14px;
  padding: 14px;
}
.document-sheet span[data-v-7cd3c9c6] {
  height: 6px;
  margin-top: 10px;
}
.sheet-primary[data-v-7cd3c9c6] {
  left: 0;
  bottom: 0;
}
.sheet-secondary[data-v-7cd3c9c6] {
  left: 115px;
  bottom: 14px;
}
.sheet-tertiary[data-v-7cd3c9c6] {
  left: 230px;
  bottom: 0;
}
.login-card[data-v-7cd3c9c6] {
  width: 50%;
  max-width: none;
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 18px;
  box-shadow: none;
}
.vengeance-login-card[data-v-7cd3c9c6] {
  background: #fff;
  border: 0;
  backdrop-filter: none;
}
.login-heading[data-v-7cd3c9c6] {
  padding: 0 46px 28px;
}
.mobile-brand-icon[data-v-7cd3c9c6] {
  display: none;
  margin-bottom: 18px;
}
.login-heading h2[data-v-7cd3c9c6] {
  margin: 0 0 8px;
  color: #09090b;
  font-size: 1.55rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.login-heading p[data-v-7cd3c9c6] {
  margin: 0;
  color: #71717a;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.login-form-section[data-v-7cd3c9c6] {
  padding: 0 46px;
}
.login-field-label[data-v-7cd3c9c6],
.recover-btn[data-v-7cd3c9c6] .q-btn__content {
  color: #71717a;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.recover-btn[data-v-7cd3c9c6] {
  color: #09090b !important;
}
.login-input[data-v-7cd3c9c6] .q-field__control {
  min-height: 46px;
  border-radius: 14px;
  background: #fafafa !important;
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: #09090b;
}
.login-actions[data-v-7cd3c9c6] {
  display: flex;
  gap: 10px;
  padding-top: 8px;
}
.authorize-btn[data-v-7cd3c9c6],
.fingerprint-btn[data-v-7cd3c9c6] {
  min-height: 46px;
  border-radius: 14px;
  background: #09090b !important;
  color: #fff !important;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: none;
}
.authorize-btn[data-v-7cd3c9c6] {
  flex: 1;
}
.authorize-btn[data-v-7cd3c9c6] .q-btn__content {
  gap: 8px;
}
.fingerprint-btn[data-v-7cd3c9c6] {
  width: 46px;
  flex: 0 0 46px;
}
.login-footer[data-v-7cd3c9c6] {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  margin: 36px 46px 0;
  padding: 16px 0 0;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.install-links[data-v-7cd3c9c6],
.footer-links[data-v-7cd3c9c6] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer-links[data-v-7cd3c9c6] {
  justify-content: flex-end;
}
.powered-by[data-v-7cd3c9c6] {
  color: #71717a;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}
.login-footer[data-v-7cd3c9c6] .q-btn {
  min-height: 24px;
  padding: 0;
  color: #71717a;
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.login-footer[data-v-7cd3c9c6] .q-btn:hover {
  color: #09090b;
}
.body--dark .dms-login-page[data-v-7cd3c9c6] {
  background: #09090b;
}
.body--dark .login-shell[data-v-7cd3c9c6] {
  background: rgba(0, 0, 0, 0.92);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 30px rgba(255, 255, 255, 0.02);
}
.body--dark .dms-panel[data-v-7cd3c9c6] {
  background: #18181b;
}
.body--dark .vengeance-login-card[data-v-7cd3c9c6] {
  background: #000;
}
.body--dark .login-heading h2[data-v-7cd3c9c6] {
  color: #fff;
}
.body--dark .login-heading p[data-v-7cd3c9c6],
.body--dark .login-field-label[data-v-7cd3c9c6],
.body--dark .recover-btn[data-v-7cd3c9c6] .q-btn__content,
.body--dark .login-footer[data-v-7cd3c9c6] .q-btn,
.body--dark .powered-by[data-v-7cd3c9c6] {
  color: #a1a1aa;
}
.body--dark .recover-btn[data-v-7cd3c9c6] {
  color: #fff !important;
}
.body--dark .login-input[data-v-7cd3c9c6] .q-field__control {
  background: #18181b !important;
  border-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.body--dark .authorize-btn[data-v-7cd3c9c6],
.body--dark .fingerprint-btn[data-v-7cd3c9c6] {
  background: #fff !important;
  color: #000 !important;
}
.body--dark .login-footer[data-v-7cd3c9c6] {
  border-top-color: rgba(255, 255, 255, 0.05);
}
.body--dark .login-footer[data-v-7cd3c9c6] .q-btn:hover {
  color: #fff;
}
@media (max-width: 900px) {
.login-stage[data-v-7cd3c9c6] {
    width: 100%;
    padding: 18px;
}
.login-shell[data-v-7cd3c9c6] {
    width: min(420px, 100%);
    min-height: auto;
    display: block;
}
.dms-panel[data-v-7cd3c9c6] {
    display: none;
}
.login-card[data-v-7cd3c9c6] {
    width: 100%;
}
.mobile-brand-icon[data-v-7cd3c9c6] {
    display: grid;
}
.login-heading[data-v-7cd3c9c6],
  .login-form-section[data-v-7cd3c9c6] {
    padding-left: 24px;
    padding-right: 24px;
}
.login-heading[data-v-7cd3c9c6] {
    padding-top: 34px;
}
.login-footer[data-v-7cd3c9c6] {
    margin: 32px 24px 0;
    grid-template-columns: 1fr;
    justify-items: start;
}
.powered-by[data-v-7cd3c9c6] {
    text-align: left;
    white-space: normal;
}
}
@media (max-width: 460px) {
.login-stage[data-v-7cd3c9c6] {
    padding: 10px;
}
.login-heading[data-v-7cd3c9c6],
  .login-form-section[data-v-7cd3c9c6] {
    padding-left: 18px;
    padding-right: 18px;
}
.login-footer[data-v-7cd3c9c6] {
    margin-left: 18px;
    margin-right: 18px;
}
.install-links[data-v-7cd3c9c6],
  .footer-links[data-v-7cd3c9c6] {
    flex-wrap: wrap;
}
}

.change-password-page[data-v-fb80ac59] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f5f5f5;
  padding: 20px;
}
.change-password-container[data-v-fb80ac59] {
  width: 100%;
  max-width: 450px;
}
.password-change-card[data-v-fb80ac59] {
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.password-icon-wrapper[data-v-fb80ac59] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: rgba(25, 118, 210, 0.1);
  border-radius: 50%;
  margin-bottom: 8px;
}
.password-form[data-v-fb80ac59] {
  width: 100%;
}
.password-change-actions[data-v-fb80ac59] {
  margin-top: 8px;
}
.password-submit-btn[data-v-fb80ac59] {
  width: 100%;
  height: 48px;
  border-radius: 8px;
  font-weight: 600;
  text-transform: none;
  font-size: 15px;
}
.error-card[data-v-fb80ac59] {
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.error-message[data-v-fb80ac59] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: #ffebee;
  border-left: 4px solid #f44336;
  border-radius: 4px;
  color: #c62828;
  font-size: 14px;
}
[data-v-fb80ac59] .q-field--outlined .q-field__control {
  border-radius: 8px;
}
[data-v-fb80ac59] .q-field--dense .q-field__control {
  min-height: 48px;
}

/* ─── Dark Mode ─── */
.body--dark .change-password-page[data-v-fb80ac59] {
  background-color: #181a1b;
}
.body--dark .password-change-card[data-v-fb80ac59] {
  background: #232527;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}
.body--dark .error-card[data-v-fb80ac59] { background: #232527;
}
.body--dark .error-message[data-v-fb80ac59] {
  background: rgba(244, 67, 54, 0.12);
  color: #ef9a9a;
}

/* Add any specific styles for this modal here if needed */

.upload-zone[data-v-f38e6c50] {
  border: 2px dashed #ccc;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.upload-zone[data-v-f38e6c50]:hover,
.upload-zone.drag-over[data-v-f38e6c50] {
  border-color: var(--q-primary);
  background-color: rgba(0, 123, 255, 0.05);
}
.upload-zone.drag-over[data-v-f38e6c50] {
  background-color: rgba(0, 123, 255, 0.1);
}

.text-document-editor[data-v-16370ef5] {
  width: 100%;
}
.editor-header[data-v-16370ef5] {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 16px;
}
.editor-actions[data-v-16370ef5] {
  display: flex;
  gap: 8px;
}
.fullscreen-btn[data-v-16370ef5] {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.fullscreen-btn[data-v-16370ef5]:hover {
  background: rgba(0, 0, 0, 0.08);
  transform: scale(1.1);
}
.rich-editor-container[data-v-16370ef5] {
  position: relative;
}
.resize-guide[data-v-16370ef5] {
  position: absolute;
  width: 1px;
  background: #178a2c;
  z-index: 10;
}
.table-overlay[data-v-16370ef5] {
  position: absolute;
  border: 1px dashed #178a2c;
  pointer-events: none;
  z-index: 9;
}
.table-overlay .handle[data-v-16370ef5] {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #178a2c;
  border-radius: 2px;
  pointer-events: auto;
  cursor: pointer;
}
.table-overlay .handle.move[data-v-16370ef5] {
  left: -14px;
  top: -14px;
  cursor: grab;
}
.table-overlay .handle.br[data-v-16370ef5] {
  right: -6px;
  bottom: -6px;
  cursor: se-resize;
}
.table-overlay .handle.l[data-v-16370ef5] {
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  cursor: ew-resize;
}
.table-overlay .handle.indent[data-v-16370ef5] {
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  cursor: ew-resize;
}
.insert-guide[data-v-16370ef5] {
  position: absolute;
  height: 2px;
  background: #21ba45;
  z-index: 8;
}

/* Image overlay */
.image-overlay[data-v-16370ef5] {
  position: absolute;
  border: 1px dashed #1a73e8;
  pointer-events: none;
  z-index: 9;
}
.image-overlay .handle[data-v-16370ef5] {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #1a73e8;
  border-radius: 2px;
  pointer-events: auto;
  cursor: pointer;
}
.image-overlay .handle.move[data-v-16370ef5] {
  left: -14px;
  top: -14px;
  cursor: grab;
  width: 14px;
  height: 14px;
}
.image-overlay .handle.indent[data-v-16370ef5] {
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  cursor: ew-resize;
}
.image-overlay .handle.tl[data-v-16370ef5] { left: -6px; top: -6px; cursor: nw-resize;
}
.image-overlay .handle.tr[data-v-16370ef5] { right: -6px; top: -6px; cursor: ne-resize;
}
.image-overlay .handle.bl[data-v-16370ef5] { left: -6px; bottom: -6px; cursor: sw-resize;
}
.image-overlay .handle.br[data-v-16370ef5] { right: -6px; bottom: -6px; cursor: se-resize;
}
.image-overlay .handle.l[data-v-16370ef5] { left: -6px; top: 50%; transform: translateY(-50%); cursor: ew-resize;
}
.image-overlay .handle.r[data-v-16370ef5] { right: -6px; top: 50%; transform: translateY(-50%); cursor: ew-resize;
}
.image-overlay .handle.t[data-v-16370ef5] { top: -6px; left: 50%; transform: translateX(-50%); cursor: ns-resize;
}
.image-overlay .handle.b[data-v-16370ef5] { bottom: -6px; left: 50%; transform: translateX(-50%); cursor: ns-resize;
}
.rich-text-editor[data-v-16370ef5] {
  background: white;
  border-radius: 4px;
  overflow: hidden;
}
.rich-text-editor[data-v-16370ef5] .q-editor__content {
  padding: 20px;
  line-height: 1.6;
  font-size: 14px;
  /* Ensure floats do not overflow the container */
  overflow: auto;
}
.rich-text-editor[data-v-16370ef5] .q-editor__toolbar {
  background: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
  padding: 8px 16px;
  border-radius: 4px 4px 0 0;
}
.rich-text-editor[data-v-16370ef5] .q-editor__toolbar .q-btn {
  border-radius: 4px;
  margin: 2px;
  min-width: 32px;
  min-height: 32px;
}
.rich-text-editor[data-v-16370ef5] .q-editor__toolbar .q-btn:hover {
  background: rgba(33, 186, 69, 0.1);
}

/* Table default classes for newly inserted tables */
.dms-table[data-v-16370ef5] {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}
.dms-table .dms-cell[data-v-16370ef5] {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
  vertical-align: top;
}

/* Image Upload Styles */
.upload-area[data-v-16370ef5] {
  padding: 16px;
  border: 2px dashed #e0e0e0;
  border-radius: 8px;
  background: #fafafa;
}
.image-preview[data-v-16370ef5] {
  text-align: center;
}
.preview-image[data-v-16370ef5] {
  max-width: 100%;
  max-height: 200px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
}

/* Table Preview Styles */
.table-preview[data-v-16370ef5] {
  padding: 16px;
  background: #f8f9fa;
  border-radius: 8px;
}
.table-grid[data-v-16370ef5] {
  display: grid;
  gap: 1px;
  background: #ddd;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
}
.table-row[data-v-16370ef5] {
  display: contents;
}

/* Imported Table Styles */
.table-imported[data-v-16370ef5] {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  border: 1px solid #e0e0e0;
  background: white;
}
.table-imported th[data-v-16370ef5],
.table-imported td[data-v-16370ef5] {
  border: 1px solid #e0e0e0;
  padding: 8px 12px;
  text-align: left;
  vertical-align: top;
  min-width: 80px;
}
.table-imported th[data-v-16370ef5] {
  background-color: #f8f9fa;
  font-weight: 600;
  border-bottom: 2px solid #dee2e6;
}
.table-imported tr[data-v-16370ef5]:nth-child(even) {
  background-color: #f8f9fa;
}
.table-imported tr[data-v-16370ef5]:hover {
  background-color: #e9ecef;
}

/* Image wrapping */
.img-wrap[data-v-16370ef5] {
  display: inline-block;
  max-width: 100%;
}
.img-wrap.left[data-v-16370ef5] {
  float: left;
  margin: 0 16px 8px 0;
}
.img-wrap.right[data-v-16370ef5] {
  float: right;
  margin: 0 0 8px 16px;
}
.img-wrap.break[data-v-16370ef5] {
  display: block;
  float: none;
  clear: both;
  margin: 12px auto;
}
.table-cell[data-v-16370ef5] {
  background: white;
  min-height: 20px;
  border: 1px solid #ddd;
}
.modal-card[data-v-16370ef5] {
  border: none;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Responsive Design */
@media (max-width: 768px) {
.rich-text-editor[data-v-16370ef5] .q-editor__content {
    min-height: 300px;
    padding: 16px;
}
}

.drawer-content[data-v-21448fe8] {
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.drawer-header[data-v-21448fe8] {
  border-bottom: 2px solid var(--q-primary);
}
.dms-page[data-v-21448fe8] {
  height: 100%;
  background: #fafafa;
  min-height: calc(100vh - 64px);
  padding: 24px;
}
.dms-navigation[data-v-21448fe8] {
  background: white;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  height: fit-content;
  position: sticky;
  top: 24px;
  border: none;
}
.dms-header[data-v-21448fe8] {
  text-align: center;
  padding: 20px;
  background: #fff;
  border-radius: 8px;
  color: #263238;
  border: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  margin-bottom: 24px;
}
.dms-header-icon[data-v-21448fe8] {
  background: rgba(33, 186, 69, 0.12);
  border-radius: 50%;
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border: none;
}
.dms-header-icon .q-icon[data-v-21448fe8] {
  color: #21ba45;
}
.dms-header h5[data-v-21448fe8] {
  color: #178a2c;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 16px 0 8px 0;
}
.dms-header p[data-v-21448fe8] {
  color: #666;
  font-size: 0.875rem;
  margin: 0;
}
.nav-btn[data-v-21448fe8] {
  text-align: left;
  padding: 12px 16px;
  border-radius: 4px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
  border: none;
  background: transparent;
  color: #263238;
  margin-bottom: 4px;
  min-height: 48px;
}
.nav-btn[data-v-21448fe8]:hover {
  background: rgba(33, 186, 69, 0.08);
  color: #21ba45;
  box-shadow: none;
}
.nav-btn-active[data-v-21448fe8] {
  background: rgba(33, 186, 69, 0.12);
  color: #21ba45 !important;
  border: none;
  box-shadow: none;
  font-weight: 500;
}
.dms-actions[data-v-21448fe8] {
  border-top: 1px solid #e0e0e0;
  padding-top: 20px;
  margin-top: 20px;
}
.action-btn[data-v-21448fe8] {
  border-radius: 4px;
  font-weight: 500;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #263238;
  min-height: 48px;
  text-transform: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.action-btn[data-v-21448fe8]:hover {
  border-color: #21ba45;
  color: #21ba45;
  background: rgba(33, 186, 69, 0.08);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.folders-section[data-v-21448fe8] {
  border-top: 1px solid #e0e0e0;
  padding-top: 20px;
  margin-top: 20px;
}
.folders-header h6[data-v-21448fe8] {
  color: #263238;
  font-size: 0.875rem;
  font-weight: 500;
  margin: 0 0 16px 0;
}
.folders-list[data-v-21448fe8] {
  max-height: 300px;
  overflow-y: auto;
}
.folder-item[data-v-21448fe8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  margin-bottom: 4px;
  border: none;
  min-height: 48px;
}
.folder-item[data-v-21448fe8]:hover {
  background: rgba(33, 186, 69, 0.08);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.folder-active[data-v-21448fe8] {
  background: rgba(33, 186, 69, 0.12);
  color: #21ba45;
  border: none;
  font-weight: 500;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.folder-content[data-v-21448fe8] {
  display: flex;
  align-items: center;
  flex: 1;
}
.folder-name[data-v-21448fe8] {
  font-weight: 500;
  margin-right: 8px;
  font-size: 0.875rem;
}
.folder-count[data-v-21448fe8] {
  color: #666;
  font-size: 0.75rem;
}
.dms-content[data-v-21448fe8] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  min-height: calc(100vh - 120px);
  border: none;
}
.new-document-modal[data-v-21448fe8] {
  max-width: 1200px;
  width: 90vw;
  border-radius: 8px;
}
.document-details[data-v-21448fe8] {
  background: #fafafa;
  padding: 20px;
  border-radius: 8px;
  border: none;
}
.text-editor-section[data-v-21448fe8] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 16px;
}
.fullscreen-editor-modal[data-v-21448fe8] {
  background: #fff;
  border-radius: 0;
  box-shadow: none;
}
.fullscreen-header[data-v-21448fe8] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 16px 24px;
}
.fullscreen-actions[data-v-21448fe8] {
  display: flex;
  gap: 8px;
}
.fullscreen-content[data-v-21448fe8] {
  background: #fff;
}
.upload-modal[data-v-21448fe8],
.folder-modal[data-v-21448fe8] {
  border-radius: 8px;
  border: none;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Material Design Input Styling */
.q-input--outlined .q-field__control[data-v-21448fe8] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-input--outlined .q-field__control[data-v-21448fe8]:hover {
  border-color: #21ba45;
}
.q-input--outlined .q-field--focused .q-field__control[data-v-21448fe8] {
  border-color: #21ba45;
  box-shadow: 0 0 0 2px rgba(33, 186, 69, 0.2);
}

/* Material Design Button Styling */
.q-btn[data-v-21448fe8] {
  border-radius: 4px;
  text-transform: none;
  font-weight: 500;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-btn--outline[data-v-21448fe8] {
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #263238;
}
.q-btn--outline[data-v-21448fe8]:hover {
  border-color: #21ba45;
  color: #21ba45;
  background: rgba(33, 186, 69, 0.08);
}

/* Material Design Card Styling */
.q-card[data-v-21448fe8] {
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
}
.q-card[data-v-21448fe8]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Material Design Dialog Styling */
.q-dialog__inner--minimized > div[data-v-21448fe8] {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Responsive Design */
@media (max-width: 768px) {
.dms-page[data-v-21448fe8] {
    padding: 16px;
}
.dms-navigation[data-v-21448fe8] {
    padding: 16px;
}
.nav-btn[data-v-21448fe8] {
    min-height: 44px;
    padding: 10px 14px;
}
.action-btn[data-v-21448fe8] {
    min-height: 44px;
}
}

/* DMS workspace overrides */
.dms-page[data-v-21448fe8] {
  min-height: calc(100vh - 64px);
  padding: 0;
  background: var(--vengeance-bg);
  color: var(--vengeance-ink);
}
.dms-workspace[data-v-21448fe8] {
  display: grid;
  grid-template-columns: minmax(236px, 280px) minmax(0, 1fr);
  gap: 24px;
  padding: 24px;
  min-height: calc(100vh - 64px);
  background: var(--vengeance-bg);
  transition: grid-template-columns 0.22s ease;
}
.dms-workspace--sidebar-collapsed[data-v-21448fe8] {
  grid-template-columns: 76px minmax(0, 1fr);
}
.dms-navigation-shell[data-v-21448fe8] {
  min-width: 0;
}
.dms-navigation[data-v-21448fe8] {
  position: sticky;
  top: 88px;
  padding: 22px;
  min-height: calc(100vh - 112px);
  overflow: hidden auto;
  transition: padding 0.22s ease, border-radius 0.22s ease;
}
.dms-navigation--collapsed[data-v-21448fe8] {
  padding: 14px 10px;
  overflow: visible;
}
.dms-sidebar-toggle[data-v-21448fe8] {
  width: 32px;
  height: 32px;
  min-height: 32px;
  margin-left: auto;
  margin-bottom: 14px;
  color: var(--vengeance-muted);
  background: var(--vengeance-soft);
  border: 1px solid var(--vengeance-line);
}
.dms-navigation--collapsed .dms-sidebar-toggle[data-v-21448fe8] {
  margin-right: auto;
}
.dms-header[data-v-21448fe8] {
  padding: 0 0 22px;
  text-align: left;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  margin-bottom: 18px;
}
.dms-navigation--collapsed .dms-header[data-v-21448fe8] {
  display: flex;
  justify-content: center;
  padding-bottom: 14px;
  margin-bottom: 12px;
}
.dms-header-icon[data-v-21448fe8] {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  margin: 0;
  overflow: hidden;
  background: #ffffff;
}
.dms-header-icon img[data-v-21448fe8] {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.dms-navigation--collapsed .dms-header-icon[data-v-21448fe8] {
  width: 42px;
  height: 42px;
  margin: 0 auto;
}
.dms-header h5[data-v-21448fe8] {
  color: var(--vengeance-ink);
  font-size: 1.02rem;
  line-height: 1.12;
  letter-spacing: 0.06em;
}
.dms-header p[data-v-21448fe8] {
  color: var(--vengeance-muted);
  max-width: 210px;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.dms-navigation[data-v-21448fe8] .q-field__control {
  min-height: 42px;
  border-radius: 14px;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
}
.dms-navigation[data-v-21448fe8] .q-field__prepend {
  padding-left: 12px;
  padding-right: 8px;
}
.dms-navigation[data-v-21448fe8] .q-field__native,
.dms-navigation[data-v-21448fe8] .q-field__input {
  color: var(--vengeance-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.dms-nav-btn[data-v-21448fe8],
.folder-item[data-v-21448fe8] {
  min-height: 44px;
  border-radius: 12px;
  color: var(--vengeance-muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  border: 1px solid transparent;
  box-shadow: none;
}
.dms-nav-btn[data-v-21448fe8] {
  padding: 0 14px !important;
}
.dms-navigation--collapsed .dms-nav-buttons[data-v-21448fe8] {
  margin-bottom: 16px;
}
.dms-navigation--collapsed .dms-nav-btn[data-v-21448fe8],
.dms-navigation--collapsed .folder-item[data-v-21448fe8],
.dms-navigation--collapsed .action-btn[data-v-21448fe8],
.dms-compact-tool[data-v-21448fe8] {
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0 !important;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
.dms-nav-btn[data-v-21448fe8] .q-btn__content {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  line-height: 1;
  white-space: nowrap;
}
.dms-navigation--collapsed .dms-nav-btn[data-v-21448fe8] .q-btn__content,
.dms-navigation--collapsed .action-btn[data-v-21448fe8] .q-btn__content,
.dms-compact-tool[data-v-21448fe8] .q-btn__content {
  justify-content: center;
  gap: 0;
}
.dms-row-icon[data-v-21448fe8] {
  flex: 0 0 16px;
  width: 16px;
  min-width: 16px;
  margin: 0;
  font-size: 16px;
  color: currentColor;
}
.dms-navigation--collapsed .dms-row-icon[data-v-21448fe8] {
  flex-basis: 18px;
  width: 18px;
  min-width: 18px;
  font-size: 18px;
}
.dms-row-label[data-v-21448fe8] {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dms-nav-btn[data-v-21448fe8]:hover,
.folder-item[data-v-21448fe8]:hover {
  background: rgba(0, 0, 0, 0.05);
  color: var(--vengeance-ink);
  box-shadow: none;
}
.body--dark .dms-nav-btn[data-v-21448fe8]:hover,
.body--dark .folder-item[data-v-21448fe8]:hover {
  background: rgba(255, 255, 255, 0.05);
}
.nav-btn-active[data-v-21448fe8],
.folder-active[data-v-21448fe8] {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
  border-color: var(--vengeance-ink) !important;
  box-shadow: none !important;
}
.dms-actions[data-v-21448fe8],
.folders-section[data-v-21448fe8] {
  border-top: 1px solid var(--vengeance-line);
  padding-top: 18px;
}
.dms-navigation--collapsed .dms-actions[data-v-21448fe8],
.dms-navigation--collapsed .folders-section[data-v-21448fe8] {
  padding-top: 14px;
  margin-top: 14px;
}
.action-btn[data-v-21448fe8] {
  border-radius: 16px;
  min-height: 46px;
  box-shadow: none;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.action-btn[data-v-21448fe8] .q-btn__content {
  justify-content: flex-start;
  gap: 10px;
  line-height: 1;
}
.dms-navigation--collapsed .action-btn[data-v-21448fe8] {
  border-radius: 14px;
}
.folders-header[data-v-21448fe8] .q-btn {
  width: 34px;
  height: 34px;
  min-height: 34px;
  color: var(--vengeance-muted) !important;
  background: var(--vengeance-soft);
  border: 1px solid var(--vengeance-line);
}
.dms-navigation--collapsed .folders-header[data-v-21448fe8] {
  margin-bottom: 10px;
}
.dms-navigation--collapsed .folders-header .row[data-v-21448fe8] {
  justify-content: center;
}
.folder-item[data-v-21448fe8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 10px !important;
  cursor: pointer;
}
.dms-navigation--collapsed .folder-item[data-v-21448fe8] {
  justify-content: center;
}
.folder-content[data-v-21448fe8] {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  line-height: 1;
}
.dms-navigation--collapsed .folder-content[data-v-21448fe8] {
  flex: 0 0 auto;
  justify-content: center;
  gap: 0;
}
.folder-name[data-v-21448fe8],
.folder-count[data-v-21448fe8] {
  font-size: 10.5px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.folder-name[data-v-21448fe8] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.folder-count[data-v-21448fe8] {
  min-width: 24px;
  padding: 3px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--vengeance-ink) 8%, transparent);
  color: var(--vengeance-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 9px;
  text-align: center;
}
.folder-active .folder-count[data-v-21448fe8],
.nav-btn-active .folder-count[data-v-21448fe8] {
  background: color-mix(in srgb, var(--background-color) 18%, transparent);
  color: var(--background-color);
}
.dms-content-shell[data-v-21448fe8],
.dms-content[data-v-21448fe8] {
  min-width: 0;
}
.dms-content[data-v-21448fe8] {
  min-height: calc(100vh - 112px);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.new-document-modal[data-v-21448fe8],
.upload-modal[data-v-21448fe8],
.folder-modal[data-v-21448fe8],
.document-details[data-v-21448fe8],
.text-editor-section[data-v-21448fe8] {
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink);
  border: 1px solid var(--vengeance-line) !important;
  border-radius: 24px !important;
  box-shadow: var(--shadow) !important;
}
@media (max-width: 1024px) {
.dms-workspace[data-v-21448fe8] {
    grid-template-columns: 1fr;
    padding: 18px;
}
.dms-navigation[data-v-21448fe8] {
    position: relative;
    top: 0;
    min-height: auto;
}
}
@media (max-width: 700px) {
.dms-workspace[data-v-21448fe8] {
    gap: 18px;
    padding: 12px;
}
.dms-navigation[data-v-21448fe8] {
    padding: 18px;
}
}

/* PO-inspired Card Styling */
.document-card[data-v-ed2e154b] {
  border-radius: 24px;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  border: 1px solid var(--vengeance-line);
  box-shadow: var(--shadow);
  min-height: 224px;
  background: var(--vengeance-panel);
  overflow: hidden;
}
.document-card[data-v-ed2e154b]:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow);
  border-color: var(--vengeance-ink);
}
.document-card-top[data-v-ed2e154b] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: auto;
}
.document-top-right[data-v-ed2e154b] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}
.document-actions-top[data-v-ed2e154b] {
  display: flex;
  gap: 4px;
  opacity: 1;
}
.document-icon[data-v-ed2e154b] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  border: 1px solid currentColor;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.document-card:hover .document-icon[data-v-ed2e154b] {
  transform: translateY(-1px);
}
.document-info[data-v-ed2e154b] {
  flex: 1;
  text-align: left;
  margin-top: auto;
}
.document-title[data-v-ed2e154b] {
  color: var(--vengeance-ink);
  font-weight: 900;
  font-size: 1rem;
  line-height: 1.22;
  margin: 18px 0 6px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-clamp: 2; /* Standard property for line clamping */
}
.document-meta[data-v-ed2e154b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px 0;
  color: var(--vengeance-muted);
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}
.document-meta span[data-v-ed2e154b] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-tags[data-v-ed2e154b] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.document-type[data-v-ed2e154b] {
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 8px 4px;
  border-radius: 7px;
  border: 1px solid currentColor;
}
.document-size[data-v-ed2e154b] {
  color: var(--vengeance-muted);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.document-details[data-v-ed2e154b] {
  display: flex;
  flex-direction: column;
  gap: 1px;
  align-items: flex-start;
}
.detail-item[data-v-ed2e154b] {
  display: flex;
  align-items: center;
  gap: 3px;
}
.detail-text[data-v-ed2e154b] {
  color: var(--vengeance-muted);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.amount-text[data-v-ed2e154b] {
  color: #21ba45;
  font-weight: 600;
}
.description-text[data-v-ed2e154b] {
  color: #666;
  font-style: italic;
  max-width: 120px;
    overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.approval-text[data-v-ed2e154b] {
  color: #1976d2;
    font-weight: 500;
}
.document-actions-bottom[data-v-ed2e154b] {
  border-top: 1px solid var(--vengeance-line);
  padding-top: 12px;
  margin-top: 12px;
  display: flex;
  justify-content: stretch;
  align-items: center;
}
.document-actions-bar[data-v-ed2e154b] {
  width: 100%;
  min-height: 38px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--vengeance-line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--vengeance-soft) 76%, transparent);
}
.document-actions-bar--center[data-v-ed2e154b] {
  display: flex;
  justify-content: center;
}
.action-buttons-left[data-v-ed2e154b] {
  display: contents;
}
.view-btn[data-v-ed2e154b],
.share-btn[data-v-ed2e154b],
.edit-btn[data-v-ed2e154b],
.options-btn[data-v-ed2e154b],
.restore-btn[data-v-ed2e154b] {
  width: 100%;
  min-width: 0;
  min-height: 30px;
  border-radius: 11px;
  color: var(--vengeance-muted) !important;
  background: transparent;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.copy-btn[data-v-ed2e154b] {
  min-width: 28px;
  min-height: 28px;
  border-radius: 10px;
  color: var(--vengeance-muted) !important;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.options-btn[data-v-ed2e154b] {
  justify-self: stretch;
}
.document-actions-bar--center .restore-btn[data-v-ed2e154b] {
  width: 44px;
  min-width: 44px;
}
.action-btn[data-v-ed2e154b] .q-icon {
  font-size: 16px;
}
.document-status-chip[data-v-ed2e154b] {
  border: 1px solid currentColor;
  box-shadow: none;
}
.document-status-chip[data-v-ed2e154b] .q-chip__content {
  color: currentColor;
}
.file-tone-rose[data-v-ed2e154b] {
  color: #e11d48;
  background: rgba(225, 29, 72, 0.1);
}
.file-tone-blue[data-v-ed2e154b] {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.1);
}
.file-tone-emerald[data-v-ed2e154b] {
  color: #059669;
  background: rgba(5, 150, 105, 0.1);
}
.file-tone-amber[data-v-ed2e154b] {
  color: #d97706;
  background: rgba(217, 119, 6, 0.1);
}
.file-tone-violet[data-v-ed2e154b] {
  color: #7c3aed;
  background: rgba(124, 58, 237, 0.1);
}
.file-tone-zinc[data-v-ed2e154b] {
  color: #71717a;
  background: rgba(113, 113, 122, 0.1);
}
.status-tone-emerald[data-v-ed2e154b] {
  color: #059669 !important;
  background: rgba(5, 150, 105, 0.1) !important;
}
.status-tone-amber[data-v-ed2e154b] {
  color: #d97706 !important;
  background: rgba(217, 119, 6, 0.1) !important;
}
.status-tone-rose[data-v-ed2e154b] {
  color: #e11d48 !important;
  background: rgba(225, 29, 72, 0.1) !important;
}
.status-tone-blue[data-v-ed2e154b] {
  color: #2563eb !important;
  background: rgba(37, 99, 235, 0.1) !important;
}
.status-tone-zinc[data-v-ed2e154b] {
  color: #71717a !important;
  background: rgba(113, 113, 122, 0.1) !important;
}
.view-btn[data-v-ed2e154b]:hover {
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb !important;
  transform: translateY(-1px);
}
.share-btn[data-v-ed2e154b]:hover {
  background: rgba(5, 150, 105, 0.12);
  color: #059669 !important;
  transform: translateY(-1px);
}
.edit-btn[data-v-ed2e154b]:hover {
  background: rgba(217, 119, 6, 0.12);
  color: #d97706 !important;
  transform: translateY(-1px);
}
.options-btn[data-v-ed2e154b]:hover {
  background: var(--vengeance-ink);
  color: var(--background-color) !important;
  transform: translateY(-1px);
}
.restore-btn[data-v-ed2e154b]:hover {
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb !important;
  transform: translateY(-1px);
}
.copy-btn[data-v-ed2e154b]:hover {
  background: var(--vengeance-soft);
  color: var(--vengeance-ink) !important;
  transform: translateY(-1px);
}
.body--dark .document-actions-bar[data-v-ed2e154b] {
  background: rgba(255, 255, 255, 0.035);
}

/* PO-inspired Menu Styling */
.document-options-menu[data-v-ed2e154b] {
  border-radius: 18px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border: none;
}
.vengeance-doc-card[data-v-ed2e154b] .q-card__section {
  min-height: 224px;
  display: flex;
  flex-direction: column;
  padding: 20px;
}
.body--dark .document-card[data-v-ed2e154b] {
  background: var(--vengeance-panel);
}
.document-options-menu .q-item[data-v-ed2e154b] {
  min-height: 48px;
  padding: 12px 16px;
    border-radius: 4px;
  margin: 2px 4px;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.document-options-menu .q-item[data-v-ed2e154b]:hover {
  background: var(--vengeance-soft);
}
.document-options-menu .q-item-section[data-v-ed2e154b] {
  min-width: 0;
}
.document-options-menu .q-item-section--avatar[data-v-ed2e154b] {
  min-width: 40px;
}

/* PO-inspired Button Styling */
.q-btn[data-v-ed2e154b] {
  border-radius: 6px;
  font-weight: 500;
  text-transform: none;
  transition: all 0.2s ease;
}
.q-btn--flat[data-v-ed2e154b] {
    box-shadow: none;
}
.q-btn--flat[data-v-ed2e154b]:hover {
    background: rgba(0, 0, 0, 0.08);
}
.q-btn--round[data-v-ed2e154b] {
    border-radius: 50%;
}
  
/* PO-inspired Chip Styling */
.q-chip[data-v-ed2e154b] {
  border-radius: 16px;
  font-weight: 500;
  min-height: 18px;
  padding: 0 5px;
}

/* Accounts Dashboard Card Styling */
.document-card[data-v-ed2e154b] {
  background: var(--vengeance-panel);
  border-left: 1px solid var(--vengeance-line);
}
.document-card[data-v-ed2e154b]:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}

/* Document Card Themes based on status */
.document-card[data-status="For Approval"][data-v-ed2e154b] {
  background: var(--vengeance-panel);
  border-color: rgba(217, 119, 6, 0.28);
}
.document-card[data-status="Approved"][data-v-ed2e154b] {
  background: var(--vengeance-panel);
  border-color: rgba(5, 150, 105, 0.28);
}
.document-card[data-status="Rejected"][data-v-ed2e154b] {
  background: var(--vengeance-panel);
  border-color: rgba(225, 29, 72, 0.28);
}
.document-card[data-status="Draft"][data-v-ed2e154b] {
  background: var(--vengeance-panel);
  border-color: rgba(37, 99, 235, 0.24);
}

/* General card styling */
.q-card[data-v-ed2e154b] {
  border-radius: 12px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border: none;
}
.q-card[data-v-ed2e154b]:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
  
/* Responsive Design */
@media (max-width: 768px) {
.document-actions-top[data-v-ed2e154b] {
    opacity: 1;
}
.copy-btn[data-v-ed2e154b],
  .view-btn[data-v-ed2e154b],
  .share-btn[data-v-ed2e154b],
  .edit-btn[data-v-ed2e154b],
  .options-btn[data-v-ed2e154b] {
    min-width: 24px;
    min-height: 24px;
}
.document-title[data-v-ed2e154b] {
    font-size: 0.84rem;
}
.document-meta[data-v-ed2e154b] {
    flex-direction: column;
    gap: 1px;
}
.document-icon[data-v-ed2e154b] {
    width: 40px;
    height: 40px;
}
.document-card[data-v-ed2e154b],
  .vengeance-doc-card[data-v-ed2e154b] .q-card__section {
    min-height: 178px;
}
}

  /* Trash view styling */
.trash-card[data-v-ed2e154b] {
    opacity: 0.7;
    border: 1px solid #ff6b6b !important;
}
.trash-card[data-v-ed2e154b]:hover {
    opacity: 0.8;
}
.restore-btn[data-v-ed2e154b] {
    background-color: #1976d2 !important;
    color: white !important;
}
  
/* Add any specific styles for your modal here */

/* Add any specific styles for the modal here if needed */

.document-grid-view[data-v-f67026c7] {
  padding: 24px;
  background: #fafafa;
}
.grid-header[data-v-f67026c7] {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 16px;
  margin-bottom: 24px;
}
.grid-header h4[data-v-f67026c7] {
  color: #178a2c;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 0 0 4px 0;
}
.grid-header p[data-v-f67026c7] {
  color: #666;
  font-size: 0.875rem;
  margin: 0;
}
.filters-section[data-v-f67026c7] {
  background: white;
  border-radius: 8px;
  padding: 20px;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 24px;
}
.grid-content[data-v-f67026c7] {
  min-height: 400px;
}
.document-card-grid[data-v-f67026c7] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 280px));
  gap: 16px;
  justify-content: start;
  align-items: stretch;
}
.document-card-cell[data-v-f67026c7] {
  min-width: 0;
  width: 100%;
}
.list-content[data-v-f67026c7] {
  min-height: 400px;
}
.documents-table[data-v-f67026c7] {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.status-chip[data-v-f67026c7] {
  font-weight: 500;
  border-radius: 16px;
  min-height: 24px;
  padding: 0 8px;
}
.pagination-section[data-v-f67026c7] {
  border-top: 1px solid #e0e0e0;
  padding-top: 20px;
  margin-top: 24px;
}
.pagination-section p[data-v-f67026c7] {
  color: #666;
  font-size: 0.875rem;
  margin: 0;
}

/* Material Design Input Styling */
.q-input--outlined .q-field__control[data-v-f67026c7] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-input--outlined .q-field__control[data-v-f67026c7]:hover {
  border-color: #21ba45;
}
.q-input--outlined .q-field--focused .q-field__control[data-v-f67026c7] {
  border-color: #21ba45;
  box-shadow: 0 0 0 2px rgba(33, 186, 69, 0.2);
}

/* Material Design Button Styling */
.q-btn[data-v-f67026c7] {
  border-radius: 4px;
  text-transform: none;
  font-weight: 500;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 40px;
}
.q-btn--outline[data-v-f67026c7] {
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #263238;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.q-btn--outline[data-v-f67026c7]:hover {
  border-color: #21ba45;
  color: #21ba45;
  background: rgba(33, 186, 69, 0.08);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.q-btn--flat[data-v-f67026c7] {
  box-shadow: none;
}
.q-btn--flat[data-v-f67026c7]:hover {
  background: rgba(0, 0, 0, 0.08);
}
.q-btn--round[data-v-f67026c7] {
  border-radius: 50%;
}

/* Material Design Card Styling */
.q-card[data-v-f67026c7] {
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
}
.q-card[data-v-f67026c7]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Material Design Table Styling */
.q-table[data-v-f67026c7] {
  border-radius: 8px;
  overflow: hidden;
}
.q-table__thead th[data-v-f67026c7] {
  background: #f5f5f5;
  color: #263238;
  font-weight: 500;
  border-bottom: 1px solid #e0e0e0;
  min-height: 48px;
}
.q-table__tbody tr[data-v-f67026c7] {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-table__tbody tr[data-v-f67026c7]:hover {
  background: rgba(33, 186, 69, 0.04);
}
.q-table__tbody td[data-v-f67026c7] {
  border-bottom: 1px solid #f0f0f0;
  min-height: 48px;
}

/* Material Design Pagination Styling */
.q-pagination[data-v-f67026c7] {
  border-radius: 4px;
}
.q-pagination .q-btn[data-v-f67026c7] {
  border-radius: 4px;
  min-width: 40px;
  min-height: 40px;
  margin: 0 2px;
}
.q-pagination .q-btn--active[data-v-f67026c7] {
  background: #21ba45;
  color: white;
  box-shadow: 0 2px 4px rgba(33, 186, 69, 0.3);
}

/* Material Design Select Styling */
.q-select--outlined .q-field__control[data-v-f67026c7] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-select--outlined .q-field__control[data-v-f67026c7]:hover {
  border-color: #21ba45;
}
.q-select--outlined .q-field--focused .q-field__control[data-v-f67026c7] {
  border-color: #21ba45;
  box-shadow: 0 0 0 2px rgba(33, 186, 69, 0.2);
}

/* Material Design Menu Styling */
.q-menu[data-v-f67026c7] {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
.q-list[data-v-f67026c7] {
  border-radius: 8px;
}
.q-list .q-item[data-v-f67026c7] {
  border-radius: 4px;
  margin: 2px 4px;
  min-height: 48px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-list .q-item[data-v-f67026c7]:hover {
  background: rgba(0, 0, 0, 0.08);
}

/* Responsive Design */
@media (max-width: 768px) {
.document-grid-view[data-v-f67026c7] {
    padding: 16px;
}
.filters-section[data-v-f67026c7] {
    padding: 16px;
}
.q-btn[data-v-f67026c7] {
    min-height: 36px;
}
.q-pagination .q-btn[data-v-f67026c7] {
    min-width: 36px;
    min-height: 36px;
}
}

/* Vengeance grid overrides */
.document-grid-view[data-v-f67026c7] {
  padding: 0;
  background: transparent;
}
.grid-header[data-v-f67026c7] {
  border-bottom: 1px solid var(--vengeance-line);
  padding-bottom: 14px;
  margin-bottom: 18px;
}
.grid-header > .row[data-v-f67026c7] {
  gap: 12px;
}
.grid-header h4[data-v-f67026c7] {
  color: var(--vengeance-ink) !important;
  font-weight: 900;
  font-size: 1.18rem;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0;
}
.grid-header p[data-v-f67026c7],
.pagination-section p[data-v-f67026c7] {
  color: var(--vengeance-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.filters-section[data-v-f67026c7] {
  background: var(--vengeance-panel);
  border-radius: 18px;
  border: 1px solid var(--vengeance-line);
  box-shadow: var(--shadow);
  padding: 14px;
  margin-bottom: 18px;
}
.filters-section > .row[data-v-f67026c7] {
  gap: 12px;
}
.filters-section[data-v-f67026c7] .q-field__control {
  min-height: 40px;
  border-radius: 14px;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
}
.grid-header[data-v-f67026c7] .q-btn,
.filters-section[data-v-f67026c7] .q-btn,
.pagination-section[data-v-f67026c7] .q-btn {
  border-radius: 14px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  min-height: 36px;
}
.list-content[data-v-f67026c7] .q-card,
.documents-table[data-v-f67026c7] {
  border-radius: 18px;
  border: 1px solid var(--vengeance-line);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.documents-table[data-v-f67026c7] thead th {
  background: var(--vengeance-soft);
  color: var(--vengeance-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--vengeance-line);
}
.documents-table[data-v-f67026c7] tbody td {
  border-bottom: 1px solid var(--vengeance-line);
}
.documents-table[data-v-f67026c7] tbody tr:hover td {
  background: var(--vengeance-soft);
}
.pagination-section[data-v-f67026c7] {
  border-top: 1px solid var(--vengeance-line);
  padding-top: 16px;
  margin-top: 18px;
}
@media (min-width: 1440px) {
.document-card-grid[data-v-f67026c7] {
    grid-template-columns: repeat(auto-fill, minmax(230px, 292px));
}
}
@media (max-width: 900px) {
.document-card-grid[data-v-f67026c7] {
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}
.grid-header > .row[data-v-f67026c7],
  .pagination-section > .row[data-v-f67026c7] {
    align-items: flex-start;
    gap: 12px;
}
}
@media (max-width: 700px) {
.document-card-grid[data-v-f67026c7] {
    grid-template-columns: 1fr;
    gap: 14px;
}
.grid-header[data-v-f67026c7] {
    padding-bottom: 12px;
    margin-bottom: 14px;
}
.grid-header h4[data-v-f67026c7] {
    font-size: 1rem;
}
.grid-header p[data-v-f67026c7],
  .pagination-section p[data-v-f67026c7] {
    font-size: 0.65rem;
    letter-spacing: 0.08em;
}
.filters-section[data-v-f67026c7] {
    border-radius: 16px;
    padding: 12px;
}
.filters-section[data-v-f67026c7] .q-field__control {
    min-height: 38px;
}
.pagination-section > .row[data-v-f67026c7] {
    flex-direction: column;
}
}

.document-crop-card[data-v-ea01375f] {
  background: #f6f8fb;
}
.document-crop-bar[data-v-ea01375f] {
  border-bottom: 1px solid #e6e9ef;
}
.document-crop-body[data-v-ea01375f] {
  min-height: 0;
}
.crop-stage[data-v-ea01375f] {
  position: relative;
  width: 100%;
  max-height: min(58vh, 520px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111827;
  border-radius: 8px;
  overflow: hidden;
}
.crop-img[data-v-ea01375f] {
  display: block;
  max-width: 100%;
  max-height: min(58vh, 520px);
  width: auto;
  height: auto;
  object-fit: contain;
  -webkit-user-select: none;
          user-select: none;
}
.crop-svg[data-v-ea01375f] {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: crosshair;
  touch-action: none;
}
.crop-handle[data-v-ea01375f] {
  cursor: grab;
  pointer-events: all;
}
.crop-handle[data-v-ea01375f]:active {
  cursor: grabbing;
}
.crop-handle-hit[data-v-ea01375f] {
  pointer-events: all;
  cursor: grab;
}
.document-crop-actions[data-v-ea01375f] {
  flex-shrink: 0;
  background: #fff;
  border-top: 1px solid #e6e9ef;
}

/* ─── Shell ─── */
.dms-scanner-card[data-v-881decbb] {
  height: 100dvh;
  max-height: 100dvh;
  background: #09090b;
  color: #f8fafc;
  overflow: hidden;
}
.scanner-topbar[data-v-881decbb] {
  min-height: 68px;
  background: linear-gradient(180deg, rgba(9, 9, 11, 0.98), rgba(9, 9, 11, 0.88));
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  color: #fff;
  backdrop-filter: blur(14px);
}
.scanner-sublabel[data-v-881decbb] {
  background: #111827;
  flex-shrink: 0;
  padding-top: 5px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #d1d5db;
}
.scanner-head-btn[data-v-881decbb] {
  color: #fff;
  background: rgba(255, 255, 255, 0.09);
}
.scanner-head-btn[data-v-881decbb]:hover {
  background: rgba(255, 255, 255, 0.16);
}
.scanner-title-block[data-v-881decbb] {
  display: grid;
  gap: 2px;
}
.scanner-title-block span[data-v-881decbb] {
  color: #9ca3af;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.scanner-title-block strong[data-v-881decbb] {
  color: #fff;
  font-size: 0.95rem;
  font-weight: 900;
}
.scanner-device-select[data-v-881decbb] {
  min-width: min(340px, 30vw);
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
}
.scanner-device-select select[data-v-881decbb] {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  color: #fff;
  background: transparent;
  font-size: 0.76rem;
  font-weight: 800;
}
.scanner-device-select option[data-v-881decbb] {
  color: #111827;
}

/* ─── Step indicator ─── */
.step-row[data-v-881decbb] { gap: 4px;
}
.step-dot[data-v-881decbb] {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  transition: background 0.3s;
}
.step-dot--active[data-v-881decbb] { background: #10b981; box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.14);
}
.step-dot--done[data-v-881decbb]   { background: #34d399;
}
.step-line[data-v-881decbb] {
  width: 24px; height: 2px;
  background: rgba(255, 255, 255, 0.22);
  border-radius: 1px;
  transition: background 0.3s;
}
.step-line--active[data-v-881decbb] { background: #34d399;
}

/* ─── Camera toolbar ─── */
.camera-toolbar[data-v-881decbb] {
  background: #09090b;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  min-height: 46px;
  color: #e5e7eb;
}
.camera-toolbar[data-v-881decbb] .q-tab {
  min-height: 42px;
  color: #9ca3af;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.camera-toolbar[data-v-881decbb] .q-tab--active {
  color: #34d399;
}
.camera-toolbar[data-v-881decbb] .q-toggle__label {
  color: #d1d5db;
  font-weight: 800;
}

/* ─── Camera video ─── */
.scanner-workspace[data-v-881decbb] {
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
  background: #09090b;
}
.scanner-main-panel[data-v-881decbb] {
  min-height: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background: #111827;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.36);
}
.scanner-side-panel[data-v-881decbb],
.right-rail[data-v-881decbb] {
  min-height: 280px;
  max-height: none;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background: #111827;
  padding: 12px;
  display: flex;
  flex-direction: column;
  box-shadow: none;
}
.right-rail--light[data-v-881decbb] {
  background: #fff;
  border-color: #e3e7ee;
  height: auto;
}
.right-rail-title[data-v-881decbb] {
  flex-shrink: 0;
  min-height: 28px;
  color: #d1d5db;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.right-rail--light .right-rail-title[data-v-881decbb] {
  color: #435064;
}
.right-doc-list[data-v-881decbb] {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 2px 2px;
}
.right-doc-thumb[data-v-881decbb] {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: 12px;
  overflow: hidden;
  background: #1f2937;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.15s, transform 0.15s;
}
.right-doc-thumb[data-v-881decbb]:hover {
  border-color: #10b981;
  transform: translateY(-1px);
}
.right-doc-thumb--active[data-v-881decbb] {
  border-color: #10b981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}
.right-doc-img[data-v-881decbb] {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.right-doc-num[data-v-881decbb] {
  position: absolute;
  left: 6px;
  bottom: 5px;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  background: rgba(0,0,0,0.68);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
}
.right-doc-del[data-v-881decbb] {
  position: absolute;
  top: 4px;
  right: 4px;
  color: white;
  background: rgba(0,0,0,0.55) !important;
}
.right-doc-badge[data-v-881decbb] {
  position: absolute;
  left: 6px;
  top: 6px;
  width: 9px;
  height: 9px;
  min-height: 9px;
  padding: 0;
}
.empty-rail[data-v-881decbb] {
  flex: 1;
  min-height: 160px;
  color: #9ca3af;
}
.camera-video-section[data-v-881decbb] {
  background:
    radial-gradient(circle at center, rgba(31, 41, 55, 0.46), rgba(0, 0, 0, 0.92)),
    linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
  background-size: auto, 2rem 2rem, 2rem 2rem;
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.camera-video-section[data-v-881decbb]::before,
.camera-video-section[data-v-881decbb]::after {
  content: '';
  position: absolute;
  z-index: 2;
  width: 4rem;
  height: 4rem;
  border-color: #10b981;
  pointer-events: none;
}
.camera-video-section[data-v-881decbb]::before {
  left: 2rem;
  top: 2rem;
  border-top: 4px solid;
  border-left: 4px solid;
}
.camera-video-section[data-v-881decbb]::after {
  right: 2rem;
  bottom: 2rem;
  border-right: 4px solid;
  border-bottom: 4px solid;
}
.camera-inner[data-v-881decbb] {
  position: relative;
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  padding: 22px 78px 54px 22px;
}
.camera-frame-shell[data-v-881decbb] {
  position: relative;
  width: min(100%, 1120px);
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 12px;
  overflow: hidden;
  background: #050505;
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.36),
    0 0 0 999px rgba(0, 0, 0, 0.16);
}
.camera-video[data-v-881decbb] {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform-origin: center center;
  transition: transform 0.18s ease;
}
.camera-overlay-svg[data-v-881decbb] {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  z-index: 3;
}
.scanner-capture-status[data-v-881decbb] {
  position: absolute;
  left: 50%;
  bottom: 20px;
  z-index: 5;
  transform: translateX(-50%);
  pointer-events: none;
}
.scanner-capture-status span[data-v-881decbb] {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 0 18px;
  color: #fff;
  background: rgba(9, 9, 11, 0.72);
  font-size: 0.78rem;
  font-weight: 900;
  backdrop-filter: blur(12px);
}
.scan-view-controls[data-v-881decbb] {
  position: absolute;
  right: 18px;
  top: 50%;
  z-index: 8;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 5px;
  display: grid;
  gap: 5px;
  background: rgba(9, 9, 11, 0.84);
  transform: translateY(-50%);
  backdrop-filter: blur(14px);
}
.scan-view-controls button[data-v-881decbb] {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #d1d5db;
  background: transparent;
  cursor: pointer;
}
.scan-view-controls button[data-v-881decbb]:hover:not(:disabled),
.scan-view-controls button.active[data-v-881decbb] {
  color: #09090b;
  background: #fff;
}
.scan-view-controls button[data-v-881decbb]:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.scan-view-controls span[data-v-881decbb] {
  color: inherit;
  font-size: 0.62rem;
  font-weight: 900;
}

/* ─── Fade transition ─── */
.fade-enter-active[data-v-881decbb], .fade-leave-active[data-v-881decbb] { transition: opacity 0.25s;
}
.fade-enter-from[data-v-881decbb], .fade-leave-to[data-v-881decbb] { opacity: 0;
}

/* ─── Capture flash ─── */
.capture-flash[data-v-881decbb] {
  position: absolute; inset: 0;
  z-index: 9;
  background: white;
  pointer-events: none;
  animation: flash-fade-881decbb 0.22s ease-out forwards;
}
@keyframes flash-fade-881decbb {
0%   { opacity: 0.75;
}
100% { opacity: 0;
}
}

/* ─── Batch strip ─── */
.batch-strip[data-v-881decbb] {
  flex-shrink: 0;
  padding-top: 8px;
}
.batch-strip-scroll[data-v-881decbb] {
  display: flex; flex-direction: row; gap: 8px;
  overflow-x: auto; padding-bottom: 4px;
}
.batch-thumb[data-v-881decbb] {
  position: relative; flex-shrink: 0;
  width: 60px; height: 80px;
  border-radius: 6px; overflow: hidden;
  background: #2a2a2a; cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.15s;
}
.batch-thumb[data-v-881decbb]:hover { border-color: #21ba45;
}
.batch-thumb-img[data-v-881decbb] { width: 100%; height: 100%; object-fit: cover; display: block;
}
.batch-thumb-num[data-v-881decbb] {
  position: absolute; bottom: 2px; right: 3px;
  font-size: 9px; font-weight: 700; color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.9);
}
.batch-thumb-del[data-v-881decbb] {
  position: absolute; top: 1px; left: 1px;
  background: rgba(0,0,0,0.6) !important;
}

/* ─── Camera action bar ─── */
.camera-actions[data-v-881decbb] {
  flex-shrink: 0;
  min-height: 108px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: #050505;
}
.round-action-btn[data-v-881decbb] {
  width: 72px;
  border: 0;
  display: grid;
  justify-items: center;
  gap: 6px;
  color: #f8fafc;
  background: transparent;
  font-size: 0.66rem;
  font-weight: 900;
  cursor: pointer;
}
.round-action-btn .q-icon[data-v-881decbb] {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #18181b;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.round-action-spacer[data-v-881decbb] {
  width: 72px;
}

/* ─── Shutter button ─── */
.shutter-btn[data-v-881decbb] {
  width: 84px; height: 84px; border-radius: 50%;
  background: white;
  border: 7px solid #d4d4d8;
  outline: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.15s, box-shadow 0.15s;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.1), 0 0 28px rgba(255,255,255,0.2);
}
.shutter-btn[data-v-881decbb]:hover { transform: scale(1.06); box-shadow: 0 0 0 3px rgba(255,255,255,0.2), 0 6px 24px rgba(0,0,0,0.6);
}
.shutter-btn[data-v-881decbb]:active { transform: scale(0.93);
}
.shutter-btn[data-v-881decbb]:disabled { opacity: 0.35; cursor: not-allowed; transform: none;
}
.shutter-inner[data-v-881decbb] {
  width: 62px; height: 62px; border-radius: 50%;
  background: #fff;
  border: 2px solid rgba(9, 9, 11, 0.12);
}

/* ─── Preview phase ─── */
.preview-bg[data-v-881decbb] {
  background: #f6f8fb;
  overflow: auto;
}
.preview-layout[data-v-881decbb] {
  max-width: 1560px;
  margin: 0 auto;
  overflow: visible;
}
.selected-doc-panel[data-v-881decbb] {
  background: white;
  border: 1px solid #e3e7ee;
  border-radius: 8px;
  overflow: hidden;
  min-height: calc(100dvh - 150px);
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}
.selected-doc-toolbar[data-v-881decbb] {
  min-height: 40px;
  border-bottom: 1px solid #e9edf3;
  background: #fbfcfe;
  flex-shrink: 0;
}
.selected-doc-stage[data-v-881decbb] {
  flex: 1;
  min-height: calc(100dvh - 420px);
  background: #15171b;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
}
.selected-doc-img[data-v-881decbb] {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.selected-doc-info[data-v-881decbb] {
  flex-shrink: 0;
  border-top: 1px solid #e9edf3;
  background: #fff;
}
.preview-doc-card[data-v-881decbb] {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
  transition: box-shadow 0.18s, transform 0.15s;
}
.preview-doc-card[data-v-881decbb]:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}
.preview-thumb-wrap[data-v-881decbb] {
  position: relative;
  padding-top: 140%;
  background: #ddd;
  cursor: zoom-in;
  overflow: hidden;
}
.preview-thumb-img[data-v-881decbb] {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 0.2s;
}
.preview-thumb-wrap:hover .preview-thumb-img[data-v-881decbb] { transform: scale(1.04);
}
.preview-thumb-zoom[data-v-881decbb] {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0);
  transition: background 0.2s;
}
.preview-thumb-wrap:hover .preview-thumb-zoom[data-v-881decbb] { background: rgba(0,0,0,0.3);
}
.preview-doc-num[data-v-881decbb] {
  position: absolute; top: 6px; left: 6px;
  background: rgba(0,0,0,0.55);
  color: white; font-size: 10px; font-weight: 700;
  border-radius: 4px; padding: 1px 5px;
}
.preview-cropped-badge[data-v-881decbb] {
  position: absolute; bottom: 6px; right: 6px;
  font-size: 9px;
}
.preview-doc-actions[data-v-881decbb] { background: #f9f9f9; border-top: 1px solid #f0f0f0;
}

/* ─── Metadata panel ─── */
.metadata-panel[data-v-881decbb] {
  background: white;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}
.metadata-panel--embedded[data-v-881decbb] {
  flex-shrink: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
  max-height: 280px;
  overflow-y: auto;
}
.metadata-panel-header[data-v-881decbb] {
  background: #f7f8fa;
  border-bottom: 1px solid #eee;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  color: #333;
}

/* ─── Uploading phase ─── */
.uploading-bg[data-v-881decbb] { background: #f2f4f6;
}
.upload-pulse[data-v-881decbb] { animation: pulse-881decbb 1.8s ease-in-out infinite;
}
@keyframes pulse-881decbb {
0%, 100% { opacity: 1; transform: scale(1);
}
50% { opacity: 0.6; transform: scale(0.92);
}
}
.upload-item-list[data-v-881decbb] { display: flex; flex-direction: column; gap: 6px;
}
.upload-item-row[data-v-881decbb] {
  background: white; border-radius: 6px;
  padding: 6px 10px;
  border: 1px solid #eee;
}

/* ─── Full preview dialog ─── */
.full-preview-card[data-v-881decbb] { background: #111; max-width: 94vw;
}
.full-preview-body[data-v-881decbb] {
  display: flex; align-items: center; justify-content: center;
  max-height: calc(92vh - 48px); overflow: auto; padding: 8px;
}
.full-preview-img[data-v-881decbb] { max-width: 100%; max-height: calc(90vh - 64px); object-fit: contain; display: block;
}

/* ─── Responsive ─── */
@media (max-width: 1024px) {
.dms-scanner-card[data-v-881decbb] {
    overflow-y: auto;
}
.scanner-topbar[data-v-881decbb] {
    min-height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    flex-wrap: wrap;
    gap: 10px;
}
.scanner-title-block[data-v-881decbb] {
    flex: 1 1 180px;
}
.scanner-device-select[data-v-881decbb] {
    order: 3;
    min-width: 100%;
    width: 100%;
}
.step-row[data-v-881decbb] {
    display: none;
}
.scanner-workspace[data-v-881decbb] {
    flex: 0 0 auto;
    overflow: visible;
    padding: 8px;
}
.scanner-main-panel[data-v-881decbb] {
    height: auto;
    min-height: calc(100dvh - 170px);
}
.camera-video-section[data-v-881decbb] {
    flex: 0 0 auto;
    height: clamp(520px, 68dvh, 820px);
    min-height: 520px;
}
.camera-inner[data-v-881decbb] {
    padding: 14px 68px 58px 14px;
}
.camera-frame-shell[data-v-881decbb] {
    width: 100%;
    height: 100%;
    max-width: none;
}
.scanner-side-panel[data-v-881decbb],
  .right-rail[data-v-881decbb] {
    min-height: 142px;
    max-height: 180px;
}
.right-doc-list[data-v-881decbb] {
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
}
.right-doc-thumb[data-v-881decbb] {
    width: 92px;
    flex: 0 0 92px;
}
}
@media (max-width: 599px) {
.scanner-sublabel[data-v-881decbb] {
    display: none;
}
.camera-toolbar[data-v-881decbb] {
    min-height: 42px;
}
.camera-toolbar .text-caption[data-v-881decbb] {
    display: none;
}
.scanner-workspace[data-v-881decbb] { padding: 6px;
}
.scanner-main-panel[data-v-881decbb] {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    min-height: calc(100dvh - 118px);
}
.camera-video-section[data-v-881decbb] {
    height: calc(100dvh - 238px);
    min-height: 460px;
}
.camera-inner[data-v-881decbb] {
    padding: 8px 8px 62px;
}
.camera-video-section[data-v-881decbb]::before {
    left: 1rem;
    top: 1rem;
    width: 2.8rem;
    height: 2.8rem;
}
.camera-video-section[data-v-881decbb]::after {
    right: 1rem;
    bottom: 5.8rem;
    width: 2.8rem;
    height: 2.8rem;
}
.scan-view-controls[data-v-881decbb] {
    left: 50%;
    right: auto;
    top: auto;
    bottom: 12px;
    grid-auto-flow: column;
    grid-template-columns: repeat(6, 38px);
    transform: translateX(-50%);
}
.scan-view-controls button[data-v-881decbb] {
    width: 38px;
    height: 38px;
}
.scanner-capture-status[data-v-881decbb] {
    top: 14px;
    bottom: auto;
    width: calc(100% - 24px);
}
.scanner-capture-status span[data-v-881decbb] {
    width: 100%;
    justify-content: center;
    min-height: 34px;
    font-size: 0.72rem;
}
.camera-actions[data-v-881decbb] {
    min-height: 104px;
    position: sticky;
    bottom: 0;
    z-index: 12;
}
.scanner-side-panel[data-v-881decbb],
  .right-rail[data-v-881decbb] {
    border-radius: 0;
    max-height: 160px;
}
.right-doc-thumb[data-v-881decbb] {
    width: 82px;
    flex: 0 0 82px;
}
.selected-doc-panel[data-v-881decbb] {
    min-height: calc(100dvh - 120px);
}
.selected-doc-stage[data-v-881decbb] {
    min-height: 55dvh;
}
.preview-thumb-wrap[data-v-881decbb] { padding-top: 100%;
}
.shutter-btn[data-v-881decbb] { width: 76px; height: 76px;
}
.shutter-inner[data-v-881decbb] { width: 56px; height: 56px;
}
}

.header-section[data-v-c8aaf976] {
  padding: 16px;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  transition: all 0.3s ease-in-out;
}
.kpi-card[data-v-c8aaf976] {
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  transition: all 0.3s ease-in-out;
}
.kpi-card[data-v-c8aaf976]:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.kpi-card.kpi-loading[data-v-c8aaf976] {
  min-height: 140px;
}
.styled-card[data-v-c8aaf976] {
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  transition: all 0.3s ease-in-out;
  border: none;
}
.styled-card[data-v-c8aaf976]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

/* Quick Actions */
.quick-actions-card[data-v-c8aaf976] {
  overflow: hidden;
}
.quick-action-tile[data-v-c8aaf976] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 14px 14px 12px;
  border-radius: 10px;
  border: 1.5px solid #f0f0f0;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.15s;
  -webkit-user-select: none;
          user-select: none;
  height: 100%;
}
.quick-action-tile[data-v-c8aaf976]:hover {
  border-color: #1976d2;
  box-shadow: 0 4px 16px rgba(25, 118, 210, 0.10);
  transform: translateY(-2px);
}
.quick-action-tile[data-v-c8aaf976]:active {
  transform: translateY(0);
  box-shadow: none;
}
.quick-action-tile--highlight[data-v-c8aaf976] {
  border-color: rgba(0, 150, 136, 0.3);
  background: rgba(0, 150, 136, 0.03);
}
.quick-action-tile--highlight[data-v-c8aaf976]:hover {
  border-color: #00796b;
  box-shadow: 0 4px 16px rgba(0, 150, 136, 0.14);
}
.quick-action-icon-wrap[data-v-c8aaf976] {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.quick-action-label[data-v-c8aaf976] {
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.3;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
}
.quick-action-sub[data-v-c8aaf976] {
  font-size: 11px;
  color: #9e9e9e;
  line-height: 1.2;
}
.documents-dashboard-page[data-v-c8aaf976] {
  background: transparent;
}
.dashboard-hero[data-v-c8aaf976] {
  padding: 28px;
  border-radius: 30px;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.dashboard-hero-content[data-v-c8aaf976] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  align-items: center;
  gap: 24px;
}
.dashboard-brand-logo[data-v-c8aaf976] {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid var(--vengeance-line);
  overflow: hidden;
}
.dashboard-brand-logo img[data-v-c8aaf976] {
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.ncat-contact-strip[data-v-c8aaf976] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.ncat-contact-strip span[data-v-c8aaf976] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--vengeance-muted);
  background: var(--vengeance-soft);
  border: 1px solid var(--vengeance-line);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.dashboard-hero-image[data-v-c8aaf976] {
  height: 148px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--vengeance-line);
  background: var(--vengeance-soft);
}
.dashboard-hero-image img[data-v-c8aaf976] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 900px) {
.dashboard-hero[data-v-c8aaf976] {
    padding: 20px;
    border-radius: 22px;
}
.dashboard-hero-content[data-v-c8aaf976] {
    grid-template-columns: 1fr;
}
.dashboard-hero-image[data-v-c8aaf976] {
    height: 120px;
}
}
.vengeance-kpi[data-v-c8aaf976] {
  min-height: 168px;
  cursor: default;
}
.vengeance-kpi[data-v-c8aaf976] .q-card__section {
  height: 100%;
  min-height: 168px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px;
}
.kpi-icon[data-v-c8aaf976] {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  border: 1px solid;
}
.kpi-blue[data-v-c8aaf976] {
  color: #3b82f6;
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.2);
}
.kpi-amber[data-v-c8aaf976] {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
  border-color: rgba(245, 158, 11, 0.2);
}
.kpi-emerald[data-v-c8aaf976] {
  color: #10b981;
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.2);
}
.kpi-rose[data-v-c8aaf976] {
  color: #f43f5e;
  background: rgba(244, 63, 94, 0.1);
  border-color: rgba(244, 63, 94, 0.2);
}
.vengeance-kpi .text-h5[data-v-c8aaf976] {
  color: var(--vengeance-ink);
  font-size: 2.1rem;
  line-height: 1;
  margin-bottom: 8px;
}
.styled-card[data-v-c8aaf976] .q-card__section {
  padding: 24px;
}
.quick-action-tile[data-v-c8aaf976] {
  min-height: 132px;
  justify-content: center;
  align-items: center;
  gap: 14px;
  border-radius: 22px;
  border: 1px solid var(--vengeance-line);
  background: var(--vengeance-panel);
}
.quick-action-tile[data-v-c8aaf976]:hover {
  border-color: var(--vengeance-ink);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}
.quick-action-icon-wrap[data-v-c8aaf976] {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  color: var(--vengeance-muted);
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
}
.quick-action-tile:hover .quick-action-icon-wrap[data-v-c8aaf976] {
  color: var(--background-color);
  background: var(--vengeance-ink) !important;
}
.quick-action-label[data-v-c8aaf976] {
  color: var(--vengeance-ink);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.quick-action-sub[data-v-c8aaf976] {
  color: var(--vengeance-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dashboard-chart[data-v-c8aaf976] {
  position: relative;
  min-height: 250px;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--vengeance-ink) 10%, transparent);
}
.chart-center[data-v-c8aaf976] {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
  color: var(--vengeance-ink);
}
.chart-center strong[data-v-c8aaf976] {
  font-size: 2rem;
  line-height: 1;
}
.chart-center span[data-v-c8aaf976] {
  margin-top: 8px;
  color: var(--vengeance-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.header-section[data-v-64a02fb5] {
  padding: 16px;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}
.styled-card[data-v-64a02fb5] {
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  border: none;
}
.search-input[data-v-64a02fb5] {
    width: 300px;
}
.full-height[data-v-64a02fb5] {
    height: 100%;
}
.document-list-page[data-v-64a02fb5] {
  background: transparent;
}
.library-header[data-v-64a02fb5] {
  padding: 28px;
  border-radius: 30px;
}
.library-header[data-v-64a02fb5] .q-field__control,
.filter-card[data-v-64a02fb5] .q-field__control {
  min-height: 46px;
  border-radius: 16px;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
}
.folder-card[data-v-64a02fb5] .q-item {
  border-radius: 14px;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--vengeance-muted);
}
.folder-card[data-v-64a02fb5] .q-item--active {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
}
.search-input[data-v-64a02fb5] {
  width: min(300px, 100%);
}
@media (max-width: 760px) {
.library-header .row.items-center.justify-between[data-v-64a02fb5] {
    align-items: flex-start;
    gap: 18px;
}
}

<style scoped>
.template-library-page[data-v-fc26ae10] {
  background: #fafafa;
  min-height: 100vh;
}
.page-header[data-v-fc26ae10] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  margin-bottom: 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header-content[data-v-fc26ae10] {
  max-width: 1200px;
  margin: 0 auto;
}
.header-text h3[data-v-fc26ae10] {
  color: white !important;
  font-weight: 500;
  font-size: 1.75rem;
  margin: 0 0 8px 0;
}
.header-text p[data-v-fc26ae10] {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1rem;
  margin: 0;
}
.header-actions[data-v-fc26ae10] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.main-content[data-v-fc26ae10] {
  max-width: 1200px;
  margin: 0 auto;
}
.content-wrapper[data-v-fc26ae10] {
  background: transparent;
}
.search-filters[data-v-fc26ae10] {
  background: white;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 24px;
}
.templates-grid[data-v-fc26ae10] {
  min-height: 400px;
}
.template-card[data-v-fc26ae10] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
}
.template-card[data-v-fc26ae10]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
.template-icon[data-v-fc26ae10] {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
}
.template-info[data-v-fc26ae10] {
  text-align: center;
}
.template-title[data-v-fc26ae10] {
  color: #263238;
  font-weight: 500;
  font-size: 1.125rem;
  margin: 0 0 8px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.template-description[data-v-fc26ae10] {
  color: #666;
  font-size: 0.875rem;
  line-height: 1.4;
  margin: 0 0 16px 0;
}
.template-meta[data-v-fc26ae10] {
  margin-bottom: 16px;
}
.template-stats[data-v-fc26ae10] {
  border-top: 1px solid #e0e0e0;
  padding-top: 12px;
}
.no-templates[data-v-fc26ae10] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.preview-dialog[data-v-fc26ae10] {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
.template-info-card[data-v-fc26ae10],
.preview-card[data-v-fc26ae10] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
  height: fit-content;
}
.template-header[data-v-fc26ae10] {
  text-align: center;
}
.template-details[data-v-fc26ae10] {
  border-top: 1px solid #e0e0e0;
  padding-top: 16px;
}
.detail-item[data-v-fc26ae10] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.detail-label[data-v-fc26ae10] {
  color: #666;
  font-size: 0.875rem;
  font-weight: 500;
}
.detail-value[data-v-fc26ae10] {
  color: #263238;
  font-weight: 500;
}
.rating[data-v-fc26ae10] {
  display: flex;
  gap: 2px;
}
.template-actions[data-v-fc26ae10] {
  border-top: 1px solid #e0e0e0;
  padding-top: 16px;
}
.template-content[data-v-fc26ae10] {
  background: #fafafa;
  border-radius: 4px;
  padding: 20px;
  min-height: 400px;
  border: 1px solid #e0e0e0;
  line-height: 1.6;
}
.template-fields-info[data-v-fc26ae10] {
  border-top: 1px solid #e0e0e0;
  padding-top: 16px;
}
.fields-grid[data-v-fc26ae10] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 12px;
  margin-bottom: 8px;
}
.field-item[data-v-fc26ae10] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.field-item[data-v-fc26ae10]:hover {
  background: #e3f2fd;
  border-color: #2196f3;
}
.field-variable[data-v-fc26ae10] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.variable-code[data-v-fc26ae10] {
  background: #f1f3f4;
  padding: 4px 8px;
  border-radius: 4px;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 0.8rem;
  color: #d32f2f;
  font-weight: 500;
}
.field-label[data-v-fc26ae10] {
  font-size: 0.85rem;
  color: #555;
  font-weight: 500;
}
.field-type[data-v-fc26ae10] {
  color: #666;
  font-size: 0.75rem;
  font-weight: 500;
  background: #e8f5e8;
  padding: 2px 6px;
  border-radius: 10px;
  border: 1px solid #4caf50;
}
.field-required[data-v-fc26ae10] {
  color: #f44336;
  font-weight: bold;
  font-size: 0.875rem;
  background: #ffebee;
  padding: 2px 6px;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.create-template-dialog[data-v-fc26ae10] {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
.template-preview-card[data-v-fc26ae10] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
  height: fit-content;
}
.template-preview-content[data-v-fc26ae10] {
  background: #fafafa;
  border-radius: 4px;
  padding: 16px;
  min-height: 300px;
  border: 1px solid #e0e0e0;
  line-height: 1.6;
}
.fullscreen-template-editor[data-v-fc26ae10] {
  height: 100vh;
  border-radius: 0;
}
.fullscreen-template-editor .q-card__section[data-v-fc26ae10] {
  padding: 16px;
}
.fullscreen-template-editor .q-card__section--vert[data-v-fc26ae10] {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Material Design Button Styling */
.q-btn[data-v-fc26ae10] {
  border-radius: 4px;
  text-transform: none;
  font-weight: 500;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 40px;
}
.q-btn--outline[data-v-fc26ae10] {
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #263238;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.q-btn--outline[data-v-fc26ae10]:hover {
  border-color: #21ba45;
  color: #21ba45;
  background: rgba(33, 186, 69, 0.08);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.q-btn--flat[data-v-fc26ae10] {
  box-shadow: none;
}
.q-btn--flat[data-v-fc26ae10]:hover {
  background: rgba(0, 0, 0, 0.08);
}

/* Material Design Input Styling */
.q-input--outlined .q-field__control[data-v-fc26ae10] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-input--outlined .q-field__control[data-v-fc26ae10]:hover {
  border-color: #21ba45;
}
.q-input--outlined .q-field--focused .q-field__control[data-v-fc26ae10] {
  border-color: #21ba45;
  box-shadow: 0 0 0 2px rgba(33, 186, 69, 0.2);
}

/* Material Design Select Styling */
.q-select--outlined .q-field__control[data-v-fc26ae10] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-select--outlined .q-field__control[data-v-fc26ae10]:hover {
  border-color: #21ba45;
}
.q-select--outlined .q-field--focused .q-field__control[data-v-fc26ae10] {
  border-color: #21ba45;
  box-shadow: 0 0 0 2px rgba(33, 186, 69, 0.2);
}

/* Material Design Card Styling */
.q-card[data-v-fc26ae10] {
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
}
.q-card[data-v-fc26ae10]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Material Design Chip Styling */
.q-chip[data-v-fc26ae10] {
  border-radius: 16px;
  font-weight: 500;
  min-height: 24px;
  padding: 0 8px;
}

/* Material Design Dialog Styling */
.q-dialog__inner--minimized > div[data-v-fc26ae10] {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Responsive Design */
@media (max-width: 768px) {
.header-actions[data-v-fc26ae10] {
    margin-top: 24px;
}
.search-filters[data-v-fc26ae10] {
    padding: 16px;
}
.template-card[data-v-fc26ae10] {
    margin-bottom: 16px;
}
.q-btn[data-v-fc26ae10] {
    min-height: 36px;
}
}

/* Vengeance template overrides */
.template-library-page[data-v-fc26ae10] {
  background: var(--vengeance-bg);
  min-height: calc(100vh - 64px);
  padding: 32px;
}
.page-header[data-v-fc26ae10] {
  padding: 28px;
  color: var(--vengeance-ink);
  background: var(--vengeance-panel) !important;
  border: 1px solid var(--vengeance-line);
  border-radius: 30px;
  box-shadow: var(--shadow);
}
.header-text h3[data-v-fc26ae10] {
  color: var(--vengeance-ink) !important;
  font-size: clamp(1.7rem, 4vw, 2.2rem);
}
.header-text p[data-v-fc26ae10] {
  color: var(--vengeance-muted);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.main-content[data-v-fc26ae10],
.content-wrapper[data-v-fc26ae10] {
  max-width: none;
}
.search-filters[data-v-fc26ae10] {
  padding: 20px;
  border-radius: 24px;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
}
.search-filters[data-v-fc26ae10] .q-field__control {
  border-radius: 16px;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
}
.template-card[data-v-fc26ae10],
.template-info-card[data-v-fc26ae10],
.preview-card[data-v-fc26ae10],
.create-template-dialog[data-v-fc26ae10],
.preview-dialog[data-v-fc26ae10] {
  border-radius: 28px !important;
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink);
  border: 1px solid var(--vengeance-line) !important;
  box-shadow: var(--shadow) !important;
}
.template-card[data-v-fc26ae10] {
  min-height: 280px;
}
.template-title[data-v-fc26ae10] {
  color: var(--vengeance-ink);
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.template-description[data-v-fc26ae10],
.template-stats[data-v-fc26ae10],
.template-meta[data-v-fc26ae10] {
  color: var(--vengeance-muted);
}
.template-icon[data-v-fc26ae10] {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: var(--vengeance-soft);
  border: 1px solid var(--vengeance-line);
}
.template-content[data-v-fc26ae10],
.template-preview-content[data-v-fc26ae10] {
  border-radius: 18px;
  background: var(--vengeance-soft);
  border: 1px solid var(--vengeance-line);
}

.mobile-sign-page[data-v-8de23402] {
  min-height: calc(100vh - 64px);
  background: #f4f6f8;
}
.mobile-sign-state[data-v-8de23402] {
  min-height: calc(100vh - 64px);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  color: #4b5563;
}
.state-text[data-v-8de23402] {
  font-size: 14px;
  font-weight: 700;
}
.signing-shell[data-v-8de23402] {
  min-height: calc(100vh - 64px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
  gap: 0;
}
.document-pane[data-v-8de23402] {
  min-width: 0;
  overflow: auto;
  padding: 18px;
}
.document-surface[data-v-8de23402] {
  max-width: 920px;
  min-height: calc(100vh - 100px);
  margin: 0 auto;
  padding: 32px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
}
.document-title[data-v-8de23402] {
  margin-bottom: 20px;
  color: #111827;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
}
.document-body[data-v-8de23402] {
  color: #111827;
  font-size: 15px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.document-empty[data-v-8de23402] {
  min-height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  color: #6b7280;
  text-align: center;
}
.signature-pane[data-v-8de23402] {
  min-width: 0;
  padding: 18px;
  background: #ffffff;
  border-left: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.signature-title[data-v-8de23402] {
  color: #111827;
  font-size: 16px;
  font-weight: 800;
}
.signature-canvas[data-v-8de23402] {
  width: 100%;
  height: 190px;
  flex: 0 0 190px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  touch-action: none;
}
.signature-input[data-v-8de23402] {
  flex: 0 0 auto;
}
.signature-actions[data-v-8de23402] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 820px) {
.mobile-sign-page[data-v-8de23402],
  .mobile-sign-state[data-v-8de23402],
  .signing-shell[data-v-8de23402] {
    min-height: calc(100vh - 64px);
}
.signing-shell[data-v-8de23402] {
    grid-template-columns: 1fr;
}
.document-pane[data-v-8de23402] {
    padding: 10px;
}
.document-surface[data-v-8de23402] {
    min-height: 45vh;
    padding: 18px;
}
.signature-pane[data-v-8de23402] {
    border-left: 0;
    border-top: 1px solid #e5e7eb;
    padding: 12px;
}
.signature-canvas[data-v-8de23402] {
    height: 170px;
    flex-basis: 170px;
}
}

.approval-page[data-v-eadc33e1] {
  background: #f8f9fa;
  min-height: 100vh;
}
.page-header[data-v-eadc33e1] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  margin-bottom: 0;
}
.header-content[data-v-eadc33e1] {
  max-width: 1400px;
  margin: 0 auto;
}
.header-text h3[data-v-eadc33e1] {
  color: white !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.header-text p[data-v-eadc33e1] {
  color: rgba(255,255,255,0.9) !important;
}
.main-content[data-v-eadc33e1] {
  max-width: 1400px;
  margin: 0 auto;
}
.stat-card[data-v-eadc33e1] {
  transition: all 0.3s ease;
}
.stat-card[data-v-eadc33e1]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.stat-card.pending[data-v-eadc33e1] {
  border-left: 4px solid #ff9800;
}
.stat-card.approved[data-v-eadc33e1] {
  border-left: 4px solid #4caf50;
}
.stat-card.rejected[data-v-eadc33e1] {
  border-left: 4px solid #f44336;
}
.stat-card.total[data-v-eadc33e1] {
  border-left: 4px solid #2196f3;
}
.approval-card[data-v-eadc33e1] {
  transition: all 0.3s ease;
}
.approval-card[data-v-eadc33e1]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.approval-meta[data-v-eadc33e1] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.document-preview[data-v-eadc33e1] {
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  min-height: 400px;
}
.signature-pad[data-v-eadc33e1] {
  text-align: center;
}
.signature-pad canvas[data-v-eadc33e1] {
  cursor: crosshair;
}
.qr-code-container[data-v-eadc33e1] {
  background: white;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}
.qr-canvas[data-v-eadc33e1] {
  width: 200px;
  height: 200px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: white;
}
.approval-review-dialog[data-v-eadc33e1] {
  min-width: 800px;
}
.empty-state[data-v-eadc33e1] {
  background: white;
  border-radius: 12px;
  margin: 32px 0;
}
.vue-pdf-embed[data-v-eadc33e1] {
  width: 100%;
  height: auto; /* Auto height for natural PDF size */
  min-height: 600px; /* Minimum readable height */
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  object-fit: contain;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.pdf-container[data-v-eadc33e1] {
  width: 100%;
  overflow-y: auto; /* Allow scrolling for long PDFs */
  max-height: none; /* Remove height restrictions */
}
.bulk-pdf-view[data-v-eadc33e1] {
  min-height: 800px; /* Minimum height for bulk modal */
}
@media (max-width: 768px) {
.approval-actions[data-v-eadc33e1] {
    margin-top: 16px;
}
.approval-card .row[data-v-eadc33e1] {
    flex-direction: column;
}
}

/* Bulk Approval Styles */
.approval-card.selected[data-v-eadc33e1] {
  border-color: #1976d2;
  background-color: #e3f2fd;
}
.bulk-approval-modal[data-v-eadc33e1] {
  min-height: 80vh;
}

/* Ensure proper alignment in bulk approval modal */
.bulk-approval-modal .row[data-v-eadc33e1] {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.bulk-approval-modal .col-12.col-md-6[data-v-eadc33e1] {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.documents-list .q-item[data-v-eadc33e1] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 8px;
}
.bulk-actions[data-v-eadc33e1] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.selection-section[data-v-eadc33e1] {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 12px;
  background-color: #fafafa;
  margin: -16px -16px 12px -16px;
  padding: 12px 16px;
  border-radius: 8px 8px 0 0;
}

/* Bulk Actions Toolbar */
.bulk-actions-toolbar[data-v-eadc33e1] {
  position: relative;
}

/* Responsive Design for Bulk Actions */
@media (max-width: 768px) {
.bulk-actions-card .row[data-v-eadc33e1] {
    flex-direction: column;
    align-items: stretch !important;
}
.bulk-actions-card .col[data-v-eadc33e1] {
    margin-bottom: 12px;
}
.bulk-actions-card .col-auto[data-v-eadc33e1] {
    margin-bottom: 8px;
}
.bulk-action-buttons[data-v-eadc33e1] {
    justify-content: center;
}
.bulk-action-buttons .q-btn[data-v-eadc33e1] {
    flex: 1;
    min-width: auto;
    height: 48px;
    padding: 0 16px;
}
}
.bulk-actions-card[data-v-eadc33e1] {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border: 2px solid #e3f2fd;
  transition: all 0.3s ease;
}
.bulk-actions-card[data-v-eadc33e1]:hover {
  border-color: #2196f3;
  box-shadow: 0 4px 12px rgba(33, 150, 243, 0.15);
}
.selection-controls[data-v-eadc33e1] {
  display: flex;
  align-items: center;
}
.select-all-checkbox[data-v-eadc33e1] {
  font-weight: 500;
  color: #424242;
}
.selection-counter[data-v-eadc33e1] {
  animation: slideIn-eadc33e1 0.3s ease-out;
}
.selection-chip[data-v-eadc33e1] {
  font-weight: 600;
  animation: pulse-eadc33e1 2s infinite;
}
.bulk-action-buttons[data-v-eadc33e1] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.bulk-action-buttons .q-btn[data-v-eadc33e1] {
  min-width: 140px;
  height: 52px;
  font-weight: 600;
  border-radius: 8px;
  transition: all 0.2s ease;
  padding: 0 20px;
  font-size: 14px;
  line-height: 1.2;
}
.bulk-action-buttons .q-btn[data-v-eadc33e1]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.pending-count[data-v-eadc33e1] {
  opacity: 0.8;
}
.pending-chip[data-v-eadc33e1] {
  font-weight: 500;
}

/* Animations */
@keyframes slideIn-eadc33e1 {
from {
    opacity: 0;
    transform: translateX(-10px);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}
@keyframes pulse-eadc33e1 {
0% {
    transform: scale(1);
}
50% {
    transform: scale(1.05);
}
100% {
    transform: scale(1);
}
}
.document-preview[data-v-eadc33e1] {
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  min-height: 400px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.text-content[data-v-eadc33e1] {
  max-height: 600px;
  overflow-y: auto;
  background: #f8f9fa;
  border-radius: 4px;
  font-family: 'Courier New', monospace;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.document-content[data-v-eadc33e1] {
  min-height: 500px;
  max-height: none; /* Remove height restrictions */
  overflow-y: auto;
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 24px;
  font-size: 16px;
  line-height: 1.6;
}
.document-view-optimized[data-v-eadc33e1] {
  min-height: 700px;
  height: auto; /* Allow natural height expansion */
  max-height: none; /* Remove any height restrictions */
}
.document-view-optimized .vue-pdf-embed[data-v-eadc33e1] {
  min-height: 900px; /* Minimum height for optimized view */
}
.document-view-optimized .document-content[data-v-eadc33e1] {
  min-height: 600px;
  max-height: none; /* Remove height restrictions */
}

/* Ensure modal content allows full scrolling */
.q-dialog__inner > .q-card[data-v-eadc33e1] {
  max-height: 95vh;
  overflow-y: auto;
}
.document-view-modal .q-card[data-v-eadc33e1] {
  height: auto;
  max-height: 95vh;
}

/* Vengeance approval overrides */
.approval-page[data-v-eadc33e1] {
  background: transparent;
}
.page-header[data-v-eadc33e1] {
  padding: 28px;
  color: var(--vengeance-ink);
  background: var(--vengeance-panel) !important;
  border: 1px solid var(--vengeance-line);
  border-radius: 30px;
  box-shadow: var(--shadow);
}
.header-text h3[data-v-eadc33e1] {
  color: var(--vengeance-ink) !important;
  font-size: clamp(1.7rem, 4vw, 2.2rem);
  letter-spacing: 0.02em;
}
.header-text p[data-v-eadc33e1] {
  color: var(--vengeance-muted);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.content-wrapper[data-v-eadc33e1] {
  max-width: none;
}
.vengeance-approval-stat[data-v-eadc33e1] {
  min-height: 130px;
}
.vengeance-approval-stat[data-v-eadc33e1] .q-card__section {
  min-height: 130px;
  display: grid;
  place-content: center;
}
.vengeance-approval-stat .text-h4[data-v-eadc33e1] {
  font-size: 2.25rem;
  line-height: 1;
}
.vengeance-approval-stat .text-subtitle2[data-v-eadc33e1],
.approval-details .text-caption[data-v-eadc33e1],
.document-info .text-caption[data-v-eadc33e1] {
  color: var(--vengeance-muted) !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.filter-section[data-v-eadc33e1],
.filter-tabs[data-v-eadc33e1] {
  padding: 18px;
  border-radius: 24px;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
}
.filter-section[data-v-eadc33e1] .q-field__control {
  border-radius: 16px;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
}
.filter-tabs[data-v-eadc33e1] .q-tab {
  border-radius: 14px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.bulk-actions-card[data-v-eadc33e1],
.approval-card[data-v-eadc33e1] {
  background: var(--vengeance-panel) !important;
  border: 1px solid var(--vengeance-line) !important;
  border-radius: 24px !important;
  box-shadow: var(--shadow) !important;
}
.approval-card.selected[data-v-eadc33e1] {
  border-color: var(--vengeance-ink) !important;
  background: var(--vengeance-soft) !important;
}
.approval-card .text-h6[data-v-eadc33e1] {
  color: var(--vengeance-ink);
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.approval-actions[data-v-eadc33e1] .q-btn,
.bulk-action-buttons[data-v-eadc33e1] .q-btn,
.action-buttons[data-v-eadc33e1] .q-btn {
  border-radius: 16px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.approval-review-dialog[data-v-eadc33e1],
.bulk-approval-modal[data-v-eadc33e1] {
  background: var(--vengeance-panel) !important;
  color: var(--vengeance-ink);
  border-radius: 28px !important;
  border: 1px solid var(--vengeance-line);
}
.approval-review-dialog .document-preview[data-v-eadc33e1],
.document-preview[data-v-eadc33e1] {
  background: var(--vengeance-soft);
  border: 1px solid var(--vengeance-line);
  border-radius: 24px;
  box-shadow: var(--shadow);
}
.signature-pad canvas[data-v-eadc33e1] {
  border-radius: 18px !important;
  border: 2px dashed var(--vengeance-line) !important;
  background: var(--vengeance-soft) !important;
}

.cash-request-form[data-v-8a785f20] {
  max-width: 800px;
  margin: 0 auto;
  background: white;
}
.form-card[data-v-8a785f20] {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #e0e0e0;
  overflow: hidden;
}
.form-header[data-v-8a785f20] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  padding: 24px;
  text-align: center;
}
.company-info[data-v-8a785f20] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.company-logo[data-v-8a785f20] {
  width: 80px;
  height: 80px;
  object-fit: contain;
  background: white;
  border-radius: 8px;
  padding: 8px;
}
.company-details[data-v-8a785f20] {
  text-align: left;
}
.company-name[data-v-8a785f20] {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: white;
}
.company-address[data-v-8a785f20],
.company-contact[data-v-8a785f20],
.company-website[data-v-8a785f20] {
  font-size: 0.875rem;
  margin: 2px 0;
  color: rgba(255, 255, 255, 0.9);
}
.form-title-section[data-v-8a785f20] {
  border-top: 2px solid rgba(255, 255, 255, 0.3);
  padding-top: 16px;
}
.form-title[data-v-8a785f20] {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.form-number[data-v-8a785f20] {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}
.form-content[data-v-8a785f20] {
  padding: 32px;
}
.form-section[data-v-8a785f20] {
  margin-bottom: 32px;
}
.section-title[data-v-8a785f20] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #178a2c;
  margin: 0 0 16px 0;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 8px;
}
.form-field[data-v-8a785f20] {
  margin-bottom: 16px;
}
.field-label[data-v-8a785f20] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 4px;
  display: block;
}
.field-value[data-v-8a785f20] {
  font-size: 1rem;
  color: #555;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  min-height: 20px;
}
.total-amount[data-v-8a785f20] {
  font-weight: 700;
  color: #178a2c;
  font-size: 1.125rem;
}
.amount-words[data-v-8a785f20] {
  font-style: italic;
  color: #666;
}
.items-table[data-v-8a785f20] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
.items-table .q-table__top[data-v-8a785f20] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
}
.signatures-section[data-v-8a785f20] {
  border-top: 2px solid #e0e0e0;
  padding-top: 24px;
}
.signature-box[data-v-8a785f20] {
  text-align: center;
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f8f9fa;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.signature-line[data-v-8a785f20] {
  height: 2px;
  background: #333;
  margin: 20px 0;
  border-radius: 1px;
}
.signature-label[data-v-8a785f20] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 8px;
}
.signature-info[data-v-8a785f20] {
  font-size: 0.75rem;
  color: #666;
}
.signature-date[data-v-8a785f20],
.signature-time[data-v-8a785f20] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.signature-date label[data-v-8a785f20],
.signature-time label[data-v-8a785f20] {
  font-weight: 500;
}
.form-footer[data-v-8a785f20] {
  background: #f8f9fa;
  padding: 24px;
  text-align: center;
  border-top: 1px solid #e0e0e0;
  position: relative;
}
.footer-text[data-v-8a785f20] {
  font-size: 0.875rem;
  color: #666;
  margin: 0 0 16px 0;
}
.footer-stamp[data-v-8a785f20] {
  display: flex;
  justify-content: center;
}
.stamp-circle[data-v-8a785f20] {
  width: 80px;
  height: 80px;
  border: 2px solid #178a2c;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  transform: rotate(-15deg);
}
.stamp-circle span[data-v-8a785f20] {
  font-size: 0.625rem;
  font-weight: 700;
  color: #178a2c;
  text-align: center;
  line-height: 1.2;
}

/* Responsive Design */
@media (max-width: 768px) {
.company-info[data-v-8a785f20] {
    flex-direction: column;
    text-align: center;
}
.company-details[data-v-8a785f20] {
    text-align: center;
}
.form-content[data-v-8a785f20] {
    padding: 16px;
}
.signature-box[data-v-8a785f20] {
    margin-bottom: 16px;
}
}

.cash-transfer-request-form[data-v-8aef9d13] {
  max-width: 800px;
  margin: 0 auto;
  background: white;
}
.form-card[data-v-8aef9d13] {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #e0e0e0;
  overflow: hidden;
}
.form-header[data-v-8aef9d13] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  padding: 24px;
  text-align: center;
}
.company-info[data-v-8aef9d13] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.company-logo[data-v-8aef9d13] {
  width: 80px;
  height: 80px;
  object-fit: contain;
  background: white;
  border-radius: 8px;
  padding: 8px;
}
.company-details[data-v-8aef9d13] {
  text-align: left;
}
.company-name[data-v-8aef9d13] {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: white;
}
.company-address[data-v-8aef9d13],
.company-contact[data-v-8aef9d13],
.company-website[data-v-8aef9d13] {
  font-size: 0.875rem;
  margin: 2px 0;
  color: rgba(255, 255, 255, 0.9);
}
.form-title-section[data-v-8aef9d13] {
  border-top: 2px solid rgba(255, 255, 255, 0.3);
  padding-top: 16px;
}
.form-title[data-v-8aef9d13] {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.form-number[data-v-8aef9d13] {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}
.form-content[data-v-8aef9d13] {
  padding: 32px;
}
.form-section[data-v-8aef9d13] {
  margin-bottom: 32px;
}
.section-title[data-v-8aef9d13] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #178a2c;
  margin: 0 0 16px 0;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 8px;
}
.form-field[data-v-8aef9d13] {
  margin-bottom: 16px;
}
.field-label[data-v-8aef9d13] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 4px;
  display: block;
}
.field-value[data-v-8aef9d13] {
  font-size: 1rem;
  color: #555;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  min-height: 20px;
}
.description-field[data-v-8aef9d13],
.comments-field[data-v-8aef9d13] {
  min-height: 60px;
  white-space: pre-wrap;
}
.total-amount[data-v-8aef9d13] {
  font-weight: 700;
  color: #178a2c;
  font-size: 1.125rem;
}
.amount-words[data-v-8aef9d13] {
  font-style: italic;
  color: #666;
}
.signatures-section[data-v-8aef9d13] {
  border-top: 2px solid #e0e0e0;
  padding-top: 24px;
}
.signature-box[data-v-8aef9d13] {
  text-align: center;
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f8f9fa;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.signature-line[data-v-8aef9d13] {
  height: 2px;
  background: #333;
  margin: 20px 0;
  border-radius: 1px;
}
.signature-label[data-v-8aef9d13] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 8px;
}
.signature-info[data-v-8aef9d13] {
  font-size: 0.75rem;
  color: #666;
}
.signature-date[data-v-8aef9d13],
.signature-time[data-v-8aef9d13],
.signature-status[data-v-8aef9d13] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
  align-items: center;
}
.signature-date label[data-v-8aef9d13],
.signature-time label[data-v-8aef9d13],
.signature-status label[data-v-8aef9d13] {
  font-weight: 500;
}
.status-badge[data-v-8aef9d13] {
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
}
.status-approved[data-v-8aef9d13] {
  background: #e8f5e8;
  color: #21ba45;
}
.status-rejected[data-v-8aef9d13] {
  background: #ffebee;
  color: #d32f2f;
}
.status-pending[data-v-8aef9d13] {
  background: #fff3e0;
  color: #f39c12;
}
.form-footer[data-v-8aef9d13] {
  background: #f8f9fa;
  padding: 24px;
  text-align: center;
  border-top: 1px solid #e0e0e0;
  position: relative;
}
.footer-text[data-v-8aef9d13] {
  font-size: 0.875rem;
  color: #666;
  margin: 0 0 16px 0;
}
.footer-stamp[data-v-8aef9d13] {
  display: flex;
  justify-content: center;
}
.stamp-circle[data-v-8aef9d13] {
  width: 80px;
  height: 80px;
  border: 2px solid #178a2c;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  transform: rotate(-15deg);
}
.stamp-circle span[data-v-8aef9d13] {
  font-size: 0.625rem;
  font-weight: 700;
  color: #178a2c;
  text-align: center;
  line-height: 1.2;
}

/* Responsive Design */
@media (max-width: 768px) {
.company-info[data-v-8aef9d13] {
    flex-direction: column;
    text-align: center;
}
.company-details[data-v-8aef9d13] {
    text-align: center;
}
.form-content[data-v-8aef9d13] {
    padding: 16px;
}
.signature-box[data-v-8aef9d13] {
    margin-bottom: 16px;
}
}

.payment-voucher-form[data-v-a9da90d0] {
  max-width: 800px;
  margin: 0 auto;
  background: white;
}
.form-card[data-v-a9da90d0] {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #e0e0e0;
  overflow: hidden;
}
.form-header[data-v-a9da90d0] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  padding: 24px;
  text-align: center;
}
.company-info[data-v-a9da90d0] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.company-logo[data-v-a9da90d0] {
  width: 80px;
  height: 80px;
  object-fit: contain;
  background: white;
  border-radius: 8px;
  padding: 8px;
}
.company-details[data-v-a9da90d0] {
  text-align: left;
}
.company-name[data-v-a9da90d0] {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: white;
}
.company-address[data-v-a9da90d0],
.company-contact[data-v-a9da90d0],
.company-website[data-v-a9da90d0] {
  font-size: 0.875rem;
  margin: 2px 0;
  color: rgba(255, 255, 255, 0.9);
}
.form-title-section[data-v-a9da90d0] {
  border-top: 2px solid rgba(255, 255, 255, 0.3);
  padding-top: 16px;
}
.form-title[data-v-a9da90d0] {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.form-number[data-v-a9da90d0] {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}
.form-content[data-v-a9da90d0] {
  padding: 32px;
}
.form-section[data-v-a9da90d0] {
  margin-bottom: 32px;
}
.section-title[data-v-a9da90d0] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #178a2c;
  margin: 0 0 16px 0;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 8px;
}
.form-field[data-v-a9da90d0] {
  margin-bottom: 16px;
}
.field-label[data-v-a9da90d0] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 4px;
  display: block;
}
.field-value[data-v-a9da90d0] {
  font-size: 1rem;
  color: #555;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  min-height: 20px;
}
.total-amount[data-v-a9da90d0] {
  font-weight: 700;
  color: #178a2c;
  font-size: 1.125rem;
}
.amount-words[data-v-a9da90d0] {
  font-style: italic;
  color: #666;
}
.remarks-field[data-v-a9da90d0] {
  min-height: 60px;
  white-space: pre-wrap;
}
.payment-table[data-v-a9da90d0] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
.payment-table .q-table__top[data-v-a9da90d0] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
}
.signatures-section[data-v-a9da90d0] {
  border-top: 2px solid #e0e0e0;
  padding-top: 24px;
}
.signature-box[data-v-a9da90d0] {
  text-align: center;
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f8f9fa;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.signature-line[data-v-a9da90d0] {
  height: 2px;
  background: #333;
  margin: 20px 0;
  border-radius: 1px;
}
.signature-label[data-v-a9da90d0] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 8px;
}
.signature-info[data-v-a9da90d0] {
  font-size: 0.75rem;
  color: #666;
}
.signature-name[data-v-a9da90d0] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 8px;
}
.signature-date[data-v-a9da90d0],
.signature-time[data-v-a9da90d0] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.signature-date label[data-v-a9da90d0],
.signature-time label[data-v-a9da90d0] {
  font-weight: 500;
}
.form-footer[data-v-a9da90d0] {
  background: #f8f9fa;
  padding: 24px;
  text-align: center;
  border-top: 1px solid #e0e0e0;
  position: relative;
}
.footer-text[data-v-a9da90d0] {
  font-size: 0.875rem;
  color: #666;
  margin: 0 0 16px 0;
}
.footer-stamp[data-v-a9da90d0] {
  display: flex;
  justify-content: center;
}
.stamp-circle[data-v-a9da90d0] {
  width: 80px;
  height: 80px;
  border: 2px solid #178a2c;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  transform: rotate(-15deg);
}
.stamp-circle span[data-v-a9da90d0] {
  font-size: 0.625rem;
  font-weight: 700;
  color: #178a2c;
  text-align: center;
  line-height: 1.2;
}

/* Responsive Design */
@media (max-width: 768px) {
.company-info[data-v-a9da90d0] {
    flex-direction: column;
    text-align: center;
}
.company-details[data-v-a9da90d0] {
    text-align: center;
}
.form-content[data-v-a9da90d0] {
    padding: 16px;
}
.signature-box[data-v-a9da90d0] {
    margin-bottom: 16px;
}
}

.approval-forms-demo-page[data-v-45deb6e1] {
  background: #fafafa;
  min-height: 100vh;
}
.page-header[data-v-45deb6e1] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  margin-bottom: 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header-content[data-v-45deb6e1] {
  max-width: 1200px;
  margin: 0 auto;
}
.header-text h3[data-v-45deb6e1] {
  color: white !important;
  font-weight: 500;
  font-size: 1.75rem;
  margin: 0 0 8px 0;
}
.header-text p[data-v-45deb6e1] {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1rem;
  margin: 0;
}
.header-actions[data-v-45deb6e1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.main-content[data-v-45deb6e1] {
  max-width: 1200px;
  margin: 0 auto;
}
.content-wrapper[data-v-45deb6e1] {
  background: transparent;
}
.selection-card[data-v-45deb6e1],
.action-card[data-v-45deb6e1] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
  height: fit-content;
}
.selection-card[data-v-45deb6e1]:hover,
.action-card[data-v-45deb6e1]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
.form-type-card[data-v-45deb6e1] {
  border-radius: 8px;
  transition: all 0.3s ease;
  border: 1px solid #e0e0e0;
  box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06);
}
.form-type-card[data-v-45deb6e1]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px 0 rgba(60, 60, 60, 0.12);
}
.form-type-active[data-v-45deb6e1] {
  border-color: #21ba45;
  box-shadow: 0 4px 12px 0 rgba(33, 186, 69, 0.2);
  background: rgba(33, 186, 69, 0.05);
}
.placeholder-card[data-v-45deb6e1] {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* PO-inspired Button Styling */
.q-btn[data-v-45deb6e1] {
  border-radius: 6px;
  font-weight: 500;
  text-transform: none;
  transition: all 0.2s ease;
  min-height: 40px;
}
.q-btn--outline[data-v-45deb6e1] {
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #263238;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.q-btn--outline[data-v-45deb6e1]:hover {
  border-color: #21ba45;
  color: #21ba45;
  background: rgba(33, 186, 69, 0.08);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}

/* Responsive Design */
@media (max-width: 768px) {
.header-actions[data-v-45deb6e1] {
    margin-top: 24px;
}
.form-type-card[data-v-45deb6e1] {
    margin-bottom: 16px;
}
}

.document-preview-dialog[data-v-a444c7f8] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.preview-container[data-v-a444c7f8] {
  height: calc(100vh - 200px);
  overflow: auto;
}
.pdf-preview[data-v-a444c7f8] {
  border: none;
  height: 100%;
  min-height: 500px;
}
.image-preview[data-v-a444c7f8] {
  max-width: 100%;
  max-height: calc(100vh - 250px);
  object-fit: contain;
}
.text-preview[data-v-a444c7f8] {
  background-color: #f5f5f5;
  border-radius: 4px;
  overflow: auto;
  max-height: calc(100vh - 250px);
  overflow-wrap: break-word; /* Ensure long words break */
}
.text-preview pre[data-v-a444c7f8] {
  white-space: pre-wrap;
  font-family: monospace;
}
.document-info[data-v-a444c7f8] {
  border-top: 1px solid #e0e0e0;
  margin-top: 16px;
}
.preview-container-embedded[data-v-a444c7f8] {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    min-height: 500px;
}
.preview-content-embedded[data-v-a444c7f8] {
    height: 100%;
}
.docx-preview[data-v-a444c7f8] {
    background-color: #fff;
}
.vue-pdf-embed[data-v-a444c7f8] {
    height: 100%;
    width: 100%;
}
.html-preview[data-v-a444c7f8] {
    background-color: #fff;
    overflow-wrap: break-word; /* Ensure long words break */
    white-space: pre-wrap; /* Preserve whitespace and handle line breaks */
}

/* Add any component-specific styles here */

.highlight-comment-input-card[data-v-b9f5d1ea] {
  background-color: #e8f5e9; /* Light green */
  border-left: 5px solid #4CAF50; /* Green border */
}
.existing-highlight-comments-card[data-v-b9f5d1ea] {
  background-color: #f0f4f8; /* Light blue-grey */
}

.document-copilot-panel[data-v-d0b3a637] {
  position: sticky;
  top: 86px;
  max-height: calc(100vh - 110px);
  display: grid;
  grid-template-rows: auto auto minmax(220px, 1fr) auto auto auto;
  overflow: hidden;
  border-radius: 8px;
  background: var(--q-card-background, #ffffff);
}
.document-copilot-panel.copilot-drawer-panel[data-v-d0b3a637] {
  position: static;
  top: auto;
  max-height: none;
  height: 100%;
}
.copilot-header[data-v-d0b3a637] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
}
.copilot-mark[data-v-d0b3a637] {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
  color: #fff;
  background: #0b302c;
}
.copilot-title[data-v-d0b3a637] {
  min-width: 0;
}
.copilot-title div[data-v-d0b3a637] {
  color: #111827;
  font-size: 0.95rem;
  font-weight: 900;
}
.copilot-title span[data-v-d0b3a637] {
  display: block;
  margin-top: 2px;
  color: #6b7280;
  font-size: 0.76rem;
  font-weight: 700;
}
.copilot-messages[data-v-d0b3a637] {
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
  background: #f8fafc;
}
.copilot-empty[data-v-d0b3a637] {
  min-height: 190px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  color: #64748b;
}
.empty-title[data-v-d0b3a637] {
  margin-top: 10px;
  color: #111827;
  font-size: 0.98rem;
  font-weight: 900;
}
.copilot-empty p[data-v-d0b3a637] {
  max-width: 260px;
  margin: 6px 0 0;
  font-size: 0.82rem;
  line-height: 1.5;
}
.copilot-message[data-v-d0b3a637] {
  display: flex;
  margin-bottom: 12px;
}
.copilot-message.user[data-v-d0b3a637] {
  justify-content: flex-end;
}
.message-bubble[data-v-d0b3a637] {
  max-width: 92%;
  padding: 11px 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  color: #111827;
  background: #ffffff;
}
.copilot-message.user .message-bubble[data-v-d0b3a637] {
  color: #ffffff;
  background: #0b302c;
}
.message-bubble p[data-v-d0b3a637] {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.55;
  white-space: pre-wrap;
}
.answer-line[data-v-d0b3a637] {
  display: flex;
  gap: 7px;
  margin-bottom: 8px;
  font-size: 0.84rem;
  line-height: 1.55;
}
.answer-line[data-v-d0b3a637]:last-child {
  margin-bottom: 0;
}
.answer-line--heading[data-v-d0b3a637] {
  margin-top: 10px;
  color: #0b302c;
}
.answer-line--heading[data-v-d0b3a637]:first-child {
  margin-top: 0;
}
.line-marker[data-v-d0b3a637] {
  min-width: 18px;
  color: #0b302c;
  font-weight: 900;
}
.source-chips[data-v-d0b3a637] {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}
.typing[data-v-d0b3a637] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
}
.typing span[data-v-d0b3a637] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0b302c;
  animation: copilotTyping-d0b3a637 1s ease-in-out infinite;
}
.typing span[data-v-d0b3a637]:nth-child(2) {
  animation-delay: 0.16s;
}
.typing span[data-v-d0b3a637]:nth-child(3) {
  animation-delay: 0.32s;
}
.suggestion-section[data-v-d0b3a637] {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 12px;
}
.suggestion-section button[data-v-d0b3a637] {
  flex: 0 0 auto;
  max-width: 220px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(11, 48, 44, 0.14);
  border-radius: 999px;
  color: #0b302c;
  background: #eef7f3;
  font-size: 0.74rem;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}
.copilot-input-section[data-v-d0b3a637] {
  padding: 12px;
}
.copilot-input[data-v-d0b3a637] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.copilot-input input[data-v-d0b3a637] {
  min-width: 0;
  flex: 1;
  height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 999px;
  outline: none;
  color: #111827;
  background: #ffffff;
}
.copilot-input input[data-v-d0b3a637]:focus {
  border-color: #0b302c;
}
.copilot-error[data-v-d0b3a637] {
  margin-top: 8px;
  color: #b91c1c;
  font-size: 0.76rem;
  line-height: 1.35;
}
.body--dark .document-copilot-panel[data-v-d0b3a637] {
  background: #18181b;
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .copilot-title div[data-v-d0b3a637],
.body--dark .empty-title[data-v-d0b3a637] {
  color: #f4f4f5;
}
.body--dark .copilot-title span[data-v-d0b3a637],
.body--dark .copilot-empty[data-v-d0b3a637] {
  color: #a1a1aa;
}
.body--dark .copilot-messages[data-v-d0b3a637] {
  background: #09090b;
}
.body--dark .message-bubble[data-v-d0b3a637],
.body--dark .copilot-input input[data-v-d0b3a637] {
  color: #f4f4f5;
  background: #18181b;
  border-color: rgba(255, 255, 255, 0.1);
}
.body--dark .suggestion-section button[data-v-d0b3a637] {
  color: #d8fff0;
  background: #10231f;
  border-color: rgba(125, 211, 176, 0.18);
}
@keyframes copilotTyping-d0b3a637 {
0%, 80%, 100% { opacity: 0.35; transform: translateY(0);
}
40% { opacity: 1; transform: translateY(-2px);
}
}
@media (max-width: 1024px) {
.document-copilot-panel[data-v-d0b3a637] {
    position: static;
    max-height: none;
    min-height: 520px;
}
}

.document-view-page[data-v-093fe62e] {
  background: #fafafa;
  min-height: 100vh;
}
.page-header[data-v-093fe62e] {
  background: linear-gradient(135deg, #178a2c 0%, #21ba45 100%);
  color: white;
  margin-bottom: 0;
  border-bottom: 1px solid #e0e0e0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header-content[data-v-093fe62e] {
  max-width: 1440px;
  margin: 0 auto;
}
.header-text h3[data-v-093fe62e] {
  color: white !important;
  font-weight: 500;
  font-size: 1.75rem;
}
.header-actions[data-v-093fe62e] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.main-content[data-v-093fe62e] {
  max-width: 1440px;
  margin: 0 auto;
}
.content-wrapper[data-v-093fe62e] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.document-workspace-row[data-v-093fe62e] {
  align-items: flex-start;
}
.document-side-rail[data-v-093fe62e] {
  min-width: 0;
}
.document-copilot-drawer[data-v-093fe62e] {
  background: #f8fafc;
}
.copilot-drawer-shell[data-v-093fe62e] {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: #f8fafc;
}
.copilot-drawer-header[data-v-093fe62e] {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  color: #111827;
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
}
.copilot-drawer-title[data-v-093fe62e] {
  font-size: 0.98rem;
  font-weight: 900;
}
.copilot-drawer-subtitle[data-v-093fe62e] {
  max-width: 340px;
  margin-top: 2px;
  color: #6b7280;
  font-size: 0.76rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.copilot-drawer-panel[data-v-093fe62e] {
  min-height: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
}
.document-copilot-fab[data-v-093fe62e] {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 5000;
  width: 60px;
  height: 60px;
  color: #ffffff;
  background: #0b302c;
  box-shadow: 0 18px 42px rgba(5, 18, 17, 0.32);
}
.document-copilot-fab[data-v-093fe62e]:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 50px rgba(5, 18, 17, 0.38);
}
.document-header-card[data-v-093fe62e] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06);
  border: 1px solid #e0e0e0;
}
.company-logo[data-v-093fe62e] {
  border-radius: 4px;
}
.company-details h4[data-v-093fe62e] {
  color: #178a2c !important;
}
.document-meta[data-v-093fe62e] {
  text-align: right;
}
.meta-item[data-v-093fe62e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.meta-label[data-v-093fe62e] {
  font-weight: 600;
  color: #666;
  font-size: 0.875rem;
}
.meta-value[data-v-093fe62e] {
  color: #263238;
  font-size: 0.875rem;
}
.amount-value[data-v-093fe62e] {
  color: #21ba45;
  font-weight: 600;
}
.document-content-card[data-v-093fe62e] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06);
  border: 1px solid #e0e0e0;
}
.generic-document[data-v-093fe62e] {
  padding: 24px;
  background: #fafafa;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  overflow-wrap: break-word; /* Ensure long words break */
  white-space: pre-wrap; /* Preserve whitespace and handle line breaks */
}
.docx-html-preview[data-v-093fe62e] {
  width: 100%;
  height: 100%; /* Ensure it takes full height of the card section */
  overflow-y: auto; /* Allow scrolling if content is large */
  overflow-wrap: break-word; /* Ensure long words break */
  white-space: pre-wrap; /* Preserve whitespace and handle line breaks */
}
.highlight-comments-card[data-v-093fe62e] {
  background: #f5f5f5;
  border-radius: 8px;
  box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06);
  border: 1px solid #e0e0e0;
  height: 100%; /* Ensure it takes full height of the sidebar */
}
.highlight-comments-card .q-card__section[data-v-093fe62e] {
  padding: 16px;
}
.highlight-comments-card .text-h6[data-v-093fe62e] {
  color: #333;
  font-weight: 600;
}
.highlight-comments-card p[data-v-093fe62e] {
  color: #666;
  font-size: 0.875rem;
  margin-bottom: 16px;
}
.highlight-class[data-v-093fe62e] {
   background-color: #ffd700; /* A nice yellow for highlights */
   border-radius: 3px;
   padding: 1px 2px;
   cursor: pointer;
}
.approval-workflow-section[data-v-093fe62e] {
  padding: 24px;
  background: #f5f5f5;
  border-radius: 8px;
  box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06);
  border: 1px solid #e0e0e0;
}
.approval-card[data-v-093fe62e] {
  min-width: 250px;
  max-width: 300px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.digital-signatures-section[data-v-093fe62e] {
  padding: 24px;
  /* background: #f5f5f5; */
  border-radius: 8px;
  box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06);
  border: 1px solid #e0e0e0;
}
.digital-signature-card[data-v-093fe62e] {
  border: 1px solid #e0e0e0;
  padding: 8px;
  border-radius: 4px;
  /* background-color: #f9f9f9; */
  min-width: 220px; /* Ensure a minimum width for better presentation */
}
.digital-signature-image[data-v-093fe62e] {
  max-width: 200px;
  height: auto;
  display: block;
}
.rejection-message-section[data-v-093fe62e] {
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06);
  border: 1px solid #e0e0e0;
}
.rejection-card[data-v-093fe62e] {
  background: #ffebee;
  border: 1px solid #ef5350;
}
@media (max-width: 768px) {
.header-actions[data-v-093fe62e] {
    justify-content: center;
}
.document-meta[data-v-093fe62e] {
    text-align: left;
    margin-top: 16px;
}
.meta-item[data-v-093fe62e] {
    justify-content: flex-start;
    gap: 8px;
}
.document-copilot-fab[data-v-093fe62e] {
    right: 16px;
    bottom: 16px;
    width: 54px;
    height: 54px;
}
}

/* Vengeance viewer overrides */
.document-view-page[data-v-093fe62e] {
  background: var(--vengeance-bg);
  min-height: calc(100vh - 64px);
}
.page-header[data-v-093fe62e] {
  width: min(1180px, calc(100vw - 48px));
  margin: 24px auto 0;
  color: var(--vengeance-ink);
  background: var(--vengeance-panel) !important;
  border: 1px solid var(--vengeance-line);
  border-radius: 28px;
  box-shadow: var(--shadow);
}
.header-text h3[data-v-093fe62e] {
  color: var(--vengeance-ink) !important;
  font-size: clamp(1.5rem, 4vw, 2rem);
  letter-spacing: 0.02em;
}
.header-text p[data-v-093fe62e] {
  color: var(--vengeance-muted);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.main-content[data-v-093fe62e] {
  max-width: 1180px;
}
.content-wrapper[data-v-093fe62e] {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.document-header-card[data-v-093fe62e],
.highlight-comments-card[data-v-093fe62e],
.digital-signatures-section[data-v-093fe62e],
.rejection-message-section[data-v-093fe62e] {
  border-radius: 24px !important;
  background: var(--vengeance-panel) !important;
  border: 1px solid var(--vengeance-line) !important;
  box-shadow: var(--shadow) !important;
}
.document-content-card[data-v-093fe62e] {
  border-radius: 18px !important;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.12) !important;
}
.company-details h4[data-v-093fe62e],
.meta-value[data-v-093fe62e] {
  color: var(--vengeance-ink) !important;
}
.meta-label[data-v-093fe62e] {
  color: var(--vengeance-muted);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.meta-item[data-v-093fe62e] {
  padding: 6px 0;
  border-bottom: 1px solid var(--vengeance-line);
}
.digital-signature-card[data-v-093fe62e] {
  border-radius: 16px;
  border-color: var(--vengeance-line);
  background: var(--vengeance-soft);
}

.text-document-page[data-v-f59dd801] {
  background: #fafafa;
  min-height: 100vh;
}
.page-header[data-v-f59dd801] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  margin-bottom: 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header-content[data-v-f59dd801] {
  max-width: 1200px;
  margin: 0 auto;
}
.header-text h3[data-v-f59dd801] {
  color: white !important;
  font-weight: 500;
  font-size: 1.75rem;
  margin: 0 0 8px 0;
}
.header-text p[data-v-f59dd801] {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1rem;
  margin: 0;
}
.header-actions[data-v-f59dd801] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.main-content[data-v-f59dd801] {
  max-width: 1200px;
  margin: 0 auto;
}
.content-wrapper[data-v-f59dd801] {
  background: transparent;
}
.form-card[data-v-f59dd801],
.editor-card[data-v-f59dd801] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
  height: fit-content;
}
.form-card[data-v-f59dd801]:hover,
.editor-card[data-v-f59dd801]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Fullscreen Editor Modal */
.fullscreen-editor-modal[data-v-f59dd801] {
  background: white;
  border-radius: 0;
  box-shadow: none;
}
.fullscreen-header[data-v-f59dd801] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 16px 24px;
}
.fullscreen-actions[data-v-f59dd801] {
  display: flex;
  gap: 8px;
}
.fullscreen-content[data-v-f59dd801] {
  background: white;
}

/* Material Design Button Styling */
.q-btn[data-v-f59dd801] {
  border-radius: 4px;
  text-transform: none;
  font-weight: 500;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 40px;
}
.q-btn--outline[data-v-f59dd801] {
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #263238;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.q-btn--outline[data-v-f59dd801]:hover {
  border-color: #21ba45;
  color: #21ba45;
  background: rgba(33, 186, 69, 0.08);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}

/* Responsive Design */
@media (max-width: 768px) {
.header-actions[data-v-f59dd801] {
    margin-top: 24px;
}
.form-card[data-v-f59dd801],
  .editor-card[data-v-f59dd801] {
    margin-bottom: 16px;
}
}

.edit-document-page .page-header[data-v-8857ac9c] {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.shared-documents-page[data-v-df0d13f2] {
  max-width: none;
  margin: 0;
  background: var(--vengeance-bg);
  min-height: calc(100vh - 64px);
}
.header-section[data-v-df0d13f2] {
  padding: 28px;
  border-radius: 30px;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
  box-shadow: var(--shadow);
}
.documents-card[data-v-df0d13f2] {
  border-radius: 28px;
  background: var(--vengeance-panel);
  border: 1px solid var(--vengeance-line);
  box-shadow: var(--shadow);
}
.empty-state[data-v-df0d13f2] {
  border-radius: 24px;
}
.shared-documents-page[data-v-df0d13f2] .q-field__control {
  border-radius: 16px;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
}
.shared-documents-page[data-v-df0d13f2] .q-item {
  border-radius: 18px;
  margin-bottom: 8px;
}
.shared-documents-page[data-v-df0d13f2] .q-item:hover {
  background: var(--vengeance-soft);
}

.document-view-page[data-v-29c4f425] { background: #fafafa; min-height: 100vh;
}
.page-header[data-v-29c4f425] { background: linear-gradient(135deg, #178a2c 0%, #21ba45 100%); color: white; margin-bottom: 0; border-bottom: 1px solid #e0e0e0; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header-content[data-v-29c4f425] { max-width: 1200px; margin: 0 auto;
}
.header-text h3[data-v-29c4f425] { color: white !important; font-weight: 500; font-size: 1.75rem;
}
.header-actions[data-v-29c4f425] { display: flex; gap: 8px; flex-wrap: wrap;
}
.main-content[data-v-29c4f425] { max-width: 1200px; margin: 0 auto;
}
.content-wrapper[data-v-29c4f425] { background: white; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); overflow: hidden;
}
.document-header-card[data-v-29c4f425] { background: white; border-radius: 8px; box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06); border: 1px solid #e0e0e0;
}
.company-logo[data-v-29c4f425] { border-radius: 4px;
}
.company-details h4[data-v-29c4f425] { color: #178a2c !important;
}
.document-meta[data-v-29c4f425] { text-align: right;
}
.meta-item[data-v-29c4f425] { display: flex; justify-content: space-between; align-items: center;
}
.meta-label[data-v-29c4f425] { font-weight: 600; color: #666; font-size: 0.875rem;
}
.meta-value[data-v-29c4f425] { color: #263238; font-size: 0.875rem;
}
.document-content-card[data-v-29c4f425] { background: white; border-radius: 8px; box-shadow: 0 1px 4px 0 rgba(60, 60, 60, 0.06); border: 1px solid #e0e0e0;
}

.cash-request-document[data-v-009c5854] {
  max-width: 800px;
  margin: 0 auto;
  background: white;
}
.document-card[data-v-009c5854] {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #e0e0e0;
  overflow: hidden;
}
.document-header[data-v-009c5854] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  padding: 24px;
  text-align: center;
}
.company-info[data-v-009c5854] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.company-logo[data-v-009c5854] {
  width: 80px;
  height: 80px;
  object-fit: contain;
  background: white;
  border-radius: 8px;
  padding: 8px;
}
.company-details[data-v-009c5854] {
  text-align: left;
}
.company-name[data-v-009c5854] {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: white;
}
.company-address[data-v-009c5854],
.company-contact[data-v-009c5854],
.company-website[data-v-009c5854] {
  font-size: 0.875rem;
  margin: 2px 0;
  color: rgba(255, 255, 255, 0.9);
}
.document-title-section[data-v-009c5854] {
  border-top: 2px solid rgba(255, 255, 255, 0.3);
  padding-top: 16px;
}
.document-title[data-v-009c5854] {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.document-number[data-v-009c5854] {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}
.document-content[data-v-009c5854] {
  padding: 32px;
}
.document-section[data-v-009c5854] {
  margin-bottom: 32px;
}
.section-title[data-v-009c5854] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #178a2c;
  margin: 0 0 16px 0;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 8px;
}
.document-field[data-v-009c5854] {
  margin-bottom: 16px;
}
.field-label[data-v-009c5854] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 4px;
  display: block;
}
.field-value[data-v-009c5854] {
  font-size: 1rem;
  color: #555;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  min-height: 20px;
}
.total-amount[data-v-009c5854] {
  font-weight: 700;
  color: #178a2c;
  font-size: 1.125rem;
}
.amount-words[data-v-009c5854] {
  font-style: italic;
  color: #666;
}
.items-table[data-v-009c5854] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
.items-table .q-table__top[data-v-009c5854] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
}
.signatures-section[data-v-009c5854] {
  border-top: 2px solid #e0e0e0;
  padding-top: 24px;
}
.signature-box[data-v-009c5854] {
  text-align: center;
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f8f9fa;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.signature-line[data-v-009c5854] {
  height: 2px;
  background: #333;
  margin: 20px 0;
  border-radius: 1px;
}
.signature-label[data-v-009c5854] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 8px;
}
.signature-info[data-v-009c5854] {
  font-size: 0.75rem;
  color: #666;
}
.signature-date[data-v-009c5854],
.signature-time[data-v-009c5854] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.signature-date label[data-v-009c5854],
.signature-time label[data-v-009c5854] {
  font-weight: 500;
}
.document-footer[data-v-009c5854] {
  background: #f8f9fa;
  padding: 24px;
  text-align: center;
  border-top: 1px solid #e0e0e0;
  position: relative;
}
.footer-text[data-v-009c5854] {
  font-size: 0.875rem;
  color: #666;
  margin: 0 0 16px 0;
}
.footer-stamp[data-v-009c5854] {
  display: flex;
  justify-content: center;
}
.stamp-circle[data-v-009c5854] {
  width: 80px;
  height: 80px;
  border: 2px solid #178a2c;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  transform: rotate(-15deg);
}
.stamp-circle span[data-v-009c5854] {
  font-size: 0.625rem;
  font-weight: 700;
  color: #178a2c;
  text-align: center;
  line-height: 1.2;
}

/* Responsive Design */
@media (max-width: 768px) {
.company-info[data-v-009c5854] {
    flex-direction: column;
    text-align: center;
}
.company-details[data-v-009c5854] {
    text-align: center;
}
.document-content[data-v-009c5854] {
    padding: 16px;
}
.signature-box[data-v-009c5854] {
    margin-bottom: 16px;
}
}

.cash-transfer-document[data-v-d4adc2c7] {
  max-width: 800px;
  margin: 0 auto;
  background: white;
}
.document-card[data-v-d4adc2c7] {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #e0e0e0;
  overflow: hidden;
}
.document-header[data-v-d4adc2c7] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  padding: 24px;
  text-align: center;
}
.company-info[data-v-d4adc2c7] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.company-logo[data-v-d4adc2c7] {
  width: 80px;
  height: 80px;
  object-fit: contain;
  background: white;
  border-radius: 8px;
  padding: 8px;
}
.company-details[data-v-d4adc2c7] {
  text-align: left;
}
.company-name[data-v-d4adc2c7] {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: white;
}
.company-address[data-v-d4adc2c7],
.company-contact[data-v-d4adc2c7],
.company-website[data-v-d4adc2c7] {
  font-size: 0.875rem;
  margin: 2px 0;
  color: rgba(255, 255, 255, 0.9);
}
.document-title-section[data-v-d4adc2c7] {
  border-top: 2px solid rgba(255, 255, 255, 0.3);
  padding-top: 16px;
}
.document-title[data-v-d4adc2c7] {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.document-number[data-v-d4adc2c7] {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}
.document-content[data-v-d4adc2c7] {
  padding: 32px;
}
.document-section[data-v-d4adc2c7] {
  margin-bottom: 32px;
}
.section-title[data-v-d4adc2c7] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #178a2c;
  margin: 0 0 16px 0;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 8px;
}
.document-field[data-v-d4adc2c7] {
  margin-bottom: 16px;
}
.field-label[data-v-d4adc2c7] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 4px;
  display: block;
}
.field-value[data-v-d4adc2c7] {
  font-size: 1rem;
  color: #555;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  min-height: 20px;
}
.description-field[data-v-d4adc2c7],
.comments-field[data-v-d4adc2c7] {
  min-height: 60px;
  white-space: pre-wrap;
}
.total-amount[data-v-d4adc2c7] {
  font-weight: 700;
  color: #178a2c;
  font-size: 1.125rem;
}
.amount-words[data-v-d4adc2c7] {
  font-style: italic;
  color: #666;
}
.signatures-section[data-v-d4adc2c7] {
  border-top: 2px solid #e0e0e0;
  padding-top: 24px;
}
.signature-box[data-v-d4adc2c7] {
  text-align: center;
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f8f9fa;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.signature-line[data-v-d4adc2c7] {
  height: 2px;
  background: #333;
  margin: 20px 0;
  border-radius: 1px;
}
.signature-label[data-v-d4adc2c7] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 8px;
}
.signature-info[data-v-d4adc2c7] {
  font-size: 0.75rem;
  color: #666;
}
.signature-date[data-v-d4adc2c7],
.signature-time[data-v-d4adc2c7],
.signature-status[data-v-d4adc2c7] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
  align-items: center;
}
.signature-date label[data-v-d4adc2c7],
.signature-time label[data-v-d4adc2c7],
.signature-status label[data-v-d4adc2c7] {
  font-weight: 500;
}
.status-badge[data-v-d4adc2c7] {
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
}
.status-approved[data-v-d4adc2c7] {
  background: #e8f5e8;
  color: #21ba45;
}
.status-rejected[data-v-d4adc2c7] {
  background: #ffebee;
  color: #d32f2f;
}
.status-pending[data-v-d4adc2c7] {
  background: #fff3e0;
  color: #f39c12;
}
.document-footer[data-v-d4adc2c7] {
  background: #f8f9fa;
  padding: 24px;
  text-align: center;
  border-top: 1px solid #e0e0e0;
  position: relative;
}
.footer-text[data-v-d4adc2c7] {
  font-size: 0.875rem;
  color: #666;
  margin: 0 0 16px 0;
}
.footer-stamp[data-v-d4adc2c7] {
  display: flex;
  justify-content: center;
}
.stamp-circle[data-v-d4adc2c7] {
  width: 80px;
  height: 80px;
  border: 2px solid #178a2c;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  transform: rotate(-15deg);
}
.stamp-circle span[data-v-d4adc2c7] {
  font-size: 0.625rem;
  font-weight: 700;
  color: #178a2c;
  text-align: center;
  line-height: 1.2;
}

/* Responsive Design */
@media (max-width: 768px) {
.company-info[data-v-d4adc2c7] {
    flex-direction: column;
    text-align: center;
}
.company-details[data-v-d4adc2c7] {
    text-align: center;
}
.document-content[data-v-d4adc2c7] {
    padding: 16px;
}
.signature-box[data-v-d4adc2c7] {
    margin-bottom: 16px;
}
}

.payment-voucher-document[data-v-168adf17] {
  max-width: 800px;
  margin: 0 auto;
  background: white;
}
.document-card[data-v-168adf17] {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #e0e0e0;
  overflow: hidden;
}
.document-header[data-v-168adf17] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  padding: 24px;
  text-align: center;
}
.company-info[data-v-168adf17] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.company-logo[data-v-168adf17] {
  width: 80px;
  height: 80px;
  object-fit: contain;
  background: white;
  border-radius: 8px;
  padding: 8px;
}
.company-details[data-v-168adf17] {
  text-align: left;
}
.company-name[data-v-168adf17] {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: white;
}
.company-address[data-v-168adf17],
.company-contact[data-v-168adf17],
.company-website[data-v-168adf17] {
  font-size: 0.875rem;
  margin: 2px 0;
  color: rgba(255, 255, 255, 0.9);
}
.document-title-section[data-v-168adf17] {
  border-top: 2px solid rgba(255, 255, 255, 0.3);
  padding-top: 16px;
}
.document-title[data-v-168adf17] {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.document-number[data-v-168adf17] {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}
.document-content[data-v-168adf17] {
  padding: 32px;
}
.document-section[data-v-168adf17] {
  margin-bottom: 32px;
}
.section-title[data-v-168adf17] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #178a2c;
  margin: 0 0 16px 0;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 8px;
}
.document-field[data-v-168adf17] {
  margin-bottom: 16px;
}
.field-label[data-v-168adf17] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 4px;
  display: block;
}
.field-value[data-v-168adf17] {
  font-size: 1rem;
  color: #555;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  min-height: 20px;
}
.total-amount[data-v-168adf17] {
  font-weight: 700;
  color: #178a2c;
  font-size: 1.125rem;
}
.amount-words[data-v-168adf17] {
  font-style: italic;
  color: #666;
}
.remarks-field[data-v-168adf17] {
  min-height: 60px;
  white-space: pre-wrap;
}
.payment-table[data-v-168adf17] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
.payment-table .q-table__top[data-v-168adf17] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
}
.signatures-section[data-v-168adf17] {
  border-top: 2px solid #e0e0e0;
  padding-top: 24px;
}
.signature-box[data-v-168adf17] {
  text-align: center;
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f8f9fa;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.signature-line[data-v-168adf17] {
  height: 2px;
  background: #333;
  margin: 20px 0;
  border-radius: 1px;
}
.signature-label[data-v-168adf17] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 8px;
}
.signature-info[data-v-168adf17] {
  font-size: 0.75rem;
  color: #666;
}
.signature-name[data-v-168adf17] {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 8px;
}
.signature-date[data-v-168adf17],
.signature-time[data-v-168adf17] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.signature-date label[data-v-168adf17],
.signature-time label[data-v-168adf17] {
  font-weight: 500;
}
.document-footer[data-v-168adf17] {
  background: #f8f9fa;
  padding: 24px;
  text-align: center;
  border-top: 1px solid #e0e0e0;
  position: relative;
}
.footer-text[data-v-168adf17] {
  font-size: 0.875rem;
  color: #666;
  margin: 0 0 16px 0;
}
.footer-stamp[data-v-168adf17] {
  display: flex;
  justify-content: center;
}
.stamp-circle[data-v-168adf17] {
  width: 80px;
  height: 80px;
  border: 2px solid #178a2c;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  transform: rotate(-15deg);
}
.stamp-circle span[data-v-168adf17] {
  font-size: 0.625rem;
  font-weight: 700;
  color: #178a2c;
  text-align: center;
  line-height: 1.2;
}

/* Responsive Design */
@media (max-width: 768px) {
.company-info[data-v-168adf17] {
    flex-direction: column;
    text-align: center;
}
.company-details[data-v-168adf17] {
    text-align: center;
}
.document-content[data-v-168adf17] {
    padding: 16px;
}
.signature-box[data-v-168adf17] {
    margin-bottom: 16px;
}
}

.create-document-page[data-v-8a8b93d8] {
  background: #fafafa;
  min-height: 100vh;
}
.page-header[data-v-8a8b93d8] {
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
  color: white;
  margin-bottom: 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header-content[data-v-8a8b93d8] {
  max-width: 1200px;
  margin: 0 auto;
}
.header-text h3[data-v-8a8b93d8] {
  color: white !important;
  font-weight: 500;
  font-size: 1.75rem;
  margin: 0 0 8px 0;
}
.header-text p[data-v-8a8b93d8] {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1rem;
  margin: 0;
}
.header-actions[data-v-8a8b93d8] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.main-content[data-v-8a8b93d8] {
  max-width: 1200px;
  margin: 0 auto;
}
.content-wrapper[data-v-8a8b93d8] {
  background: transparent;
}
.form-card[data-v-8a8b93d8],
.editor-card[data-v-8a8b93d8] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
  height: fit-content;
}
.form-card[data-v-8a8b93d8]:hover,
.editor-card[data-v-8a8b93d8]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
.template-preview-container[data-v-8a8b93d8] {
  max-height: 600px;
  overflow-y: auto;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fafafa;
  padding: 16px;
}
.editor-header[data-v-8a8b93d8] {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 16px;
}
.editor-actions[data-v-8a8b93d8] {
  display: flex;
  gap: 8px;
}
.fullscreen-btn[data-v-8a8b93d8] {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.fullscreen-btn[data-v-8a8b93d8]:hover {
  background: rgba(0, 0, 0, 0.08);
  transform: scale(1.1);
}
.rich-editor-container[data-v-8a8b93d8] {
  position: relative;
}
.rich-text-editor[data-v-8a8b93d8] {
  background: white;
  border-radius: 4px;
  overflow: hidden;
}
.rich-text-editor[data-v-8a8b93d8] .q-editor__content {
  min-height: 400px;
  padding: 20px;
  line-height: 1.6;
  font-size: 14px;
}
.rich-text-editor[data-v-8a8b93d8] .q-editor__toolbar {
  background: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
  padding: 8px 16px;
  border-radius: 4px 4px 0 0;
}
.rich-text-editor[data-v-8a8b93d8] .q-editor__toolbar .q-btn {
  border-radius: 4px;
  margin: 2px;
  min-width: 32px;
  min-height: 32px;
}
.rich-text-editor[data-v-8a8b93d8] .q-editor__toolbar .q-btn:hover {
  background: rgba(33, 186, 69, 0.1);
}

/* Fullscreen Editor Modal */
.fullscreen-editor-modal[data-v-8a8b93d8] {
  background: white;
  border-radius: 0;
  box-shadow: none;
}
.fullscreen-header[data-v-8a8b93d8] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 16px 24px;
}
.fullscreen-actions[data-v-8a8b93d8] {
  display: flex;
  gap: 8px;
}
.fullscreen-content[data-v-8a8b93d8] {
  background: white;
}
.fullscreen-rich-editor[data-v-8a8b93d8] {
  background: white;
  border: none;
}
.fullscreen-rich-editor[data-v-8a8b93d8] .q-editor__content {
  min-height: calc(100vh - 120px);
  padding: 24px;
  line-height: 1.6;
  font-size: 16px;
  background: white;
}
.fullscreen-rich-editor[data-v-8a8b93d8] .q-editor__toolbar {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 12px 24px;
  border-radius: 0;
}
.fullscreen-rich-editor[data-v-8a8b93d8] .q-editor__toolbar .q-btn {
  border-radius: 4px;
  margin: 2px;
  min-width: 36px;
  min-height: 36px;
}
.fullscreen-rich-editor[data-v-8a8b93d8] .q-editor__toolbar .q-btn:hover {
  background: rgba(33, 186, 69, 0.1);
}

/* Image Upload Styles */
.upload-area[data-v-8a8b93d8] {
  padding: 16px;
  border: 2px dashed #e0e0e0;
  border-radius: 8px;
  background: #fafafa;
}
.image-preview[data-v-8a8b93d8] {
  text-align: center;
}
.preview-image[data-v-8a8b93d8] {
  max-width: 100%;
  max-height: 200px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
}

/* Table Preview Styles */
.table-preview[data-v-8a8b93d8] {
  padding: 16px;
  background: #f8f9fa;
  border-radius: 8px;
}
.table-grid[data-v-8a8b93d8] {
  display: grid;
  gap: 1px;
  background: #ddd;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
}
.table-row[data-v-8a8b93d8] {
  display: contents;
}
.table-cell[data-v-8a8b93d8] {
  background: white;
  min-height: 20px;
  border: 1px solid #ddd;
}
.modal-card[data-v-8a8b93d8] {
  border: none;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Material Design Button Styling */
.q-btn[data-v-8a8b93d8] {
  border-radius: 4px;
  text-transform: none;
  font-weight: 500;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 40px;
}
.q-btn--outline[data-v-8a8b93d8] {
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #263238;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.q-btn--outline[data-v-8a8b93d8]:hover {
  border-color: #21ba45;
  color: #21ba45;
  background: rgba(33, 186, 69, 0.08);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.q-btn--flat[data-v-8a8b93d8] {
  box-shadow: none;
}
.q-btn--flat[data-v-8a8b93d8]:hover {
  background: rgba(0, 0, 0, 0.08);
}

/* Material Design Input Styling */
.q-input--outlined .q-field__control[data-v-8a8b93d8] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-input--outlined .q-field__control[data-v-8a8b93d8]:hover {
  border-color: #21ba45;
}
.q-input--outlined .q-field--focused .q-field__control[data-v-8a8b93d8] {
  border-color: #21ba45;
  box-shadow: 0 0 0 2px rgba(33, 186, 69, 0.2);
}

/* Material Design Select Styling */
.q-select--outlined .q-field__control[data-v-8a8b93d8] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.q-select--outlined .q-field__control[data-v-8a8b93d8]:hover {
  border-color: #21ba45;
}
.q-select--outlined .q-field--focused .q-field__control[data-v-8a8b93d8] {
  border-color: #21ba45;
  box-shadow: 0 0 0 2px rgba(33, 186, 69, 0.2);
}

/* Material Design Card Styling */
.q-card[data-v-8a8b93d8] {
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
}
.q-card[data-v-8a8b93d8]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Material Design Dialog Styling */
.q-dialog__inner--minimized > div[data-v-8a8b93d8] {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Responsive Design */
@media (max-width: 768px) {
.header-actions[data-v-8a8b93d8] {
    margin-top: 24px;
}
.form-card[data-v-8a8b93d8],
  .editor-card[data-v-8a8b93d8] {
    margin-bottom: 16px;
}
.rich-text-editor[data-v-8a8b93d8] .q-editor__content {
    min-height: 300px;
    padding: 16px;
}
.fullscreen-rich-editor[data-v-8a8b93d8] .q-editor__content {
    min-height: calc(100vh - 100px);
    padding: 16px;
}
.q-btn[data-v-8a8b93d8] {
    min-height: 36px;
}

  /* Imported Table Styles for Preview */
.template-preview-content .table-imported[data-v-8a8b93d8] {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    border: 1px solid #e0e0e0;
    background: white;
}
.template-preview-content .table-imported th[data-v-8a8b93d8],
  .template-preview-content .table-imported td[data-v-8a8b93d8] {
    border: 1px solid #e0e0e0;
    padding: 8px 12px;
    text-align: left;
    vertical-align: top;
    min-width: 80px;
}
.template-preview-content .table-imported th[data-v-8a8b93d8] {
    background-color: #f8f9fa;
    font-weight: 600;
    border-bottom: 2px solid #dee2e6;
}
.template-preview-content .table-imported tr[data-v-8a8b93d8]:nth-child(even) {
    background-color: #f8f9fa;
}
.template-preview-content .table-imported tr[data-v-8a8b93d8]:hover {
    background-color: #e9ecef;
}
}

/* Vengeance authoring overrides */
.create-document-page[data-v-8a8b93d8] {
  background: var(--vengeance-bg);
  min-height: calc(100vh - 64px);
  padding: 32px;
}
.page-header[data-v-8a8b93d8] {
  padding: 28px;
  color: var(--vengeance-ink);
  background: var(--vengeance-panel) !important;
  border: 1px solid var(--vengeance-line);
  border-radius: 30px;
  box-shadow: var(--shadow);
}
.header-text h3[data-v-8a8b93d8] {
  color: var(--vengeance-ink) !important;
  font-size: clamp(1.7rem, 4vw, 2.2rem);
}
.header-text p[data-v-8a8b93d8] {
  color: var(--vengeance-muted);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.main-content[data-v-8a8b93d8],
.content-wrapper[data-v-8a8b93d8] {
  max-width: none;
}
.form-card[data-v-8a8b93d8],
.editor-card[data-v-8a8b93d8] {
  border-radius: 28px !important;
  background: var(--vengeance-panel) !important;
  border: 1px solid var(--vengeance-line) !important;
  box-shadow: var(--shadow) !important;
}
.form-card[data-v-8a8b93d8] .q-field__control,
.editor-card[data-v-8a8b93d8] .q-field__control {
  border-radius: 16px;
  background: var(--vengeance-soft) !important;
  border: 1px solid var(--vengeance-line);
}
.form-card .text-h6[data-v-8a8b93d8],
.editor-card .text-h6[data-v-8a8b93d8] {
  color: var(--vengeance-ink) !important;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.editor-card[data-v-8a8b93d8] {
  min-height: 680px;
}
.rich-editor-container[data-v-8a8b93d8],
.text-editor-section[data-v-8a8b93d8] {
  border-radius: 22px;
  overflow: hidden;
}
.fullscreen-editor-modal[data-v-8a8b93d8] {
  background: var(--vengeance-panel);
}

.admin-drawer[data-v-47f00344] {
  background: var(--sidebar-bg) !important;
  border-right: 1px solid var(--vengeance-line);
}
.admin-drawer[data-v-47f00344] .q-item {
  border-radius: 14px;
  margin: 2px 8px;
  color: var(--vengeance-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.admin-drawer[data-v-47f00344] .q-item:hover {
  background: rgba(0, 0, 0, 0.05);
  color: var(--vengeance-ink);
}
.body--dark .admin-drawer[data-v-47f00344] .q-item:hover {
  background: rgba(255, 255, 255, 0.05);
}
.admin-drawer[data-v-47f00344] .v-nav-active {
  background: var(--vengeance-ink) !important;
  color: var(--background-color) !important;
}

.main-container[data-v-973e2c00] {
  background: linear-gradient(135deg, #e8f5e9 0%, #ffffff 100%);
  min-height: 100vh;
  padding: 24px;
}
.card-container[data-v-973e2c00] {
  max-width: 1000px;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.branding-section[data-v-973e2c00] {
  background: linear-gradient(135deg, #0b302c, #2f8f76);
  padding: 48px;
}
.form-section[data-v-973e2c00] {
  background: #ffffff;
  padding: 48px;
}
@media (max-width: 1023px) {
.branding-section[data-v-973e2c00] {
    border-radius: 8px 8px 0 0;
}
.form-section[data-v-973e2c00] {
    border-radius: 0 0 8px 8px;
}
}

/* ─── Dark Mode ─── */
.body--dark .main-container[data-v-973e2c00] {
  background: linear-gradient(135deg, #151716 0%, #181a1b 100%);
}
.body--dark .card-container[data-v-973e2c00] {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);
}
.body--dark .form-section[data-v-973e2c00] {
  background: #232527;
}
.body--dark .form-section .q-card[data-v-973e2c00] {
  background: #232527;
}
