
.seg {
  position: relative;
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .06);
}
.seg--block {
  display: flex;
  width: 100%;
}
.seg__thumb {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 9px;
  background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 2px 8px rgba(15, 23, 42, .08);
  pointer-events: none;
}
.seg--animate .seg__thumb {
  transition: transform .28s cubic-bezier(.4, 0, .2, 1), width .28s cubic-bezier(.4, 0, .2, 1), height .28s cubic-bezier(.4, 0, .2, 1);
}
.seg__item {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: rgba(15, 23, 42, .68);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, color .2s ease, box-shadow .15s ease;
}
.seg--block .seg__item {
  flex: 1 1 0;
  min-width: 0;
}
.seg--tall .seg__item {
  flex-direction: column;
  height: 54px;
  gap: 2px;
  font-size: 12px;
}
.seg__item:hover {
  color: rgba(15, 23, 42, .9);
}
.seg__item:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.seg__item--active {
  background: #FFFFFF;
  color: #0D47A1;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 2px 8px rgba(15, 23, 42, .08);
}

/* Once the thumb is measured it carries the background, the active item only changes its text color */
.seg--ready .seg__item--active {
  background: transparent;
  box-shadow: none;
}
.seg__item .seg__icon {
  color: inherit !important;
  transition: color .2s ease;
}
.seg__count {
  font-size: 11px;
  font-weight: 600;
  padding: 0 6px;
  border-radius: 8px;
  background: rgba(15, 23, 42, .07);
  color: inherit;
  transition: background .2s ease;
}
.seg__item--active .seg__count {
  background: #E3F2FD;
}
.theme--dark .seg {
  background: rgba(255, 255, 255, .08);
}
.theme--dark .seg__item {
  color: rgba(255, 255, 255, .7);
}
.theme--dark .seg__item--active, .theme--dark .seg__thumb {
  background: #2C2C2C;
}
.theme--dark .seg__item--active {
  color: #90CAF9;
}
.theme--dark .seg__item:hover {
  color: rgba(255, 255, 255, .92);
}
.theme--dark .seg__count {
  background: rgba(255, 255, 255, .1);
}
.theme--dark .seg__item--active .seg__count {
  background: rgba(144, 202, 249, .18);
}
.theme--dark .seg__item:focus-visible {
  outline-color: #90CAF9;
}
.theme--dark .seg--ready .seg__item--active {
  background: transparent;
}
@media (prefers-reduced-motion: reduce) {
.seg--animate .seg__thumb, .seg__item, .seg__item .seg__icon, .seg__count {
    transition: none;
}
}


.initials[data-v-11eccfe3] {
  display: inline-grid;
  place-items: center;
  flex: none;
  border-radius: 9px;
  font-weight: 700;
  letter-spacing: .02em;
  background: #E8F1FD;
  color: #0D47A1;
}
.theme--dark .initials[data-v-11eccfe3] {
  background: rgba(144, 202, 249, .16);
  color: #90CAF9;
}

/* Courses / mini week timetable of the search quick view (uses the --sp-* tokens of searchPalette.css and the tone-* classes of modern.css) */
.sp-sched {
  margin: 14px 0 4px;
  padding-top: 12px;
  border-top: 1px solid var(--sp-line);
}
.sp-sched__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  margin-bottom: 10px;
}
.sp-sched__title {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--sp-muted);
}
.sp-sched__sum {
  font-size: 12px;
  color: var(--sp-ink);
}
.sp-tt__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0 0 10px 37px;
  font-size: 11px;
  color: var(--sp-muted);
}
.sp-tt__key {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Dot / bar take the strong text colour of the tone (works in light and dark mode) */
.sp-sched .sp-sched__dot,
.sp-sched .sp-sched__bar {
  background-color: currentColor !important;
  flex: 0 0 auto;
}
.sp-sched__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

/* Course list per child / weekday */
.sp-sched__sec + .sp-sched__sec {
  margin-top: 8px;
}
.sp-sched__sec-head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: 600;
}
.sp-sched__sec-head a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted var(--sp-muted);
}
.sp-sched__sec-head a:hover {
  color: var(--sp-blue);
}
.sp-sched__row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 5px 6px;
  margin: 0 -6px;
  border-radius: 8px;
  color: inherit !important;
  text-decoration: none;
  font-size: 12.5px;
}
.sp-sched__row:hover,
.sp-sched__row:focus-visible {
  background: var(--sp-soft);
  outline: none;
}
.sp-sched__bar {
  width: 3px;
  align-self: stretch;
  border-radius: 2px;
}
.sp-sched__when {
  flex: 0 0 auto;
  min-width: 74px;
  font-variant-numeric: tabular-nums;
  color: var(--sp-muted);
}
.sp-sched__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}
.sp-sched__name {
  font-weight: 500;
}
.sp-sched__sub {
  color: var(--sp-muted);
  word-break: break-word;
}
.sp-sched__seats {
  margin-top: 2px;
}
.sp-sched__empty {
  font-size: 12px;
  color: var(--sp-muted);
  padding: 2px 0 4px;
}
.sp-sched--compact {
  margin-top: 8px;
  padding-top: 8px;
}
.sp-sched--compact .sp-sched__when {
  min-width: 64px;
}

/* Week strip: one column per weekday, courses as readable chips sorted by time (no proportional time axis,
   so short lessons stay legible and empty hours take no space) */
.sp-wk {
  display: grid;
  grid-template-columns: repeat(var(--sp-tt-cols, 5), minmax(0, 1fr));
  gap: 4px;
  margin-bottom: 8px;
}
.sp-wk__col {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 6px 4px;
  border-radius: 8px;
  background: var(--sp-soft);
  border-top: 2px solid transparent;
}
.sp-wk__col--today {
  border-top-color: var(--sp-blue);
}
.sp-wk__day {
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: var(--sp-muted);
  margin-bottom: 2px;
}
.sp-wk__col--today .sp-wk__day {
  color: var(--sp-blue);
}
.sp-wk__chip {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  padding: 4px 6px 4px 7px;
  border-radius: 6px;
  border-left: 3px solid currentColor;
  text-decoration: none;
  line-height: 1.25;
  cursor: pointer;
  transition: filter .12s ease, box-shadow .12s ease;
}
.sp-wk__chip:hover,
.sp-wk__chip:focus-visible {
  filter: brightness(.96);
  box-shadow: 0 2px 8px rgba(15, 23, 42, .16);
  outline: none;
}
.theme--dark .sp-wk__chip:hover,
.theme--dark .sp-wk__chip:focus-visible {
  filter: brightness(1.25);
}
.sp-wk__time {
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.sp-wk__label {
  font-size: 11px;
  opacity: .9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sp-wk__none {
  text-align: center;
  color: var(--sp-muted);
  font-size: 11px;
  padding: 4px 0;
}

/* Shared look of the redesigned acquisition views (list overview, single list, school in list, status overview) */
.acq-bg {
  background: #F4F5F7;
  min-height: 100%;
}
.theme--dark .acq-bg {
  background: #121212;
}
.acq-page {
  max-width: 1440px;
}
.acq-title {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.2;
  margin: 0;
}
.acq-sub {
  font-size: 14px;
  color: rgba(15, 23, 42, .6);
}
.acq-card {
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .06);
}
.theme--dark .acq-card {
  background: #1E1E1E;
}
.acq-tiny {
  font-size: 12px;
  color: rgba(15, 23, 42, .6);
}
.acq-muted {
  font-size: 13px;
  color: rgba(15, 23, 42, .6);
}
.acq-label {
  font-size: 13px;
  font-weight: 500;
  color: rgba(15, 23, 42, .6);
}
.acq-section-title {
  font-size: 15px;
  font-weight: 600;
}
.acq-avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 600;
  flex: none;
}
.acq-avatar--sm {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 12px;
}
.acq-legend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.acq-legend__dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  display: inline-block;
}
.acq-link {
  color: inherit !important;
  text-decoration: none;
}
.acq-link:hover {
  color: #1565C0 !important;
}
.acq-soft-input {
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 6px 18px rgba(15, 23, 42, .07);
}
.acq-soft-input .v-input__slot {
  border-radius: 12px !important;
  min-height: 40px !important;
}
.acq-empty {
  padding: 40px 20px;
  text-align: center;
}
.acq-dialog {
  border-radius: 16px !important;
}
.acq-bulk {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 6;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 8px 8px 18px;
  border-radius: 16px;
  background: #0F172A;
  color: #FFFFFF;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .35);
  max-width: calc(100vw - 32px);
}
.acq-bulk__btn {
  height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 9px;
  background: rgba(255, 255, 255, .12);
  color: #FFFFFF;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.acq-bulk__btn:hover {
  background: rgba(255, 255, 255, .2);
}
.acq-bulk__btn--danger {
  background: rgba(229, 72, 77, .25);
  color: #FFD7D8;
}

/* Secondary texts in dark mode */
.theme--dark .acq-sub, .theme--dark .acq-tiny, .theme--dark .acq-muted, .theme--dark .acq-label {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .acq-link:hover {
  color: #90CAF9 !important;
}

/* Modern building blocks of the acquisition dialog: soft tags and buttons without borders */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 9px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .72);
}
.tag--sm {
  height: 20px;
  padding: 0 7px;
  font-size: 11px;
}
.tag .tag__icon {
  color: inherit !important;
}
.tone-good {
  background: #E7F6EC;
  color: #1B5E20;
}
.tone-warn {
  background: #FFF4DB;
  color: #7A4F00;
}
.tone-info {
  background: #E8F1FD;
  color: #0D47A1;
}
.tone-teal {
  background: #E0F4F1;
  color: #00594F;
}
.tone-muted {
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .68);
}
.tone-bad {
  background: #FDECEC;
  color: #B71C1C;
}
.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: #E8F1FD;
  color: #0D47A1;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, box-shadow .15s ease;
}
.cta:hover {
  background: #D6E7FC;
}
.cta:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 2px;
}
.cta:disabled {
  cursor: default;
  background: rgba(15, 23, 42, .06);
  color: rgba(15, 23, 42, .38);
  box-shadow: none;
}
.cta--primary {
  background: #1976D2;
  color: #FFFFFF;
  box-shadow: 0 2px 6px rgba(25, 118, 210, .3);
}
.cta--primary:hover {
  background: #1565C0;
}
.cta--ghost {
  background: transparent;
  color: rgba(15, 23, 42, .7);
}
.cta--ghost:hover {
  background: rgba(15, 23, 42, .05);
}
.cta--lg {
  height: 44px;
  padding: 0 20px;
  font-size: 14px;
  border-radius: 12px;
}
.cta .cta__icon {
  color: inherit !important;
}
.cta__count {
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .22);
  font-size: 12px;
  display: inline-grid;
  place-items: center;
}
.theme--dark .tag:not([class*="tone-"]), .theme--dark .tone-muted {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .78);
}

/* Tones in dark mode: same meaning, translucent background and light text */
.theme--dark .tone-good {
  background: rgba(102, 187, 106, .16);
  color: #A5D6A7;
}
.theme--dark .tone-warn {
  background: rgba(255, 183, 77, .16);
  color: #FFD180;
}
.theme--dark .tone-info {
  background: rgba(100, 181, 246, .16);
  color: #90CAF9;
}
.theme--dark .tone-teal {
  background: rgba(77, 182, 172, .16);
  color: #80CBC4;
}
.theme--dark .tone-bad {
  background: rgba(239, 83, 80, .16);
  color: #EF9A9A;
}
.theme--dark .tone-purple {
  background: rgba(186, 104, 200, .16);
  color: #CE93D8;
}
.tone-purple {
  background: #F1ECFB;
  color: #4527A0;
}
.cta--danger {
  background: #FDECEC;
  color: #B71C1C;
}
.cta--danger:hover {
  background: #FAD9D9;
}
.cta--quiet {
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .78);
}
.cta--quiet:hover {
  background: rgba(15, 23, 42, .09);
}
.soft-menu {
  border-radius: 14px !important;
  padding: 6px !important;
}

/* The padding belongs to the menu content, which has no background of its own: without one the page shines through the edge */
.soft-menu.v-menu__content {
  background: #FFFFFF;
}
.theme--dark .soft-menu.v-menu__content, .soft-menu.v-menu__content.theme--dark {
  background: #1E1E1E;
}
.soft-menu .v-list-item {
  border-radius: 8px;
  min-height: 36px !important;
}
.soft-menu .v-list-item__icon {
  margin-right: 10px !important;
}

/* Subtle text link that reveals an optional field ("+ Beschreibung hinzufügen") */
.add-link {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 13px;
  color: rgba(15, 23, 42, .5);
  cursor: pointer;
}
.add-link:hover {
  color: #1565C0;
}
.add-link .v-icon {
  color: inherit !important;
}

/* Required field: "*" after the label above the field, same look as <span class="mdlg-req"> *</span> (modern.css is global) */
.acq-label--required::after {
  content: ' *';
  color: #E5484D;
}
.mdlg-req {
  color: #E5484D;
}

/* Vuetify outlined fields inside .soft-inputs look like the soft modern inputs (use without label, put an .acq-label above) */
.soft-inputs .v-text-field--outlined fieldset {
  border: 0 !important;
}
.soft-inputs .v-text-field--outlined > .v-input__control > .v-input__slot {
  background: rgba(15, 23, 42, .04) !important;
  border-radius: 12px !important;
  min-height: 40px !important;
  transition: box-shadow .15s ease;
}
.soft-inputs .v-text-field--outlined.v-input--is-focused > .v-input__control > .v-input__slot {
  box-shadow: 0 0 0 2px rgba(25, 118, 210, .35);
}
.soft-inputs .v-text-field--outlined.error--text > .v-input__control > .v-input__slot {
  box-shadow: 0 0 0 2px rgba(229, 72, 77, .45);
}
.theme--dark .soft-inputs .v-text-field--outlined > .v-input__control > .v-input__slot {
  background: rgba(255, 255, 255, .06) !important;
}

/* Pills (same as pillGroup.vue) so plain <button class="pill"> works everywhere */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 16px;
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .75);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.pill:hover {
  background: rgba(15, 23, 42, .09);
}
.pill:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.pill--active {
  background: #E3F2FD;
  color: #0D47A1;
}
.pill--active:hover {
  background: #D3E9FC;
}
.pill .pill__icon {
  color: inherit !important;
}
.theme--dark .pill {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .78);
}
.theme--dark .pill--active {
  background: rgba(144, 202, 249, .18);
  color: #90CAF9;
}

/* Buttons and links in dark mode: light text on translucent surfaces */
.theme--dark .cta:not(.cta--primary) {
  background: rgba(144, 202, 249, .16);
  color: #90CAF9;
}
.theme--dark .cta:not(.cta--primary):hover {
  background: rgba(144, 202, 249, .24);
}
.theme--dark .cta:disabled {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .38);
}
.theme--dark .cta.cta--ghost:not(.cta--primary) {
  background: transparent;
  color: rgba(255, 255, 255, .75);
}
.theme--dark .cta.cta--ghost:not(.cta--primary):hover, .theme--dark .cta.cta--quiet:not(.cta--primary) {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .85);
}
.theme--dark .cta.cta--quiet:not(.cta--primary):hover {
  background: rgba(255, 255, 255, .12);
}
.theme--dark .cta.cta--danger:not(.cta--primary) {
  background: rgba(239, 83, 80, .16);
  color: #EF9A9A;
}
.theme--dark .cta.cta--danger:not(.cta--primary):hover {
  background: rgba(239, 83, 80, .24);
}
.theme--dark .cta:focus-visible, .theme--dark .pill:focus-visible {
  outline-color: #90CAF9;
}
.theme--dark .add-link {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .add-link:hover {
  color: #90CAF9;
}
.theme--dark .pill:hover {
  background: rgba(255, 255, 255, .12);
}
.theme--dark .pill--active:hover {
  background: rgba(144, 202, 249, .24);
}

/* Command palette (global search): input, filter pills, grouped results and quick view */
.sp {
  --sp-panel: #FFFFFF;
  --sp-ink: rgba(15, 23, 42, .88);
  --sp-muted: rgba(15, 23, 42, .56);
  --sp-line: rgba(15, 23, 42, .08);
  --sp-soft: rgba(15, 23, 42, .05);
  --sp-blue: #1565C0;
  --sp-blue-soft: #E8F1FD;
  --sp-mark: #FFF1A8;
  display: flex;
  flex-direction: column;
  max-height: 84vh;
  background: var(--sp-panel);
  color: var(--sp-ink);
  font-size: 14px;
}
.theme--dark .sp {
  --sp-panel: #1E1E1E;
  --sp-ink: rgba(255, 255, 255, .9);
  --sp-muted: rgba(255, 255, 255, .56);
  --sp-line: rgba(255, 255, 255, .08);
  --sp-soft: rgba(255, 255, 255, .06);
  --sp-blue: #90CAF9;
  --sp-blue-soft: rgba(144, 202, 249, .14);
  --sp-mark: rgba(255, 241, 168, .25);
}
.v-dialog.sp-dialog {
  border-radius: 18px !important;
  overflow: hidden;
  align-self: flex-start;
  margin-top: 8vh;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .22) !important;
}
.v-dialog.sp-dialog.v-dialog--fullscreen {
  border-radius: 0 !important;
  margin-top: 0;
}
.v-dialog--fullscreen .sp {
  max-height: none;
  height: 100%;
}
.sp-input {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--sp-line);
}
.sp-input .v-icon {
  color: var(--sp-muted) !important;
}
.sp-input input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  font: inherit;
  font-size: 17px;
  color: var(--sp-ink);
}
.sp kbd {
  font-family: inherit;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 6px;
  border: 1px solid var(--sp-line);
  background: var(--sp-soft);
  color: var(--sp-muted);
  box-shadow: none;
}
.sp-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 10px 18px;
  border-bottom: 1px solid var(--sp-line);
}
.sp-filters .pill {
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
  border-radius: 14px;
}
.sp-filters .pill.sp-pill--empty:not(.pill--active) {
  opacity: .55;
}
.sp-pill__count {
  font-size: 11px;
  opacity: .8;
}
.sp-sep {
  width: 1px;
  height: 18px;
  background: var(--sp-line);
  margin: 0 4px;
}
.sp-filters .seg__item {
  height: 26px;
  font-size: 12px;
  padding: 0 10px;
}
.sp-body {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  min-height: 420px;
  flex: 1 1 auto;
  overflow: hidden;
}
.sp-body--single {
  grid-template-columns: minmax(0, 1fr);
}
.sp-results {
  overflow-y: auto;
  padding: 6px 8px 12px;
  border-right: 1px solid var(--sp-line);
}
.sp-body--single .sp-results {
  border-right: 0;
}
.sp-qv {
  overflow-y: auto;
  /* No bottom padding: the action bar of the quick view sticks to the bottom edge */
  padding: 18px 18px 0;
}

