/*
 * Webmail skin — Larry parent + visual language overrides.
 * Loaded for every task. Task-specific overrides live in:
 *   mailvo/mail.css       (imports larry/mail.css + LP overrides)
 *   mailvo/addressbook.css (likewise)
 *   mailvo/settings.css   (likewise)
 */
@import url("../larry/styles.css");

/* =========================================================================
   DESIGN TOKENS — :root variables
   ========================================================================= */
:root {
	--mv-bg:        #0b1020;
	--mv-bg-soft:   #111733;
	--mv-canvas:    #f1f5f9;
	--mv-card:      #ffffff;
	--mv-ink:       #0f172a;
	--mv-ink-soft:  #475569;
	--mv-ink-mute:  #64748b;
	--mv-accent:    #6366f1;
	--mv-acc-str:   #4f46e5;
	--mv-acc-dark:  #4338ca;
	--mv-acc-soft:  #eef2ff;
	--mv-acc-soft2: #e0e7ff;
	--mv-border:    #e2e8f0;
	--mv-border-2:  #cbd5e1;
	--mv-radius:    12px;
	--mv-radius-sm: 8px;
	--mv-shadow-sm: 0 1px 2px rgba(15,23,42,0.05), 0 1px 1px rgba(15,23,42,0.03);
	--mv-shadow-md: 0 4px 12px -2px rgba(15,23,42,0.10), 0 2px 4px -2px rgba(15,23,42,0.06);
	--mv-shadow-lg: 0 10px 30px -8px rgba(15,23,42,0.20);
}

/* =========================================================================
   TYPOGRAPHY — Inter stack everywhere
   ========================================================================= */
html, body, button, input, textarea, select,
.recipient-input, .boxtitle, .toolbar, .toolbar a,
.button, .popupmenu, .menu, .tabsbar, .listing {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI',
	             Roboto, 'Helvetica Neue', Arial, sans-serif !important;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6, .boxtitle, #message-header .subject {
	letter-spacing: -0.01em;
}

/* =========================================================================
   GLOBAL SURFACES
   ========================================================================= */
body {
	background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%) !important;
	background-attachment: fixed !important;
	color: var(--mv-ink) !important;
}

/* DIAGNOSTIC MARKER — a 4px indigo strip across the very top of every page.
   If you don't see this strip after a hard reload (Ctrl+Shift+R), then this
   stylesheet isn't being applied (browser cache or skin not switched). */
html::before {
	content: "";
	position: fixed;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, #6366f1 0%, #4f46e5 50%, #4338ca 100%);
	z-index: 99999;
	pointer-events: none;
}
body.minwidth #mainscreen,
#mainscreen {
	background: var(--mv-canvas);
}

/* =========================================================================
   TOP HEADER — Navy gradient (LP nav style)
   ========================================================================= */
/* #topline (username + abmelden bar) is redundant — logout button already
   lives in the taskbar. Hide it and pull #mainscreen up to fill the freed
   space so the rest of the layout stays compact. */
#topline {
	display: none !important;
}
#mainscreen {
	top: 64px !important;
}
#topnav {
	background: linear-gradient(180deg, #0b1020 0%, #111733 100%) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
	margin-bottom: 14px;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.18);
	display: flex !important;
	align-items: center;
	gap: 14px;
	padding: 0 14px !important;
	height: 46px;
	position: relative;
	z-index: 100;        /* sit above #mainscreen so tooltips dropping below the bar aren't covered */
}
/* Logo: don't shrink */
#topnav #toplogo {
	order: 0;
	flex-shrink: 0;
	position: static !important;
	height: 30px;
}
/* Mail toolbar: flexible width that can shrink, but not grow past content */
#topnav #messagetoolbar.mv-in-topnav {
	order: 1;
	flex: 0 1 auto;
}
/* Search: expands to fill remaining center space */
#topnav #messagesearchtools.mv-in-topnav {
	order: 2;
	flex: 1 1 auto;
	justify-content: center;
	min-width: 0;
}
/* Taskbar: stays right, no float anymore (flex handles it) */
#topnav #taskbar.topright {
	order: 3;
	float: none !important;
	flex-shrink: 0;
	margin-left: auto;
	padding-right: 0 !important;
}
#topline a, #topnav a { color: #e2e8f0 !important; }
#topline .topleft a { color: #94a3b8 !important; }
#topline .topleft a:hover { color: #fff !important; text-decoration: none; }
#topline span.username { color: #c7d2fe !important; font-weight: 500; }

#toplogo {
	height: 32px;
	width: auto;
	padding: 6px 0 0 4px;
}

/* Taskbar (Mail / Contacts / Settings) — pill buttons with indigo selection */
#taskbar a.button {
	color: #cbd5e1 !important;
	transition: background-color .15s ease, color .15s ease;
	border-radius: var(--mv-radius-sm);
	margin: 0 2px;
}
#taskbar a.button:hover {
	color: #fff !important;
	background-color: rgba(99, 102, 241, 0.12) !important;
}
#taskbar a.button-selected,
#taskbar a.button-selected:hover {
	background-color: rgba(99, 102, 241, 0.22) !important;
	color: #fff !important;
	box-shadow: inset 0 -2px 0 var(--mv-accent);
}

/* =========================================================================
   TASKBAR ICONS — replace Larry's sprite (buttons.png) with Lucide outline
   SVG icons via CSS mask. Consistent stroke, sizing and color.
   ========================================================================= */
/* Larry's taskbar anchors use class names like "button-mail" / "button-addressbook"
   (composite class, no standalone .button). Match any taskbar <a>. */
#taskbar > a {
	position: relative;
}
#taskbar > a span.button-inner {
	background-image: none !important;
	filter: none !important;
	position: relative;
	padding: 0 !important;
	font-size: 0 !important;
	color: transparent !important;
	width: 28px;
	height: 28px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
