/**
 * Contacts C1/C3/C4/C5/C6/C7: native navigation/list, groups, search and menus.
 * Light desktop/medium only; native tasks, data and compact layout stay owned
 * by Roundcube. Embedded forms/cards are owned by contact-details.css.
 */
@media screen and (min-width: 769px) {
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list {
    background: var(--cm-color-surface) !important;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-sidebar > .header .header-title {
    text-align: left;
    font-size: 14px;
    font-weight: 650;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #directorylist {
    padding: 6px 0 !important;
    background: transparent;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook :is(#directorylist, #savedsearchlist) li > a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    margin: 1px 8px 3px !important;
    padding: 6px 12px !important;
    line-height: 24px;
    font-size: 13px;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  /* Shared workspace rules cover only direct catalog children. Native groups
     are nested: give their own anchor the same inset neutral surface without
     flattening the tree or changing selection, expansion or group commands. */
  html:not(.iframe):not(.dark-mode) body.task-addressbook #directorylist li.contactgroup {
    border: 0 !important;
    background: transparent !important;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #directorylist li.contactgroup > a {
    box-sizing: border-box;
    width: calc(100% - 16px);
    border: 0 !important;
    border-radius: var(--cm-radius-row);
    color: var(--cm-color-text) !important;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #directorylist li.contactgroup > a:hover {
    background: var(--cm-color-surface-hover) !important;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #directorylist li.contactgroup.selected > a {
    background: var(--cm-color-accent-soft) !important;
    color: var(--cm-color-accent-strong) !important;
    font-weight: 600;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #directorylist li.addressbook > a::before {
    --cm-contact-icon: url("../assets/icons/ui/lucide/regular/users-round.svg");
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #directorylist li.contactgroup > a::before {
    --cm-contact-icon: url("../assets/icons/ui/lucide/regular/folder.svg");
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #directorylist li:is(.addressbook, .contactgroup) > a::before {
    content: "" !important;
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 0 !important;
    background: currentColor;
    -webkit-mask: var(--cm-contact-icon) center / contain no-repeat;
    mask: var(--cm-contact-icon) center / contain no-repeat;
    font-family: inherit !important;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .header {
    min-height: 58px;
    padding-inline: 8px;
    align-items: center;
  }

  html.layout-normal:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .header a:is(.back-sidebar-button, .toolbar-list-button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: var(--cm-radius-control);
    color: var(--cm-color-text-muted);
  }

  html.layout-normal:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .header {
    justify-content: flex-start;
    gap: 4px;
  }

  /* Elastic measures title margins for floated controls. This skin header is
     flex: those inline margins can exceed a medium pane and squeeze its back
     button offscreen. Let flex reserve native controls and truncate the title. */
  html.layout-normal:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .header .header-title {
    flex: 1 1 0%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-align: left;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .header a.back-sidebar-button { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/folder.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .header a.toolbar-list-button { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/ellipsis-vertical.svg"); }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .searchbar {
    height: 50px;
    padding: 7px 8px;
    gap: 4px;
    align-items: center;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .searchbar form {
    position: relative;
    min-width: 0;
    height: 36px;
    margin: 0;
    background: var(--cm-color-search);
    border-radius: var(--cm-radius-control);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .searchbar form::before {
    content: "" !important;
    position: absolute;
    top: 10px;
    left: 12px;
    width: 16px;
    height: 16px;
    margin: 0 !important;
    background: var(--cm-color-text-muted);
    -webkit-mask: url("../assets/icons/ui/lucide/regular/search.svg") center / contain no-repeat;
    mask: url("../assets/icons/ui/lucide/regular/search.svg") center / contain no-repeat;
    pointer-events: none;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list #searchform {
    height: 36px;
    padding: 0 34px 0 40px !important;
    border: 0 !important;
    border-radius: inherit;
    box-shadow: none;
    font-size: 13px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list #searchform:focus-visible {
    outline: 2px solid var(--cm-color-focus);
    outline-offset: -2px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .searchbar a.options {
    --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/list-filter.svg");
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin: 0;
    border-radius: var(--cm-radius-control);
    color: var(--cm-color-text-muted);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .header a.select {
    --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/square-check-big.svg");
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .header a.select::before,
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .header a:is(.back-sidebar-button, .toolbar-list-button)::before,
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .searchbar a.options::before {
    content: "" !important;
    display: block;
    width: 16px;
    height: 16px;
    margin: 0 !important;
    background: currentColor;
    -webkit-mask: var(--cm-contact-action-icon) center / contain no-repeat;
    mask: var(--cm-contact-action-icon) center / contain no-repeat;
    font-family: inherit !important;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-content > .header {
    justify-content: flex-start;
    padding-inline: 16px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu {
    display: flex;
    align-items: center;
    gap: 4px;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu > li {
    display: flex;
    align-items: center;
    height: 58px;
    float: none;
    border: 0;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu > li.spacer { display: none; }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a:not(.dropdown) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 36px;
    height: 36px;
    padding: 0 9px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--cm-color-text-muted);
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a::before {
    content: "" !important;
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin: 0 !important;
    background: currentColor;
    -webkit-mask: var(--cm-contact-action-icon) center / contain no-repeat;
    mask: var(--cm-contact-action-icon) center / contain no-repeat;
    font-family: inherit !important;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.create { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/plus.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.print { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/printer.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.delete { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/trash-2.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.search { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/search.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.import { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/download.svg"); transform: none; }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.export { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/external-link.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.more { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/ellipsis.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.select { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/square-check-big.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.dropdown { --cm-contact-action-icon: url("../assets/icons/ui/lucide/regular/chevron-down.svg"); }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu .dropbutton {
    display: inline-flex;
    align-items: center;
    border: 0;
    background: transparent;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.dropdown {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    color: var(--cm-color-text-muted);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.create {
    padding-inline: 12px;
    margin-right: 6px;
    color: var(--cm-color-on-action);
    background: var(--cm-color-accent-strong);
    font-weight: 600;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a:hover,
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .searchbar a.options:hover {
    color: var(--cm-color-text);
    background: var(--cm-color-surface-hover);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.create:hover {
    color: var(--cm-color-on-action);
    background: var(--cm-color-accent);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a.disabled { opacity: .4; }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a:focus-visible,
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list .searchbar a.options:focus-visible {
    outline: 2px solid var(--cm-color-focus);
    outline-offset: 2px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #contacts-table {
    background: var(--cm-color-surface);
    border: 0;
    border-collapse: separate;
    border-spacing: 0 4px;
    width: calc(100% - 16px);
    margin-inline: 8px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #contacts-table + .listing-info {
    color: var(--cm-color-text-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.65;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #contacts-table tbody td {
    padding: 12px 16px;
    border-bottom: 0;
    border-left: 0 !important;
    color: var(--cm-color-text);
    font-size: 14px;
    line-height: 1.5;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #contacts-table tr.selected > td {
    background: var(--cm-color-list-selected);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #contacts-table td.name {
    border-radius: 10px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #contacts-table tr.person > td.name::before {
    content: "" !important;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    vertical-align: -4px;
    background: url("../assets/icons/app/contacts.svg") center / contain no-repeat;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #contacts-table tr.focused > td.name:focus-visible {
    outline: 2px solid var(--cm-color-focus);
    outline-offset: -2px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .footer.pagenav > a {
    color: var(--cm-color-text-muted);
    border-radius: 9px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .footer.pagenav > a.firstpage { --cm-contact-page-icon: url("../assets/icons/ui/lucide/regular/chevrons-left.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .footer.pagenav > a.prevpage { --cm-contact-page-icon: url("../assets/icons/ui/lucide/regular/chevron-left.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .footer.pagenav > a.nextpage { --cm-contact-page-icon: url("../assets/icons/ui/lucide/regular/chevron-right.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .footer.pagenav > a.lastpage { --cm-contact-page-icon: url("../assets/icons/ui/lucide/regular/chevrons-right.svg"); }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #layout-list > .footer.pagenav > a::before {
    content: "" !important;
    display: block;
    width: 16px;
    height: 16px;
    margin: 0 !important;
    background: currentColor;
    -webkit-mask: var(--cm-contact-page-icon) center / contain no-repeat;
    mask: var(--cm-contact-page-icon) center / contain no-repeat;
    font-family: inherit !important;
  }

  /* C4: native in-place search options; checkbox state stays upstream-owned. */
  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu {
    background: var(--cm-color-surface);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .formcontent {
    padding: 12px 14px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .proplist {
    margin: 0;
    padding: 0;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .proplist li {
    margin: 0;
    padding: 6px 0;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .custom-control-label {
    color: var(--cm-color-text);
    font-size: 13px;
    line-height: 24px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--cm-color-accent-strong);
    background-color: var(--cm-color-accent-strong);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .custom-control-input:focus ~ .custom-control-label::before {
    outline: 2px solid var(--cm-color-focus);
    outline-offset: 2px;
    box-shadow: none;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .custom-control-input:disabled ~ .custom-control-label {
    color: var(--cm-color-text-muted);
    opacity: 0.55;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .formbuttons {
    padding: 8px 14px 16px;
    border: 0;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .btn.search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid var(--cm-color-accent-strong);
    border-radius: 10px;
    background: var(--cm-color-accent-strong);
    color: var(--cm-color-on-action);
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .btn.search::before {
    content: "" !important;
    display: block !important;
    width: 16px;
    height: 16px;
    margin: 0 !important;
    background: currentColor;
    -webkit-mask: url("../assets/icons/ui/lucide/regular/search.svg") center / contain no-repeat;
    mask: url("../assets/icons/ui/lucide/regular/search.svg") center / contain no-repeat;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .btn.search:is(:hover, :focus) {
    border-color: var(--cm-color-accent);
    background: var(--cm-color-accent);
    color: var(--cm-color-on-action);
    box-shadow: none;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #searchmenu .btn.search:focus-visible {
    outline: 2px solid var(--cm-color-focus);
    outline-offset: 2px;
  }

  /* Reuse the shared menu shell and its disabled/danger semantics. */
  html:not(.iframe):not(.dark-mode) body.task-addressbook #groupoptions-menu a.create { --cm-menu-icon: url("../assets/icons/ui/lucide/regular/plus.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #groupoptions-menu a.rename { --cm-menu-icon: url("../assets/icons/ui/lucide/regular/pencil.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #groupoptions-menu a.search:not(.delete) { --cm-menu-icon: url("../assets/icons/ui/lucide/regular/save.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #groupoptions-menu a.delete { --cm-menu-icon: url("../assets/icons/ui/lucide/regular/trash-2.svg"); }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #groupoptions-menu a:is(.create, .rename, .search, .delete)::before {
    display: block !important;
  }

  /* Actual native contact actions; reuse the shared 16px optical menu artwork.
     Missing classes are deliberately not mapped globally to plugin menus. */
  html:not(.iframe):not(.dark-mode) body.task-addressbook #contact-menu a.qrcode { --cm-menu-icon: url("../assets/icons/ui/lucide/regular/qr-code.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #contact-menu a.assigngroup { --cm-menu-icon: url("../assets/icons/ui/lucide/regular/folder-input.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #contact-menu a.removegroup { --cm-menu-icon: url("../assets/icons/ui/lucide/regular/folder-minus.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook #contact-menu a.copy { --cm-menu-icon: url("../assets/icons/ui/lucide/regular/copy.svg"); }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #contact-menu a:is(.qrcode, .assigngroup, .removegroup, .copy)::before {
    display: block !important;
    color: inherit !important;
  }

  /* Elastic paints the open submenu's arrow white; the neutral hover is light. */
  html:not(.iframe):not(.dark-mode) body.task-addressbook #contact-menu a[aria-haspopup="true"]::after {
    color: inherit !important;
  }

  /* Only Elastic's observed naming prompt, not every Contacts dialog. */
  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) {
    max-width: calc(100vw - 32px);
    border: 1px solid var(--cm-color-border);
    border-radius: 16px;
    background: var(--cm-color-surface);
    color: var(--cm-color-text);
    box-shadow: var(--cm-shadow-popover);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .ui-dialog-titlebar {
    padding: 18px 54px 16px 20px;
    border: 0;
    border-radius: 16px 16px 0 0;
    background: transparent;
    color: var(--cm-color-text);
    font-size: 14px;
    font-weight: 650;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .ui-dialog-content {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    padding: 0 20px !important;
    border: 0;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .ui-dialog-title {
    padding: 0;
    font-size: 14px;
    font-weight: 650;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #dialog-input-elastic {
    min-height: 36px;
    border: 1px solid var(--cm-color-border);
    border-radius: 10px;
    background: var(--cm-color-surface);
    color: var(--cm-color-text);
    font-size: 13px;
    box-shadow: none;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook #dialog-input-elastic:focus {
    border-color: var(--cm-color-focus);
    outline: 2px solid var(--cm-color-focus);
    outline-offset: -2px;
    box-shadow: none;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .col-form-label {
    color: var(--cm-color-text-muted);
    font-size: 12px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .ui-dialog-buttonpane {
    margin: 0;
    padding: 14px 20px 18px;
    border: 0;
    border-radius: 0 0 16px 16px;
    background: transparent;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .ui-dialog-buttonset {
    display: flex;
    gap: 8px;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .ui-dialog-buttonpane button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    margin: 0;
    padding: 7px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: var(--cm-color-surface-hover);
    color: var(--cm-color-text);
    font-size: 13px;
    line-height: 20px;
    box-shadow: none;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .ui-dialog-buttonpane button.mainaction {
    background: var(--cm-color-accent-strong);
    color: var(--cm-color-on-action);
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) button:is(.mainaction, .cancel, .ui-dialog-titlebar-close)::before {
    content: "" !important;
    display: block !important;
    width: 16px;
    height: 16px;
    margin: 0 !important;
    background: currentColor;
    -webkit-mask: var(--cm-contact-prompt-icon) center / contain no-repeat;
    mask: var(--cm-contact-prompt-icon) center / contain no-repeat;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) button.mainaction { --cm-contact-prompt-icon: url("../assets/icons/ui/lucide/regular/check.svg"); }
  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) button:is(.cancel, .ui-dialog-titlebar-close) { --cm-contact-prompt-icon: url("../assets/icons/ui/lucide/regular/x.svg"); }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) .ui-dialog-titlebar-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--cm-color-text-muted);
    box-shadow: none;
  }

  html:not(.iframe):not(.dark-mode) body.task-addressbook .ui-dialog:has(#dialog-input-elastic) button:focus-visible {
    outline: 2px solid var(--cm-color-focus);
    outline-offset: 2px;
    box-shadow: none;
  }
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
  html:not(.iframe):not(.dark-mode) body.task-addressbook #toolbar-menu a:not(.create) .inner {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