/* Quick view fills the pane, so the action bar sits at the bottom even with little content */
.sp-qv__wrap {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.sp-grp {
  padding: 10px 10px 4px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--sp-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.sp-grp .v-icon {
  color: inherit !important;
}
.sp-grp__more {
  margin-left: auto;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  text-transform: none;
  letter-spacing: 0;
  color: var(--sp-blue);
  cursor: pointer;
  font-weight: 500;
}
.sp-grp__hint {
  padding: 0 10px 6px;
  font-size: 12px;
  color: var(--sp-muted);
}
.sp-hit {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  cursor: pointer;
  color: inherit !important;
  text-decoration: none;
  min-width: 0;
}
.sp-hit--active {
  background: var(--sp-blue-soft);
}
.sp-hit__ini {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700;
  background: var(--sp-soft);
  flex: none;
}
.sp-hit__ini .v-icon {
  color: var(--sp-muted) !important;
}
.sp-hit__main {
  min-width: 0;
  flex: 1 1 auto;
}
.sp-hit__title {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sp-hit__sub {
  font-size: 12px;
  color: var(--sp-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sp-hit__why {
  color: var(--sp-blue);
}
.sp-hit__end {
  margin-left: auto;
  display: flex;
  gap: 6px;
  align-items: center;
  flex: none;
}
.sp-hit--inactive .sp-hit__title, .sp-hit--inactive .sp-hit__ini {
  opacity: .55;
}
.sp mark {
  background: var(--sp-mark);
  color: inherit;
  border-radius: 3px;
  padding: 0 1px;
}
.sp-empty {
  padding: 40px 16px;
  text-align: center;
  color: var(--sp-muted);
}
.sp-link {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  color: var(--sp-blue);
  cursor: pointer;
  text-decoration: underline;
}
.sp-qv__head {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.sp-qv__title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
  word-break: break-word;
}
.sp-qv__meta {
  font-size: 12px;
  color: var(--sp-muted);
}
.sp-facts {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 7px 12px;
  font-size: 13px;
  margin: 12px 0;
}
.sp-facts__label {
  color: var(--sp-muted);
}
.sp-facts__value {
  word-break: break-word;
}
.sp-facts a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted var(--sp-muted);
}
.sp-facts a:hover {
  color: var(--sp-blue);
}
.sp-facts__detail {
  display: -webkit-box;
  margin-top: 2px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 12px;
  line-height: 1.4;
  color: var(--sp-muted);
}

/* Pinned and newest log entries */
.sp-logs {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 14px;
}
.sp-logs__title {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 8px 0 2px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--sp-muted);
}
.sp-logs__title .v-icon {
  color: inherit !important;
}
.sp-log {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 6px 8px;
  margin: 0 -8px;
  border-radius: 8px;
  color: inherit !important;
  text-decoration: none;
}
a.sp-log:hover,
a.sp-log:focus-visible {
  background: var(--sp-soft);
  outline: none;
}
.sp-log__icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
}
.sp-log__icon .v-icon {
  color: inherit !important;
}
.sp-log__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sp-log__meta {
  font-size: 12px;
  color: var(--sp-muted);
}
.sp-log__text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 13px;
  line-height: 1.4;
  word-break: break-word;
}

/* Action bar: always visible at the bottom of the quick view while its content scrolls */
.sp-actions {
  position: sticky;
  bottom: 0;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px -18px 0;
  padding: 10px 18px 14px;
  border-top: 1px solid var(--sp-line);
  background: var(--sp-panel);
}

/* In the pane the bar is pushed to the bottom; the last content block keeps some space above it */
.sp-qv__wrap > .sp-actions {
  margin-top: auto;
}
.sp-qv__wrap > :nth-last-child(2) {
  margin-bottom: 12px;
}
.sp-actions__icon {
  width: 32px;
  padding: 0 !important;
}
.sp-actions__pin--on .v-icon {
  color: #F59E0B !important;
}
.sp-actions .cta {
  height: 32px;
  padding: 0 12px;
  border-radius: 9px;
  font-size: 13px;
  text-decoration: none;
}
.sp-foot {
  display: flex;
  gap: 16px;
  padding: 8px 18px;
  border-top: 1px solid var(--sp-line);
  font-size: 11px;
  color: var(--sp-muted);
  flex-wrap: wrap;
}
.sp-loading {
  font-size: 12px;
  color: var(--sp-muted);
}
.sp-compact {
  margin: 0 8px 8px 50px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--sp-soft);
}
.sp-compact .sp-actions {
  margin: 8px -12px -10px;
  padding: 8px 12px;
  border-radius: 0 0 10px 10px;
  /* Opaque, so scrolled results do not shine through */
  background: linear-gradient(var(--sp-soft), var(--sp-soft)), var(--sp-panel);
}
.sp-compact .sp-facts {
  grid-template-columns: 110px minmax(0, 1fr);
  margin: 4px 0;
}
@media (max-width: 760px) {
.sp-body {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
}
.sp-results {
    border-right: 0;
}
.sp-foot {
    display: none;
}
}

/* Loading placeholders (quick view, result rows) and progress line of a running search */
.sp {
  --sp-skel: rgba(15, 23, 42, .07);
  --sp-skel-shine: rgba(15, 23, 42, .03);
}
.theme--dark .sp {
  --sp-skel: rgba(255, 255, 255, .08);
  --sp-skel-shine: rgba(255, 255, 255, .14);
}
.sp-skel {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--sp-skel) 0%, var(--sp-skel-shine) 50%, var(--sp-skel) 100%);
  background-size: 200% 100%;
  animation: sp-shimmer 1.4s ease-in-out infinite;
}
.sp-skel.sp-hit__ini {
  height: 30px;
  border-radius: 9px;
}
.sp-skel.sp-log__icon {
  height: 22px;
}
.sp-skel--block {
  height: 96px;
  margin: 4px 0 8px;
  border-radius: 10px;
}
.sp-results {
  position: relative;
}
.sp-progress {
  position: sticky;
  top: -6px;
  z-index: 2;
  height: 2px;
  margin: -6px -8px 4px;
  overflow: hidden;
  background: var(--sp-blue-soft);
}
.sp-progress::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 35%;
  background: var(--sp-blue);
  animation: sp-progress 1.1s ease-in-out infinite;
}
@keyframes sp-shimmer {
from {
    background-position: 100% 0;
}
to {
    background-position: -100% 0;
}
}
@keyframes sp-progress {
from {
    transform: translateX(-100%);
}
to {
    transform: translateX(300%);
}
}
@media (prefers-reduced-motion: reduce) {
.sp-skel {
    animation: none;
    background: var(--sp-skel);
}
.sp-progress::after {
    left: 0;
    width: 100%;
    animation: none;
    opacity: .6;
}
}


.map[data-v-59ac2f36] {
  min-height: calc(100vh - 62px);
}


.create-address__manual[data-v-0d4921d4] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 14px;
}
.create-address__grid[data-v-0d4921d4] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.create-address__grid--wide-narrow[data-v-0d4921d4] {
  grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
}
.create-address__grid--narrow-wide[data-v-0d4921d4] {
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
}
.create-address__field[data-v-0d4921d4] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
@media (max-width: 599px) {
.create-address__grid[data-v-0d4921d4], .create-address__grid--wide-narrow[data-v-0d4921d4], .create-address__grid--narrow-wide[data-v-0d4921d4] {
    grid-template-columns: minmax(0, 1fr);
}
}


.ep-item[data-v-b41e66e6] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  width: 100%;
  padding: 2px 0;
}
.ep-avatar[data-v-b41e66e6] {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 30px;
  height: 30px;
  margin-top: 1px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
.ep-avatar__icon[data-v-b41e66e6] {
  color: inherit !important;
}
.ep-body[data-v-b41e66e6] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.ep-title-row[data-v-b41e66e6] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 6px;
  min-width: 0;
}
.ep-title[data-v-b41e66e6] {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ep-id[data-v-b41e66e6] {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  opacity: .6;
}
.ep-sub[data-v-b41e66e6], .ep-context[data-v-b41e66e6], .ep-line[data-v-b41e66e6], .ep-disabled[data-v-b41e66e6] {
  font-size: 12px;
  line-height: 1.35;
  opacity: .72;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ep-context[data-v-b41e66e6] {
  opacity: .85;
}
.ep-line[data-v-b41e66e6] {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  white-space: normal;
}
.ep-line__icon[data-v-b41e66e6] {
  color: inherit !important;
  margin-top: 1px;
}
.ep-line__text[data-v-b41e66e6] {
  min-width: 0;
}
.ep-context--good[data-v-b41e66e6] {
  color: #1B5E20;
  opacity: 1;
}
.ep-context--warn[data-v-b41e66e6] {
  color: #7A4F00;
  opacity: 1;
}
.ep-context--info[data-v-b41e66e6] {
  color: #0D47A1;
  opacity: 1;
}
.ep-context--bad[data-v-b41e66e6] {
  color: #B71C1C;
  opacity: 1;
}
.ep-disabled[data-v-b41e66e6] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #B71C1C;
  opacity: 1;
  font-weight: 500;
}
.theme--dark .ep-context--good[data-v-b41e66e6] {
  color: #A5D6A7;
}
.theme--dark .ep-context--warn[data-v-b41e66e6] {
  color: #FFD180;
}
.theme--dark .ep-context--info[data-v-b41e66e6] {
  color: #90CAF9;
}
.theme--dark .ep-context--bad[data-v-b41e66e6], .theme--dark .ep-disabled[data-v-b41e66e6] {
  color: #EF9A9A;
}

/* Modern form dialogs (responsible, institution): header with soft avatar, sectioned scroll body, sticky footer */
.mdlg-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 20px 12px;
}
.mdlg-header__text {
  flex: 1 1 auto;
  min-width: 0;
}
.mdlg-body {
  padding: 4px 20px 20px !important;
}
.mdlg-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.mdlg-footer__state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.mdlg-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px 0;
  scroll-margin-top: 8px;
}
.mdlg-section + .mdlg-section {
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.mdlg-section__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  color: rgba(15, 23, 42, .78);
}
.mdlg-section__title .v-icon {
  color: inherit !important;
}
.mdlg-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.mdlg-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.mdlg-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mdlg-grid--wide-narrow {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}
.mdlg-grid--narrow-wide {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
@media (max-width: 599px) {
.mdlg-grid, .mdlg-grid--3 {
    grid-template-columns: minmax(0, 1fr);
}
}
.mdlg-req {
  color: #E5484D;
}
.mdlg-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #F59E0B;
  display: inline-block;
  flex: none;
}
.mdlg-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .04);
}
.mdlg-switch .v-input--selection-controls {
  margin-top: 0;
  padding-top: 0;
}
.mdlg-confirm {
  border-radius: 16px !important;
}
.theme--dark .mdlg-footer, .theme--dark .mdlg-section + .mdlg-section {
  border-color: rgba(255, 255, 255, .08);
}
.theme--dark .mdlg-section__title {
  color: rgba(255, 255, 255, .85);
}
.theme--dark .mdlg-switch {
  background: rgba(255, 255, 255, .06);
}
.theme--dark .mdlg-scope .acq-label, .theme--dark .mdlg-scope .acq-tiny, .theme--dark .mdlg-scope .add-link,
.theme--dark .mdlg-scope .soft-field__label {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .mdlg-scope .cta--ghost {
  color: rgba(255, 255, 255, .75);
}
.theme--dark .mdlg-scope .cta--ghost:hover {
  background: rgba(255, 255, 255, .08);
}
.theme--dark .mdlg-scope .cta:disabled {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .38);
}

/* Shared building blocks of the course dialogs (loaded through CalDialogShell, same look as the signup-board dialogs) */
.cdlg-panel {
  display: grid;
  gap: 12px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .04);
}
.cdlg-template {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}
.cdlg-box {
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.45;
}
.cdlg-list {
  display: grid;
  border-radius: 12px;
  background: rgba(15, 23, 42, .04);
  padding: 2px 12px;
}
.cdlg-row {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  min-width: 0;
}
.cdlg-row + .cdlg-row {
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.cdlg-row__main {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.cdlg-row__name {
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cdlg-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cdlg-empty {
  display: flex;
  justify-content: center;
  padding: 24px 0;
}
.mdlg-scope .v-input--switch.v-input--dense {
  margin-top: 0;
  padding-top: 0;
}
.theme--dark .cdlg-panel, .theme--dark .cdlg-list {
  background: rgba(255, 255, 255, .06);
}
.theme--dark .cdlg-row + .cdlg-row {
  border-top-color: rgba(255, 255, 255, .08);
}

/* Compact label/value rows of the school details in the acquisition list item view */
.fld {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 10px 20px;
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.fld__icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, .05);
}
.fld__icon .v-icon {
  color: rgba(15, 23, 42, .55) !important;
  font-size: 16px !important;
}
.fld__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .45);
  line-height: 1.4;
}
.fld__value {
  font-size: 13px;
  line-height: 1.45;
  color: rgba(15, 23, 42, .88);
  overflow-wrap: anywhere;
}
.fld__value--muted {
  color: rgba(15, 23, 42, .45);
}
.fld__note {
  font-size: 12px;
  color: rgba(15, 23, 42, .55);
}
.fld__actions {
  display: flex;
  align-items: center;
  gap: 2px;
}
.fld__line {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
}
.fld__line + .fld__line {
  margin-top: 2px;
}
.ibtn {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  color: rgba(15, 23, 42, .55);
  text-decoration: none;
  flex: none;
}
.v-application a.ibtn {
  color: rgba(15, 23, 42, .55);
}
.ibtn .v-icon {
  color: inherit !important;
  font-size: 16px !important;
}
.ibtn:hover, .v-application a.ibtn:hover {
  background: rgba(15, 23, 42, .07);
  color: rgba(15, 23, 42, .9);
}
.ibtn--add {
  color: #1565C0;
}
.ibtn--add:hover {
  background: rgba(21, 101, 192, .1);
  color: #1565C0;
}
.ibtn--danger:hover {
  background: rgba(229, 72, 77, .1);
  color: #B71C1C;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 26px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: rgba(15, 23, 42, .05);
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  color: rgba(15, 23, 42, .85);
  cursor: default;
}
button.chip {
  cursor: pointer;
}
button.chip:hover {
  background: rgba(15, 23, 42, .09);
}
.chip .v-icon {
  font-size: 14px !important;
  color: rgba(15, 23, 42, .5) !important;
}
.chip__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: none;
}
.theme--dark .fld {
  border-top-color: rgba(255, 255, 255, .08);
}
.theme--dark .fld__value {
  color: rgba(255, 255, 255, .88);
}


.cl-icon[data-v-d7d290d6] {
  flex: none;
}

/* Compact label/value rows of the school details in the acquisition list item view */
.fld {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 10px 20px;
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.fld__icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, .05);
}
.fld__icon .v-icon {
  color: rgba(15, 23, 42, .55) !important;
  font-size: 16px !important;
}
.fld__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .45);
  line-height: 1.4;
}
.fld__value {
  font-size: 13px;
  line-height: 1.45;
  color: rgba(15, 23, 42, .88);
  overflow-wrap: anywhere;
}
.fld__value--muted {
  color: rgba(15, 23, 42, .45);
}
.fld__note {
  font-size: 12px;
  color: rgba(15, 23, 42, .55);
}
.fld__actions {
  display: flex;
  align-items: center;
  gap: 2px;
}
.fld__line {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
}
.fld__line + .fld__line {
  margin-top: 2px;
}
.ibtn {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  color: rgba(15, 23, 42, .55);
  text-decoration: none;
  flex: none;
}
.v-application a.ibtn {
  color: rgba(15, 23, 42, .55);
}
.ibtn .v-icon {
  color: inherit !important;
  font-size: 16px !important;
}
.ibtn:hover, .v-application a.ibtn:hover {
  background: rgba(15, 23, 42, .07);
  color: rgba(15, 23, 42, .9);
}
.ibtn--add {
  color: #1565C0;
}
.ibtn--add:hover {
  background: rgba(21, 101, 192, .1);
  color: #1565C0;
}
.ibtn--danger:hover {
  background: rgba(229, 72, 77, .1);
  color: #B71C1C;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 26px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: rgba(15, 23, 42, .05);
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  color: rgba(15, 23, 42, .85);
  cursor: default;
}
button.chip {
  cursor: pointer;
}
button.chip:hover {
  background: rgba(15, 23, 42, .09);
}
.chip .v-icon {
  font-size: 14px !important;
  color: rgba(15, 23, 42, .5) !important;
}
.chip__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: none;
}
.theme--dark .fld {
  border-top-color: rgba(255, 255, 255, .08);
}
.theme--dark .fld__value {
  color: rgba(255, 255, 255, .88);
}