#taskbar > a span.button-inner::before {
	content: "";
	width: 22px;
	height: 22px;
	background-color: #cbd5e1;
	-webkit-mask-position: center;  mask-position: center;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-size: contain;     mask-size: contain;
	transition: background-color .12s ease;
}
#taskbar > a:hover span.button-inner::before,
#taskbar > a.button-selected span.button-inner::before { background-color: #ffffff; }

/* Hover-tooltip below the button.
   Larry's ui.js injects <span class="tooltip">LABEL</span> per taskbar <a>.
   We DO NOT use that injected span — its inner HTML is a clone of .button-inner
   which we've forced to font-size:0/color:transparent for icon-only rendering,
   and those styles leak onto the cloned content. Instead: hide it entirely and
   render our own tooltip via ::after + attr(title) — clean text, full control. */
#taskbar > a .tooltip,
#taskbar .tooltip {
	display: none !important;
	visibility: hidden !important;
}

#taskbar > a::after {
	content: attr(data-tip);
	position: absolute;
	left: 50%;
	top: calc(100% + 6px);
	transform: translateX(-50%);
	background: #0b1020;
	color: #ffffff;
	font-size: 12px;
	line-height: 1;
	font-weight: 500;
	font-family: inherit;
	padding: 5px 10px;
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 6px;
	white-space: nowrap;
	pointer-events: none;
	z-index: 1000;
	box-shadow: 0 6px 18px rgba(0,0,0,0.40);
	opacity: 0;
	visibility: hidden;
	transition: opacity .12s ease, visibility 0s linear .12s;
}
#taskbar > a:hover::after,
#taskbar > a:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transition: opacity .12s ease;
}

/* Mail (inbox-tray) */
#taskbar a.button-mail span.button-inner::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='22 12 16 12 14 15 10 15 8 12 2 12'/><path d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='22 12 16 12 14 15 10 15 8 12 2 12'/><path d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/></svg>");
}
/* Addressbook (users) */
#taskbar a.button-addressbook span.button-inner::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>");
}
/* Settings (sliders for consistency with section icons) */
#taskbar a.button-settings span.button-inner::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='4' y1='21' x2='4' y2='14'/><line x1='4' y1='10' x2='4' y2='3'/><line x1='12' y1='21' x2='12' y2='12'/><line x1='12' y1='8' x2='12' y2='3'/><line x1='20' y1='21' x2='20' y2='16'/><line x1='20' y1='12' x2='20' y2='3'/><line x1='1' y1='14' x2='7' y2='14'/><line x1='9' y1='8' x2='15' y2='8'/><line x1='17' y1='16' x2='23' y2='16'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='4' y1='21' x2='4' y2='14'/><line x1='4' y1='10' x2='4' y2='3'/><line x1='12' y1='21' x2='12' y2='12'/><line x1='12' y1='8' x2='12' y2='3'/><line x1='20' y1='21' x2='20' y2='16'/><line x1='20' y1='12' x2='20' y2='3'/><line x1='1' y1='14' x2='7' y2='14'/><line x1='9' y1='8' x2='15' y2='8'/><line x1='17' y1='16' x2='23' y2='16'/></svg>");
}
/* Calendar (calendar icon) */
#taskbar a.button-calendar span.button-inner::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");
}
/* Logout (door + arrow) */
#taskbar a.button-logout span.button-inner::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/><polyline points='16 17 21 12 16 7'/><line x1='21' y1='12' x2='9' y2='12'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/><polyline points='16 17 21 12 16 7'/><line x1='21' y1='12' x2='9' y2='12'/></svg>");
}
/* Larry sets `.button-selected` with #2c2c2c background — kill that for our indigo */
#taskbar a.button.button-selected,
#taskbar a.button-selected {
	background-color: rgba(99,102,241,0.22) !important;
	color: #ffffff !important;
	box-shadow: inset 0 -2px 0 var(--mv-accent);
}

/* =========================================================================
   Search bar relocated into #topnav (Webmail JS moves #messagesearchtools).
   Position it centered, style for dark navy header.
   ========================================================================= */
#topnav #messagesearchtools.mv-in-topnav {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	display: flex !important;
	align-items: center;
	gap: 8px;
}
/* Hide the "Alle/Ungelesen" filter dropdown — search options menu covers it */
#topnav #messagesearchtools.mv-in-topnav #searchfilter { display: none !important; }
/* The search input pill — white field with dark text. Same height as the
   toolbar pill (32px). Internal position:relative so the gear icon
   positions inside the pill instead of relative to #topnav. */
#topnav #messagesearchtools.mv-in-topnav #quicksearchbar {
	position: relative !important;
	top: auto !important;
	background: #ffffff !important;
	border: 1px solid rgba(255,255,255,0.18) !important;
	border-radius: 999px !important;
	padding: 0 14px 0 34px !important;
	height: 32px !important;
	width: clamp(160px, 28vw, 320px) !important;
	box-shadow: 0 1px 2px rgba(0,0,0,0.15);
	color: var(--mv-ink) !important;
	display: flex;
	align-items: center;
}
/* On very narrow viewports collapse the shortcut hint badge so the input
   gets the full available width */
@media (max-width: 900px) {
	#topnav #messagesearchtools.mv-in-topnav #quicksearchbar .mv-search-hint {
		display: none !important;
	}
	#topnav #messagesearchtools.mv-in-topnav #quicksearchbar {
		padding-right: 14px !important;
	}
}
/* Below ~720px hide the search bar entirely to give the taskbar full room.
   User can still use Ctrl/Cmd+K when in a wider window. */
