/* Shared RacquetTour treatment for contacts, settings, dialogs and forms. */
body:not(.task-login) { background: var(--rt-canvas); }
body:not(.task-login) #layout { background: var(--rt-canvas); }
body:not(.task-login) #layout-menu { border: 0; background: var(--rt-canvas) !important; }
body #layout-menu .popover-header, body #taskmenu .special-buttons { background: transparent !important; }
body #taskmenu a { color: #4b6372; }
body #taskmenu a:hover { color: var(--rt-blue); background: #e5eef4; }
body #taskmenu a.selected { color: #014da4; background: #e1efff; }
body #taskmenu a.logout { color: #b42318; }
body #layout-sidebar, body #layout-list, body #layout-content { border-color: #e4ebef; background: #fff; }
body #layout > div > .header { border-color: #e8eef1; background: #fff; color: var(--rt-ink); }
body .header-title { font-weight: 700; letter-spacing: -.2px; }
body .toolbar a:not(.disabled) { color: #486170; }
body .toolbar a:hover:not(.disabled) { color: var(--rt-blue); background: #eaf4ff; }
body .toolbar a.disabled, body button:disabled { opacity: .42; }
body .listing li, body .listing td { border-color: #edf1f3; }
body .listing li > a, body .listing td { color: #405765; }
body .listing li > a:hover, body .listing tr:hover:not(.selected) td { background: #f4f8fb; }
body .listing li.selected > a, body .listing tr.selected td { color: #013f87; background: #e5f2ff; }
body .listing li.selected > a { box-shadow: inset 3px 0 var(--rt-blue); }
body .form-control, body .custom-select { border-color: #cbd7dd; border-radius: 9px; }
body .form-control:focus, body .custom-select:focus { border-color: var(--rt-blue); box-shadow: 0 0 0 3px rgba(3,115,250,.12); }
body .formbuttons { border-color: #e8eef1; background: #fff; }
body .formbuttons .btn-primary { border-radius: 10px; background: var(--rt-blue); box-shadow: 0 7px 16px rgba(3,115,250,.18); font-weight: 700; }
body .formbuttons .btn-secondary { border-color: #cbd7dd; border-radius: 10px; color: #3d5665; background: #f5f8fa; }
body .formcontent fieldset legend { color: var(--rt-navy); font-weight: 700; }
body .table-responsive, body .boxcontent { border-color: #e6edef; border-radius: 12px; }

body:is(.task-settings,.task-addressbook) #layout-sidebar { border: 0; background: var(--rt-canvas); }
body:is(.task-settings,.task-addressbook) #layout-sidebar > .header { padding-inline: 20px; border: 0; background: transparent; }
body:is(.task-settings,.task-addressbook) #layout-sidebar .listing { padding: 8px 12px; }
body:is(.task-settings,.task-addressbook) #layout-sidebar .listing li { border: 0; }
body:is(.task-settings,.task-addressbook) #layout-sidebar .listing li > a { min-height: 44px; margin: 3px 0; padding: 12px 15px; border-radius: 11px; }
body:is(.task-settings,.task-addressbook) #layout-sidebar .listing li.selected > a { color: #013f87; background: #e3f0ff; font-weight: 700; }
body:is(.task-settings,.task-addressbook) #layout-list .listing td { height: auto; padding: 15px 18px; }
body:is(.task-settings,.task-addressbook) #layout-list .listing tr.selected td { box-shadow: inset 3px 0 var(--rt-blue); }
body:is(.task-settings,.task-addressbook) #layout-content > .header { padding-inline: 18px; }
body #contact-details .contact-header { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid #e8eef1; }
body #contact-details .contact-photo { border: 3px solid #fff; border-radius: 18px; box-shadow: 0 8px 22px rgba(2,13,33,.13); }

body .popupmenu, body .popover { overflow: hidden; border: 1px solid #e2e9ed; border-radius: 13px; box-shadow: 0 12px 35px rgba(2,13,33,.16); }
body .popupmenu .listing { padding: 6px; }
body .popupmenu .listing li { border: 0; }
body .popupmenu .listing li a { padding: 10px 14px; border-radius: 8px; color: #3d5665; }
body .popupmenu .listing li a:hover { color: #014da4; background: #e8f3ff; }
body .popover-header { color: var(--rt-ink); background: #f4f8fa; border-color: #e7edef; }
body .ui-dialog { overflow: hidden; border: 0; border-radius: 16px; box-shadow: 0 24px 70px rgba(2,13,33,.25); }
body .ui-dialog .ui-dialog-titlebar { border: 0; background: var(--rt-navy); color: #fff; }
body .ui-dialog .ui-dialog-buttonpane { border-color: #e8eef1; background: #f8fafb; }
body .ui-dialog .ui-dialog-buttonset button { border-radius: 9px; }
body .quota-widget .bar { border-radius: 8px; background: #dde7eb; }
body .quota-widget .value { border-radius: 8px; background: linear-gradient(90deg, var(--rt-blue), #2998ff); }
body .notice { border-color: #b8d9fb; border-radius: 11px; color: #164c7e; background: #edf6ff; }
body .warning { border-color: #e2b93b; border-radius: 11px; }
body .error { border-color: #d92d20; border-radius: 11px; }
body.task-error #layout-content { padding: 36px; }

@media screen and (min-width: 1201px) {
  body:is(.task-settings,.task-addressbook) #layout:has(> #layout-menu) {
    display: grid;
    grid-template-columns: 255px minmax(340px, 430px) minmax(480px, 1fr);
    grid-template-rows: 78px minmax(0, 1fr);
    gap: 0;
    padding: 0 16px 16px;
  }
  body:is(.task-settings,.task-addressbook) #layout > #layout-menu { grid-column: 1 / -1; grid-row: 1; display: flex; align-items: center; width: auto; padding: 0 4px; overflow: visible; }
  body:is(.task-settings,.task-addressbook) #layout-menu .popover-header { display: flex !important; align-items: center; width: 230px; height: 78px; padding: 0 !important; }
  body:is(.task-settings,.task-addressbook) #layout-menu .popover-header img { width: 190px; max-width: 190px; max-height: 48px; object-fit: contain; object-position: left center; }
  body:is(.task-settings,.task-addressbook) #taskmenu { display: flex; align-items: center; justify-content: flex-end; flex: 1; height: 78px; overflow: visible; }
  body:is(.task-settings,.task-addressbook) #taskmenu .special-buttons { position: static !important; display: flex; width: auto; padding: 0; }
  body:is(.task-settings,.task-addressbook) #taskmenu .action-buttons { display: flex; width: auto; flex-shrink: 0; }
  body #taskmenu > a, body #taskmenu .special-buttons > a { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; margin: 0 2px; padding: 0 10px; border-radius: 11px; }
  body #taskmenu > a .inner { display: inline !important; width: auto !important; margin-left: 8px; font-size: 12px; }
  body #taskmenu .special-buttons > a .inner { position: absolute; width: 1px !important; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
  body #taskmenu > a::before, body #taskmenu .special-buttons > a::before { margin: 0 !important; font-size: 17px; }
  body:is(.task-settings,.task-addressbook) #taskmenu a.compose, body.task-mail.action-compose #taskmenu a.compose { display: flex; align-items: center; gap: 8px; width: auto; min-width: 124px; max-width: none; height: 42px; margin-right: 12px; padding: 0 17px; border-radius: 11px; color: var(--rt-navy); background: var(--rt-lime); font-weight: 700; }
  body:is(.task-settings,.task-addressbook) #layout-sidebar { grid-column: 1; grid-row: 2; width: auto !important; min-width: 0; max-width: none; }
  body:is(.task-settings,.task-addressbook) #layout-list { grid-column: 2; grid-row: 2; width: auto !important; min-width: 0; max-width: none; overflow: hidden; border: 0; border-right: 1px solid #e4ebef; border-radius: 20px 0 0 20px; }
  body:is(.task-settings,.task-addressbook) #layout-content { grid-column: 3; grid-row: 2; min-width: 0; overflow: hidden; border: 0; border-radius: 0 20px 20px 0; }
  body:is(.task-settings,.task-addressbook) #layout > div > .header { min-height: 64px; height: 64px; }
  body:is(.task-settings,.task-addressbook) #layout-list > .header .header-title { display: block !important; padding-inline: 21px; text-align: left; }
  body:is(.task-settings,.task-addressbook) #layout:not(:has(> #layout-list)) > #layout-content { grid-column: 2 / -1; border-radius: 20px; }
  body.task-mail.action-compose #layout { padding: 0 16px 16px; background: var(--rt-canvas); }
  body.task-mail.action-compose #layout-content, body.task-mail.action-compose #layout-sidebar.sidebar-right { border-radius: 20px; box-shadow: var(--rt-shadow); }
}

@media screen and (max-width: 1200px) {
  body #layout-menu .popover-header img { max-height: 38px; }
  body #taskmenu a { border-radius: 10px; margin: 4px; }
  body:is(.task-settings,.task-addressbook) #layout-sidebar .listing { padding-inline: 6px; }
  body:is(.task-settings,.task-addressbook) #layout-list .listing td { padding: 13px 12px; }
}

@media print {
  body, body #layout, body #layout-content { background: #fff !important; }
  body .formbuttons, body #taskmenu { display: none !important; }
}