.pui-person__link[data-v-fe7aa8f0] {
  color: inherit !important;
  text-decoration: none;
}
.pui-person__link[data-v-fe7aa8f0]:hover {
  color: #1565C0 !important;
}

/* Shared look of the redesigned acquisition views (list overview, single list, school in list, status overview) */
.acq-bg {
  background: #F4F5F7;
  min-height: 100%;
}
.theme--dark .acq-bg {
  background: #121212;
}
.acq-page {
  max-width: 1440px;
}
.acq-title {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.2;
  margin: 0;
}
.acq-sub {
  font-size: 14px;
  color: rgba(15, 23, 42, .6);
}
.acq-card {
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .06);
}
.theme--dark .acq-card {
  background: #1E1E1E;
}
.acq-tiny {
  font-size: 12px;
  color: rgba(15, 23, 42, .6);
}
.acq-muted {
  font-size: 13px;
  color: rgba(15, 23, 42, .6);
}
.acq-label {
  font-size: 13px;
  font-weight: 500;
  color: rgba(15, 23, 42, .6);
}
.acq-section-title {
  font-size: 15px;
  font-weight: 600;
}
.acq-avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 600;
  flex: none;
}
.acq-avatar--sm {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 12px;
}
.acq-legend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.acq-legend__dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  display: inline-block;
}
.acq-link {
  color: inherit !important;
  text-decoration: none;
}
.acq-link:hover {
  color: #1565C0 !important;
}
.acq-soft-input {
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 6px 18px rgba(15, 23, 42, .07);
}
.acq-soft-input .v-input__slot {
  border-radius: 12px !important;
  min-height: 40px !important;
}
.acq-empty {
  padding: 40px 20px;
  text-align: center;
}
.acq-dialog {
  border-radius: 16px !important;
}
.acq-bulk {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 6;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 8px 8px 18px;
  border-radius: 16px;
  background: #0F172A;
  color: #FFFFFF;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .35);
  max-width: calc(100vw - 32px);
}
.acq-bulk__btn {
  height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 9px;
  background: rgba(255, 255, 255, .12);
  color: #FFFFFF;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.acq-bulk__btn:hover {
  background: rgba(255, 255, 255, .2);
}
.acq-bulk__btn--danger {
  background: rgba(229, 72, 77, .25);
  color: #FFD7D8;
}

/* Secondary texts in dark mode */
.theme--dark .acq-sub, .theme--dark .acq-tiny, .theme--dark .acq-muted, .theme--dark .acq-label {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .acq-link:hover {
  color: #90CAF9 !important;
}

/* Modern building blocks of the acquisition dialog: soft tags and buttons without borders */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 9px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .72);
}
.tag--sm {
  height: 20px;
  padding: 0 7px;
  font-size: 11px;
}
.tag .tag__icon {
  color: inherit !important;
}
.tone-good {
  background: #E7F6EC;
  color: #1B5E20;
}
.tone-warn {
  background: #FFF4DB;
  color: #7A4F00;
}
.tone-info {
  background: #E8F1FD;
  color: #0D47A1;
}
.tone-teal {
  background: #E0F4F1;
  color: #00594F;
}
.tone-muted {
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .68);
}
.tone-bad {
  background: #FDECEC;
  color: #B71C1C;
}
.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: #E8F1FD;
  color: #0D47A1;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, box-shadow .15s ease;
}
.cta:hover {
  background: #D6E7FC;
}
.cta:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 2px;
}
.cta:disabled {
  cursor: default;
  background: rgba(15, 23, 42, .06);
  color: rgba(15, 23, 42, .38);
  box-shadow: none;
}
.cta--primary {
  background: #1976D2;
  color: #FFFFFF;
  box-shadow: 0 2px 6px rgba(25, 118, 210, .3);
}
.cta--primary:hover {
  background: #1565C0;
}
.cta--ghost {
  background: transparent;
  color: rgba(15, 23, 42, .7);
}
.cta--ghost:hover {
  background: rgba(15, 23, 42, .05);
}
.cta--lg {
  height: 44px;
  padding: 0 20px;
  font-size: 14px;
  border-radius: 12px;
}
.cta .cta__icon {
  color: inherit !important;
}
.cta__count {
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .22);
  font-size: 12px;
  display: inline-grid;
  place-items: center;
}
.theme--dark .tag:not([class*="tone-"]), .theme--dark .tone-muted {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .78);
}

/* Tones in dark mode: same meaning, translucent background and light text */
.theme--dark .tone-good {
  background: rgba(102, 187, 106, .16);
  color: #A5D6A7;
}
.theme--dark .tone-warn {
  background: rgba(255, 183, 77, .16);
  color: #FFD180;
}
.theme--dark .tone-info {
  background: rgba(100, 181, 246, .16);
  color: #90CAF9;
}
.theme--dark .tone-teal {
  background: rgba(77, 182, 172, .16);
  color: #80CBC4;
}
.theme--dark .tone-bad {
  background: rgba(239, 83, 80, .16);
  color: #EF9A9A;
}
.theme--dark .tone-purple {
  background: rgba(186, 104, 200, .16);
  color: #CE93D8;
}
.tone-purple {
  background: #F1ECFB;
  color: #4527A0;
}
.cta--danger {
  background: #FDECEC;
  color: #B71C1C;
}
.cta--danger:hover {
  background: #FAD9D9;
}
.cta--quiet {
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .78);
}
.cta--quiet:hover {
  background: rgba(15, 23, 42, .09);
}
.soft-menu {
  border-radius: 14px !important;
  padding: 6px !important;
}

/* The padding belongs to the menu content, which has no background of its own: without one the page shines through the edge */
.soft-menu.v-menu__content {
  background: #FFFFFF;
}
.theme--dark .soft-menu.v-menu__content, .soft-menu.v-menu__content.theme--dark {
  background: #1E1E1E;
}
.soft-menu .v-list-item {
  border-radius: 8px;
  min-height: 36px !important;
}
.soft-menu .v-list-item__icon {
  margin-right: 10px !important;
}

/* Subtle text link that reveals an optional field ("+ Beschreibung hinzufügen") */
.add-link {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 13px;
  color: rgba(15, 23, 42, .5);
  cursor: pointer;
}
.add-link:hover {
  color: #1565C0;
}
.add-link .v-icon {
  color: inherit !important;
}

/* Required field: "*" after the label above the field, same look as <span class="mdlg-req"> *</span> (modern.css is global) */
.acq-label--required::after {
  content: ' *';
  color: #E5484D;
}
.mdlg-req {
  color: #E5484D;
}

/* Vuetify outlined fields inside .soft-inputs look like the soft modern inputs (use without label, put an .acq-label above) */
.soft-inputs .v-text-field--outlined fieldset {
  border: 0 !important;
}
.soft-inputs .v-text-field--outlined > .v-input__control > .v-input__slot {
  background: rgba(15, 23, 42, .04) !important;
  border-radius: 12px !important;
  min-height: 40px !important;
  transition: box-shadow .15s ease;
}
.soft-inputs .v-text-field--outlined.v-input--is-focused > .v-input__control > .v-input__slot {
  box-shadow: 0 0 0 2px rgba(25, 118, 210, .35);
}
.soft-inputs .v-text-field--outlined.error--text > .v-input__control > .v-input__slot {
  box-shadow: 0 0 0 2px rgba(229, 72, 77, .45);
}
.theme--dark .soft-inputs .v-text-field--outlined > .v-input__control > .v-input__slot {
  background: rgba(255, 255, 255, .06) !important;
}

/* Pills (same as pillGroup.vue) so plain <button class="pill"> works everywhere */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 16px;
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .75);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.pill:hover {
  background: rgba(15, 23, 42, .09);
}
.pill:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.pill--active {
  background: #E3F2FD;
  color: #0D47A1;
}
.pill--active:hover {
  background: #D3E9FC;
}
.pill .pill__icon {
  color: inherit !important;
}
.theme--dark .pill {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .78);
}
.theme--dark .pill--active {
  background: rgba(144, 202, 249, .18);
  color: #90CAF9;
}

/* Buttons and links in dark mode: light text on translucent surfaces */
.theme--dark .cta:not(.cta--primary) {
  background: rgba(144, 202, 249, .16);
  color: #90CAF9;
}
.theme--dark .cta:not(.cta--primary):hover {
  background: rgba(144, 202, 249, .24);
}
.theme--dark .cta:disabled {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .38);
}
.theme--dark .cta.cta--ghost:not(.cta--primary) {
  background: transparent;
  color: rgba(255, 255, 255, .75);
}
.theme--dark .cta.cta--ghost:not(.cta--primary):hover, .theme--dark .cta.cta--quiet:not(.cta--primary) {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .85);
}
.theme--dark .cta.cta--quiet:not(.cta--primary):hover {
  background: rgba(255, 255, 255, .12);
}
.theme--dark .cta.cta--danger:not(.cta--primary) {
  background: rgba(239, 83, 80, .16);
  color: #EF9A9A;
}
.theme--dark .cta.cta--danger:not(.cta--primary):hover {
  background: rgba(239, 83, 80, .24);
}
.theme--dark .cta:focus-visible, .theme--dark .pill:focus-visible {
  outline-color: #90CAF9;
}
.theme--dark .add-link {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .add-link:hover {
  color: #90CAF9;
}
.theme--dark .pill:hover {
  background: rgba(255, 255, 255, .12);
}
.theme--dark .pill--active:hover {
  background: rgba(144, 202, 249, .24);
}

/* Compact label/value rows of the school details in the acquisition list item view */
.fld {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 10px 20px;
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.fld__icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, .05);
}
.fld__icon .v-icon {
  color: rgba(15, 23, 42, .55) !important;
  font-size: 16px !important;
}
.fld__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .45);
  line-height: 1.4;
}
.fld__value {
  font-size: 13px;
  line-height: 1.45;
  color: rgba(15, 23, 42, .88);
  overflow-wrap: anywhere;
}
.fld__value--muted {
  color: rgba(15, 23, 42, .45);
}
.fld__note {
  font-size: 12px;
  color: rgba(15, 23, 42, .55);
}
.fld__actions {
  display: flex;
  align-items: center;
  gap: 2px;
}
.fld__line {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
}
.fld__line + .fld__line {
  margin-top: 2px;
}
.ibtn {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  color: rgba(15, 23, 42, .55);
  text-decoration: none;
  flex: none;
}
.v-application a.ibtn {
  color: rgba(15, 23, 42, .55);
}
.ibtn .v-icon {
  color: inherit !important;
  font-size: 16px !important;
}
.ibtn:hover, .v-application a.ibtn:hover {
  background: rgba(15, 23, 42, .07);
  color: rgba(15, 23, 42, .9);
}
.ibtn--add {
  color: #1565C0;
}
.ibtn--add:hover {
  background: rgba(21, 101, 192, .1);
  color: #1565C0;
}
.ibtn--danger:hover {
  background: rgba(229, 72, 77, .1);
  color: #B71C1C;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 26px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: rgba(15, 23, 42, .05);
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  color: rgba(15, 23, 42, .85);
  cursor: default;
}
button.chip {
  cursor: pointer;
}
button.chip:hover {
  background: rgba(15, 23, 42, .09);
}
.chip .v-icon {
  font-size: 14px !important;
  color: rgba(15, 23, 42, .5) !important;
}
.chip__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: none;
}
.theme--dark .fld {
  border-top-color: rgba(255, 255, 255, .08);
}
.theme--dark .fld__value {
  color: rgba(255, 255, 255, .88);
}

/* Shared profile building blocks (acquisition item page, sales partner cockpit, Schüler:in/Eltern/Standort/Mitarbeiter:in profiles).
   Field rows (.fld), icon buttons (.ibtn) and chips live in acquisitionList/ui/itemDetails.css; this file adds card header,
   person rows and the dashed empty state. */
.pui-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pui-card--flush {
  padding: 0 !important;
  gap: 0;
}
.pui-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
}
.pui-card--flush .pui-card__head {
  padding: 20px 20px 10px;
}
.pui-card__icon {
  color: rgba(15, 23, 42, .55) !important;
}
.pui-person {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px;
  margin: 0 -10px;
  border-radius: 12px;
}
.pui-person:hover {
  background: rgba(15, 23, 42, .03);
}
.pui-person__name {
  font-size: 14px;
  font-weight: 600;
}
.pui-person__contact {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: rgba(15, 23, 42, .7) !important;
  text-decoration: none;
}
.pui-person__contact:hover {
  color: #1565C0 !important;
}
.pui-person__contact .v-icon {
  color: inherit !important;
}
.pui-empty {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px;
  border: 1.5px dashed rgba(15, 23, 42, .15);
  border-radius: 12px;
  background: transparent;
  font: inherit;
  font-size: 14px;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.pui-empty:hover:not(:disabled) {
  border-color: #1565C0;
  background: rgba(21, 101, 192, .04);
}
.pui-empty:disabled {
  cursor: default;
}
.pui-empty__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(21, 101, 192, .1);
  flex: none;
}
.pui-empty__icon .v-icon {
  color: #1565C0 !important;
  font-size: 20px !important;
}
.theme--dark .pui-person:hover {
  background: rgba(255, 255, 255, .04);
}
.theme--dark .pui-person__contact {
  color: rgba(255, 255, 255, .7) !important;
}
.theme--dark .pui-empty {
  border-color: rgba(255, 255, 255, .18);
}


.aw[data-v-7a50db6b] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
  gap: 4px;
  margin-top: 4px;
}
.aw-day[data-v-7a50db6b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  padding: 6px 4px;
  border-radius: 8px;
  background: rgba(46, 125, 50, .08);
}
.aw-day--off[data-v-7a50db6b] {
  background: rgba(15, 23, 42, .04);
}
.aw-day__name[data-v-7a50db6b] {
  font-size: 11px;
  font-weight: 600;
  color: rgba(15, 23, 42, .6);
}
.aw-day__time[data-v-7a50db6b] {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  color: rgba(15, 23, 42, .85);
  white-space: nowrap;
}
.aw-day--off .aw-day__time[data-v-7a50db6b] {
  color: rgba(15, 23, 42, .35);
}
.aw-day.aw-day--hit[data-v-7a50db6b] {
  background: #E7F6EC;
}
.aw-day.aw-day--miss[data-v-7a50db6b] {
  background: #FDECEC;
}
.aw-day.aw-day--part[data-v-7a50db6b] {
  background: #FFF4DB;
}
.aw-day--hit .aw-day__name[data-v-7a50db6b], .aw-day--hit .aw-day__time[data-v-7a50db6b] {
  color: #1B5E20;
}
.aw-day--miss .aw-day__name[data-v-7a50db6b], .aw-day--miss .aw-day__time[data-v-7a50db6b] {
  color: #B71C1C;
}
.aw-day--part .aw-day__name[data-v-7a50db6b], .aw-day--part .aw-day__time[data-v-7a50db6b] {
  color: #7A4F00;
}
.theme--dark .aw-day[data-v-7a50db6b] {
  background: rgba(129, 199, 132, .12);
}
.theme--dark .aw-day--off[data-v-7a50db6b] {
  background: rgba(255, 255, 255, .06);
}
.theme--dark .aw-day__name[data-v-7a50db6b] {
  color: rgba(255, 255, 255, .6);
}
.theme--dark .aw-day__time[data-v-7a50db6b] {
  color: rgba(255, 255, 255, .85);
}
.theme--dark .aw-day--off .aw-day__time[data-v-7a50db6b] {
  color: rgba(255, 255, 255, .35);
}
.theme--dark .aw-day.aw-day--hit[data-v-7a50db6b] {
  background: rgba(102, 187, 106, .16);
}
.theme--dark .aw-day.aw-day--miss[data-v-7a50db6b] {
  background: rgba(239, 83, 80, .16);
}
.theme--dark .aw-day.aw-day--part[data-v-7a50db6b] {
  background: rgba(255, 183, 77, .16);
}
.theme--dark .aw-day--hit .aw-day__name[data-v-7a50db6b], .theme--dark .aw-day--hit .aw-day__time[data-v-7a50db6b] {
  color: #A5D6A7;
}
.theme--dark .aw-day--miss .aw-day__name[data-v-7a50db6b], .theme--dark .aw-day--miss .aw-day__time[data-v-7a50db6b] {
  color: #EF9A9A;
}
.theme--dark .aw-day--part .aw-day__name[data-v-7a50db6b], .theme--dark .aw-day--part .aw-day__time[data-v-7a50db6b] {
  color: #FFD180;
}


.pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 16px;
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .75);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.pill:hover {
  background: rgba(15, 23, 42, .09);
}
.pill:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.pill--active {
  background: #E3F2FD;
  color: #0D47A1;
}
.pill--active:hover {
  background: #D3E9FC;
}
.pill .pill__icon {
  color: inherit !important;
}
.theme--dark .pill {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .78);
}
.theme--dark .pill--active {
  background: rgba(144, 202, 249, .18);
  color: #90CAF9;
}


.avd[data-v-2064ebf4] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 12px;
  transition: background .15s ease;
}
.avd--active[data-v-2064ebf4] {
  background: rgba(15, 23, 42, .03);
}
.avd__main[data-v-2064ebf4] {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 160px 28px;
  align-items: center;
  gap: 10px;
}
.avd__day[data-v-2064ebf4] {
  font-size: 13px;
  font-weight: 600;
  color: rgba(15, 23, 42, .8);
}
.avd--empty .avd__day[data-v-2064ebf4] {
  color: rgba(15, 23, 42, .4);
}
.avd__ranges[data-v-2064ebf4] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.avd__off[data-v-2064ebf4] {
  font-size: 12px;
  color: rgba(15, 23, 42, .4);
}
.avd__add[data-v-2064ebf4] {
  font-size: 12px;
  margin-left: 2px;
}
.avc[data-v-2064ebf4] {
  display: inline-flex;
  align-items: center;
  height: 28px;
  border-radius: 14px;
  background: #E8F1FD;
  color: #0D47A1;
  box-shadow: inset 0 0 0 1.5px transparent;
  transition: box-shadow .15s ease, background .15s ease;
}
.avc--open[data-v-2064ebf4] {
  box-shadow: inset 0 0 0 1.5px #1976D2;
}
.avc--invalid[data-v-2064ebf4] {
  background: #FDECEC;
  color: #B71C1C;
  box-shadow: inset 0 0 0 1.5px #E5484D;
}
.avc__body[data-v-2064ebf4] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 100%;
  padding: 0 4px 0 10px;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.avc__body[data-v-2064ebf4]:focus-visible, .avc__remove[data-v-2064ebf4]:focus-visible, .avd__copy[data-v-2064ebf4]:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
  border-radius: 12px;
}
.avc__time[data-v-2064ebf4] {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.avc__dots[data-v-2064ebf4] {
  display: inline-flex;
  gap: 3px;
}
.avc__dot[data-v-2064ebf4] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
  flex: none;
}
.avc__remove[data-v-2064ebf4] {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-right: 3px;
  border: 0;
  border-radius: 50%;
  background: none;
  color: inherit;
  cursor: pointer;
  opacity: .6;
}
.avc__remove[data-v-2064ebf4]:hover {
  opacity: 1;
  background: rgba(15, 23, 42, .08);
}
.avc__remove .v-icon[data-v-2064ebf4] {
  color: inherit !important;
}
.avd__timeline[data-v-2064ebf4] {
  position: relative;
  height: 10px;
  border-radius: 5px;
  background: rgba(15, 23, 42, .06);
  overflow: hidden;
}
.avd__tick[data-v-2064ebf4] {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(15, 23, 42, .08);
}
.avd__bar[data-v-2064ebf4] {
  position: absolute;
  top: 1px;
  bottom: 1px;
  border-radius: 4px;
  opacity: .85;
}
.avd__bar--invalid[data-v-2064ebf4] {
  background: #E5484D !important;
}
.avd__copy[data-v-2064ebf4] {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: rgba(15, 23, 42, .45);
  cursor: pointer;
}
.avd__copy[data-v-2064ebf4]:hover, .avd__copy--on[data-v-2064ebf4] {
  background: rgba(15, 23, 42, .06);
  color: #1565C0;
}
.avd__copy .v-icon[data-v-2064ebf4] {
  color: inherit !important;
}
.avd__copy--placeholder[data-v-2064ebf4] {
  cursor: default;
}
.avd__issue[data-v-2064ebf4] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-left: 42px;
  font-size: 12px;
  color: #C62828;
}
.avd__issue .v-icon[data-v-2064ebf4] {
  color: inherit !important;
}
.avd__panel[data-v-2064ebf4] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-left: 42px;
  padding: 12px;
  border-radius: 12px;
  background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 4px 14px rgba(15, 23, 42, .06);
}
.avd__pill[data-v-2064ebf4] {
  height: 28px;
  font-size: 12px;
}
.avd__btn[data-v-2064ebf4] {
  height: 30px;
}
.time-chip[data-v-2064ebf4] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 10px;
  border-radius: 10px;
  background: #E8F1FD;
  color: #0D47A1;
  font-size: 13px;
}
.time-chip--invalid[data-v-2064ebf4] {
  background: #FDECEC;
  color: #B71C1C;
  box-shadow: inset 0 0 0 1.5px #E5484D;
}
.time-chip input[data-v-2064ebf4] {
  border: 0;
  outline: none;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
}
@media (max-width: 599px) {
.avd__main[data-v-2064ebf4] {
    grid-template-columns: 28px minmax(0, 1fr) 28px;
}
.avd__timeline[data-v-2064ebf4] {
    grid-column: 2 / 3;
    grid-row: 2;
}
.avd__panel[data-v-2064ebf4] {
    margin-left: 0;
}
.avd__issue[data-v-2064ebf4] {
    padding-left: 38px;
}
}
.theme--dark .avd__day[data-v-2064ebf4] {
  color: rgba(255, 255, 255, .85);
}
.theme--dark .avd--empty .avd__day[data-v-2064ebf4], .theme--dark .avd__off[data-v-2064ebf4] {
  color: rgba(255, 255, 255, .4);
}
.theme--dark .avd--active[data-v-2064ebf4] {
  background: rgba(255, 255, 255, .04);
}
.theme--dark .avc[data-v-2064ebf4], .theme--dark .time-chip[data-v-2064ebf4] {
  background: rgba(100, 181, 246, .16);
  color: #90CAF9;
}
.theme--dark .avc--invalid[data-v-2064ebf4], .theme--dark .time-chip--invalid[data-v-2064ebf4] {
  background: rgba(239, 83, 80, .16);
  color: #EF9A9A;
}
.theme--dark .avd__timeline[data-v-2064ebf4] {
  background: rgba(255, 255, 255, .08);
}
.theme--dark .avd__panel[data-v-2064ebf4] {
  background: #2A2A2A;
}
.theme--dark .avd__copy[data-v-2064ebf4] {
  color: rgba(255, 255, 255, .5);
}


.awe[data-v-db92d796] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.awe__pill[data-v-db92d796] {
  height: 30px;
  font-size: 12px;
}
.awe__pill--danger[data-v-db92d796]:not(:disabled):hover {
  background: #FDECEC;
  color: #B71C1C;
}
.awe__pill[data-v-db92d796]:disabled {
  cursor: default;
  opacity: .5;
}
.awe__hint[data-v-db92d796] {
  font-weight: 400;
  opacity: .65;
}
.awe__dot[data-v-db92d796] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  flex: none;
}
.awe__undo[data-v-db92d796] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(15, 23, 42, .04);
  font-size: 13px;
}
.awe__week[data-v-db92d796] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .08);
}
.awe__empty[data-v-db92d796] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 4px 6px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #E8F1FD;
  color: #0D47A1;
  font-size: 13px;
}
.awe__empty .v-icon[data-v-db92d796] {
  color: inherit !important;
}
.awe__scale[data-v-db92d796] {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 160px 28px;
  gap: 10px;
  padding: 2px 10px 0;
}
.awe__scale-bar[data-v-db92d796] {
  position: relative;
  height: 14px;
  font-size: 10px;
  color: rgba(15, 23, 42, .45);
  font-variant-numeric: tabular-nums;
}
.awe__scale-bar span[data-v-db92d796] {
  position: absolute;
  transform: translateX(-50%);
}
.awe__scale-bar span[data-v-db92d796]:first-child {
  transform: none;
}
.awe__scale-bar span[data-v-db92d796]:last-child {
  transform: translateX(-100%);
}
.awe__weekend[data-v-db92d796] {
  margin: 6px 10px 4px;
  font-size: 12px;
}
.theme--dark .awe__week[data-v-db92d796] {
  border-color: rgba(255, 255, 255, .1);
}
.theme--dark .awe__undo[data-v-db92d796] {
  background: rgba(255, 255, 255, .06);
}
.theme--dark .awe__empty[data-v-db92d796] {
  background: rgba(100, 181, 246, .16);
  color: #90CAF9;
}
.theme--dark .awe__scale-bar[data-v-db92d796] {
  color: rgba(255, 255, 255, .45);
}


.soft-note[data-v-147217a0] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(15, 23, 42, .04);
  font-size: 13px;
}
.remove-link[data-v-147217a0]:hover {
  color: #C62828;
}
.footer--confirm[data-v-147217a0] {
  background: #FFF8F8;
}
.footer__title[data-v-147217a0] {
  font-size: 13px;
  font-weight: 600;
}
.theme--dark .soft-note[data-v-147217a0] {
  background: rgba(255, 255, 255, .06);
}
.theme--dark .footer--confirm[data-v-147217a0] {
  background: rgba(239, 83, 80, .08);
}

/* Modern form dialogs (responsible, institution): header with soft avatar, sectioned scroll body, sticky footer */
.mdlg-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 20px 12px;
}
.mdlg-header__text {
  flex: 1 1 auto;
  min-width: 0;
}
.mdlg-body {
  padding: 4px 20px 20px !important;
}
.mdlg-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.mdlg-footer__state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.mdlg-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px 0;
  scroll-margin-top: 8px;
}
.mdlg-section + .mdlg-section {
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.mdlg-section__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  color: rgba(15, 23, 42, .78);
}
.mdlg-section__title .v-icon {
  color: inherit !important;
}
.mdlg-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.mdlg-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.mdlg-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mdlg-grid--wide-narrow {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}
.mdlg-grid--narrow-wide {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
@media (max-width: 599px) {
.mdlg-grid, .mdlg-grid--3 {
    grid-template-columns: minmax(0, 1fr);
}
}
.mdlg-req {
  color: #E5484D;
}
.mdlg-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #F59E0B;
  display: inline-block;
  flex: none;
}
.mdlg-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .04);
}
.mdlg-switch .v-input--selection-controls {
  margin-top: 0;
  padding-top: 0;
}
.mdlg-confirm {
  border-radius: 16px !important;
}
.theme--dark .mdlg-footer, .theme--dark .mdlg-section + .mdlg-section {
  border-color: rgba(255, 255, 255, .08);
}
.theme--dark .mdlg-section__title {
  color: rgba(255, 255, 255, .85);
}
.theme--dark .mdlg-switch {
  background: rgba(255, 255, 255, .06);
}
.theme--dark .mdlg-scope .acq-label, .theme--dark .mdlg-scope .acq-tiny, .theme--dark .mdlg-scope .add-link,
.theme--dark .mdlg-scope .soft-field__label {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .mdlg-scope .cta--ghost {
  color: rgba(255, 255, 255, .75);
}
.theme--dark .mdlg-scope .cta--ghost:hover {
  background: rgba(255, 255, 255, .08);
}
.theme--dark .mdlg-scope .cta:disabled {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .38);
}


.more[data-v-2b997db4] {
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 12px;
  color: rgba(15, 23, 42, .55);
  cursor: pointer;
}
.more[data-v-2b997db4]:hover {
  color: #1565C0;
}

/* Shared look of the redesigned acquisition views (list overview, single list, school in list, status overview) */
.acq-bg {
  background: #F4F5F7;
  min-height: 100%;
}
.theme--dark .acq-bg {
  background: #121212;
}
.acq-page {
  max-width: 1440px;
}
.acq-title {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.2;
  margin: 0;
}
.acq-sub {
  font-size: 14px;
  color: rgba(15, 23, 42, .6);
}
.acq-card {
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .06);
}
.theme--dark .acq-card {
  background: #1E1E1E;
}
.acq-tiny {
  font-size: 12px;
  color: rgba(15, 23, 42, .6);
}
.acq-muted {
  font-size: 13px;
  color: rgba(15, 23, 42, .6);
}
.acq-label {
  font-size: 13px;
  font-weight: 500;
  color: rgba(15, 23, 42, .6);
}
.acq-section-title {
  font-size: 15px;
  font-weight: 600;
}
.acq-avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 600;
  flex: none;
}
.acq-avatar--sm {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 12px;
}
.acq-legend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.acq-legend__dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  display: inline-block;
}
.acq-link {
  color: inherit !important;
  text-decoration: none;
}
.acq-link:hover {
  color: #1565C0 !important;
}
.acq-soft-input {
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 6px 18px rgba(15, 23, 42, .07);
}
.acq-soft-input .v-input__slot {
  border-radius: 12px !important;
  min-height: 40px !important;
}
.acq-empty {
  padding: 40px 20px;
  text-align: center;
}
.acq-dialog {
  border-radius: 16px !important;
}
.acq-bulk {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 6;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 8px 8px 18px;
  border-radius: 16px;
  background: #0F172A;
  color: #FFFFFF;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .35);
  max-width: calc(100vw - 32px);
}
.acq-bulk__btn {
  height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 9px;
  background: rgba(255, 255, 255, .12);
  color: #FFFFFF;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.acq-bulk__btn:hover {
  background: rgba(255, 255, 255, .2);
}
.acq-bulk__btn--danger {
  background: rgba(229, 72, 77, .25);
  color: #FFD7D8;
}

/* Secondary texts in dark mode */
.theme--dark .acq-sub, .theme--dark .acq-tiny, .theme--dark .acq-muted, .theme--dark .acq-label {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .acq-link:hover {
  color: #90CAF9 !important;
}


.cfe[data-v-0c56a2fc] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.cfe__row[data-v-0c56a2fc] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 599px) {
.cfe__row[data-v-0c56a2fc] {
    grid-template-columns: minmax(0, 1fr);
}
}

/* Compact layout: one cell per channel, 2 columns */
.cfe--compact[data-v-0c56a2fc] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}
@media (max-width: 599px) {
.cfe--compact[data-v-0c56a2fc] {
    grid-template-columns: minmax(0, 1fr);
}
}
.cfe__cell[data-v-0c56a2fc] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.cfe__label-row[data-v-0c56a2fc] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 18px;
}
.cfe__actions[data-v-0c56a2fc] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  flex-shrink: 0;
}
.cfe__action[data-v-0c56a2fc] {
  font-size: 12px !important;
  white-space: nowrap;
}
.cfe__field[data-v-0c56a2fc] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.cfe__field--add[data-v-0c56a2fc] {
  justify-content: flex-end;
  padding-bottom: 10px;
}
.cfe__extras[data-v-0c56a2fc] {
  align-self: flex-start;
}
.cfe--compact .cfe__extras[data-v-0c56a2fc] {
  grid-column: 1 / -1;
}
.cfe__label[data-v-0c56a2fc] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.cfe__icon[data-v-0c56a2fc], .cfe__preview-icon[data-v-0c56a2fc] {
  color: inherit !important;
}
.cfe__req[data-v-0c56a2fc] {
  color: #E5484D;
}
.cfe__preview[data-v-0c56a2fc] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.cfe__text[data-v-0c56a2fc] .mdi-check-circle {
  color: #2E7D32 !important;
}
.cfe__note[data-v-0c56a2fc] .v-input__slot {
  min-height: 34px !important;
  font-size: 13px;
}


.rf__plain[data-v-e07fc610] {
  margin: 0;
  padding: 0;
}
.rf__plain[data-v-e07fc610] .v-input__slot {
  margin-bottom: 0;
  display: block;
}
.rf__section[data-v-e07fc610] {
  gap: 10px;
  padding: 12px 0;
}
.rf__section[data-v-e07fc610]:first-of-type {
  padding-top: 4px;
}
.rf__section[data-v-e07fc610]:last-of-type {
  padding-bottom: 4px;
}
.rf__names[data-v-e07fc610] {
  display: grid;
  grid-template-columns: var(--rf-cols, repeat(2, minmax(0, 1fr)));
  gap: 12px 16px;
}
@media (max-width: 599px) {
.rf__names[data-v-e07fc610] {
    grid-template-columns: minmax(0, 1fr);
}
}
.rf__job[data-v-e07fc610] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.rf__job-input[data-v-e07fc610] {
  flex: 1 1 auto;
  min-width: 0;
}
.rf__job-add[data-v-e07fc610] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 10px;
  background: rgba(25, 118, 210, .08);
  color: #1976D2;
  cursor: pointer;
  transition: background .15s ease;
}
.rf__job-add[data-v-e07fc610]:hover:not(:disabled) {
  background: rgba(25, 118, 210, .16);
}
.rf__job-add[data-v-e07fc610]:disabled {
  opacity: .5;
  cursor: default;
}
.rf__job-add .v-icon[data-v-e07fc610] {
  color: inherit !important;
}
.theme--dark .rf__job-add[data-v-e07fc610] {
  background: rgba(144, 202, 249, .12);
  color: #90CAF9;
}

/* Sectioned edit dialogs (Standort, Schüler:in, Elternteil bearbeiten): left section navigation on md+, pill tabs on phones.
   Use together with acquisitionViews.css, modern.css and modernDialog.css. */