@media (max-width: 720px) {
	#topnav #messagesearchtools.mv-in-topnav {
		display: none !important;
	}
}
#topnav #messagesearchtools.mv-in-topnav #quicksearchbar:focus-within {
	background: #ffffff !important;
	border-color: var(--mv-accent) !important;
	box-shadow: 0 0 0 3px rgba(99,102,241,0.35) !important;
}
#topnav #messagesearchtools.mv-in-topnav #quicksearchbar input,
#topnav #messagesearchtools.mv-in-topnav #quicksearchbox {
	background: transparent !important;
	border: 0 !important;
	color: var(--mv-ink) !important;
	box-shadow: none !important;
	padding: 0 !important;
	height: 26px !important;
	width: 100%;
	font-size: 0.85rem;
}
#topnav #messagesearchtools.mv-in-topnav #quicksearchbar input::placeholder,
#topnav #messagesearchtools.mv-in-topnav #quicksearchbox::placeholder {
	color: var(--mv-ink-mute) !important;
}
/* Search-options gear (left of input) — clean gear icon, "Optionen" label hidden.
   Positions inside #quicksearchbar (which is now position:relative). */
#topnav #messagesearchtools.mv-in-topnav #searchmenulink {
	position: absolute !important;
	left: 8px !important;
	top: 50% !important;
	transform: translateY(-50%);
	width: 20px !important;
	height: 20px !important;
	background: none !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 4px !important;
	padding: 0 !important;
	margin: 0 !important;
	filter: none !important;
	overflow: hidden !important;
	white-space: nowrap;
	font-size: 0 !important;       /* hides the "Optionen" / "options" text label */
	color: transparent !important;
	cursor: pointer;
	transition: background-color .12s ease;
}
#topnav #messagesearchtools.mv-in-topnav #searchmenulink::before {
	content: "";
	position: absolute;
	inset: 2px;
	background-color: var(--mv-ink-mute);
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/></svg>") no-repeat center / contain;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/></svg>") no-repeat center / contain;
	transition: background-color .12s ease;
}
#topnav #messagesearchtools.mv-in-topnav #searchmenulink:hover {
	background-color: var(--mv-acc-soft) !important;
}
#topnav #messagesearchtools.mv-in-topnav #searchmenulink:hover::before {
	background-color: var(--mv-acc-dark);
}
/* Reset (×) button — hide completely */
#topnav #messagesearchtools.mv-in-topnav #searchreset {
	display: none !important;
}

/* Keyboard shortcut hint (⌘K / Strg+K) inside the search pill */
#topnav #messagesearchtools.mv-in-topnav #quicksearchbar .mv-search-hint {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--mv-ink-mute);
	background: rgba(15,23,42,0.06);
	border: 1px solid rgba(15,23,42,0.10);
	border-radius: 5px;
	padding: 2px 7px;
	line-height: 1;
	pointer-events: none;
	letter-spacing: 0.02em;
	font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
}
/* Make room on the right of the input so text doesn't slide under the hint */
#topnav #messagesearchtools.mv-in-topnav #quicksearchbar {
	padding-right: 56px !important;
}


/* The search-options popup that appears under the search bar
   (checkboxes Subject/From/To/CC/BCC/Body + scope radios) */
#topnav #messagesearchtools.mv-in-topnav #searchmenu {
	display: none;
	position: absolute !important;
	top: 36px !important;
	left: 0 !important;
	right: auto !important;
	min-width: 260px;
}

/* Hide the now-empty placeholder slot below the mail toolbar */
body.mv-search-in-topnav #messagesearchtools {
	display: none;
}
body.mv-search-in-topnav #messagesearchtools.mv-in-topnav {
	display: flex !important;
}

/* =========================================================================
   Calendar page — ONLY the calendar-list box (#calendars) gets a navy
   backdrop. Everything else in the calendar plugin stays exactly Larry.
   ========================================================================= */
#calendars {
	background: linear-gradient(180deg, #0b1020 0%, #111733 100%) !important;
}
#calendars .boxtitle {
	background: transparent !important;
	color: #cbd5e1 !important;
	text-shadow: none !important;
}
/* Larry paints each list <li> with #d9ecf4 (ul.listing li) and the active
   item's <a> with #c7e3ef (.listing li.selected > a). Knock both out so the
   parent navy shows through. */
#calendars .treelist li,
#calendars ul.listing li,
#calendars ul.treelist li {
	background: transparent !important;
	background-color: transparent !important;
}
#calendars .treelist li > a,
#calendars ul.listing li > a {
	background: transparent !important;
	background-color: transparent !important;
}
#calendars .treelist li.selected > a,
#calendars ul.listing li.selected > a {
	background: #4338ca !important;
	background-color: #4338ca !important;
}
#calendars .treelist li:hover > div.folder,
#calendars .treelist li:hover > div.calendar {
	background-color: rgba(99,102,241,0.18) !important;
}
#calendars .treelist li.selected > div.folder,
#calendars .treelist li.selected > div.calendar {
	background-color: #4338ca !important;
}
/* Calendar names: light on navy */
#calendars .treelist li a.calname {
	color: #e2e8f0 !important;
	background: transparent !important;
	text-shadow: none !important;
}
#calendars .treelist li:hover > div > a.calname,
#calendars .treelist li.selected > div > a.calname { color: #ffffff !important; }

/* Calendar-list footer buttons (+ create / ⚙ options) — kill Larry's
   #c7e3ef bg and rgba(73,180,210,0.6) focus cyan, replace with indigo */
#calendars .boxfooter {
	background: transparent !important;
	border-top-color: rgba(255,255,255,0.08) !important;
}
#calendars .boxfooter .listbutton,
#calendars .boxfooter a.listbutton {
	background: transparent !important;
	background-color: transparent !important;
	border-color: transparent !important;
	color: #cbd5e1 !important;
}
#calendars .boxfooter .listbutton:hover,
#calendars .boxfooter .listbutton:focus,
#calendars .boxfooter a.listbutton:hover,
#calendars .boxfooter a.listbutton:focus {
	background-color: rgba(255,255,255,0.10) !important;
	color: #ffffff !important;
	outline: none !important;
}
#calendars .boxfooter .listbutton.disabled {
	color: rgba(203,213,225,0.40) !important;
}
/* Sprite icons (buttons.png) on the footer — tint to white via CSS filter */
#calendars .boxfooter .listbutton .inner,
#calendars .boxfooter a.listbutton .inner {
	filter: brightness(0) invert(1) !important;
}
#calendars .boxfooter .listbutton.disabled .inner {
	opacity: 0.4;
}

/* Hide the "ganztägig" / "all-day" label in the FullCalendar axis cell,
   keep the all-day row itself so all-day events still render */
.fc .fc-day-grid .fc-axis,
.fc .fc-day-grid-container .fc-axis {
	font-size: 0 !important;
}

/* Day-header row (weekday names) — navy backdrop + light text */
.fc .fc-day-header,
.fc th.fc-day-header,
.fc thead .fc-widget-header {
	background: linear-gradient(180deg, #0b1020 0%, #111733 100%) !important;
	color: #ffffff !important;
	text-shadow: none !important;
}
.fc .fc-day-header a,
.fc th.fc-day-header a {
	color: #ffffff !important;
}

/* Mini-calendar (sidebar datepicker) — header band + weekday-names row in navy */
#datepicker .ui-datepicker-header,
#datepicker .ui-datepicker thead,
#datepicker .ui-datepicker thead tr,
#datepicker .ui-datepicker th {
	background: linear-gradient(180deg, #0b1020 0%, #111733 100%) !important;
	color: #ffffff !important;
	border-color: transparent !important;
	text-shadow: none !important;
}
#datepicker .ui-datepicker-title,
#datepicker .ui-datepicker-month,
#datepicker .ui-datepicker-year { color: #ffffff !important; }
#datepicker .ui-datepicker-prev,
#datepicker .ui-datepicker-next { color: #ffffff !important; }

/* Mini-cal "active range" (highlighted week) — neutral light grey, no cyan.
   Higher specificity than Larry, override every cyan source. */
body #datepicker .ui-datepicker td.ui-datepicker-activerange,
#datepicker .ui-datepicker td.ui-datepicker-activerange {
	border-color: transparent !important;
	background: transparent !important;
}
body #datepicker .ui-datepicker td.ui-datepicker-activerange a,
#datepicker .ui-datepicker td.ui-datepicker-activerange a,
#datepicker .ui-datepicker-activerange a {
	background: #e2e8f0 !important;
	background-color: #e2e8f0 !important;
	color: var(--mv-ink) !important;
	border-color: transparent !important;
}
body #datepicker .ui-datepicker td.ui-datepicker-activerange a.ui-state-active,
#datepicker .ui-datepicker td.ui-datepicker-activerange a.ui-state-active,
#datepicker .ui-datepicker-activerange a.ui-state-active {
	background: #cbd5e1 !important;
	background-color: #cbd5e1 !important;
	color: var(--mv-ink) !important;
}
/* Hover-over cell while dragging a week-range: kill Larry's rgba(73,180,210,0.6) */
body #datepicker .ui-datepicker .ui-datepicker-days-cell-over a.ui-state-default,
#datepicker .ui-datepicker-days-cell-over a.ui-state-default {
	background: #cbd5e1 !important;
	background-color: #cbd5e1 !important;
	color: var(--mv-ink) !important;
	border-color: transparent !important;
	filter: none !important;
}
/* jQuery-UI state classes that may slip through */
#datepicker .ui-datepicker .ui-state-hover,
#datepicker .ui-datepicker .ui-state-focus {
	background: #e2e8f0 !important;
	background-color: #e2e8f0 !important;
	color: var(--mv-ink) !important;
	border-color: transparent !important;
}

/* =========================================================================
   COMPOSE — left contacts panel (#composeview-left / #compose-contacts).
   White card, dark text, indigo accents.
   ========================================================================= */
#composeview-left {
	background: var(--mv-card) !important;
}
#compose-contacts,
#compose-contacts.uibox,
#compose-contacts.listbox {
	background: transparent !important;
	background-color: transparent !important;
}
#compose-contacts > .boxtitle {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
	color: var(--mv-ink) !important;
	border-bottom-color: var(--mv-border) !important;
	text-shadow: none !important;
}
/* Larry hardcodes #c7e3ef cyan border under the directory list */
#compose-contacts #directorylist {
	border-bottom-color: var(--mv-border) !important;
}
/* Directory items + contacts-table inside compose */
#compose-contacts #directorylist li,
#compose-contacts ul.listing li,
#compose-contacts ul.treelist li {
	background: transparent !important;
	background-color: transparent !important;
}
#compose-contacts #directorylist li > a,
#compose-contacts #directorylist li a.calname,
#compose-contacts #contacts-table td {
	color: var(--mv-ink) !important;
	background: transparent !important;
	text-shadow: none !important;
}
#compose-contacts #directorylist li > a:hover,
#compose-contacts #contacts-table tr:hover td {
	background-color: var(--mv-acc-soft) !important;
	color: var(--mv-acc-dark) !important;
}
#compose-contacts #directorylist li.selected > a,
#compose-contacts #contacts-table tr.selected td {
	background-color: var(--mv-acc-str) !important;
	color: #ffffff !important;
}
/* Search box inside compose-contacts */
#compose-contacts .listsearchbox {
	background: #f8fafc !important;
	border-color: var(--mv-border) !important;
}
#compose-contacts .listsearchbox input {
	background: transparent !important;
	color: var(--mv-ink) !important;
	border: 0 !important;
	box-shadow: none !important;
}
#compose-contacts .listsearchbox input::placeholder { color: var(--mv-ink-mute); }
/* Email column inside contacts-table */
#compose-contacts #contacts-table td span.email {
	color: var(--mv-ink-mute) !important;
}