.eid-body {
  position: relative;
}
.eid-layout {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}
.eid-nav {
  position: sticky;
  top: 12px;
  flex: 0 0 180px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 12px;
}
.eid-nav__item {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(15, 23, 42, .68);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.eid-nav__item .v-icon {
  color: inherit !important;
}
.eid-nav__item:hover {
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .9);
}
.eid-nav__item--active {
  background: #FFF4DB;
  color: #7A4F00;
}
.eid-nav__item:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.eid-content {
  flex: 1 1 auto;
  min-width: 0;
}
.eid-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 0 20px 10px;
  scrollbar-width: none;
}
.eid-tabs .pill {
  flex: none;
}
.eid-switch__title {
  font-size: 14px;
  font-weight: 500;
}
.theme--dark .eid-nav__item {
  color: rgba(255, 255, 255, .7);
}
.theme--dark .eid-nav__item:hover {
  background: rgba(255, 255, 255, .06);
  color: #FFFFFF;
}
.theme--dark .eid-nav__item--active {
  background: rgba(255, 183, 77, .16);
  color: #FFD180;
}

/* Create dialogs (tone info, e.g. "Standort hinzufügen"): blue active step instead of the edit orange */
.eid--info .eid-nav__item--active {
  background: rgba(25, 118, 210, .1);
  color: #1565C0;
}
.theme--dark .eid--info .eid-nav__item--active {
  background: rgba(100, 181, 246, .16);
  color: #90CAF9;
}

/* Shared building blocks of the course dialogs (loaded through CalDialogShell, same look as the signup-board dialogs) */
.cdlg-panel {
  display: grid;
  gap: 12px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .04);
}
.cdlg-template {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}
.cdlg-box {
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.45;
}
.cdlg-list {
  display: grid;
  border-radius: 12px;
  background: rgba(15, 23, 42, .04);
  padding: 2px 12px;
}
.cdlg-row {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  min-width: 0;
}
.cdlg-row + .cdlg-row {
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.cdlg-row__main {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.cdlg-row__name {
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cdlg-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cdlg-empty {
  display: flex;
  justify-content: center;
  padding: 24px 0;
}
.mdlg-scope .v-input--switch.v-input--dense {
  margin-top: 0;
  padding-top: 0;
}
.theme--dark .cdlg-panel, .theme--dark .cdlg-list {
  background: rgba(255, 255, 255, .06);
}
.theme--dark .cdlg-row + .cdlg-row {
  border-top-color: rgba(255, 255, 255, .08);
}


.csd .csd-step {
  height: auto;
  min-height: 40px;
  padding: 6px 10px;
  align-items: center;
}
.csd-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(15, 23, 42, .07);
  font-size: 12px;
  font-weight: 600;
}
.csd-step__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: left;
}
.csd-step__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.csd-step__hint {
  font-size: 11px;
  font-weight: 400;
  opacity: .75;
}
.csd .csd-step--active {
  background: #E3F2FD;
  color: #0D47A1;
}
.csd .csd-step--active .csd-step__num {
  background: #1976D2;
  color: #FFFFFF;
}
.csd .csd-step--complete .csd-step__num {
  background: #E6F4EA;
  color: #1B7F3B;
}
.csd .csd-step--complete .csd-step__num .v-icon {
  color: inherit !important;
}
.theme--dark .csd .csd-step--active {
  background: rgba(100, 181, 246, .16);
  color: #90CAF9;
}
.theme--dark .csd-step__num {
  background: rgba(255, 255, 255, .1);
}


.overlay[data-v-047a7dd0] {
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  cursor: pointer;
}

.tp[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.tp-selected[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(15, 23, 42, .035);
}
.tp-chips[data-v-6a2cee05] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.tp-chip[data-v-6a2cee05] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 4px 0 3px;
  border-radius: 15px;
  background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
  font-size: 13px;
  font-weight: 500;
}
.tp-chip--new[data-v-6a2cee05] {
  box-shadow: 0 0 0 1.5px #66BB6A;
}
.tp-chip--removed[data-v-6a2cee05] {
  opacity: .6;
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .15);
}
.tp-chip__avatar[data-v-6a2cee05] {
  width: 24px;
  height: 24px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #E8F1FD;
  color: #0D47A1;
  font-size: 10px;
  font-weight: 700;
}
.tp-chip__btn[data-v-6a2cee05] {
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: transparent;
  cursor: pointer;
}
.tp-chip__btn[data-v-6a2cee05]:hover {
  background: rgba(15, 23, 42, .08);
}
.tp-filters[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tp-filter-row[data-v-6a2cee05] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.tp-hint[data-v-6a2cee05] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.tp-list[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tp-row[data-v-6a2cee05] {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto auto;
  align-items: start;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);
  cursor: pointer;
  transition: box-shadow .15s ease, background .15s ease;
}
.tp-row[data-v-6a2cee05]:hover {
  box-shadow: 0 0 0 1px rgba(25, 118, 210, .25), 0 4px 14px rgba(15, 23, 42, .07);
}
.tp-row[data-v-6a2cee05]:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.tp-row--selected[data-v-6a2cee05] {
  background: #F3F8FE;
  box-shadow: 0 0 0 1.5px #1976D2;
}
.tp-row--disabled[data-v-6a2cee05] {
  cursor: default;
  opacity: .75;
}
.tp-avatar[data-v-6a2cee05] {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #E8F1FD;
  color: #1565C0;
  font-size: 13px;
  font-weight: 600;
}
.tp-rank[data-v-6a2cee05] {
  position: absolute;
  right: -6px;
  top: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background: #1976D2;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  display: grid;
  place-items: center;
  box-shadow: 0 0 0 2px #FFFFFF;
}
.tp-main[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.tp-name[data-v-6a2cee05] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  min-width: 0;
}
.tp-meta[data-v-6a2cee05] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: rgba(15, 23, 42, .62);
}
.tp-meta .v-icon[data-v-6a2cee05] {
  color: inherit !important;
}
.tp-tags[data-v-6a2cee05] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.tp-subject__dot[data-v-6a2cee05] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}
.tp-side[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.tp-days[data-v-6a2cee05] {
  display: flex;
  gap: 3px;
}
.tp-day[data-v-6a2cee05] {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 600;
  background: rgba(15, 23, 42, .04);
  color: rgba(15, 23, 42, .35);
}
.tp-day--available[data-v-6a2cee05] {
  background: #E8F1FD;
  color: #0D47A1;
}
.tp-day--match[data-v-6a2cee05] {
  background: #43A047;
  color: #FFFFFF;
}
.tp-day--wanted[data-v-6a2cee05] {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px rgba(67, 160, 71, .55);
  color: #2E7D32;
}
.tp-stats[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: 12px;
  color: rgba(15, 23, 42, .62);
  white-space: nowrap;
}
.tp-stats span[data-v-6a2cee05] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.tp-stats .v-icon[data-v-6a2cee05] {
  color: inherit !important;
}
.tp-action[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.tp-check[data-v-6a2cee05] {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, .06);
}
.tp-check--on[data-v-6a2cee05] {
  background: #1976D2;
}
.tp-check--on .v-icon[data-v-6a2cee05] {
  color: #FFFFFF !important;
}
.tp-open[data-v-6a2cee05] {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  text-decoration: none;
}
.tp-open[data-v-6a2cee05]:hover {
  background: rgba(15, 23, 42, .06);
}
.tp-empty[data-v-6a2cee05] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 28px 16px;
  text-align: center;
}
.tp-empty__icon[data-v-6a2cee05] {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, .05);
  margin-bottom: 6px;
}
@media (max-width: 599px) {
.tp-row[data-v-6a2cee05] {
    grid-template-columns: 40px minmax(0, 1fr) auto;
}
.tp-side[data-v-6a2cee05] {
    grid-column: 2 / 3;
    grid-row: 2;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}
.tp-stats[data-v-6a2cee05] {
    flex-direction: row;
    gap: 10px;
}
.tp-action[data-v-6a2cee05] {
    grid-column: 3;
    grid-row: 1;
}
}
.theme--dark .tp-selected[data-v-6a2cee05] {
  background: rgba(255, 255, 255, .05);
}
.theme--dark .tp-chip[data-v-6a2cee05] {
  background: #2C2C2C;
}
.theme--dark .tp-row[data-v-6a2cee05] {
  background: #1E1E1E;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .08);
}
.theme--dark .tp-row--selected[data-v-6a2cee05] {
  background: rgba(144, 202, 249, .08);
  box-shadow: 0 0 0 1.5px #90CAF9;
}
.theme--dark .tp-meta[data-v-6a2cee05], .theme--dark .tp-stats[data-v-6a2cee05] {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .tp-day[data-v-6a2cee05] {
  background: rgba(255, 255, 255, .06);
  color: rgba(255, 255, 255, .4);
}
.theme--dark .tp-day--available[data-v-6a2cee05] {
  background: rgba(144, 202, 249, .18);
  color: #90CAF9;
}
.theme--dark .tp-day--match[data-v-6a2cee05] {
  background: #43A047;
  color: #FFFFFF;
}
.theme--dark .tp-check[data-v-6a2cee05] {
  background: rgba(255, 255, 255, .08);
}


.tp-dialog .mdlg-body {
  padding-top: 8px !important;
}


.ecd-more[data-v-37c76ff6] {
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 12px;
  color: rgba(15, 23, 42, .55);
  cursor: pointer;
}
.ecd-more[data-v-37c76ff6]:hover {
  color: #1565C0;
}
.theme--dark .ecd-more[data-v-37c76ff6] {
  color: rgba(255, 255, 255, .6);
}

/* Modern building blocks of the acquisition dialog: soft tags and buttons without borders */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 9px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .72);
}
.tag--sm {
  height: 20px;
  padding: 0 7px;
  font-size: 11px;
}
.tag .tag__icon {
  color: inherit !important;
}
.tone-good {
  background: #E7F6EC;
  color: #1B5E20;
}
.tone-warn {
  background: #FFF4DB;
  color: #7A4F00;
}
.tone-info {
  background: #E8F1FD;
  color: #0D47A1;
}
.tone-teal {
  background: #E0F4F1;
  color: #00594F;
}
.tone-muted {
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .68);
}
.tone-bad {
  background: #FDECEC;
  color: #B71C1C;
}
.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: #E8F1FD;
  color: #0D47A1;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, box-shadow .15s ease;
}
.cta:hover {
  background: #D6E7FC;
}
.cta:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 2px;
}
.cta:disabled {
  cursor: default;
  background: rgba(15, 23, 42, .06);
  color: rgba(15, 23, 42, .38);
  box-shadow: none;
}
.cta--primary {
  background: #1976D2;
  color: #FFFFFF;
  box-shadow: 0 2px 6px rgba(25, 118, 210, .3);
}
.cta--primary:hover {
  background: #1565C0;
}
.cta--ghost {
  background: transparent;
  color: rgba(15, 23, 42, .7);
}
.cta--ghost:hover {
  background: rgba(15, 23, 42, .05);
}
.cta--lg {
  height: 44px;
  padding: 0 20px;
  font-size: 14px;
  border-radius: 12px;
}
.cta .cta__icon {
  color: inherit !important;
}
.cta__count {
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .22);
  font-size: 12px;
  display: inline-grid;
  place-items: center;
}
.theme--dark .tag:not([class*="tone-"]), .theme--dark .tone-muted {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .78);
}

/* Tones in dark mode: same meaning, translucent background and light text */
.theme--dark .tone-good {
  background: rgba(102, 187, 106, .16);
  color: #A5D6A7;
}
.theme--dark .tone-warn {
  background: rgba(255, 183, 77, .16);
  color: #FFD180;
}
.theme--dark .tone-info {
  background: rgba(100, 181, 246, .16);
  color: #90CAF9;
}
.theme--dark .tone-teal {
  background: rgba(77, 182, 172, .16);
  color: #80CBC4;
}
.theme--dark .tone-bad {
  background: rgba(239, 83, 80, .16);
  color: #EF9A9A;
}
.theme--dark .tone-purple {
  background: rgba(186, 104, 200, .16);
  color: #CE93D8;
}
.tone-purple {
  background: #F1ECFB;
  color: #4527A0;
}
.cta--danger {
  background: #FDECEC;
  color: #B71C1C;
}
.cta--danger:hover {
  background: #FAD9D9;
}
.cta--quiet {
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .78);
}
.cta--quiet:hover {
  background: rgba(15, 23, 42, .09);
}
.soft-menu {
  border-radius: 14px !important;
  padding: 6px !important;
}

/* The padding belongs to the menu content, which has no background of its own: without one the page shines through the edge */
.soft-menu.v-menu__content {
  background: #FFFFFF;
}
.theme--dark .soft-menu.v-menu__content, .soft-menu.v-menu__content.theme--dark {
  background: #1E1E1E;
}
.soft-menu .v-list-item {
  border-radius: 8px;
  min-height: 36px !important;
}
.soft-menu .v-list-item__icon {
  margin-right: 10px !important;
}

/* Subtle text link that reveals an optional field ("+ Beschreibung hinzufügen") */
.add-link {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 13px;
  color: rgba(15, 23, 42, .5);
  cursor: pointer;
}
.add-link:hover {
  color: #1565C0;
}
.add-link .v-icon {
  color: inherit !important;
}

/* Required field: "*" after the label above the field, same look as <span class="mdlg-req"> *</span> (modern.css is global) */
.acq-label--required::after {
  content: ' *';
  color: #E5484D;
}
.mdlg-req {
  color: #E5484D;
}

/* Vuetify outlined fields inside .soft-inputs look like the soft modern inputs (use without label, put an .acq-label above) */
.soft-inputs .v-text-field--outlined fieldset {
  border: 0 !important;
}
.soft-inputs .v-text-field--outlined > .v-input__control > .v-input__slot {
  background: rgba(15, 23, 42, .04) !important;
  border-radius: 12px !important;
  min-height: 40px !important;
  transition: box-shadow .15s ease;
}
.soft-inputs .v-text-field--outlined.v-input--is-focused > .v-input__control > .v-input__slot {
  box-shadow: 0 0 0 2px rgba(25, 118, 210, .35);
}
.soft-inputs .v-text-field--outlined.error--text > .v-input__control > .v-input__slot {
  box-shadow: 0 0 0 2px rgba(229, 72, 77, .45);
}
.theme--dark .soft-inputs .v-text-field--outlined > .v-input__control > .v-input__slot {
  background: rgba(255, 255, 255, .06) !important;
}

/* Pills (same as pillGroup.vue) so plain <button class="pill"> works everywhere */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 16px;
  background: rgba(15, 23, 42, .05);
  color: rgba(15, 23, 42, .75);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.pill:hover {
  background: rgba(15, 23, 42, .09);
}
.pill:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.pill--active {
  background: #E3F2FD;
  color: #0D47A1;
}
.pill--active:hover {
  background: #D3E9FC;
}
.pill .pill__icon {
  color: inherit !important;
}
.theme--dark .pill {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .78);
}
.theme--dark .pill--active {
  background: rgba(144, 202, 249, .18);
  color: #90CAF9;
}