/* Hide the contacts panel entirely when composing, let the form expand */
#composeview-left { display: none !important; }
#composeview-right { left: 0 !important; }

/* =========================================================================
   SURFACES — Larry's .uibox becomes LP card
   ========================================================================= */
.uibox,
.box,
fieldset.box {
	background: var(--mv-card) !important;
	border: 1px solid var(--mv-border) !important;
	border-radius: var(--mv-radius) !important;
	box-shadow: var(--mv-shadow-sm);
	overflow: hidden;
}

.boxtitle,
.uibox > .boxtitle,
.uibox .listing thead th,
.uibox .listing thead td {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
	color: var(--mv-ink) !important;
	font-weight: 600;
	border-bottom: 1px solid var(--mv-border) !important;
	letter-spacing: -0.005em;
	text-shadow: none;
}
.uibox .boxfooter,
.boxfooter {
	background: #f8fafc !important;
	border-top: 1px solid var(--mv-border) !important;
}

/* =========================================================================
   BUTTONS
   ========================================================================= */
button.mainaction,
input.button.mainaction,
button.mainaction:focus,
input.button.mainaction:focus {
	background: linear-gradient(135deg, var(--mv-accent), var(--mv-acc-str)) !important;
	border: 0 !important;
	color: #ffffff !important;
	text-shadow: none !important;
	border-radius: 10px !important;
	padding: 8px 16px !important;
	box-shadow: 0 4px 10px rgba(79, 70, 229, 0.28);
	font-weight: 600;
}
button.mainaction:hover,
input.button.mainaction:hover {
	background: linear-gradient(135deg, var(--mv-accent), var(--mv-acc-dark)) !important;
	box-shadow: 0 6px 14px rgba(79, 70, 229, 0.40);
	transform: translateY(-1px);
}
button.mainaction:active,
input.button.mainaction:active {
	background: linear-gradient(135deg, var(--mv-acc-str), var(--mv-acc-dark)) !important;
	transform: translateY(0);
}

/* Secondary buttons */
button.button:not(.mainaction):not(.iconbutton),
input.button:not(.mainaction):not(.iconbutton),
a.button:not(.mainaction):not(.iconbutton) {
	border-radius: var(--mv-radius-sm) !important;
	border-color: var(--mv-border) !important;
	transition: all .12s ease;
}
button.button:not(.mainaction):hover,
a.button:not(.mainaction):hover {
	border-color: var(--mv-accent) !important;
	color: var(--mv-acc-str) !important;
}

/* =========================================================================
   FORM INPUTS
   ========================================================================= */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="time"],
textarea,
select.custom-select,
select {
	border: 1px solid var(--mv-border) !important;
	border-radius: var(--mv-radius-sm) !important;
	background: #ffffff;
	color: var(--mv-ink);
	padding: 7px 11px;
	transition: border-color .12s ease, box-shadow .12s ease;
	box-shadow: none;
	font-family: inherit;
}
input:focus, textarea:focus, select:focus {
	border-color: var(--mv-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18) !important;
}
input::placeholder, textarea::placeholder { color: #94a3b8; }

/* =========================================================================
   LINKS
   ========================================================================= */
a, a:visited { color: var(--mv-acc-str); }
a:hover { color: var(--mv-acc-dark); }

/* =========================================================================
   POPUPS / MENUS / DIALOGS
   ========================================================================= */
.popupmenu,
.menu,
ul.toolbarmenu {
	border-radius: 10px !important;
	border: 1px solid var(--mv-border) !important;
	box-shadow: var(--mv-shadow-lg) !important;
	background: #ffffff !important;
	padding: 6px;
}
.popupmenu a,
.menu a,
ul.toolbarmenu li > a {
	color: #334155 !important;
	border-radius: var(--mv-radius-sm);
	padding: 6px 10px;
}
.popupmenu a:hover,
.menu a:hover,
ul.toolbarmenu li > a:hover {
	background-color: var(--mv-acc-soft) !important;
	color: var(--mv-acc-dark) !important;
}
/* Larry forces white text on `ul.toolbarmenu li` (built for dark #444 popups);
   our popup is white, so make all child text dark. */
.popupmenu ul.toolbarmenu li,
ul.toolbarmenu li,
#rcmKSearchpane ul li,
.googie_list td,
.popupmenu li,
.popupmenu label,
.popupmenu li span {
	color: var(--mv-ink) !important;
	border-top-color: var(--mv-border) !important;
}
/* Separator rows */
.popupmenu li.separator,
ul.toolbarmenu li.separator {
	color: var(--mv-ink-mute) !important;
}
.popupmenu li.separator label,
ul.toolbarmenu li.separator label {
	color: var(--mv-ink-mute) !important;
	font-weight: 600;
}
/* Inputs (radio/checkbox) inside the menu — keep visible */
.popupmenu input[type="checkbox"],
.popupmenu input[type="radio"] {
	margin-right: 6px;
}

/* About dialog */
.readtext .sysname { font-weight: 700; letter-spacing: -0.01em; }

/* =========================================================================
   SCROLLBARS
   ========================================================================= */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
	background: var(--mv-border-2);
	border-radius: 999px;
	border: 2px solid var(--mv-canvas);
}
::-webkit-scrollbar-thumb:hover { background: var(--mv-accent); }

/* =========================================================================
   TOOLBAR (moved from mail.css to be available on every task — addressbook etc.)
   ========================================================================= */
/* MESSAGE TOOLBAR — JS lifts it into the topnav at init. When it's there,
   re-style as an inline pill sitting in the topbar flex flow.
   Total height must match the search pill (32px). Buttons are 30px tall;
   with 1px border on each side that yields exactly 32px. */
#topnav #messagetoolbar.mv-in-topnav,
#topnav #addressbooktoolbar.mv-in-topnav {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	transform: none !important;
	max-width: 50vw;
	background: rgba(255, 255, 255, 0.96) !important;
	border: 1px solid rgba(255, 255, 255, 0.20) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.20) !important;
	border-radius: 999px !important;
	padding: 0 4px !important;
	height: 32px !important;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	gap: 1px;
	white-space: nowrap;
	overflow: hidden;
}
/* When the toolbar lives in topnav the mail page no longer needs the
   60px gap below the (now gone) toolbar slot — pull content up. */
body.mv-toolbar-in-topnav #mainscreen #mainscreencontent,
body.mv-toolbar-in-topnav #mainscreencontent {
	top: 8px !important;
}
/* Fallback (compose etc. — toolbar stays in place): keep Larry default. */
html body:not(.mv-toolbar-in-topnav) #mainscreen #mainscreencontent,
html body:not(.mv-toolbar-in-topnav) #mainscreencontent {
	top: 60px !important;
}
/* Make sure the original (non-relocated) toolbar styling still applies on
   compose etc. — centered pill where the toolbar is still in #mainscreen. */
#mainscreen > #messagetoolbar {
	left: 50% !important;
	transform: translateX(-50%);
	right: auto !important;
	width: auto !important;
	background: var(--mv-card) !important;
	border: 1px solid var(--mv-border) !important;
	border-bottom: 1px solid var(--mv-border) !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	height: auto !important;
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

/* =========================================================================
   TOOLBAR ICONS — replace Larry's sprite (on the <a>) with Lucide SVG masks,
   hide the visible label text (.button-inner) so only icons show.
   ========================================================================= */
/* Replace Larry's 24px-wide invisible spacers with a thin vertical divider */
#messagetoolbar .spacer,
#addressbooktoolbar .spacer,
#topnav #messagetoolbar.mv-in-topnav .spacer,
#topnav #addressbooktoolbar.mv-in-topnav .spacer {
	display: inline-block !important;
	width: 1px !important;
	height: 18px !important;
	background-color: rgba(15, 23, 42, 0.15) !important;
	margin: 0 6px !important;
	vertical-align: middle;
	flex-shrink: 0;
}

#messagetoolbar a.button ,
#addressbooktoolbar a.button {
	min-width: 0 !important;
	max-width: none !important;
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	margin: 0 1px !important;
	background-image: none !important;
	background-color: var(--mv-ink-soft) !important;
	font-size: 0 !important;
	color: transparent !important;
	-webkit-mask-repeat: no-repeat !important;
	        mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	        mask-position: center !important;
	-webkit-mask-size: 20px 20px !important;
	        mask-size: 20px 20px !important;
	border-radius: 8px !important;
	transition: background-color .12s ease;
	display: inline-block;
	vertical-align: middle;
}
#messagetoolbar a.button:hover ,
#addressbooktoolbar a.button:hover {
	background-color: var(--mv-acc-dark) !important;
}
#messagetoolbar a.button.pressed,
#addressbooktoolbar a.button.pressed,
#messagetoolbar a.button.selected,
#addressbooktoolbar a.button.selected {
	background-color: var(--mv-acc-str) !important;
}
#messagetoolbar a.button.disabled,
#addressbooktoolbar a.button.disabled {
	opacity: 0.35;
	cursor: default;
}
/* Hide the visible label inside */
#messagetoolbar a.button .button-inner,
#addressbooktoolbar a.button .button-inner,
#messagetoolbar a.button > span ,
#addressbooktoolbar a.button > span {
	display: none !important;
}

/* Per-button Lucide mask icons */
#messagetoolbar a.button.checkmail,
#addressbooktoolbar a.button.checkmail {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='23 4 23 10 17 10'/><polyline points='1 20 1 14 7 14'/><path d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='23 4 23 10 17 10'/><polyline points='1 20 1 14 7 14'/><path d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/></svg>") !important;
}
#messagetoolbar a.button.compose,
#addressbooktoolbar a.button.compose {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z'/></svg>") !important;
}
#messagetoolbar a.button.reply,
#addressbooktoolbar a.button.reply {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 17 4 12 9 7'/><path d='M20 18v-2a4 4 0 0 0-4-4H4'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 17 4 12 9 7'/><path d='M20 18v-2a4 4 0 0 0-4-4H4'/></svg>") !important;
}
#messagetoolbar a.button.reply-all,
#addressbooktoolbar a.button.reply-all {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='7 17 2 12 7 7'/><polyline points='12 17 7 12 12 7'/><path d='M22 18v-2a4 4 0 0 0-4-4H7'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='7 17 2 12 7 7'/><polyline points='12 17 7 12 12 7'/><path d='M22 18v-2a4 4 0 0 0-4-4H7'/></svg>") !important;
}
#messagetoolbar a.button.forward,
#addressbooktoolbar a.button.forward {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 17 20 12 15 7'/><path d='M4 18v-2a4 4 0 0 1 4-4h12'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 17 20 12 15 7'/><path d='M4 18v-2a4 4 0 0 1 4-4h12'/></svg>") !important;
}
#messagetoolbar a.button.delete,
#addressbooktoolbar a.button.delete {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/></svg>") !important;
}
#messagetoolbar a.button.move,
#addressbooktoolbar a.button.move {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/><polyline points='12 11 15 14 12 17'/><line x1='9' y1='14' x2='15' y2='14'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/><polyline points='12 11 15 14 12 17'/><line x1='9' y1='14' x2='15' y2='14'/></svg>") !important;
}
#messagetoolbar a.button.print,
#addressbooktoolbar a.button.print {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 6 2 18 2 18 9'/><path d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/><rect x='6' y='14' width='12' height='8'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 6 2 18 2 18 9'/><path d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/><rect x='6' y='14' width='12' height='8'/></svg>") !important;
}
#messagetoolbar a.button.markmessage,
#addressbooktoolbar a.button.markmessage {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><line x1='7' y1='7' x2='7.01' y2='7'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><line x1='7' y1='7' x2='7.01' y2='7'/></svg>") !important;
}
#messagetoolbar a.button.more,
#addressbooktoolbar a.button.more {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='1'/><circle cx='19' cy='12' r='1'/><circle cx='5' cy='12' r='1'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='1'/><circle cx='19' cy='12' r='1'/><circle cx='5' cy='12' r='1'/></svg>") !important;
}
/* markasjunk plugin: Spam button */
#messagetoolbar a.button.markasjunk,
#addressbooktoolbar a.button.markasjunk,
#messagetoolbar a.button.junk,
#addressbooktoolbar a.button.junk {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>") !important;
}
#messagetoolbar a.button.markasunjunk,
#addressbooktoolbar a.button.markasunjunk {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><polyline points='22 4 12 14.01 9 11.01'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><polyline points='22 4 12 14.01 9 11.01'/></svg>") !important;
}