/* Buttons and links in dark mode: light text on translucent surfaces */
.theme--dark .cta:not(.cta--primary) {
  background: rgba(144, 202, 249, .16);
  color: #90CAF9;
}
.theme--dark .cta:not(.cta--primary):hover {
  background: rgba(144, 202, 249, .24);
}
.theme--dark .cta:disabled {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .38);
}
.theme--dark .cta.cta--ghost:not(.cta--primary) {
  background: transparent;
  color: rgba(255, 255, 255, .75);
}
.theme--dark .cta.cta--ghost:not(.cta--primary):hover, .theme--dark .cta.cta--quiet:not(.cta--primary) {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .85);
}
.theme--dark .cta.cta--quiet:not(.cta--primary):hover {
  background: rgba(255, 255, 255, .12);
}
.theme--dark .cta.cta--danger:not(.cta--primary) {
  background: rgba(239, 83, 80, .16);
  color: #EF9A9A;
}
.theme--dark .cta.cta--danger:not(.cta--primary):hover {
  background: rgba(239, 83, 80, .24);
}
.theme--dark .cta:focus-visible, .theme--dark .pill:focus-visible {
  outline-color: #90CAF9;
}
.theme--dark .add-link {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .add-link:hover {
  color: #90CAF9;
}
.theme--dark .pill:hover {
  background: rgba(255, 255, 255, .12);
}
.theme--dark .pill--active:hover {
  background: rgba(144, 202, 249, .24);
}

.tp[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.tp-selected[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(15, 23, 42, .035);
}
.tp-chips[data-v-ce485eb4] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.tp-chip[data-v-ce485eb4] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 4px 0 3px;
  border-radius: 15px;
  background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
  font-size: 13px;
  font-weight: 500;
}
.tp-chip--new[data-v-ce485eb4] {
  box-shadow: 0 0 0 1.5px #66BB6A;
}
.tp-chip--removed[data-v-ce485eb4] {
  opacity: .6;
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .15);
}
.tp-chip__avatar[data-v-ce485eb4] {
  width: 24px;
  height: 24px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #E8F1FD;
  color: #0D47A1;
  font-size: 10px;
  font-weight: 700;
}
.tp-chip__btn[data-v-ce485eb4] {
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: transparent;
  cursor: pointer;
}
.tp-chip__btn[data-v-ce485eb4]:hover {
  background: rgba(15, 23, 42, .08);
}
.tp-filters[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tp-filter-row[data-v-ce485eb4] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.tp-hint[data-v-ce485eb4] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.tp-list[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tp-row[data-v-ce485eb4] {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto auto;
  align-items: start;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);
  cursor: pointer;
  transition: box-shadow .15s ease, background .15s ease;
}
.tp-row[data-v-ce485eb4]:hover {
  box-shadow: 0 0 0 1px rgba(25, 118, 210, .25), 0 4px 14px rgba(15, 23, 42, .07);
}
.tp-row[data-v-ce485eb4]:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.tp-row--selected[data-v-ce485eb4] {
  background: #F3F8FE;
  box-shadow: 0 0 0 1.5px #1976D2;
}
.tp-row--disabled[data-v-ce485eb4] {
  cursor: default;
  opacity: .75;
}
.tp-avatar[data-v-ce485eb4] {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #E8F1FD;
  color: #1565C0;
  font-size: 13px;
  font-weight: 600;
}
.tp-rank[data-v-ce485eb4] {
  position: absolute;
  right: -6px;
  top: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background: #1976D2;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  display: grid;
  place-items: center;
  box-shadow: 0 0 0 2px #FFFFFF;
}
.tp-main[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.tp-name[data-v-ce485eb4] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  min-width: 0;
}
.tp-meta[data-v-ce485eb4] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: rgba(15, 23, 42, .62);
}
.tp-meta .v-icon[data-v-ce485eb4] {
  color: inherit !important;
}
.tp-tags[data-v-ce485eb4] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.tp-subject__dot[data-v-ce485eb4] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}
.tp-side[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.tp-days[data-v-ce485eb4] {
  display: flex;
  gap: 3px;
}
.tp-day[data-v-ce485eb4] {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 600;
  background: rgba(15, 23, 42, .04);
  color: rgba(15, 23, 42, .35);
}
.tp-day--available[data-v-ce485eb4] {
  background: #E8F1FD;
  color: #0D47A1;
}
.tp-day--match[data-v-ce485eb4] {
  background: #43A047;
  color: #FFFFFF;
}
.tp-day--wanted[data-v-ce485eb4] {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px rgba(67, 160, 71, .55);
  color: #2E7D32;
}
.tp-stats[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: 12px;
  color: rgba(15, 23, 42, .62);
  white-space: nowrap;
}
.tp-stats span[data-v-ce485eb4] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.tp-stats .v-icon[data-v-ce485eb4] {
  color: inherit !important;
}
.tp-action[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.tp-check[data-v-ce485eb4] {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, .06);
}
.tp-check--on[data-v-ce485eb4] {
  background: #1976D2;
}
.tp-check--on .v-icon[data-v-ce485eb4] {
  color: #FFFFFF !important;
}
.tp-open[data-v-ce485eb4] {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  text-decoration: none;
}
.tp-open[data-v-ce485eb4]:hover {
  background: rgba(15, 23, 42, .06);
}
.tp-empty[data-v-ce485eb4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 28px 16px;
  text-align: center;
}
.tp-empty__icon[data-v-ce485eb4] {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, .05);
  margin-bottom: 6px;
}
@media (max-width: 599px) {
.tp-row[data-v-ce485eb4] {
    grid-template-columns: 40px minmax(0, 1fr) auto;
}
.tp-side[data-v-ce485eb4] {
    grid-column: 2 / 3;
    grid-row: 2;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}
.tp-stats[data-v-ce485eb4] {
    flex-direction: row;
    gap: 10px;
}
.tp-action[data-v-ce485eb4] {
    grid-column: 3;
    grid-row: 1;
}
}
.theme--dark .tp-selected[data-v-ce485eb4] {
  background: rgba(255, 255, 255, .05);
}
.theme--dark .tp-chip[data-v-ce485eb4] {
  background: #2C2C2C;
}
.theme--dark .tp-row[data-v-ce485eb4] {
  background: #1E1E1E;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .08);
}
.theme--dark .tp-row--selected[data-v-ce485eb4] {
  background: rgba(144, 202, 249, .08);
  box-shadow: 0 0 0 1.5px #90CAF9;
}
.theme--dark .tp-meta[data-v-ce485eb4], .theme--dark .tp-stats[data-v-ce485eb4] {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .tp-day[data-v-ce485eb4] {
  background: rgba(255, 255, 255, .06);
  color: rgba(255, 255, 255, .4);
}
.theme--dark .tp-day--available[data-v-ce485eb4] {
  background: rgba(144, 202, 249, .18);
  color: #90CAF9;
}
.theme--dark .tp-day--match[data-v-ce485eb4] {
  background: #43A047;
  color: #FFFFFF;
}
.theme--dark .tp-check[data-v-ce485eb4] {
  background: rgba(255, 255, 255, .08);
}

/* Base layout comes from teacherPicker.css (tp-*); only the school specific bits live here */
.ip-avatar[data-v-ce485eb4] {
  background: #FFF3E0;
  color: #E65100;
}
.ip-chip__avatar[data-v-ce485eb4] {
  background: #FFF3E0;
  color: #E65100;
}
.ip-custom-id[data-v-ce485eb4] {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 500;
  color: rgba(15, 23, 42, .5);
}
.tp-side > .tag[data-v-ce485eb4] {
  white-space: nowrap;
}
.theme--dark .ip-avatar[data-v-ce485eb4], .theme--dark .ip-chip__avatar[data-v-ce485eb4] {
  background: rgba(255, 183, 77, .16);
  color: #FFB74D;
}
.theme--dark .ip-custom-id[data-v-ce485eb4] {
  color: rgba(255, 255, 255, .5);
}

/* Shared look of the redesigned acquisition views (list overview, single list, school in list, status overview) */
.acq-bg {
  background: #F4F5F7;
  min-height: 100%;
}
.theme--dark .acq-bg {
  background: #121212;
}
.acq-page {
  max-width: 1440px;
}
.acq-title {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.2;
  margin: 0;
}
.acq-sub {
  font-size: 14px;
  color: rgba(15, 23, 42, .6);
}
.acq-card {
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .06);
}
.theme--dark .acq-card {
  background: #1E1E1E;
}
.acq-tiny {
  font-size: 12px;
  color: rgba(15, 23, 42, .6);
}
.acq-muted {
  font-size: 13px;
  color: rgba(15, 23, 42, .6);
}
.acq-label {
  font-size: 13px;
  font-weight: 500;
  color: rgba(15, 23, 42, .6);
}
.acq-section-title {
  font-size: 15px;
  font-weight: 600;
}
.acq-avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 600;
  flex: none;
}
.acq-avatar--sm {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 12px;
}
.acq-legend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.acq-legend__dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  display: inline-block;
}
.acq-link {
  color: inherit !important;
  text-decoration: none;
}
.acq-link:hover {
  color: #1565C0 !important;
}
.acq-soft-input {
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 6px 18px rgba(15, 23, 42, .07);
}
.acq-soft-input .v-input__slot {
  border-radius: 12px !important;
  min-height: 40px !important;
}
.acq-empty {
  padding: 40px 20px;
  text-align: center;
}
.acq-dialog {
  border-radius: 16px !important;
}
.acq-bulk {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 6;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 8px 8px 18px;
  border-radius: 16px;
  background: #0F172A;
  color: #FFFFFF;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .35);
  max-width: calc(100vw - 32px);
}
.acq-bulk__btn {
  height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 9px;
  background: rgba(255, 255, 255, .12);
  color: #FFFFFF;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.acq-bulk__btn:hover {
  background: rgba(255, 255, 255, .2);
}
.acq-bulk__btn--danger {
  background: rgba(229, 72, 77, .25);
  color: #FFD7D8;
}

/* Secondary texts in dark mode */
.theme--dark .acq-sub, .theme--dark .acq-tiny, .theme--dark .acq-muted, .theme--dark .acq-label {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .acq-link:hover {
  color: #90CAF9 !important;
}


.tp-dialog .mdlg-body {
  padding-top: 8px !important;
}


/* Field rows full width like in the profile cards */
.pcd-fields[data-v-0eacc1f4] {
  margin: 4px -20px -20px;
}


.mini-avatar[data-v-4c9312a7] {
  width: 18px;
  height: 18px;
  border-radius: 6px;
  display: inline-grid;
  place-items: center;
  font-size: 9px;
  font-weight: 700;
  background: rgba(21, 101, 192, .12);
  color: #1565C0;
}


/* Field rows full width like in the profile cards */
.pcd-fields[data-v-375a0d44] {
  margin: 4px -20px -20px;
}

/* Shared profile building blocks (acquisition item page, sales partner cockpit, Schüler:in/Eltern/Standort/Mitarbeiter:in profiles).
   Field rows (.fld), icon buttons (.ibtn) and chips live in acquisitionList/ui/itemDetails.css; this file adds card header,
   person rows and the dashed empty state. */
.pui-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pui-card--flush {
  padding: 0 !important;
  gap: 0;
}
.pui-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
}
.pui-card--flush .pui-card__head {
  padding: 20px 20px 10px;
}
.pui-card__icon {
  color: rgba(15, 23, 42, .55) !important;
}
.pui-person {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px;
  margin: 0 -10px;
  border-radius: 12px;
}
.pui-person:hover {
  background: rgba(15, 23, 42, .03);
}
.pui-person__name {
  font-size: 14px;
  font-weight: 600;
}
.pui-person__contact {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: rgba(15, 23, 42, .7) !important;
  text-decoration: none;
}
.pui-person__contact:hover {
  color: #1565C0 !important;
}
.pui-person__contact .v-icon {
  color: inherit !important;
}
.pui-empty {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px;
  border: 1.5px dashed rgba(15, 23, 42, .15);
  border-radius: 12px;
  background: transparent;
  font: inherit;
  font-size: 14px;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.pui-empty:hover:not(:disabled) {
  border-color: #1565C0;
  background: rgba(21, 101, 192, .04);
}
.pui-empty:disabled {
  cursor: default;
}
.pui-empty__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(21, 101, 192, .1);
  flex: none;
}
.pui-empty__icon .v-icon {
  color: #1565C0 !important;
  font-size: 20px !important;
}
.theme--dark .pui-person:hover {
  background: rgba(255, 255, 255, .04);
}
.theme--dark .pui-person__contact {
  color: rgba(255, 255, 255, .7) !important;
}
.theme--dark .pui-empty {
  border-color: rgba(255, 255, 255, .18);
}


.ew-dots[data-v-4b06084a] {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 3px;
  vertical-align: middle;
}
.ew-dot[data-v-4b06084a] {
  width: 16px;
  height: 16px;
  border-radius: 5px;
  display: inline-grid;
  place-items: center;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  color: #FFFFFF;
}
.ew-dot--good[data-v-4b06084a] {
  background: #2E7D32;
}
.ew-dot--warn[data-v-4b06084a] {
  background: #B26A00;
}
.ew-dot--bad[data-v-4b06084a] {
  background: #C62828;
}
.ew-dot--muted[data-v-4b06084a] {
  background: rgba(15, 23, 42, .2);
  color: rgba(15, 23, 42, .7);
}
.theme--dark .ew-dot--good[data-v-4b06084a] {
  background: #43A047;
}
.theme--dark .ew-dot--warn[data-v-4b06084a] {
  background: #F0A030;
  color: #1E1E1E;
}
.theme--dark .ew-dot--bad[data-v-4b06084a] {
  background: #E57373;
  color: #1E1E1E;
}


.ew-todo[data-v-51cf45aa] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.ew-todo--dense[data-v-51cf45aa] {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
}
.ew-todo__course[data-v-51cf45aa], .ew-todo__tags[data-v-51cf45aa] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.ew-todo__link[data-v-51cf45aa] {
  max-width: 100%;
  text-decoration: none;
}
.ew-todo__text[data-v-51cf45aa] {
  overflow-wrap: anywhere;
}
.ew-todo__tag[data-v-51cf45aa] {
  height: auto;
  min-height: 20px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ew-todo__extra[data-v-51cf45aa] {
  font-size: 13px;
  white-space: pre-line;
  overflow-wrap: anywhere;
}


.complete-dialog__item[data-v-5e99b08b] {
  gap: 6px;
}
.complete-dialog__text[data-v-5e99b08b] {
  word-break: normal;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Descriptions may have several lines (e.g. to-dos of the absence early warning) */
.complete-dialog__text--multiline[data-v-5e99b08b] {
  white-space: pre-line;
}


.link-row[data-v-33100458] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-radius: 12px;
  background: rgba(15, 23, 42, .03);
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
}
.link-row[data-v-33100458]:hover {
  background: rgba(25, 118, 210, .08);
}
.link-row[data-v-33100458]:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 2px;
}
.theme--dark .link-row[data-v-33100458] {
  background: rgba(255, 255, 255, .05);
}
.theme--dark .link-row[data-v-33100458]:hover {
  background: rgba(144, 202, 249, .12);
}

/* Shared look of the dashboard: tiles, widget cards, rows (builds on modern.css and acquisitionViews.css) */
.dash-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 14px;
}
.dash-tile {
  position: relative;
  border: 0;
  padding: 16px;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  transition: box-shadow .2s ease, transform .2s ease;
}
.dash-tile:hover:not(.dash-tile--editing) {
  transform: translateY(-2px);
}
.dash-tile:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 2px;
}
.dash-tile--editing {
  cursor: default;
}
.dash-tile__value {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.dash-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 16px;
  align-items: start;
}
@media (max-width: 420px) {
.dash-grid {
    grid-template-columns: minmax(0, 1fr);
}
}
.dash-cell {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dash-cell--wide {
  grid-column: span 2;
}
@media (max-width: 760px) {
.dash-cell--wide {
    grid-column: auto;
}
}

/* Edit tools above a tile or widget */
.dash-edit {
  display: flex;
  align-items: center;
  gap: 2px;
  min-height: 30px;
}
.dash-edit__name {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dash-handle {
  cursor: grab;
}
.dash-editing .dash-cell > .acq-card {
  pointer-events: none;
  opacity: .72;
}
.dash-ghost {
  opacity: .35;
}
.dash-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.dash-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 12px 8px 16px;
}
.dash-card__icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex: none;
}
.dash-card__icon .v-icon {
  color: inherit !important;
}
.dash-card__title {
  flex: 1;
  min-width: 0;
}
.dash-card__body {
  padding: 0 8px 10px;
}
.dash-card__body--scroll {
  max-height: 340px;
  overflow-y: auto;
}
.dash-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid rgba(15, 23, 42, .06);
}
.theme--dark .dash-card__foot {
  border-top-color: rgba(255, 255, 255, .08);
}
.dash-icon-btn {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(15, 23, 42, .55);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  flex: none;
  text-decoration: none;
}
.dash-icon-btn:hover:not(:disabled) {
  background: rgba(15, 23, 42, .06);
  color: rgba(15, 23, 42, .9);
}
.dash-icon-btn:disabled {
  opacity: .4;
  cursor: default;
}
.dash-icon-btn:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 1px;
}
.dash-icon-btn .v-icon {
  color: inherit !important;
}
.theme--dark .dash-icon-btn {
  color: rgba(255, 255, 255, .62);
}
.theme--dark .dash-icon-btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, .08);
  color: #FFFFFF;
}
.dash-group {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 8px 4px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(15, 23, 42, .6);
}
.theme--dark .dash-group {
  color: rgba(255, 255, 255, .62);
}
.dash-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px;
  border-radius: 10px;
  font-size: 14px;
}
.dash-row--click {
  cursor: pointer;
}
.dash-row:hover {
  background: rgba(15, 23, 42, .04);
}
.theme--dark .dash-row:hover {
  background: rgba(255, 255, 255, .05);
}
.dash-row__main {
  flex: 1;
  min-width: 0;
}
.dash-row__title {
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dash-row__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  margin-top: 3px;
}
.dash-empty {
  padding: 26px 16px;
  text-align: center;
}
.dash-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 16px 8px;
}
.dash-pills .pill {
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
}
.dash-spin {
  animation: dash-spin 1s linear infinite;
}
@keyframes dash-spin {
to {
    transform: rotate(360deg);
}
}
@media (prefers-reduced-motion: reduce) {
.dash-spin {
    animation: none;
}
.dash-tile:hover:not(.dash-tile--editing) {
    transform: none;
}
}