/* Per-button Lucide icons — COMPOSE toolbar */
#messagetoolbar a.button.back,
#addressbooktoolbar a.button.back {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='19' y1='12' x2='5' y2='12'/><polyline points='12 19 5 12 12 5'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='19' y1='12' x2='5' y2='12'/><polyline points='12 19 5 12 12 5'/></svg>") !important;
}
#messagetoolbar a.button.close,
#addressbooktoolbar a.button.close {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") !important;
}
#messagetoolbar a.button.send,
#addressbooktoolbar a.button.send {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='22' y1='2' x2='11' y2='13'/><polygon points='22 2 15 22 11 13 2 9 22 2'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='22' y1='2' x2='11' y2='13'/><polygon points='22 2 15 22 11 13 2 9 22 2'/></svg>") !important;
	background-color: var(--mv-acc-str) !important;     /* Send: highlight in brand color */
}
#messagetoolbar a.button.send:hover ,
#addressbooktoolbar a.button.send:hover { background-color: var(--mv-acc-dark) !important; }
#messagetoolbar a.button.savedraft,
#addressbooktoolbar a.button.savedraft {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z'/><polyline points='17 21 17 13 7 13 7 21'/><polyline points='7 3 7 8 15 8'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z'/><polyline points='17 21 17 13 7 13 7 21'/><polyline points='7 3 7 8 15 8'/></svg>") !important;
}
#messagetoolbar a.button.spellcheck,
#addressbooktoolbar a.button.spellcheck {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7V4h16v3'/><path d='M5 20h6'/><path d='M13 4v16'/><path d='M18 20l2-2 2 2'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7V4h16v3'/><path d='M5 20h6'/><path d='M13 4v16'/><path d='M18 20l2-2 2 2'/></svg>") !important;
}
#messagetoolbar a.button.attach,
#addressbooktoolbar a.button.attach {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/></svg>") !important;
}
#messagetoolbar a.button.insertsig,
#addressbooktoolbar a.button.insertsig {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 19c-1.5 1.5-3 1-3-1s1.5-3 3-3 3 1.5 3 3'/><path d='M5 19l4-4'/><path d='M10 14l4-4'/><path d='M2 21c.5-3 2-5 4-6'/><path d='M15 5l4 4'/><path d='M14 6l4-4 4 4-4 4z'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 19c-1.5 1.5-3 1-3-1s1.5-3 3-3 3 1.5 3 3'/><path d='M5 19l4-4'/><path d='M10 14l4-4'/><path d='M2 21c.5-3 2-5 4-6'/><path d='M15 5l4 4'/><path d='M14 6l4-4 4 4-4 4z'/></svg>") !important;
}
#messagetoolbar a.button.responses,
#addressbooktoolbar a.button.responses {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/></svg>") !important;
}
#messagetoolbar a.button.encrypt,
#addressbooktoolbar a.button.encrypt {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") !important;
}
#messagetoolbar a.button.extwin,
#addressbooktoolbar a.button.extwin {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/><polyline points='15 3 21 3 21 9'/><line x1='10' y1='14' x2='21' y2='3'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/><polyline points='15 3 21 3 21 9'/><line x1='10' y1='14' x2='21' y2='3'/></svg>") !important;
}

/* Addressbook-specific icons */
#addressbooktoolbar a.button.import {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>") !important;
}
#addressbooktoolbar a.button.export {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='17 8 12 3 7 8'/><line x1='12' y1='3' x2='12' y2='15'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='17 8 12 3 7 8'/><line x1='12' y1='3' x2='12' y2='15'/></svg>") !important;
}
#addressbooktoolbar a.button.search {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") !important;
}

/* Dropbutton (reply-all / forward + small ▾ chevron) — flex layout, no overlap */
#messagetoolbar .dropbutton,
#addressbooktoolbar .dropbutton {
	display: inline-flex !important;
	align-items: center;
	gap: 0;
	position: relative;
	margin: 0 1px;
	vertical-align: middle;
}
#messagetoolbar .dropbutton,
#addressbooktoolbar .dropbutton > a.button {
	margin: 0 !important;
	border-radius: 8px 0 0 8px !important;        /* round only the left corners */
}
#messagetoolbar .dropbutton,
#addressbooktoolbar .dropbutton > .dropbuttontip {
	position: relative !important;                /* override Larry's absolute */
	top: auto !important;
	right: auto !important;
	width: 14px !important;
	height: 28px !important;
	background: var(--mv-ink-soft) !important;
	background-image: none !important;
	font-size: 0 !important;
	color: transparent !important;
	text-indent: 0 !important;
	overflow: hidden;
	border-radius: 0 8px 8px 0 !important;        /* round only the right corners */
	margin: 0 !important;
	transition: background-color .12s ease;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat center / 10px 10px !important;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat center / 10px 10px !important;
}
#messagetoolbar .dropbutton,
#addressbooktoolbar .dropbutton > .dropbuttontip:hover,
#messagetoolbar .dropbutton,
#addressbooktoolbar .dropbutton > .dropbuttontip:focus {
	background: var(--mv-acc-dark) !important;
	outline: none !important;
}
/* When the main button is hovered, also tint the chevron (visual grouping) */
#messagetoolbar .dropbutton,
#addressbooktoolbar .dropbutton:hover > .dropbuttontip {
	background-color: var(--mv-acc-dark) !important;
}
#messagetoolbar a.button,
#addressbooktoolbar a.button,
#messagetoolbar .button {
	border-radius: var(--mv-radius-sm) !important;
	margin: 0 1px;
	transition: background-color .12s ease, color .12s ease;
}
#messagetoolbar a.button:hover,
#addressbooktoolbar a.button:hover,
#messagetoolbar .button:hover {
	background-color: var(--mv-acc-soft) !important;
}
#messagetoolbar a.button.pressed,
#addressbooktoolbar a.button.pressed,
#messagetoolbar a.button.selected,
#addressbooktoolbar a.button.selected,
#messagetoolbar .button.pressed {
	background-color: var(--mv-acc-soft2) !important;
	color: var(--mv-acc-dark) !important;
}

/* Tint the toolbar icons (sprite-backed) toward indigo */
#messagetoolbar a.button .button-inner ,
#addressbooktoolbar a.button .button-inner {
	filter: brightness(0.4) sepia(1) hue-rotate(215deg) saturate(2.5);
}
#messagetoolbar a.button:hover .button-inner ,
#addressbooktoolbar a.button:hover .button-inner {
	filter: brightness(0.5) sepia(1) hue-rotate(215deg) saturate(3.5);
}

/* =========================================================================
   CALENDAR TOOLBAR — alias #calendartoolbar to the same lift-into-topnav
   pill + icon-only buttons as mail/addressbook. Calendar only has 4 buttons:
   addevent, print, import, export.
   ========================================================================= */
#topnav #calendartoolbar.mv-in-topnav {
	order: 1;
	flex: 0 1 auto;
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	transform: none !important;
	max-width: 50vw;
	background: rgba(255, 255, 255, 0.96) !important;
	border: 1px solid rgba(255, 255, 255, 0.20) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.20) !important;
	border-radius: 999px !important;
	padding: 0 4px !important;
	height: 32px !important;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	gap: 1px;
	white-space: nowrap;
	overflow: hidden;
}
#calendartoolbar .spacer,
#topnav #calendartoolbar.mv-in-topnav .spacer {
	display: inline-block !important;
	width: 1px !important;
	height: 18px !important;
	background-color: rgba(15, 23, 42, 0.15) !important;
	margin: 0 6px !important;
	vertical-align: middle;
	flex-shrink: 0;
}
#calendartoolbar a.button {
	min-width: 0 !important;
	max-width: none !important;
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	margin: 0 1px !important;
	background-image: none !important;
	background-color: var(--mv-ink-soft) !important;
	font-size: 0 !important;
	color: transparent !important;
	-webkit-mask-repeat: no-repeat !important;
	        mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	        mask-position: center !important;
	-webkit-mask-size: 20px 20px !important;
	        mask-size: 20px 20px !important;
	border-radius: 8px !important;
	transition: background-color .12s ease;
	display: inline-block;
	vertical-align: middle;
}
#calendartoolbar a.button:hover { background-color: var(--mv-acc-dark) !important; }
#calendartoolbar a.button.pressed,
#calendartoolbar a.button.selected { background-color: var(--mv-acc-str) !important; }
#calendartoolbar a.button.disabled { opacity: 0.35; cursor: default; }
#calendartoolbar a.button .button-inner,
#calendartoolbar a.button > span { display: none !important; }

/* Calendar buttons: addevent / print / import / export */
#calendartoolbar a.button.addevent {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/><line x1='12' y1='14' x2='12' y2='18'/><line x1='10' y1='16' x2='14' y2='16'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/><line x1='12' y1='14' x2='12' y2='18'/><line x1='10' y1='16' x2='14' y2='16'/></svg>") !important;
	background-color: var(--mv-acc-str) !important;
}
#calendartoolbar a.button.addevent:hover { background-color: var(--mv-acc-dark) !important; }
#calendartoolbar a.button.print {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 6 2 18 2 18 9'/><path d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/><rect x='6' y='14' width='12' height='8'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 6 2 18 2 18 9'/><path d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/><rect x='6' y='14' width='12' height='8'/></svg>") !important;
}
#calendartoolbar a.button.import {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>") !important;
}
#calendartoolbar a.button.export {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='17 8 12 3 7 8'/><line x1='12' y1='3' x2='12' y2='15'/></svg>") !important;
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='17 8 12 3 7 8'/><line x1='12' y1='3' x2='12' y2='15'/></svg>") !important;
}

/* Calendar's #quicksearchbar lives bare (no #messagesearchtools wrapper); JS
   adds a synthetic wrapper at runtime, so the existing #messagesearchtools
   styling covers it. Just make sure when toolbar is lifted, the now-empty
   slot in #calendarsidebar doesn't leave a gap. */
body.mv-toolbar-in-topnav #calendarsidebar > #calendartoolbar { display: none; }

/* Safety net: force "Abmelden" to stay visible. The minmodetoggle has been
   removed from includes/header.html and the JS there strips body.minimal on
   every page load — these rules guarantee that even if .minimal still ends
   up on body (browser extension, race, future change), neither logout button
   gets hidden. Larry's styles.css:816 (.minimal #topline a.button-logout {
   display:none }) is the one we're countering here. */
body.minimal #topline a.button-logout,
#topline a.button-logout,
#taskbar a.button-logout {
	display: inline-block !important;
}