.ntp-snooze__head[data-v-309bfdac] {
  height: 28px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ntp-snooze .v-icon[data-v-309bfdac], .ntf-act .v-icon[data-v-309bfdac] {
  color: inherit !important;
}


.ntf-row.ntf-row--opening[data-v-5e4cc2ff] {
  cursor: progress;
  opacity: .7;
}
.ntf-row[data-v-5e4cc2ff] {
  position: relative;
  display: flex;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 10px;
  margin: 0 6px;
  color: var(--sh-ink);
  font-size: 13px;
  outline: none;
}
.ntf-row--link[data-v-5e4cc2ff] {
  cursor: pointer;
}
.ntf-row[data-v-5e4cc2ff]:hover, .ntf-row[data-v-5e4cc2ff]:focus-visible, .ntf-row[data-v-5e4cc2ff]:focus-within {
  background: var(--sh-soft);
}
.ntf-row[data-v-5e4cc2ff]:focus-visible {
  box-shadow: inset 0 0 0 2px var(--sh-blue);
}
.ntf-row__icon[data-v-5e4cc2ff] {
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
}
.ntf-row__icon .v-icon[data-v-5e4cc2ff] {
  color: inherit !important;
}
.ntf-row__icon--info[data-v-5e4cc2ff] {
  background: #E8F1FD;
  color: #0D47A1;
}
.ntf-row__icon--good[data-v-5e4cc2ff] {
  background: #E7F6EC;
  color: #1B5E20;
}
.ntf-row__icon--warn[data-v-5e4cc2ff] {
  background: #FFF4DB;
  color: #7A4F00;
}
.ntf-row__icon--bad[data-v-5e4cc2ff] {
  background: #FDECEC;
  color: #B71C1C;
}
.ntf-row__icon--mention[data-v-5e4cc2ff] {
  background: #F1ECFB;
  color: #4527A0;
}
.ntf-row__icon--neutral[data-v-5e4cc2ff] {
  background: var(--sh-soft);
  color: var(--sh-muted);
}
.ntf-row__body[data-v-5e4cc2ff] {
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 12px;
}
.ntf-row__title[data-v-5e4cc2ff] {
  font-weight: 500;
  line-height: 1.35;
}
.ntf-row--unread .ntf-row__title[data-v-5e4cc2ff] {
  font-weight: 600;
}
.ntf-row__text[data-v-5e4cc2ff], .ntf-row__line[data-v-5e4cc2ff] {
  margin-top: 2px;
  color: var(--sh-ink);
  opacity: .82;
  line-height: 1.4;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ntf-row__line[data-v-5e4cc2ff] {
  color: var(--sh-muted);
  opacity: 1;
  font-size: 12px;
}
.ntf-row__hint[data-v-5e4cc2ff] {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 500;
}
.ntf-row__hint--bad[data-v-5e4cc2ff] {
  color: var(--sh-bad);
}
.ntf-row__hint--good[data-v-5e4cc2ff] {
  color: #1B5E20;
}
.ntf-row__count[data-v-5e4cc2ff] {
  display: inline-block;
  margin-left: 4px;
  padding: 0 7px;
  border-radius: 999px;
  background: #FDECEC;
  color: #B71C1C;
  font-size: 11px;
  font-weight: 700;
}
.theme--dark .ntf-row__count[data-v-5e4cc2ff] {
  background: rgba(239, 154, 154, .13);
  color: #EF9A9A;
}
.ntf-row__todo[data-v-5e4cc2ff] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}
.ntf-chip[data-v-5e4cc2ff] {
  height: 26px;
  padding: 0 9px;
  border-radius: 7px;
  border: 0;
  background: var(--sh-soft);
  color: var(--sh-ink);
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}
.ntf-chip .v-icon[data-v-5e4cc2ff] {
  color: inherit !important;
}
.ntf-chip--go[data-v-5e4cc2ff] {
  background: var(--sh-blue-soft);
  color: var(--sh-blue);
  font-weight: 500;
}
.ntf-chip[data-v-5e4cc2ff]:disabled {
  opacity: .6;
  cursor: default;
}
.ntf-chip[data-v-5e4cc2ff]:focus-visible {
  outline: 2px solid var(--sh-blue);
  outline-offset: 2px;
}
.ntf-row__time[data-v-5e4cc2ff] {
  margin-top: 3px;
  color: var(--sh-muted);
  font-size: 12px;
}
.ntf-row__time .v-icon[data-v-5e4cc2ff] {
  color: inherit !important;
}
.ntf-row__dot[data-v-5e4cc2ff] {
  position: absolute;
  top: 16px;
  right: 14px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sh-dot);
}
.ntf-row__actions[data-v-5e4cc2ff] {
  position: absolute;
  top: 6px;
  right: 8px;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border-radius: 10px;
  background: var(--sh-panel);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 4px 12px rgba(15, 23, 42, .1);
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
}
.ntf-row:hover .ntf-row__actions[data-v-5e4cc2ff], .ntf-row:focus-within .ntf-row__actions[data-v-5e4cc2ff] {
  opacity: 1;
  pointer-events: auto;
}
.ntf-act[data-v-5e4cc2ff], .ntf-act-wrap[data-v-5e4cc2ff] .v-btn, .ntf-act-wrap[data-v-5e4cc2ff] .ntf-act {
  width: 30px !important;
  height: 30px !important;
  border: 0;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: transparent;
  color: var(--sh-muted) !important;
  cursor: pointer;
  text-decoration: none;
}
.ntf-act-wrap[data-v-5e4cc2ff] .v-btn .v-icon {
  font-size: 18px !important;
}
.ntf-act[data-v-5e4cc2ff]:hover, .ntf-act[data-v-5e4cc2ff]:focus-visible, .ntf-act-wrap[data-v-5e4cc2ff] .v-btn:hover, .ntf-act-wrap[data-v-5e4cc2ff] .ntf-act:hover {
  background: var(--sh-soft);
  color: var(--sh-ink) !important;
}
.ntf-act .v-icon[data-v-5e4cc2ff] {
  color: inherit !important;
}

/* Touch devices have no hover: actions stay visible below the text */
@media (hover: none) {
.ntf-row[data-v-5e4cc2ff] {
    flex-wrap: wrap;
}
.ntf-row__actions[data-v-5e4cc2ff] {
    position: static;
    opacity: 1;
    pointer-events: auto;
    box-shadow: none;
    background: transparent;
    margin-left: 44px;
}
}
.theme--dark .ntf-row__icon--info[data-v-5e4cc2ff] {
  background: rgba(100, 181, 246, .16);
  color: #90CAF9;
}
.theme--dark .ntf-row__icon--good[data-v-5e4cc2ff] {
  background: rgba(102, 187, 106, .16);
  color: #A5D6A7;
}
.theme--dark .ntf-row__icon--warn[data-v-5e4cc2ff] {
  background: rgba(255, 183, 77, .16);
  color: #FFD180;
}
.theme--dark .ntf-row__icon--bad[data-v-5e4cc2ff] {
  background: rgba(239, 83, 80, .16);
  color: #EF9A9A;
}
.theme--dark .ntf-row__icon--mention[data-v-5e4cc2ff] {
  background: rgba(186, 104, 200, .16);
  color: #CE93D8;
}
.theme--dark .ntf-row__hint--good[data-v-5e4cc2ff] {
  color: #A5D6A7;
}
.theme--dark .ntf-row__actions[data-v-5e4cc2ff] {
  box-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .35);
}


.ntf-pop.v-menu__content {
  width: 400px;
  max-height: min(640px, calc(100vh - 72px)) !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ntf {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: inherit;
  color: var(--sh-ink);
}
.ntf__head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 10px 8px 16px;
}
.ntf__title {
  flex: 1 1 auto;
  font-size: 14px;
  font-weight: 600;
}
.ntf .ntf__head-btn {
  height: 30px;
  padding: 0 10px;
  font-size: 12px;
}
.ntf__mute.shell-ib {
  width: 32px;
  height: 32px;
}
.ntf__seg {
  padding: 0 16px 8px;
}
.ntf__note {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 16px 6px;
  padding: 6px 10px;
  border-radius: 8px;
  background: var(--sh-warn-soft);
  color: var(--sh-warn);
  font-size: 12px;
}
.ntf__note .v-icon {
  color: inherit !important;
}
.ntf__list {
  flex: 1 1 auto;
  min-height: 80px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: 6px;
  border-top: 1px solid var(--sh-line);
}
.ntf__day {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px 16px 4px;
  background: var(--sh-panel);
  color: var(--sh-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ntf__empty {
  padding: 36px 24px;
  text-align: center;
  color: var(--sh-muted);
  font-size: 13px;
}
.ntf__empty .v-icon {
  color: inherit !important;
  margin-bottom: 6px;
}
.ntf__empty-title {
  color: var(--sh-ink);
  font-weight: 600;
}
.ntf__foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-top: 1px solid var(--sh-line);
}
.ntf__foot:empty, .ntf__foot:not(:has(button)) {
  display: none;
}
.ntf__grow {
  flex: 1 1 auto;
}
.ntf .ntf__foot-btn {
  height: 30px;
  padding: 0 10px;
  font-size: 12px;
}

/* Phone: full-width sheet below the app bar */
@media (max-width: 599px) {
.ntf-pop.v-menu__content {
    left: 0 !important;
    right: 0 !important;
    top: 52px !important;
    width: 100vw;
    max-width: 100vw !important;
    min-width: 100vw !important;
    max-height: calc(100vh - 52px) !important;
    max-height: calc(100dvh - 52px) !important;
    border-radius: 0 0 16px 16px !important;
    border-left: 0;
    border-right: 0;
}
}


.text-container[data-v-13aa9686] {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}


.root {
  position: relative;
.v-text-field__slot textarea {
    opacity: 0;
}

  /*noinspection CssUnusedSymbol*/
.content .tiptap {
    overflow-y: scroll;
}
.content {
    position: absolute;
    top: -5px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    /*background-color: rgba(0, 0, 0, 0.1);*/
:focus {
      outline: none !important;
      border: none !important;
}

    /*noinspection CssUnusedSymbol*/
.tiptap {
      height: 100%;
      /*background-color: rgba(255,0,0,0.1);*/
}
}

  /*noinspection ALL*/
.html-content-input-textarea .v-label {
    background-color: white;
}
}
.html-content-input-root {
p {
    margin-top: 4px;
    margin-bottom: 8px;
}
}


@keyframes updateIndicator-57a26878 {
0% {
    transform: scale(1);
}
5% {
    transform: scale(1.2);
}
100% {
    transform: scale(1);
}
}
.debug-chip[data-v-57a26878] {
  background: rgba(100, 100, 100, 0.2) !important;
  animation: updateIndicator-57a26878 2s 1;
}
.debug-area[data-v-57a26878] {
  width: clamp(150px, 35vw, 400px);
  background-color: transparent;
  border-radius: 0;
  max-height: 100%;
  overflow-y: hidden;
  overflow-x: hidden;
  transition: 0.5s;
&.mobile[data-v-57a26878]:hover {
    margin: 12px;
    padding: 12px;
    background-color: rgba(100, 100, 100, 0.2);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    max-height: 300px;
}
}


/* Pause soll dauerhaft auffallen, ohne nach Stunden zu nerven: ruhiger Ring, der langsam aus dem Punkt läuft */
.pause-pulse[data-v-71525121] .v-badge__badge::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: inherit;
  animation: pause-pulse-71525121 2.5s ease-out infinite;
}
@keyframes pause-pulse-71525121 {
0% {
    opacity: 0.9;
    transform: scale(1);
}
70%, 100% {
    opacity: 0;
    transform: scale(3.2);
}
}
@media (prefers-reduced-motion: reduce) {
.pause-pulse[data-v-71525121] .v-badge__badge::after {
    animation: none;
}
}


.notification-area[data-v-e80584aa] {
  z-index: 4;
  position: fixed;
  right: 0;
  top: 52px;
  max-height: calc(100vh - 52px);
}
.notification-area > .notification-background[data-v-e80584aa] {
  position: absolute;
  top: 5px;
  right: 0;
  left: 30px;
  bottom: 10px;
  filter: blur(20px);
}

/* Follows the app theme (Hell / Dunkel / System), not only the operating system */
.notification-area > .notification-background[data-v-e80584aa] {
  background-color: rgba(230, 230, 255, 0.50);
}
.theme--dark .notification-area > .notification-background[data-v-e80584aa] {
  background-color: rgba(20, 20, 40, 0.5);
}



.cc[data-v-2d981aa6] {
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  z-index: 1001;
  width: calc(100vw - 32px);
  max-width: 560px;
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: #FFFFFF;
  color: rgba(15, 23, 42, .9);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 16px 40px rgba(15, 23, 42, .18);
  outline: none;
  font-size: 14px;
}
.cc--settings[data-v-2d981aa6] {
  max-width: 640px;
}
.cc__head[data-v-2d981aa6] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px 6px;
}
.cc__head-text[data-v-2d981aa6] {
  flex: 1 1 auto;
  min-width: 0;
}
.cc__avatar[data-v-2d981aa6], .cc-cat__icon[data-v-2d981aa6] {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
}
.cc__avatar-icon[data-v-2d981aa6] {
  color: inherit !important;
}
.cc__title[data-v-2d981aa6] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.cc__sub[data-v-2d981aa6] {
  font-size: 12px;
  color: rgba(15, 23, 42, .6);
}
.cc__icon-btn[data-v-2d981aa6] {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.cc__icon-btn[data-v-2d981aa6]:hover {
  background: rgba(15, 23, 42, .06);
}
.cc__icon-btn[data-v-2d981aa6]:focus-visible, .cc a[data-v-2d981aa6]:focus-visible {
  outline: 2px solid #1976D2;
  outline-offset: 2px;
}
.cc__body[data-v-2d981aa6] {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px 20px 4px;
}
.cc__text[data-v-2d981aa6] {
  margin: 0 0 10px;
  line-height: 1.5;
}
.cc__text--muted[data-v-2d981aa6] {
  color: rgba(15, 23, 42, .65);
}
.cc__text--small[data-v-2d981aa6] {
  font-size: 12px;
  margin-top: 10px;
}
.cc__tags[data-v-2d981aa6] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 6px;
}
.cc__cats[data-v-2d981aa6] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cc-cat[data-v-2d981aa6] {
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .04);
}
.cc-cat__head[data-v-2d981aa6] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cc-cat__title[data-v-2d981aa6] {
  flex: 1 1 auto;
  font-weight: 600;
}
.cc-cat__switch[data-v-2d981aa6] {
  flex: 0 0 auto;
}
.cc-cat__desc[data-v-2d981aa6] {
  margin: 8px 0 6px;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(15, 23, 42, .7);
}
.cc-cat .add-link[data-v-2d981aa6] {
  text-align: left;
  font-size: 12px;
}
.cc-cat__providers[data-v-2d981aa6] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.cc-prov[data-v-2d981aa6] {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #FFFFFF;
  font-size: 12px;
  line-height: 1.45;
}
.cc-prov__name[data-v-2d981aa6] {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 4px;
}
.cc-prov__company[data-v-2d981aa6] {
  font-weight: 400;
  color: rgba(15, 23, 42, .6);
}
.cc-prov__row[data-v-2d981aa6] {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 8px;
  margin-top: 2px;
}
.cc-prov dt[data-v-2d981aa6] {
  color: rgba(15, 23, 42, .55);
}
.cc-prov dd[data-v-2d981aa6] {
  margin: 0;
}
.cc__foot[data-v-2d981aa6] {
  padding: 12px 20px 14px;
}
.cc__actions[data-v-2d981aa6] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.cc__btn[data-v-2d981aa6] {
  width: 100%;
}
.cc__btn--wide[data-v-2d981aa6] {
  grid-column: 1 / -1;
}
.cc__links[data-v-2d981aa6] {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
  font-size: 12px;
  color: rgba(15, 23, 42, .5);
}
.cc__links a[data-v-2d981aa6] {
  color: rgba(15, 23, 42, .65);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cc__links a[data-v-2d981aa6]:hover {
  color: #1565C0;
}
.cc-slide-enter-active[data-v-2d981aa6], .cc-slide-leave-active[data-v-2d981aa6] {
  transition: opacity .2s ease, transform .2s ease;
}
.cc-slide-enter[data-v-2d981aa6], .cc-slide-leave-to[data-v-2d981aa6] {
  opacity: 0;
  transform: translate(-50%, 16px);
}

/* Telefon: volle Breite, am unteren Rand angedockt */
@media (max-width: 599px) {
.cc[data-v-2d981aa6] {
    left: 0;
    bottom: 0;
    transform: none;
    width: 100%;
    max-width: none;
    max-height: 88vh;
    border-radius: 16px 16px 0 0;
}
.cc--settings[data-v-2d981aa6] {
    max-width: none;
}
.cc__head[data-v-2d981aa6] {
    padding: 16px 16px 4px;
}
.cc__body[data-v-2d981aa6] {
    padding: 6px 16px 4px;
}
.cc__foot[data-v-2d981aa6] {
    padding: 10px 16px calc(12px + env(safe-area-inset-bottom));
}
.cc-slide-enter[data-v-2d981aa6], .cc-slide-leave-to[data-v-2d981aa6] {
    transform: translateY(16px);
}
.cc-prov__row[data-v-2d981aa6] {
    grid-template-columns: 1fr;
    gap: 0;
}
.cc-prov dt[data-v-2d981aa6] {
    font-size: 11px;
}
}
@media (prefers-reduced-motion: reduce) {
.cc-slide-enter-active[data-v-2d981aa6], .cc-slide-leave-active[data-v-2d981aa6] {
    transition: none;
}
}

/* Dark mode */
.theme--dark .cc[data-v-2d981aa6] {
  background: #1E1E1E;
  color: rgba(255, 255, 255, .9);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 16px 40px rgba(0, 0, 0, .55);
}
.theme--dark .cc__sub[data-v-2d981aa6], .theme--dark .cc__text--muted[data-v-2d981aa6], .theme--dark .cc-prov__company[data-v-2d981aa6], .theme--dark .cc-prov dt[data-v-2d981aa6] {
  color: rgba(255, 255, 255, .6);
}
.theme--dark .cc-cat__desc[data-v-2d981aa6] {
  color: rgba(255, 255, 255, .72);
}
.theme--dark .cc-cat[data-v-2d981aa6] {
  background: rgba(255, 255, 255, .06);
}
.theme--dark .cc-prov[data-v-2d981aa6] {
  background: rgba(255, 255, 255, .05);
}
.theme--dark .cc__icon-btn[data-v-2d981aa6]:hover {
  background: rgba(255, 255, 255, .08);
}
.theme--dark .cc__links[data-v-2d981aa6], .theme--dark .cc__links a[data-v-2d981aa6] {
  color: rgba(255, 255, 255, .6);
}
.theme--dark .cc__links a[data-v-2d981aa6]:hover {
  color: #90CAF9;
}
.theme--dark .cc .cta[data-v-2d981aa6]:not(.cta--primary) {
  background: rgba(144, 202, 249, .14);
  color: #90CAF9;
}
.theme--dark .cc .cta.cta--quiet[data-v-2d981aa6] {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .85);
}
.theme--dark .cc .add-link[data-v-2d981aa6] {
  color: rgba(255, 255, 255, .55);
}
.theme--dark .cc .add-link[data-v-2d981aa6]:hover {
  color: #90CAF9;
}

/*Required to detect auto-fill*/
@keyframes autofill-detection {
from {}
to {}
}
input:-webkit-autofill {
    animation-name: autofill-detection;
    animation-duration: 0.01s;
    animation-iteration-count: 1;
}
input:-webkit-autofill, input:autofill {
    animation-name: autofill-detection;
    animation-duration: 0.01s;
    animation-iteration-count: 1;
}
.v-tooltip__content {
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    background-color: rgba(50, 50, 50, 0.6) !important;
&.menuable__content__active {
        opacity: 1 !important;
}
}
.better-scrollbar::-webkit-scrollbar {
    width: 12px;
    background-clip: content-box;
    border: solid 4px transparent;
}

/* Track */
.better-scrollbar::-webkit-scrollbar-track {
    border: solid 4px transparent;

    background: #FFF4;
    background-clip: content-box;
    border-radius: 10px;
}

/* Handle */
.better-scrollbar::-webkit-scrollbar-thumb {
    border: solid 4px transparent;

    background-color: #FFFA;
    background-clip: content-box;
    box-sizing: initial;
    border-radius: 10px;
}

/* Handle on hover */
.better-scrollbar::-webkit-scrollbar-thumb:hover {
    border: solid 2px transparent;
}

/* Override for last p tag in v-card text to skip bottom margin */
.v-card__text > p:last-child {
    margin-bottom: 0 !important;
}
.full-width > .v-skeleton-loader__heading {
    width: 100% !important;
}
.no-user-select {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Old versions of Firefox */ /* Internet Explorer/Edge */
    user-select: none;
}
.clickable-data-table tr {
    cursor: pointer !important;
}
.mw-50 {
    min-width: 50px;
}
.mw-100 {
    min-width: 100px;
}
.mw-150 {
    min-width: 150px;
}
.mw-200 {
    min-width: 200px;
}
.mw-250 {
    min-width: 250px;
}
.mw-300 {
    min-width: 300px;
}
.mw-350 {
    min-width: 350px;
}
.mw-400 {
    min-width: 400px;
}
.mw-450 {
    min-width: 450px;
}
.mw-500 {
    min-width: 500px;
}
.no-translate {
    transform: none!important;
}
.nowrap {
    white-space: nowrap !important;
}
.nowrap * {
    white-space: nowrap !important;
}
.wrap-on-space {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
}
.wrap-on-space * {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
}
div[role="dialog"] {
.scroll-dialog {
        padding-top: 12px;
        max-height: calc(100vh - 150px);
        overflow-y: scroll;
}
@media (min-width: 600px) {
.scroll-dialog {
            max-height: calc(100vh - 250px);
}
}
.v-dialog--fullscreen {
.scroll-dialog {
            max-height: calc(100vh - 120px);
}
}
}
.v-skeleton-loader__image {
    min-height: 200px;
    height: 100% !important;
}

/*noinspection CssUnusedSymbol*/
.no-select, .no-select * {
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    cursor: grabbing;
}

/* Modern, slim scrollbars everywhere (Firefox + Chromium/Safari); .better-scrollbar keeps its own look */
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(15, 23, 42, .22) transparent;
}
*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    background: transparent;
}
*::-webkit-scrollbar-track {
    background: transparent;
}
*::-webkit-scrollbar-thumb {
    background-color: rgba(15, 23, 42, .2);
    border: 3px solid transparent;
    border-radius: 999px;
    background-clip: content-box;
}
*::-webkit-scrollbar-thumb:hover {
    background-color: rgba(15, 23, 42, .4);
}
*::-webkit-scrollbar-corner {
    background: transparent;
}
.theme--dark * {
    scrollbar-color: rgba(255, 255, 255, .25) transparent;
}
.theme--dark *::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, .22);
}
.theme--dark *::-webkit-scrollbar-thumb:hover {
    background-color: rgba(255, 255, 255, .4);
}

/* App shell (top bar, sidebar, footer): calm white surfaces, soft tones, same tokens in light and dark mode */
.v-application {
  --sh-bg: #F4F5F7;
  --sh-panel: #FFFFFF;
  --sh-ink: rgba(15, 23, 42, .88);
  --sh-muted: rgba(15, 23, 42, .56);
  --sh-line: rgba(15, 23, 42, .08);
  --sh-soft: rgba(15, 23, 42, .05);
  --sh-brand: #F2E7A6;
  --sh-brand-ink: #3D3510;
  --sh-blue: #1565C0;
  --sh-blue-soft: #E8F1FD;
  --sh-on-blue: #FFFFFF;
  --sh-warn: #7A4F00;
  --sh-warn-soft: #FFF4DB;
  --sh-bad: #B71C1C;
  --sh-pink: #E30888;
  --sh-dot: #E5484D;
  --sh-star: #F5A524;
  --sh-pop-shadow: 0 16px 40px rgba(15, 23, 42, .18);
}
.v-application.theme--dark {
  --sh-bg: #121417;
  --sh-panel: #1C1F24;
  --sh-ink: rgba(255, 255, 255, .9);
  --sh-muted: rgba(255, 255, 255, .56);
  --sh-line: rgba(255, 255, 255, .08);
  --sh-soft: rgba(255, 255, 255, .06);
  --sh-brand: #3A3420;
  --sh-brand-ink: #F2E7A6;
  --sh-blue: #90CAF9;
  --sh-blue-soft: rgba(144, 202, 249, .14);
  --sh-on-blue: #0B1A2B;
  --sh-warn: #FFD180;
  --sh-warn-soft: rgba(255, 209, 128, .13);
  --sh-bad: #EF9A9A;
  --sh-pink: #FF6FBE;
  --sh-pop-shadow: 0 16px 40px rgba(0, 0, 0, .5);
}

/* ---------- Top bar ---------- */
.v-app-bar.shell-top {
  background: var(--sh-panel) !important;
  color: var(--sh-ink);
  border-bottom: 1px solid var(--sh-line) !important;
}
.shell-top .v-toolbar__content {
  gap: 6px;
  padding: 0 12px;
}
.shell-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 10px;
  font-size: 17px;
  font-weight: 700;
  color: var(--sh-ink) !important;
  text-decoration: none;
  white-space: nowrap;
}
.shell-logo:hover {
  background: var(--sh-soft);
}
.shell-logo__mark {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: var(--sh-brand);
}
.shell-logo__mark .v-icon {
  color: var(--sh-brand-ink) !important;
}
.shell-env {
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--sh-warn-soft);
  color: var(--sh-warn);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.shell-cmd {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 560px;
  height: 36px;
  margin: 0 auto;
  padding: 0 12px;
  border: 0;
  border-radius: 12px;
  background: var(--sh-soft);
  color: var(--sh-muted);
  font: inherit;
  font-size: 14px;
  text-align: left;
  cursor: text;
}
.shell-cmd:hover {
  background: var(--sh-line);
}
.shell-cmd:focus-visible, .shell-ib:focus-visible, .shell-me:focus-visible, .shell-pill:focus-visible,
.shell-new:focus-visible, .sn-item:focus-visible, .shell-foot__link:focus-visible {
  outline: 2px solid var(--sh-blue);
  outline-offset: 1px;
}
.shell-cmd .v-icon {
  color: inherit !important;
}
.shell-cmd__text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v-application .shell-cmd kbd {
  padding: 2px 6px;
  border: 1px solid var(--sh-line);
  border-radius: 6px;
  background: var(--sh-panel);
  box-shadow: none;
  color: var(--sh-muted);
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
}
.shell-ib {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--sh-muted);
  cursor: pointer;
}
.shell-ib .v-icon {
  color: inherit !important;
}
.shell-ib:hover, .shell-ib--on {
  background: var(--sh-soft);
  color: var(--sh-ink);
}
.shell-count {
  position: absolute;
  top: 4px;
  right: 3px;
  display: grid;
  place-items: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--sh-dot);
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}
.shell-count--dot {
  top: 8px;
  right: 8px;
  min-width: 8px;
  width: 8px;
  height: 8px;
  padding: 0;
}
.shell-new {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: none;
  height: 36px;
  padding: 0 12px 0 8px;
  border: 0;
  border-radius: 10px;
  background: var(--sh-blue);
  color: var(--sh-on-blue);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.shell-new .v-icon {
  color: inherit !important;
}
.shell-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
  height: 30px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
.shell-pill__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}
.shell-pill--pulse .shell-pill__dot {
  animation: shell-pulse 1.6s ease-in-out infinite;
}
@keyframes shell-pulse {
50% {
    opacity: .3;
}
}
.shell-me {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
  height: 36px;
  padding: 0 6px 0 4px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--sh-ink);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.shell-me:hover {
  background: var(--sh-soft);
}
.shell-me .v-icon {
  color: var(--sh-muted) !important;
}
.shell-av {
  position: relative;
  display: inline-flex;
  flex: none;
}
.shell-av__status {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 10px;
  height: 10px;
  border: 2px solid var(--sh-panel);
  border-radius: 50%;
}
.shell-av__status--on {
  background: #2E7D32;
}
.shell-av__status--off {
  background: var(--sh-dot);
}

/* Popovers of the top bar (v-menu content) */
.shell-pop.v-menu__content {
  border: 1px solid var(--sh-line);
  border-radius: 14px !important;
  background: var(--sh-panel);
  box-shadow: var(--sh-pop-shadow) !important;
}
.shell-pop .v-list, .shell-pop .v-card, .shell-pop .v-sheet {
  background: transparent !important;
}
.shell-pop__title {
  padding: 14px 16px 6px;
  color: var(--sh-ink);
  font-size: 14px;
  font-weight: 600;
}
.shell-pop__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
}
.shell-pop__name {
  color: var(--sh-ink);
  font-weight: 600;
}
.shell-pop__sub {
  color: var(--sh-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.shell-pop__sep {
  height: 1px;
  margin: 4px 0;
  background: var(--sh-line);
}
.shell-pop .v-list-item {
  min-height: 38px;
}
.shell-pop .v-list-item__icon {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
  margin-right: 12px !important;
}

/* Appearance (Hell / Dunkel / System) in the profile menu */
.shell-theme {
  padding: 6px 16px 10px;
}
.shell-theme__label {
  margin-bottom: 6px;
  color: var(--sh-muted);
  font-size: 12px;
  font-weight: 500;
}

/* ---------- Sidebar ---------- */
.v-navigation-drawer.shell-side {
  background: var(--sh-panel) !important;
  border-right: 1px solid var(--sh-line);
}
.shell-side .v-navigation-drawer__border {
  display: none;
}
.shell-side .v-navigation-drawer__content {
  overflow: hidden;
}
.sn {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--sh-ink);
}
.sn-search {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
  height: 34px;
  margin: 12px;
  padding: 0 6px 0 10px;
  border-radius: 10px;
  background: var(--sh-soft);
  color: var(--sh-muted);
}
.sn-search .v-icon {
  color: inherit !important;
}
.sn-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--sh-ink);
  font: inherit;
  font-size: 14px;
}
.sn-search input::-moz-placeholder {
  color: var(--sh-muted);
}
.sn-search input::placeholder {
  color: var(--sh-muted);
}
.sn-search__clear {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.sn-nav {
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 8px 12px;
}
.sn--mini .sn-nav {
  padding-top: 8px;
}
.sn-sec {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 12px 10px 6px;
  color: var(--sh-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.sn-sec .v-icon {
  color: var(--sh-star) !important;
}
.sn-sec--toggle {
  width: 100%;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.sn-sec--toggle:hover, .sn-sec--toggle:focus-visible {
  color: var(--sh-ink);
}
.sn-sec .sn-sec__chev {
  color: inherit !important;
  opacity: .7;
  transition: transform .15s ease;
}
.sn-sec__chev--open {
  transform: rotate(90deg);
}
.sn-empty {
  padding: 12px 10px;
  color: var(--sh-muted);
  font-size: 13px;
}
.sn-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 36px;
  padding: 0 8px 0 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--sh-ink) !important;
  font: inherit;
  font-size: 14px;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.sn-item:hover {
  background: var(--sh-soft);
}
.sn-item--active, .sn-item--active:hover {
  background: var(--sh-blue-soft);
  color: var(--sh-blue) !important;
  font-weight: 500;
}
.sn-item__ic {
  flex: none;
  width: 20px;
  opacity: .75;
  color: inherit !important;
}
.sn-item--active .sn-item__ic {
  opacity: 1;
}
.sn-item--child {
  height: 34px;
  padding-left: 40px;
  font-size: 13.5px;
}
.sn-item--child .sn-item__ic {
  display: none;
}
.sn-item__lbl {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sn-item__hint {
  color: var(--sh-muted);
  font-size: 11px;
  font-weight: 400;
}
.sn-badge {
  flex: none;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
}
.sn-bdot {
  position: absolute;
  top: 6px;
  left: 30px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--sh-panel);
  border-radius: 50%;
  background: var(--sh-dot);
  box-sizing: content-box;
}
.sn-pin {
  display: grid;
  place-items: center;
  flex: none;
  width: 24px;
  height: 24px;
  margin-right: -4px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sh-muted);
  opacity: 0;
  cursor: pointer;
}
.sn-pin .v-icon {
  color: inherit !important;
}
.sn-item:hover .sn-pin, .sn-pin:focus-visible, .sn-pin--on {
  opacity: 1;
}
.sn-pin--on {
  color: var(--sh-star);
}
.sn-drag-ghost {
  opacity: .4;
}
.sn-chev {
  flex: none;
  opacity: .5;
  transition: transform .15s ease;
  color: inherit !important;
}
.sn-group--open > .sn-item .sn-chev {
  transform: rotate(90deg);
}
.sn-group--current > .sn-item {
  color: var(--sh-blue) !important;
}
.sn--mini .sn-item {
  justify-content: center;
  padding: 0;
}
.sn--mini .sn-item__ic {
  width: auto;
}
.sn-foot {
  flex: none;
  padding: 8px;
  border-top: 1px solid var(--sh-line);
}
.sn-flyout.v-menu__content {
  min-width: 220px;
  padding: 6px;
}
.sn-flyout .sn-item--child {
  padding-left: 10px;
}

/* ---------- Footer ---------- */
.v-footer.shell-foot {
  display: flex;
  align-items: center;
  gap: 6px 14px;
  flex-wrap: wrap;
  padding: 14px 24px;
  border-top: 1px solid var(--sh-line);
  background: transparent !important;
  color: var(--sh-muted);
  font-size: 12px;
}
.shell-foot__copy {
  cursor: default;
}
.shell-foot__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit !important;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}
.shell-foot__link:hover {
  color: var(--sh-blue) !important;
}
.shell-foot__link--cz {
  color: var(--sh-pink) !important;
  font-weight: 600;
}
.shell-foot__link--cz .v-icon {
  color: inherit !important;
}
@media (max-width: 599px) {
.shell-top .v-toolbar__content {
    gap: 2px;
    padding: 0 6px;
}
.shell-cmd {
    flex: 0 0 auto;
    width: 36px;
    margin: 0 0 0 auto;
    padding: 0;
    justify-content: center;
    background: transparent;
}
.shell-cmd__text, .shell-cmd kbd {
    display: none;
}
.v-footer.shell-foot {
    justify-content: center;
    padding: 12px 16px;
}
}

/* Navigation loading bar above the app bar */
.app-nav-loading {
  z-index: 10;
}

/* Shared tooltip of the v-tip directive; matches the Vuetify tooltip (same grey in light and dark theme) */
.app-tip {
  position: fixed;
  top: -9999px;
  left: -9999px;
  z-index: 10000;
  max-width: 280px;
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(97, 97, 97, .95);
  color: #fff;
  /* lives in <body>, outside .v-application: does not inherit the Vuetify font */
  font-family: 'Roboto', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: normal;
  text-transform: none;
  white-space: normal;
  overflow-wrap: break-word;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
  pointer-events: none;
  opacity: 0;
  transform: translateY(2px);
  transition: opacity .12s ease, transform .12s ease;
}

.app-tip--below {
  transform: translateY(-2px);
}

.app-tip--visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .app-tip {
    transition: none;
  }
}

/* Wrapper around a (possibly disabled) button that carries the tooltip, e.g. for a disabled reason */
.app-tip-wrap {
  display: inline-flex;
}

.app-tip-host > :disabled {
  pointer-events: none;
}

